Kernel Functions for Drivers ddi_prop_exists(9F)
NAME
ddi_prop_exists - check for the existence of a property
SYNOPSIS
#include
#include
int ddi_prop_exists(dev_t match_dev, dev_info_t *dip, uint_t flags,
char *name);INTERFACE LEVEL
Solaris DDI specific (Solaris DDI).PARAMETERS
match_dev Device number associated with property or
DDI_DEV_T_ANY.
dip Pointer to the device info node of device whose property list should be searched. flags Possible flag values are some combination of:DDI_PROP_DONTPASS Do not pass request to
parent device informa-
tion node if the pro-
perty is not found.DDI_PROP_NOTPROM Do not look at PROM
properties (ignored on platforms that do notsupport PROM proper-
ties). name String containing the name of the property.DESCRIPTION
ddi_prop_exists() checks for the existence of a property
regardless of the property value data type. Properties are searched for based on the dip, name, andmatch_dev. The property search order is as follows:
SunOS 5.11 Last change: 22 May 1995 1
Kernel Functions for Drivers ddi_prop_exists(9F)
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. 6. Return 0 if not found and 1 if found.Usually, the match_dev argument should be set to the actual
device number that this property is associated with. How-
ever, if the match_dev argument is DDI_DEV_T_ANY, then
ddi_prop_exists() will match the request regardless of the
match_dev the property was created with. That is the first
property whose name matches name will be returned. If aproperty was created with match_dev set to DDI_DEV_T_NONE
then the only way to look up this property is with amatch_dev set to DDI_DEV_T_ANY. PROM properties are always
created with match_dev set to DDI_DEV_T_NONE.
name must always be set to the name of the property being looked up.RETURN VALUES
ddi_prop_exists() returns 1 if the property exists and 0
otherwise.CONTEXT
These functions can be called from user or kernel context.EXAMPLES
Example 1 : Using ddi_prop_exists()
The following example demonstrates the use ofddi_prop_exists().
/** Enable "whizzy" mode if the "whizzy-mode" property exists
*/if (ddi_prop_exists(xx_dev, xx_dip, DDI_PROP_NOTPROM,
"whizzy-mode") == 1) {
xx_enable_whizzy_mode(xx_dip);
SunOS 5.11 Last change: 22 May 1995 2
Kernel Functions for Drivers ddi_prop_exists(9F)
} else {xx_disable_whizzy_mode(xx_dip);
}SEE ALSO
ddi_prop_get_int(9F), ddi_prop_lookup(9F),
ddi_prop_remove(9F), ddi_prop_update(9F)
Writing Device DriversSunOS 5.11 Last change: 22 May 1995 3