'\" te
.\" Copyright (c) 2006 Sun Microsystems, Inc.
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
.TH DDI_GET_INSTANCE 9F "Jan 16, 2006"
.SH NAME
ddi_get_instance \- get device instance number
.SH SYNOPSIS
.nf
#include <sys/ddi.h>
#include <sys/sunddi.h>



\fBint\fR \fBddi_get_instance\fR(\fBdev_info_t *\fR\fIdip\fR);
.fi

.SH INTERFACE LEVEL
illumos DDI specific (illumos DDI).
.SH PARAMETERS
.ne 2
.na
\fB\fIdip\fR\fR
.ad
.RS 7n
Pointer to \fBdev_info\fR structure.
.RE

.SH DESCRIPTION
The \fBddi_get_instance()\fR function returns the instance number of the device
corresponding to \fIdip\fR.
.sp
.LP
The system assigns an instance number to every device.  Instance numbers  for
devices attached to the same driver are unique.  This provides a way for the
system and the driver to uniquely identify one or more devices of the same
type. The instance number is derived by the system from different properties
for different device types in an implementation specific manner.
.sp
.LP
Once an instance number has been assigned to a device, it will remain the same
even across reconfigurations and reboots. Therefore, instance numbers seen by a
driver may not appear to be in consecutive order. For example, if device
\fBfoo0\fR has been assigned an instance number of \fB0\fR and device
\fBfoo1\fR has been assigned an instance number of \fB1\fR, if \fBfoo0\fR is
removed, \fBfoo1\fR will continue to be associated with instance number \fB1\fR
(even though \fBfoo1\fR is now the only device of its type on the system).
.SH RETURN VALUES
The \fBddi_get_instance()\fR function returns the instance number of the device
corresponding to \fIdip\fR.
.SH CONTEXT
The \fBddi_get_instance()\fR function can be called from user, interrupt, or
kernel context.
.SH SEE ALSO
.BR path_to_inst (5)
.sp
.LP
\fIWriting Device Drivers\fR