man Pages(9F): DDI and DKI Kernel Functions
この本のみを検索
PDF 文書ファイルをダウンロードする

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

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

ARGUMENTS

dip
A pointer to the device's dev_info structure.

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

EXAMPLE

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