TacOS  0.2
 Tout Structures de données Fichiers Fonctions Variables Définitions de type Énumérations Macros
interrupts.h
Aller à la documentation de ce fichier.
1 
29 #ifndef _INTERRUPTS_H_
30 #define _INTERRUPTS_H_
31 
35 #define IRQ_TIMER 0
36 #define IRQ_KEYBOARD 1
37 #define IRQ_SLAVE_PIC 2
38 #define IRQ_COM2 3
39 #define IRQ_COM1 4
40 #define IRQ_RESERVED_1 5
41 #define IRQ_FLOPPY 6
42 #define IRQ_LPT1 7
43 #define IRQ_8_REAL_TIME_CLK 8
44 #define IRQ_REDIRECT_IRQ2 9
45 #define IRQ_RESERVED_2 10
46 #define IRQ_RESERVED_3 11
47 #define IRQ_PS2_MOUSE 12
48 #define IRQ_COPROCESSOR 13
49 #define IRQ_HARDDISK 14
50 #define IRQ_RESERVED_4 15
51 #define IRQ_SYSCALL 16
53 #include <types.h>
54 
58 typedef struct {
59  uint32_t interrupt_id;
60 
61  /* Registres */
62  uint16_t es;
63  uint16_t __es_unused;
64  uint16_t ds;
65  uint16_t __ds_unused;
66  uint16_t gs;
67  uint16_t __gs_unused;
68  uint16_t fs;
69  uint16_t __fs_unused;
70  uint32_t edi;
71  uint32_t esi;
72  uint32_t ebp;
73  uint32_t kesp;
74  uint32_t ebx;
75  uint32_t edx;
76  uint32_t ecx;
77  uint32_t eax;
78  uint32_t eip;
79  uint32_t cs;
80  uint32_t eflags;
81  uint32_t esp;
82  uint16_t ss;
83  uint16_t __ss_unused;
84 
85 } intframe;
86 
87 typedef void (*interrupt_handler_t)(int interrupt_id);
88 
101 int interrupt_set_routine(uint8_t interrupt_id, interrupt_handler_t routine, uint8_t privilege);
102 
110 int interrupt_disable(uint8_t interrupt_id);
111 
118 void make_trapgate_from_int(uint8_t interrupt_id);
119 
120 #endif
void make_trapgate_from_int(uint8_t interrupt_id)
Change le type d'une interruption en une trapgate.
Definition: interrupts.c:86
unsigned short int uint16_t
Definition: types.h:35
unsigned char uint8_t
Definition: types.h:34
int interrupt_disable(uint8_t interrupt_id)
Désactive une interruption.
Definition: interrupts.c:71
unsigned long int uint32_t
Definition: types.h:36
Definition: interrupts.h:58
int interrupt_set_routine(uint8_t interrupt_id, interrupt_handler_t routine, uint8_t privilege)
Ajoute une nouvelle interruption.
Definition: interrupts.c:44