ddi_intr_dup_handler(9f) [minix man page]
ddi_intr_dup_handler(9F) ddi_intr_dup_handler(9F) NAME
ddi_intr_dup_handler - reuse interrupt handler and arguments for MSI-X interrupts SYNOPSIS
#include <sys/types.h> #include <sys/conf.h> #include <sys/ddi.h> #include <sys/sunddi.h> int ddi_intr_dup_handler(ddi_intr_handle_t orig, int vector, ddi_intr_handle_t *new); INTERFACE LEVEL
Solaris DDI specific (Solaris DDI). orig Pointer to the the original DDI interrupt handle vector Contains the interrupt number to which to duplicate new Pointer to the new DDI interrupt handle The ddi_intr_dup_handler() function is for MSI-X interrupts, where an unallocated interrupt vector is permitted to use the same MSI-X address/data pair, interrupt handler, and handler arguments as a previously initialized/allocated interrupt vector. The ddi_intr_dup_han- dler() function copies the entry from the interrupt handle given by orig to the unallocated MSI-X interrupt vector given by the argument vector. If successful, it returns the new interrupt handle for given vector in new. The ddi_intr_dup_handler() function must be called after the orig interrupt handler has been added. The new interrupt handle must not have been previously allocated and must not have an interrupt handler associated with it. The ddi_intr_remove_handler() function can be used to disassociate handlers when the interrupt is disabled and to remove disabled dup-ed interrupt handlers. See ddi_intr_disable(9F). A call to ddi_intr_dup_handler() does not imply that the interrupt source is automatically enabled. The interrupt must be enabled before it can be used by calling ddi_intr_enable(9F). The ddi_intr_dup_handler() function returns: DDI_SUCCESS On success. DDI_EINVAL On encountering invalid input parameters. DDI_EINVAL will also be returned if the hardware device is found not to support MSI-X interrupts. DDI_FAILURE On any implementation specific failure. CONTEXT
The ddi_intr_dup_handler() function can be called from kernel non-interrupt context. See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface Stability |Evolving | +-----------------------------+-----------------------------+ attributes(5), ddi_intr_add_handler(9F), ddi_intr_alloc(9F), ddi_intr_block_enable(9F), ddi_intr_disable(9F), ddi_intr_enable(9F), ddi_intr_get_supported_types(9F), ddi_intr_remove_handler(9F) Any consumer of this interface should verify that the return value is not equal to DDI_SUCCESS. Incomplete checking for failure codes could result in inconsistent behavior among platforms. 07 Apr 2005 ddi_intr_dup_handler(9F)
Check Out this Related Man Page
ddi_intr_dup_handler(9F) ddi_intr_dup_handler(9F) NAME
ddi_intr_dup_handler - reuse interrupt handler and arguments for MSI-X interrupts SYNOPSIS
#include <sys/types.h> #include <sys/conf.h> #include <sys/ddi.h> #include <sys/sunddi.h> int ddi_intr_dup_handler(ddi_intr_handle_t orig, int vector, ddi_intr_handle_t *new); INTERFACE LEVEL
Solaris DDI specific (Solaris DDI). orig Pointer to the the original DDI interrupt handle vector Contains the interrupt number to which to duplicate new Pointer to the new DDI interrupt handle The ddi_intr_dup_handler() function is for MSI-X interrupts, where an unallocated interrupt vector is permitted to use the same MSI-X address/data pair, interrupt handler, and handler arguments as a previously initialized/allocated interrupt vector. The ddi_intr_dup_han- dler() function copies the entry from the interrupt handle given by orig to the unallocated MSI-X interrupt vector given by the argument vector. If successful, it returns the new interrupt handle for given vector in new. The ddi_intr_dup_handler() function must be called after the orig interrupt handler has been added. The new interrupt handle must not have been previously allocated and must not have an interrupt handler associated with it. The ddi_intr_remove_handler() function can be used to disassociate handlers when the interrupt is disabled and to remove disabled dup-ed interrupt handlers. See ddi_intr_disable(9F). A call to ddi_intr_dup_handler() does not imply that the interrupt source is automatically enabled. The interrupt must be enabled before it can be used by calling ddi_intr_enable(9F). The ddi_intr_dup_handler() function returns: DDI_SUCCESS On success. DDI_EINVAL On encountering invalid input parameters. DDI_EINVAL will also be returned if the hardware device is found not to support MSI-X interrupts. DDI_FAILURE On any implementation specific failure. CONTEXT
The ddi_intr_dup_handler() function can be called from kernel non-interrupt context. See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface Stability |Evolving | +-----------------------------+-----------------------------+ attributes(5), ddi_intr_add_handler(9F), ddi_intr_alloc(9F), ddi_intr_block_enable(9F), ddi_intr_disable(9F), ddi_intr_enable(9F), ddi_intr_get_supported_types(9F), ddi_intr_remove_handler(9F) Any consumer of this interface should verify that the return value is not equal to DDI_SUCCESS. Incomplete checking for failure codes could result in inconsistent behavior among platforms. 07 Apr 2005 ddi_intr_dup_handler(9F)