L4Re - L4 Runtime Environment
Interface for asynchronous ISR handlers.

This interface has just two (main) functions. More...

+ Collaboration diagram for Interface for asynchronous ISR handlers.:

Modules

 Interface for asynchronous ISR handlers with a given IRQ capability.
 This group is just an enhanced version to l4irq_request() which takes a capability object instead of a plain number.
 

Functions

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. More...
 
long l4irq_release (l4irq_t *irq)
 Release asynchronous ISR handler and free resources. More...
 

Detailed Description

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.

Function Documentation

◆ l4irq_release()

long l4irq_release ( l4irq_t *  irq)

Release asynchronous ISR handler and free resources.

Parameters
irqIRQ data structure
Returns
0 sucess, != 0 failure
Examples:
examples/libs/libirq/async_isr.c.

◆ 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
irqnumIRQ number to request
isr_handlerHandler routine that is called when an interrupt triggers
isr_dataPointer given as argument to isr_handler
irq_thread_prioL4 thread priority of the ISR handler. Give -1 for same priority as creator.
modeInterrupt type,
See also
L4_irq_mode
Returns
Pointer to l4irq_t structure, 0 on error
Examples:
examples/libs/libirq/async_isr.c.