TacOS  0.2
 Tout Structures de données Fichiers Fonctions Variables Définitions de type Énumérations Macros
Structures de données | Macros | Définitions de type | Fonctions
Référence du fichier interrupts.h

Gestion des interruptions.. Plus de détails...

#include <types.h>
Graphe des dépendances par inclusion de interrupts.h:
Ce graphe montre quels fichiers incluent directement ou indirectement ce fichier :

Aller au code source de ce fichier.

Structures de données

struct  intframe
 

Macros

#define IRQ_TIMER   0
 
#define IRQ_KEYBOARD   1
 
#define IRQ_SLAVE_PIC   2
 
#define IRQ_COM2   3
 
#define IRQ_COM1   4
 
#define IRQ_RESERVED_1   5
 
#define IRQ_FLOPPY   6
 
#define IRQ_LPT1   7
 
#define IRQ_8_REAL_TIME_CLK   8
 
#define IRQ_REDIRECT_IRQ2   9
 
#define IRQ_RESERVED_2   10
 
#define IRQ_RESERVED_3   11
 
#define IRQ_PS2_MOUSE   12
 
#define IRQ_COPROCESSOR   13
 
#define IRQ_HARDDISK   14
 
#define IRQ_RESERVED_4   15
 
#define IRQ_SYSCALL   16
 

Définitions de type

typedef void(* interrupt_handler_t )(int interrupt_id)
 

Fonctions

int interrupt_set_routine (uint8_t interrupt_id, interrupt_handler_t routine, uint8_t privilege)
 Ajoute une nouvelle interruption. Plus de détails...
 
int interrupt_disable (uint8_t interrupt_id)
 Désactive une interruption. Plus de détails...
 
void make_trapgate_from_int (uint8_t interrupt_id)
 Change le type d'une interruption en une trapgate. Plus de détails...
 

Description détaillée

Auteur
TacOS developers

LICENSE

Copyright (C) 2010, 2011, 2012 - TacOS developers.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details at http://www.gnu.org/copyleft/gpl.html

You should have received a copy of the GNU General Public License along with this program; if not, see http://www.gnu.org/licenses.

DESCRIPTION

Documentation des macros

#define IRQ_8_REAL_TIME_CLK   8

Interruption clock.

#define IRQ_COM1   4

Interruption liaison serie 1.

#define IRQ_COM2   3

Interruption liaison serie 2.

#define IRQ_FLOPPY   6

Interruption disquette.

#define IRQ_KEYBOARD   1

Interruption clavier.

#define IRQ_LPT1   7

Interruption port //.

#define IRQ_PS2_MOUSE   12

Interruption souris.

#define IRQ_RESERVED_1   5

Interruption carte son.

#define IRQ_SYSCALL   16

Interruption pour syscall.

#define IRQ_TIMER   0

Définition des IRQ :Interruption timer.

Documentation des fonctions

int interrupt_disable ( uint8_t  interrupt_id)
Paramètres
interrupt_idLe numéro de l'interruption à désactiver.
Renvoie
0 en cas de succès. Autre chose sinon.

Voici le graphe d'appel pour cette fonction :

int interrupt_set_routine ( uint8_t  interrupt_id,
interrupt_handler_t  routine,
uint8_t  privilege 
)

Ajoute une nouvelle interruption en mappant le numéro de l'interruption à la routine d'exécution.

Paramètres
interrupt_idLe numéro d'interruption.
routineLa routine qui sera exécutée lors de cette interruption.
privilegeLe niveau de privilège/priorité (0 ou 3).
Renvoie
0 en cas de succès. Autre chose sinon.

Voici le graphe d'appel pour cette fonction :

Voici le graphe des appelants de cette fonction :

void make_trapgate_from_int ( uint8_t  interrupt_id)
Paramètres
interrupt_idLe numéro de l'interruption dont on veut changer le type pour en faire une trapgate.

Voici le graphe d'appel pour cette fonction :

Voici le graphe des appelants de cette fonction :