'\" te .\" Copyright (c) 2006, Sun Microsystems, Inc. .TH ddi_dev_is_sid 9F "16 Jan 2006" "SunOS 5.11" "Kernel Functions for Drivers" .SH NAME ddi_dev_is_sid \- tell whether a device is self-identifying .SH SYNOPSIS .LP .nf #include #include #include \fBint\fR \fBddi_dev_is_sid\fR(\fBdev_info_t *\fR\fIdip\fR); .fi .SH INTERFACE LEVEL .sp .LP Solaris DDI specific (Solaris DDI). .SH PARAMETERS .sp .ne 2 .mk .na \fB\fIdip\fR\fR .ad .RS 7n .rt A pointer to the device's \fBdev_info\fR structure. .RE .SH DESCRIPTION .sp .LP The \fBddi_dev_is_sid()\fR function tells the caller whether the device described by \fIdip\fR 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). .SH RETURN VALUES .sp .ne 2 .mk .na \fB\fBDDI_SUCCESS\fR\fR .ad .RS 15n .rt Device is self-identifying. .RE .sp .ne 2 .mk .na \fB\fBDDI_FAILURE\fR\fR .ad .RS 15n .rt Device is not self-identifying. .RE .SH CONTEXT .sp .LP The \fBddi_dev_is_sid()\fR function can be called from user, interrupt, or kernel context. .SH EXAMPLES .sp .in +2 .nf 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 ... .fi .in -2 .SH SEE ALSO .sp .LP \fBprobe\fR(9E) \fIWriting Device Drivers for Oracle Solaris 11.2\fR