'\" te .\" Copyright (c) 2006, Sun Microsystems, Inc. All Rights Reserved. .TH ddi_intr_set_mask 9F "05 Apri 2006" "SunOS 5.11" "Kernel Functions for Drivers" .SH NAME ddi_intr_set_mask, ddi_intr_clr_mask \- set or clear mask for a given interrupt .SH SYNOPSIS .LP .nf #include #include #include #include \fBint\fR \fBddi_intr_set_mask\fR(\fBddi_intr_handle_t\fR \fIh\fR); .fi .LP .nf \fBint\fR \fBddi_intr_clr_mask\fR(\fBddi_intr_handle_t\fR \fIh\fR); .fi .SH INTERFACE LEVEL .sp .LP Solaris DDI specific (Solaris DDI). .SH PARAMETERS .sp .ne 2 .mk .na \fB\fIh\fR\fR .ad .RS 5n .rt DDI interrupt handle .RE .SH DESCRIPTION .sp .LP The \fBddi_intr_set_mask()\fR function masks the given interrupt pointed to by the device's interrupt handle \fIh\fR if the device or host bridge supports the masking operation. The \fBddi_intr_get_cap()\fR function returns the \fBRO\fR flag \fBDDI_INTR_FLAG_MASKABLE\fR 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. .sp .LP The \fBddi_intr_clr_mask()\fR function unmasks the given interrupt pointed by the device's interrupt handle \fIh\fR if the device or host bridge supports the masking operation. .sp .LP The \fBddi_intr_set_mask()\fR and \fBddi_intr_clr_mask()\fR functions should be called only if an interrupt is enabled. Otherwise the framework will return \fBDDI_EINVAL\fR to such calls. .sp .LP The mask cannot be cleared directly if the OS implementation has also temporarily masked the interrupt. A call to \fBddi_intr_clr_mask()\fR must be preceded by a call to \fBddi_intr_set_mask()\fR. It is not necessary to call \fBddi_intr_clr_mask()\fR when adding and enabling the interrupt. .SH RETURN VALUES .sp .LP The \fBddi_intr_set_mask()\fR and \fBddi_intr_clr_mask()\fR functions return: .sp .ne 2 .mk .na \fB\fBDDI_SUCCESS\fR\fR .ad .RS 15n .rt On success. .RE .sp .ne 2 .mk .na \fB\fBDDI_EINVAL\fR\fR .ad .RS 15n .rt On encountering invalid input parameters or when an interrupt is not enabled. .RE .sp .ne 2 .mk .na \fB\fBDDI_FAILURE\fR\fR .ad .RS 15n .rt On any implementation specific failure. .RE .sp .ne 2 .mk .na \fB\fBDDI_ENOTSUP\fR\fR .ad .RS 15n .rt On device not supporting operation. .RE .SH CONTEXT .sp .LP The \fBddi_intr_set_mask()\fR and \fBddi_intr_clr_mask()\fR functions can be called from any context. .SH ATTRIBUTES .sp .LP See \fBattributes\fR(5) for descriptions of the following attributes: .sp .sp .TS tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . ATTRIBUTE TYPEATTRIBUTE VALUE _ Interface StabilityCommitted .TE .SH SEE ALSO .sp .LP \fBattributes\fR(5), \fBddi_intr_block_disable\fR(9F), \fBddi_intr_block_enable\fR(9F), \fBddi_intr_disable\fR(9F), \fBddi_intr_enable\fR(9F), \fBddi_intr_get_pending\fR(9F) .sp .LP \fIWriting Device Drivers for Oracle Solaris 11.2\fR .SH NOTES .sp .LP Consumers of these interfaces should verify that the return value is not equal to \fBDDI_SUCCESS\fR. Incomplete checking for failure codes could result in inconsistent behavior among platforms.