L4Re Operating System Framework
Interface and Usage Documentation
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules 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 mode)
 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_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.