Espresso 0.0.2c
This commit is contained in:
43
files/irq.h
Normal file
43
files/irq.h
Normal file
@ -0,0 +1,43 @@
|
||||
#ifndef _IRQ_H
|
||||
#define _IRQ_H
|
||||
|
||||
#include <types.h>
|
||||
/*
|
||||
typedef struct registers {
|
||||
uint32_t ds, es, fs, gs;
|
||||
|
||||
uint32_t edi, esi, ebp, esp, ebx, edx, ecx, eax;
|
||||
|
||||
uint32_t int_no;
|
||||
uint32_t err_code;
|
||||
|
||||
uint32_t eip, cs, eflags;
|
||||
} registers_t;
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
uint32_t ds, es, fs, gs;
|
||||
|
||||
uint32_t eax, ecx, edx, ebx;
|
||||
uint32_t esp, ebp, esi, edi;
|
||||
|
||||
uint32_t int_no;
|
||||
uint32_t err_code;
|
||||
|
||||
uint32_t eip, cs, eflags;
|
||||
} registers_t;
|
||||
|
||||
|
||||
typedef void (*irq_func_t)(registers_t*);
|
||||
|
||||
|
||||
void irq_init(void);
|
||||
|
||||
void irq_handler(uint32_t irq, registers_t* regs);
|
||||
|
||||
void set_irq_handler(uint32_t num, irq_func_t handler);
|
||||
/*void add_irq_handler(uint32_t num, irq_func_t* handler);*/
|
||||
|
||||
uint32_t get_interrupts_missed(void);
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user