Creating an Interrupt Identifier

In addition to using the predefined interrupt identifiers, you can define identifiers in your OAL for your custom target devices. Create a file named Oalintr.h, and define your non-kernel interrupt identifiers in Oalintr.h relative to the value SYSINTR_FIRMWARE. For example, you could define the value of an interrupt identifier as SYSINTR_FIRMWARE+1. The maximum value of an interrupt identifier should be less than SYSINTR_MAXUMUM or SYSINTR_FIRMWARE+23.

The interrupt identifiers reside in the Oalintr.h file in %_WINCEROOT%\Platform\%BSP%\Inc and those for a CEPC reside in the Oalintr.h file in %_WINCEROOT%\Platform\CEPC\Inc. The following table shows the interrupt identifiers that are defined in Oalintr.h.

Interrupt identifier Description
SYSINTR_ADC Indicates an analog-to-digital converter interrupt.
SYSINTR_AUDIO Indicates an audio interrupt.
SYSINTR_IR Indicates an infrared interrupt.
SYSINTR_ETHER Indicates an Ethernet debugging adapter interrupt.
SYSINTR_KEYBOARD Indicates a keyboard interrupt.
SYSINTR_PCMCIA_EDGE Indicates a PCMCIA edge transition interrupt.
SYSINTR_PCMCIA_LEVEL Indicates a PCMCIA level interrupt.
SYSINTR_PCMCIA_STATE Indicates a PCMCIA state interrupt.
SYSINTR_SERIAL Indicates a serial port interrupt.
SYSINTR_TOUCH Indicates a touch screen interrupt.
SYSINTR_TOUCH_CHANGED Indicates that the touch screen data has changed.

**Note   **The kernel reserves all values below SYSINTR_FIRMWARE for future use. If you redefine the predefined interrupt identifiers, you risk breaking the model device driver (MDD) code in the platform-independent layer for native device drivers.

See Also

How to Develop an OEM Adaptation Layer | Implementing an ISR

Last updated on Wednesday, April 13, 2005

© 2005 Microsoft Corporation. All rights reserved.