My Kernel v0.1.0
interrupts.h File Reference
#include <kernel/arch/i686/interrupts.h>
#include <kernel/types.h>
Include dependency graph for interrupts.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define INTERRUPT_HANDLER(_interrupt)   _interrupt##_handler
 Compute the interrupt's handler's name.
 
#define INTERRUPT_HANDLER_FUNCTION(_interrupt)    u32 INTERRUPT_HANDLER(_interrupt)(void *data)
 Define an interrupt handler function for a given interrupt You must always use this function when defining an interrupt handler.
 
#define interrupts_disabled_scope()
 Define a scope inside which irqs are disabled on the current CPU. More...
 

Typedefs

typedef struct interrupt_frame interrupt_frame
 Frame passed onto the interrupt handlers when triggering an interrupt. More...
 
typedef u32(* interrupt_handler) (void *)
 Function pointer to an interrupt handler.
 

Functions

void interrupts_set_handler (u8 irq, interrupt_handler, void *)
 Dynamically set an interrupt handler. More...
 
interrupt_handler interrupts_get_handler (u8 irq, void **)
 Retreive the current handler for a given IRQ. More...
 
static bool interrupts_has_been_installed (u8 irq)
 Return wether a custom interrupt has been installed for the given vector.
 
const char * interrupts_to_str (u8 nr)
 Returns the name of an interrupt from its vector number.
 
static void interrupts_disable (void)
 Disable interrupts on the current CPU.
 
static void interrupts_enable (void)
 Enable interrupts on the current CPU.
 
static void interrupts_restore (bool enabled)
 Restore the previous interrupt state. More...