ddi_prop_exists(9F)




NAME

     ddi_prop_exists - check for the existence of a property


SYNOPSIS

     #include <sys/ddi.h>
     #include <sys/sunddi.h>

     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  pro-
           perty list should be searched.

     flags Possible flag values are some combination of:

           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 support
                  PROM properties).

     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,  and
     match_dev. The property search order is as follows:

     1. Search software properties created by the driver.

     2. Search the software properties created by the system  (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  proper-
        ties (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 a
     property was created with  match_dev set to   DDI_DEV_T_NONE
     then  the  only  way  to  look  up  this  property is with a
     match_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    of
     ddi_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);
          } 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 Drivers


Man(1) output converted with man2html