csx_AccessConfigurationRegister(9F)
csx_Parse_CISTPL_BYTEORDER(9F)
csx_Parse_CISTPL_CFTABLE_ENTRY(9F)
csx_Parse_CISTPL_DEVICEGEO(9F)
csx_Parse_CISTPL_DEVICEGEO_A(9F)
csx_Parse_CISTPL_DEVICE_OA(9F)
csx_Parse_CISTPL_DEVICE_OC(9F)
csx_Parse_CISTPL_LINKTARGET(9F)
csx_Parse_CISTPL_LONGLINK_A(9F)
csx_Parse_CISTPL_LONGLINK_C(9F)
csx_Parse_CISTPL_LONGLINK_MFC(9F)
ddi_get_soft_iblock_cookie(9F)
ddi_intr_get_supported_types(9F)
ddi_prop_lookup_byte_array(9F)
ddi_prop_lookup_int64_array(9F)
ddi_prop_lookup_string_array(9F)
ddi_prop_update_byte_array(9F)
ddi_prop_update_int64_array(9F)
ddi_prop_update_string_array(9F)
ldi_prop_lookup_byte_array(9F)
ldi_prop_lookup_int64_array(9F)
ldi_prop_lookup_string_array(9F)
mac_prop_info_set_default_link_flowctrl(9F)
mac_prop_info_set_default_str(9F)
mac_prop_info_set_default_uint8(9F)
mac_prop_info_set_range_uint32(9F)
net_event_notify_unregister(9F)
net_instance_notify_register(9F)
net_instance_notify_unregister(9F)
net_instance_protocol_unregister(9F)
net_protocol_notify_register(9F)
nvlist_lookup_boolean_array(9F)
nvlist_lookup_boolean_value(9F)
nvlist_lookup_nvlist_array(9F)
nvlist_lookup_string_array(9F)
nvlist_lookup_uint16_array(9F)
nvlist_lookup_uint32_array(9F)
nvlist_lookup_uint64_array(9F)
nvpair_value_boolean_array(9F)
scsi_get_device_type_scsi_options(9F)
usb_get_current_frame_number(9F)
usb_get_max_pkts_per_isoc_request(9F)
usb_pipe_get_max_bulk_transfer_size(9F)
usb_pipe_stop_intr_polling(9F)
usb_pipe_stop_isoc_polling(9F)
- get or set interrupt capabilities for a given interrupt type
#include <sys/types.h> #include <sys/conf.h> #include <sys/ddi.h> #include <sys/sunddi.h> int ddi_intr_get_cap(ddi_intr_handle_t h, int *flagsp);
int ddi_intr_set_cap(ddi_intr_handle_t h, int flags);
Solaris DDI specific (Solaris DDI).
ddi_intr_get_cap()
DDI interrupt handle
Pointer to the capability flags returned for this handle
ddi_intr_set_cap()
DDI interrupt handle
Contains the capability flag to be set
The ddi_intr_get_cap() function returns the interrupt capability flags for the interrupt handle h. Upon a successful return, the flags are returned in the integer pointed to by the flagsp argument.
These flags are typically combinations of the following:
For discrete interrupts, the host supports edge type of trigger. This flag is not returned for DDI_INTR_TYPE_MSI or DDI_INTR_TYPE_MSIX interrupt types. This is a read-write (RW) flag.
For discrete interrupts the host supports level, edge, or both types of triggers. This flag is not returned for DDI_INTR_TYPE_MSI or DDI_INTR_TYPE_MSIX interrupt types.
The interrupt can be masked either by the device or by the host bridge, or optionally by the host. This is a read-only (RO) flag.
The interrupt supports an interrupt pending bit. This is a read-only (RO) flag.
All interrupts of the given type must be block-enabled and are not individually maskable. This is a read-only (RO) flag.
The ddi_intr_set_cap() function allows a driver to specify the capability flags for the interrupt handle h. Only DDI_INTR_FLAG_LEVEL and DDI_INTR_FLAG_EDGE flags can be set. Some devices can support both level and edge capability and either can be set by using the ddi_intr_set_cap() function. Setting the capability flags is device and platform dependent.
The ddi_intr_set_cap() function can be called after interrupts are allocated and prior to adding the interrupt handler. For all other times it returns failure.
The ddi_intr_get_cap() and ddi_intr_set_cap() functions return:
On success.
On encountering invalid input parameters.
On any implementation specific failure.
On device not supporting operation.
The ddi_intr_get_cap() and ddi_intr_set_cap() functions can be called from either user or kernel non-interrupt context.
See attributes(5) for descriptions of the following attributes:
|
attributes(5), ddi_intr_alloc(9F), ddi_intr_block_enable(9F), ddi_intr_get_nintrs(9F), ddi_intr_get_pending(9F), ddi_intr_get_supported_types(9F), ddi_intr_set_mask(9F)
Consumers of these interfaces should verify that the return value is not equal to DDI_SUCCESS. Incomplete checking for failure codes could result in inconsistent behavior among platforms.