Kernel Functions for Drivers ldi_prop_exists(9F)
NAME
ldi_prop_exists - Check for the existence of a property
SYNOPSIS
#include
int ldi_prop_exists(ldi_handle_t lh, uint_t flags, char *name);
INTERFACE LEVEL
Solaris DDI specific (Solaris DDI)PARAMETERS
lh Layered handle. flags Possible flag values are some combination of:LDI_DEV_T_ANY Match the lookup request independent of
the actual dev_t value that was used
when the property was created. The flagindicates any dev_t value (including
DDI_DEV_T_NONE) associated with a pos-
sible property match satisfies the matching criteria.DDI_PROP_DONTPASS Do not pass request to parent device
information node if the property is not found.DDI_PROP_NOTPROM Do not look at PROM properties
(ignored on platforms that do not sup-
port PROM properties).name String containing the name of the pro-
perty.DESCRIPTION
ldi_prop_exists() checks for the existence of a property
associated with a device represented by the layered driver handle, regardless of the property value data type.Properties are searched for based on the dip and dev_t
values associated with the layered handle, and the property name. This association is handled by the layered driver infrastructure on behalf of the consumers ofSunOS 5.11 Last change: 3 June 2003 1
Kernel Functions for Drivers ldi_prop_exists(9F)
ldi_prop_exists().
The property search order is as follows:1. Search software-properties created by the driver.
2. Search the software properties created by the sys-
tem (or nexus nodes in the device info tree). 3. Search the driver global properties list.4. If DDI_PROP_NOTPROM is not set, search the PROM
properties (if they exist).5. If DDI_PROP_DONTPASS is not set, pass this request
to the parent device information node of the device represented by the layered handle. 6. Return 0 if not found and 1 if found.Typically, the specific dev_t value associated with the dev-
ice represented by the layered handle (ldi_handle_t) is used
as a part of the property match criteria. This association is handled by the layered driver infrastructure on behalf of the consumers of the ldi property look up functions.However, if the LDI_DEV_T_ANY flag is used, the ldi property
lookup functions will match the request regardless of thedev_t value associated with the property at the time of its
creation. If a property was created with a dev_t set to
DDI_DEV_T_NONE, the only way to look up this property is
with the LDI_DEV_T_ANY flag. PROM properties are always
created with a dev_t set to DDI_DEV_T_NONE.
name must always be set to the name of the property being looked up.RETURN VALUES
ldi_prop_exists() returns 1 if the property exists and 0
otherwise.CONTEXT
This function may be called from user or kernel context.EXAMPLE
The following example demonstrates the use of ldi_prop_exists().
/* Determine the existence of the "interrupts" property */SunOS 5.11 Last change: 3 June 2003 2
Kernel Functions for Drivers ldi_prop_exists(9F)
ldi_prop_exists(lh, LDI_DEV_T_ANY|DDI_PROP_NOTPROM, "interrupts");
SEE ALSO
ddi_prop_exists(9F)
Writing Device DriversSunOS 5.11 Last change: 3 June 2003 3