ISETINTR(3)
HP-UX
NAME
isetintr − enable interrupt events
SYNOPSIS
#include <sicl.h>
int isetintr(INST id, int intnum, long secval);
DESCRIPTION
isetintr enables interrupt events for the session specified by the id parameter. The intnum parameter specifies what should actually generate an interrupt. The secval parameter is used in conjunction with intnum to enable and disable the interrupt; it may also further specify interrupt conditions.
Multiple calls to isetintr with the same session INST id and same intnum overwrites the currently enabled interrupt.
If secval != 0, then the particular interrupt is enabled, and if secval == 0, then the particular interrupt is disabled. Secval’s value may be further defined below.
HP-IB Interrupts
The possible values for intnum when id refers to an interface session are:
I_INTR_INTFACT
Interrupt when this controller becomes the active controller.
I_INTR_INTDACT
Interrupt when this controller passes control.
VXI Interrupts
The possible values for intnum when id refers to an interface session are:
I_INTR_INTFACT
Interrupt when normal operation takes place (BNO arrives).
I_INTR_INTDACT
Interrupt when normal operation aborts (ANO or ENO arrives).
I_INTR_TRIG Interrupt when a trigger occurs. The secval parameter is a mask specifying which trigger(s) generate an interrupt and uses the same bitmask as the ixtrig(3) routine’s which parameter.
I_INTR_VXI_SYSRESET
Interrupt when a VXI SYSRESET occurred.
I_INTR_VXI_VME
Interrupt when a VME interrupt occurs from a VME device, or a VXI device that is not in our servant list.
I_INTR_VXI_UKNSIG
Interrupt when a VXI signal register is written to by a device that is not a servant of this controller.
The possible values for intnum when id refers to a device session are:
I_INTR_VXI_SIGNAL
Interrupt when a write to the VXI signal register is performed by the specified device (or a VME interrupt arrived from the VXI device that is in our servant list) and the signal is a user-defined (or undefined) event sent from the device corresponding to this session.
To disable all interrupts for any type of session, pass I_INTR_OFF in the intnum parameter.
RETURN VALUE
The isetintr command returns I_ERR_NOERROR on success, and a non-zero error code if an error occurred.
ERRORS
Some possible reasons for ionsrq failing are:
[I_ERR_BADID] Invalid INST id.
[I_ERR_PARAM] Invalid parameter.
WARNING
Note that this routine only enables particular interrupt events, it does not install an interrupt handler.
Installing an interrupt handler and enabling interrupt conditions are two different events. An interrupt handler can be installed with no interrupt conditions enabled. Conversely, no interrupt handler may be installed, but interrupt conditions are enabled. Only when both an interrupt handler is installed and an interrupt condition is enabled will that interrupt be noticed and the interrupt handler executed.
AUTHOR
isetintr was developed by HP.
SEE ALSO
ionintr(3), ixtrig(3), igeterrno(3), igeterrstr(3)
Hewlett-Packard Company — May 05, 1994