vme_interrupt_attach - Associates the current process with a VME interrupt level.
Handle allocated by vme_init.
Pointer to the interrupt handle to allocate.
VMEbus interrupt level. Possible values for the Tundra Universe II device are:
- VME_INTERRUPT_VOWNInterrupt vector. Possible values are 0 to 255 for VIRQ[1-7], or 0 for all other interrupt levels.
Interrupt flags. Indicates the type of interrupt notification. Possible values are:
- VME_INTERRUPT_BLOCKINGFor VME_INTERRUPT_SIGEVENT, a sigevent structure describing the signal to return is. For VME_INTERRUPT_BLOCKING, a value is returned.
Associates the current process with a VME interrupt level.
For certain interrupts, a data value is returned by either the reply parameter for blocking interrupts (VME_INTERRUPT_BLOCKING), or by the signal value structure member if POSIX real-time signals are used (VME_INTERRUPT_SIGEVENT). In the case of VIRQ1-7, the value is the interrupt vector; in the case of a DMA interrupt, the value is the status of the DGCS register; in the case of BERR, the value is the address of the bus error; and in the case of a mailbox interrupt, the value is the mailbox data.
Reserved interrupts (VME_INTERRUPT_RESERVE) are a special case with kernel modules only. This flag informs the VME driver that another module will process interrupts of the given VMEbus interrupt level.
0 on success, or -1 on failure.