RTEMS Interrupt Manager

Collaboration diagram for RTEMS Interrupt Manager:

Modules

 BSP Interrupt Support

Typedefs

typedef void(* rtems_interrupt_handler )(void *)
 Interrupt handler routine type.

Functions

static rtems_status_code rtems_interrupt_handler_install (rtems_vector_number vector, rtems_interrupt_handler handler, void *arg)
 Installs the shared interrupt handler routine handler for the interrupt vector with number vector.
static rtems_status_code rtems_interrupt_handler_unique_install (rtems_vector_number vector, rtems_interrupt_handler handler, void *arg)
 Installs the unique interrupt handler routine handler for the interrupt vector with number vector.
static rtems_status_code rtems_interrupt_handler_remove (rtems_vector_number vector, rtems_interrupt_handler handler)
 Removes the interrupt handler routine handler for the interrupt vector with number vector.

Typedef Documentation

typedef void(* rtems_interrupt_handler)(void *)

Interrupt handler routine type.

Definition at line 249 of file irq.h.


Function Documentation

static rtems_status_code rtems_interrupt_handler_install ( rtems_vector_number  vector,
rtems_interrupt_handler  handler,
void *  arg 
) [inline, static]

Installs the shared interrupt handler routine handler for the interrupt vector with number vector.

The handler routine shall be called with argument arg when dispatched. The order in which the shared interrupt handlers are dispatched for one vector is BSP dependent.

Note:
This function may block.
Returns:
  • On success RTEMS_SUCCESSFUL shall be returned.
  • If the vector is already occupied with a unique handler the RTEMS_RESOURCE_IN_USE status code shall be returned.
  • If this function is called within interrupt context RTEMS_CALLED_FROM_ISR shall be returned.
  • If the vector number is out of range RTEMS_INVALID_NUMBER shall be returned.
  • If the handler address is NULL a RTEMS_INVALID_ADDRESS shall be returned.
  • If the handler is already installed for this vector RTEMS_TOO_MANY shall be returned.
  • Other error states are BSP specific.

Definition at line 295 of file irq.h.

References bsp_interrupt_handler_install().

Referenced by BSP_install_rtems_shared_irq_handler().

static rtems_status_code rtems_interrupt_handler_remove ( rtems_vector_number  vector,
rtems_interrupt_handler  handler 
) [inline, static]

Removes the interrupt handler routine handler for the interrupt vector with number vector.

Note:
This function may block.
Returns:
  • On success RTEMS_SUCCESSFUL shall be returned.
  • If this function is called within interrupt context RTEMS_CALLED_FROM_ISR shall be returned.
  • If the vector number is out of range RTEMS_INVALID_NUMBER shall be returned.
  • If the handler address is NULL a RTEMS_INVALID_ADDRESS shall be returned.
  • If the handler is not installed for this vector RTEMS_UNSATISFIED shall be returned.
  • Other error states are BSP specific.

Definition at line 342 of file irq.h.

References bsp_interrupt_handler_remove().

Referenced by BSP_remove_rtems_irq_handler().

static rtems_status_code rtems_interrupt_handler_unique_install ( rtems_vector_number  vector,
rtems_interrupt_handler  handler,
void *  arg 
) [inline, static]

Installs the unique interrupt handler routine handler for the interrupt vector with number vector.

The handler routine shall be called with argument arg when dispatched. It shall be ensured that this handler will be the only one for this vector.

Note:
This function may block.
Returns:
  • On success RTEMS_SUCCESSFUL shall be returned.
  • If the vector is already occupied with a unique handler the RTEMS_RESOURCE_IN_USE status code shall be returned.
  • If this function is called within interrupt context RTEMS_CALLED_FROM_ISR shall be returned.
  • If the vector number is out of range RTEMS_INVALID_NUMBER shall be returned.
  • If the handler address is NULL a RTEMS_INVALID_ADDRESS shall be returned.
  • If the handler is already installed for this vector RTEMS_TOO_MANY shall be returned.
  • Other error states are BSP specific.

Definition at line 321 of file irq.h.

References bsp_interrupt_handler_install().

Referenced by BSP_install_rtems_irq_handler().


Generated on Mon May 19 15:42:10 2008 for RTEMS by  doxygen 1.5.3