|
My Kernel v0.1.0
|
#include <kernel/arch/i686/interrupts.h>#include <kernel/error.h>#include <kernel/types.h>#include <libalgo/linked_list.h>

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... | |