(C) 1998 AROS - The Amiga Research OS
Software interrupts are useful from hardware interrupts if you wish to defer your processing down to a lower level. They can also be used in some special cases of device I/O. The timer.device and audio.device allow software interrupt driven timing and audio output respectively.
Software interrupts are restricted to 5 different priority levels, +32, +16, 0, -16, -32.
Software interrupts can only be scheduled once.
The software interrupt is called with the following prototype:
AROS_UFH3(void, YourIntCode, AROS_UFHA(APTR, interruptData, A1), AROS_UFHA(APTR, interruptCode, A5), AROS_UFHA(struct ExecBase *, SysBase, A6))
The interruptData is the value of the is_Data field, interruptCode is the value of the is_Code field - it is included for historical and compatibility reasons. You can ignore the value of interruptCode, but you must declare it.
Software interrupts which are added from a software interrupt of lower priority may not be called immediately.
Changed clib to proto