xref: /illumos-gate/usr/src/man/man9f/ddi_intr_get_pending.9f (revision 533affcbc7fc4d0c8132976ea454aaa715fe2307)
te
Copyright (c) 2005, Sun Microsystems, Inc. All Rights Reserved.
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
DDI_INTR_GET_PENDING 9F "Apr 7, 2005"
NAME
ddi_intr_get_pending - get pending bit for a given interrupt
SYNOPSIS
#include <sys/types.h>
#include <sys/conf.h>
#include <sys/ddi.h>
#include <sys/sunddi.h>

int ddi_intr_get_pending(ddi_intr_handle_t h, int *pendingp);
INTERFACE LEVEL
illumos DDI specific (illumos DDI).
PARAMETERS
h

DDI interrupt handle

pendingp

Pointer to the pending capability returned for this handle

DESCRIPTION
The ddi_intr_get_pending() function returns non-zero as the integer pointed to by the pendingp argument if a corresponding interrupt is pending. The corresponding interrupt handle h must already be allocated. The call succeeds if the device or host bridge supports the ability to read the interrupt pending bits of its interrupts. The driver should use ddi_intr_get_cap() function to see if the DDI_INTR_FLAG_PENDING flag is returned to indicate that interrupts support interrupt pending bits.

If the DDI_INTR_FLAG_PENDING capability is not supported, ddi_intr_get_pending() returns DDI_ENOTSUP and zero in pendingp.

RETURN VALUES
The ddi_intr_get_pending() function returns: DDI_SUCCESS

On success.

DDI_EINVAL

On encountering invalid input parameters.

DDI_FAILURE

On any implementation specific failure.

DDI_ENOTSUP

On device not supporting operation.

CONTEXT
The ddi_intr_get_pending() function can be called from either user or kernel non-interrupt context.
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
ATTRIBUTE TYPE ATTRIBUTE VALUE
Interface Stability Evolving
SEE ALSO
attributes (7), ddi_intr_block_disable (9F), ddi_intr_block_enable (9F), ddi_intr_clr_mask (9F), ddi_intr_disable (9F), ddi_intr_enable (9F), ddi_intr_set_mask (9F)

Writing Device Drivers

NOTES
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.