Queue a pseudo interrupt to an interrupt handler list.
#include <sys/intr.h> int i_pollsched (handler, pril) struct intr *handler; int pril;
handler | Pointer to the intr structure for which the interrupt is to be queued. |
pril | Processor level to queue logical interrupt for. |
The i_pollsched service allows device drivers to queue a pseudo interrupt to another interrupt handler. The calling arguements are mutually exclusive. If handler is not NULL then it is used to generate a pril value, via pal_i_genplvl subroutine. If the handler is NULL then the value in pril represents the processor level of the target interrupt handler.
This service will not queue an interrupt to a funneled, or nonMPSAFE interrupt handler, unless the service is executing on the MPMASTER processor. INTR_FAIL will be returned if not executing on MPMASTER processor and the target interrupt handler is not MPSAFE.
This service should only be called on an RSPC based platform. Calling this service on a non-RSPC machine will always result in a failure return code.
The i_pollsched kernel service can be called from either the process of interrupt environments.
INTR_SUCC | Interrupted was queued. |
INTR_FAIL | Interrupt was not queued. This can be returned when the target list was NULL or the service was called on an invalid platform. |
The i_pollsched kernel service is part of the Base Operating System (BOS) Runtime.