Skip Navigation Links | |
Exit Print View | |
man pages section 9: DDI and DKI Kernel Functions Oracle Solaris 11.1 Information Library |
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)
pci_plist_lookup_int16_array(9F)
pci_plist_lookup_int32_array(9F)
pci_plist_lookup_int64_array(9F)
pci_plist_lookup_int8_array(9F)
pci_plist_lookup_string_array(9F)
pci_plist_lookup_uint16_array(9F)
pci_plist_lookup_uint32_array(9F)
pci_plist_lookup_uint64_array(9F)
pci_plist_lookup_uint8_array(9F)
scsi_get_device_type_scsi_options(9F)
scsi_get_device_type_string(9F)
scsi_sense_cmdspecific_uint64(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)
- set or clear mask for a given interrupt
#include <sys/types.h> #include <sys/conf.h> #include <sys/ddi.h> #include <sys/sunddi.h> int ddi_intr_set_mask(ddi_intr_handle_t h);
int ddi_intr_clr_mask(ddi_intr_handle_t h);
Solaris DDI specific (Solaris DDI).
DDI interrupt handle
The ddi_intr_set_mask() function masks the given interrupt pointed to by the device's interrupt handle h if the device or host bridge supports the masking operation. The ddi_intr_get_cap() function returns the RO flag DDI_INTR_FLAG_MASKABLE if the device or host bridge supports interrupt mask bits for the given interrupt type. In flight interrupts can still be taken and delivered to the driver.
The ddi_intr_clr_mask() function unmasks the given interrupt pointed by the device's interrupt handle h if the device or host bridge supports the masking operation.
The ddi_intr_set_mask() and ddi_intr_clr_mask() functions should be called only if an interrupt is enabled. Otherwise the framework will return DDI_EINVAL to such calls.
The mask cannot be cleared directly if the OS implementation has also temporarily masked the interrupt. A call to ddi_intr_clr_mask() must be preceded by a call to ddi_intr_set_mask(). It is not necessary to call ddi_intr_clr_mask() when adding and enabling the interrupt.
The ddi_intr_set_mask() and ddi_intr_clr_mask() functions return:
On success.
On encountering invalid input parameters or when an interrupt is not enabled.
On any implementation specific failure.
On device not supporting operation.
The ddi_intr_set_mask() and ddi_intr_clr_mask() functions can be called from any context.
See attributes(5) for descriptions of the following attributes:
|
attributes(5), ddi_intr_block_disable(9F), ddi_intr_block_enable(9F), ddi_intr_disable(9F), ddi_intr_enable(9F), ddi_intr_get_pending(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.