L4Re - L4 Runtime Environment
 All Data Structures Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
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 flow_type)
 Attach asychronous ISR handler to IRQ.
long l4irq_release (l4irq_t *irq)
 Release asynchronous ISR handler and free resources.

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_t* l4irq_request ( int  irqnum,
void(*)(void *)  isr_handler,
void *  isr_data,
int  irq_thread_prio,
unsigned  flow_type 
)

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.
flow_typeInterrupt type,
See Also
L4_irq_flow_type
Returns
Pointer to l4irq_t structure, 0 on error
Examples:
examples/libs/libirq/async_isr.c.
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.
L4Re - L4 Runtime Environment