1
0
Fork 0
mirror of https://github.com/tailix/kernel.git synced 2024-12-04 11:34:42 -05:00
kernel/kernelmq/interrupt.h

66 lines
1.5 KiB
C

#ifndef KERNELMQ_INCLUDED_INTERRUPT
#define KERNELMQ_INCLUDED_INTERRUPT 1
struct IsrRegisters {
unsigned int ds; // Data segment selector
unsigned int edi, esi, ebp, esp, ebx, edx, ecx, eax; // Pushed by pusha.
unsigned int int_no, err_code; // Interrupt number and error code (if applicable)
unsigned int ip, cs, flags, sp, ss; // Pushed by the processor automatically.
};
// Protected mode exteptions
void interrupt_0();
void interrupt_1();
void interrupt_2();
void interrupt_3();
void interrupt_4();
void interrupt_5();
void interrupt_6();
void interrupt_7();
void interrupt_8();
void interrupt_9();
void interrupt_10();
void interrupt_11();
void interrupt_12();
void interrupt_13();
void interrupt_14();
void interrupt_15();
void interrupt_16();
void interrupt_17();
void interrupt_18();
void interrupt_19();
void interrupt_20();
void interrupt_21();
void interrupt_22();
void interrupt_23();
void interrupt_24();
void interrupt_25();
void interrupt_26();
void interrupt_27();
void interrupt_28();
void interrupt_29();
void interrupt_30();
void interrupt_31();
// Hardware IRQs
void interrupt_32();
void interrupt_33();
void interrupt_34();
void interrupt_35();
void interrupt_36();
void interrupt_37();
void interrupt_38();
void interrupt_39();
void interrupt_40();
void interrupt_41();
void interrupt_42();
void interrupt_43();
void interrupt_44();
void interrupt_45();
void interrupt_46();
void interrupt_47();
// Syscalls
void interrupt_0x80();
#endif