h6. [[Hardware Abstraction Layer]] h6(. [[HAL entry points from RISC OS]] h6((. » HAL_IRQSource h2. HAL_IRQSource h5. (HAL entry #4) <pre> int HAL_IRQSource(void) </pre> |_<. Entry | | |- | | |_<. Exit | | |>= 0 |Device number that is the source of the current IRQ | |-1 |No device is currently interrupting (indicates spurious interrupt) | h4. Use On receipt of an IRQ, the kernel will call this function to determine what device/shared interrupt line is the cause. If -1 is returned, the kernel will perform no further action and return to running user code. Otherwise the kernel will invoke the appropriate interrupt handler, or mask the interrupt via [[HAL_IRQDisable]] if no such handler exists. The value returned in R3 is passed onto the interrupt handler and on systems with either an IOC or IOMD IO controller it should point to the base of its address space for compatibility with pre-HAL versions of RISC OS. h4. See also * [[HAL interrupt handling API]] h6. Information sources: Kernel.Docs.HAL.MoreEnts, HAL.Tungsten.s.Interrupts, HAL.OMAP3.s.Interrupts in CVS