| 
RTDM_IRQTYPE_xxx | |
|  Interrupt registrations flags  | |
| #define | RTDM_IRQTYPE_SHARED XN_ISR_SHARED | 
| Enable IRQ-sharing with other real-time drivers.  | |
| #define | RTDM_IRQTYPE_EDGE XN_ISR_EDGE | 
| Mark IRQ as edge-triggered, relevant for correct handling of shared edge-triggered IRQs.  | |
RTDM_IRQ_xxx | |
|  Return flags of interrupt handlers  | |
| #define | RTDM_IRQ_NONE XN_ISR_NONE | 
| Unhandled interrupt.  | |
| #define | RTDM_IRQ_HANDLED XN_ISR_HANDLED | 
| Denote handled interrupt.  | |
Defines | |
| #define | rtdm_irq_get_arg(irq_handle, type) ((type *)irq_handle->cookie) | 
| Retrieve IRQ handler argument.   | |
Typedefs | |
| typedef int(* | rtdm_irq_handler_t )(rtdm_irq_t *irq_handle) | 
| Interrupt handler.   | |
Functions | |
| int | rtdm_irq_request (rtdm_irq_t *irq_handle, unsigned int irq_no, rtdm_irq_handler_t handler, unsigned long flags, const char *device_name, void *arg) | 
| Register an interrupt handler.   | |
| int | rtdm_irq_free (rtdm_irq_t *irq_handle) | 
| Release an interrupt handler.   | |
| int | rtdm_irq_enable (rtdm_irq_t *irq_handle) | 
| Enable interrupt line.   | |
| int | rtdm_irq_disable (rtdm_irq_t *irq_handle) | 
| Disable interrupt line.   | |
| #define rtdm_irq_get_arg | ( | irq_handle, | |||
| type | ) | ((type *)irq_handle->cookie) | 
Retrieve IRQ handler argument.
| irq_handle | IRQ handle | |
| type | Type of the pointer to return | 
This service can be called from:
Rescheduling: never.
| typedef int(* rtdm_irq_handler_t)(rtdm_irq_t *irq_handle) | 
Interrupt handler.
| [in] | irq_handle | IRQ handle as returned by rtdm_irq_request() | 
| int rtdm_irq_disable | ( | rtdm_irq_t * | irq_handle | ) | 
Disable interrupt line.
| [in,out] | irq_handle | IRQ handle as returned by rtdm_irq_request() | 
This service can be called from:
Rescheduling: never.
| int rtdm_irq_enable | ( | rtdm_irq_t * | irq_handle | ) | 
Enable interrupt line.
| [in,out] | irq_handle | IRQ handle as returned by rtdm_irq_request() | 
This service can be called from:
Rescheduling: possible.
| int rtdm_irq_free | ( | rtdm_irq_t * | irq_handle | ) | 
Release an interrupt handler.
| [in,out] | irq_handle | IRQ handle as returned by rtdm_irq_request() | 
This service can be called from:
Rescheduling: never.
| int rtdm_irq_request | ( | rtdm_irq_t * | irq_handle, | |
| unsigned int | irq_no, | |||
| rtdm_irq_handler_t | handler, | |||
| unsigned long | flags, | |||
| const char * | device_name, | |||
| void * | arg | |||
| ) | 
Register an interrupt handler.
This function registers the provided handler with an IRQ line and enables the line.
| [in,out] | irq_handle | IRQ handle | 
| [in] | irq_no | Line number of the addressed IRQ | 
| [in] | handler | Interrupt handler | 
| [in] | flags | Registration flags, see RTDM_IRQTYPE_xxx for details | 
| [in] | device_name | Device name to show up in real-time IRQ lists | 
| [in] | arg | Pointer to be passed to the interrupt handler on invocation | 
Environments:
This service can be called from:
Rescheduling: never.
References xnintr_attach(), xnintr_detach(), xnintr_enable(), and xnintr_init().
 1.5.6