ddi_dev_is_sid(9F)




NAME

     ddi_dev_is_sid - tell whether a device is self-identifying


SYNOPSIS

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

     int ddi_dev_is_sid(dev_info_t *dip);


INTERFACE LEVEL

     Solaris DDI specific (Solaris DDI).


PARAMETERS

     dip   A pointer to the device's dev_info structure.


DESCRIPTION

     ddi_dev_is_sid()  tells  the  caller  whether   the   device
     described by dip is self-identifying, that is, a device that
     can unequivocally tell the system that it  exists.  This  is
     useful  for  drivers that support both a self-identifying as
     well as a non-self-identifying variants  of  a  device  (and
     therefore must be probed).


RETURN VALUES

     DDI_SUCCESS
           Device is self-identifying.

     DDI_FAILURE
           Device is not self-identifying.


CONTEXT

     ddi_dev_is_sid() can be called from user or  interrupt  con-
     text.


EXAMPLES

      1  ...
      2  int
      3  bz_probe(dev_info_t *dip)
      4  {
      5   ...
      6   if (ddi_dev_is_sid(dip) == DDI_SUCCESS) {
      7        /*
      8         * This is the self-identifying version (OpenBoot).
      9         * No need to probe for it because we know it is there.
     10         * The existence of dip && ddi_dev_is_sid() proves this.
     11         */
     12             return (DDI_PROBE_DONTCARE);
     13   }
     14   /*
     15    * Not a self-identifying variant of the device. Now we have to
     16    * do some work to see whether it is really attached to the
     17    * system.
     18    */
     19  ...


SEE ALSO

     probe(9E) Writing Device Drivers


Man(1) output converted with man2html