xref: /illumos-gate/usr/src/man/man9s/scsi_address.9s (revision 694c35faa87b858ecdadfe4fc592615f4eefbb07)
te
Copyright (c) 2000, Sun Microsystems, Inc., All Rights Reserved
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]
SCSI_ADDRESS 9S "Aug 30, 1995"
NAME
scsi_address - SCSI address structure
SYNOPSIS

#include <sys/scsi/scsi.h>
INTERFACE LEVEL

Solaris architecture specific (Solaris DDI)

DESCRIPTION

A scsi_address structure defines the addressing components for a SCSI target device. The address of the target device is separated into two components: target number and logical unit number. The two addressing components are used to uniquely identify any type of SCSI device; however, most devices can be addressed with the target component of the address.

In the case where only the target component is used to address the device, the logical unit should be set to 0. If the SCSI target device supports logical units, then the HBA must interpret the logical units field of the data structure.

The pkt_address member of a scsi_pkt(9S) is initialized by scsi_init_pkt(9F).

STRUCTURE MEMBERS
scsi_hba_tran_t *a_hba_tran; /* Transport vectors for the SCSI bus */
ushort_t a_target; /* SCSI target id */
uchar_t a_lun; /* SCSI logical unit */

a_hba_tran is a pointer to the controlling HBA's transport vector structure. The SCSA interface uses this field to pass any transport requests from the SCSI target device drivers to the HBA driver.

a_target is the target component of the SCSI address.

a_lun is the logical unit component of the SCSI address. The logical unit is used to further distinguish a SCSI target device that supports multiple logical units from one that does not. The makecom(9F) family of functions use the a_lun field to set the logical unit field in the SCSI CDB, for compatibility with SCSI-1.

SEE ALSO

makecom(9F), scsi_init_pkt(9F), scsi_hba_tran(9S), scsi_pkt(9S)

Writing Device Drivers