My Kernel v0.1.0
interrupts.h File Reference
#include <kernel/arch/i686/interrupts.h>
#include <kernel/error.h>
#include <kernel/types.h>
#include <libalgo/linked_list.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.

Data Structures

struct  interrupt_vector
 A single hardware IRQ vector. More...
 

Macros

#define INTERRUPT_HANDLER(_interrupt)   _interrupt##_handler
 Compute the interrupt's handler's name.
 
#define INTERRUPT_HANDLER_FUNCTION(_interrupt)    interrupt_return_t 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 enum interrupt_return interrupt_return_t
 Values returned by an interrupt handler.
 
typedef struct interrupt_frame interrupt_frame
 Frame passed onto the interrupt handlers when triggering an interrupt. More...
 
typedef interrupt_return_t(* interrupt_handler_func_t) (void *)
 Function pointer to an interrupt handler.
 

Enumerations

enum  interrupt_return { INTERRUPT_HANDLED , INTERRUPT_IGNORED }
 Values returned by an interrupt handler. More...
 

Functions

error_t interrupts_install_handler (unsigned int irq, interrupt_handler_func_t, void *)
 Dynamically set an interrupt handler. More...
 
error_t interrupts_install_static_handler (unsigned int nr, struct interrupt_handler *)
 Install a pre-configured interrupt handler. More...
 
interrupt_handler_func_t interrupts_get_handler (unsigned int irq, void **)
 Retreive the current handler for a given IRQ. More...
 
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...