Loading...
Searching...
No Matches
Interface for asynchronous ISR handlers.
IRQ handling library

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

Collaboration diagram for Interface for asynchronous ISR handlers.:

## Topics

| 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

  irq | IRQ data structure

Returns
  0 sucess, != 0 failure

Examples
  examples/libs/libirq/async_isr.c.

References L4_CV.

## l4irq_request()

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.

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.

References L4_CV.