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]
#include <sys/scsi/scsi.h>
struct scsi_status sts_status; /* SCSI status */ struct scsi_status sts_rqpkt_status; /* SCSI status of request sense cmd */ uchar_t sts_rqpkt_reason; /* reason completion */ uchar_t sts_rqpkt_resid; /* residue */ uint_t sts_rqpkt_state; /* state of command */ uint_t sts_rqpkt_statistics;/* statistics */ struct scsi_extended_sense sts_sensedata; /* actual sense data */
sts_status is the SCSI status of the original command. If the status indicates a check condition, the transport layer might have performed an auto request sense command.
sts_rqpkt_status is the SCSI status of the request sense command. sts_rqpkt_reason is the completion reason of the request sense command. If the reason is not CMD_CMPLT, then the request sense command did not complete normally.
sts_rqpkt_resid is the residual count of the data transfer and indicates the number of data bytes that have not been transferred. The auto request sense command requests SENSE_LENGTH bytes.
sts_rqpkt_state has bit positions representing the five most important statuses that a SCSI command can go obtain.
sts_rqpkt_statistics maintains transport-related statistics of the request sense command.
sts_sensedata contains the actual sense data if the request sense command completed normally.
Writing Device Drivers