This interface has just two (main) functions.
More...
|
l4irq_t * | l4irq_request (int irqnum, void(*isr_handler)(void *), void *isr_data, int irq_thread_prio, unsigned mode) |
| Attach asychronous ISR handler to IRQ.
|
|
long | l4irq_release (l4irq_t *irq) |
| Release asynchronous ISR handler and free resources.
|
|
This interface has just two (main) functions.
l4irq_request to install a handler for an interrupt and l4irq_release to uninstall the handler again and release all resources associated with it.
◆ l4irq_release()
long l4irq_release |
( |
l4irq_t * |
irq | ) |
|
◆ l4irq_request()
l4irq_t * l4irq_request |
( |
int |
irqnum, |
|
|
void(*)(void *) |
isr_handler, |
|
|
void * |
isr_data, |
|
|
int |
irq_thread_prio, |
|
|
unsigned |
mode |
|
) |
| |
Attach asychronous ISR handler to IRQ.
- Parameters
-
irqnum | IRQ number to request |
isr_handler | Handler routine that is called when an interrupt triggers |
isr_data | Pointer given as argument to isr_handler |
irq_thread_prio | L4 thread priority of the ISR handler. Give -1 for same priority as creator. |
mode | Interrupt type, |
- See also
- L4_irq_mode
- Returns
- Pointer to l4irq_t structure, 0 on error
- Examples
- examples/libs/libirq/async_isr.c.