Sun Microsystems, Inc.
spacerspacer
spacer   www.sun.com docs.sun.com | | |  
spacer
black dot
   
A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W   X   Y   Z
    
 
Kernel Functions for Driversscsi_transport(9F)


NAME

 scsi_transport - request by a SCSI target driver to start a command

SYNOPSIS

 
#include <sys/scsi/scsi.h> 
int scsi_transport(struct scsi_pkt *pkt);

INTERFACE LEVEL

 

Solaris DDI specific (Solaris DDI).

PARAMETERS

 
pkt
Pointer to a scsi_pkt(9S) structure.

DESCRIPTION

 

Target drivers use scsi_transport() to request the host adapter driver to transport a command to the SCSI target device specified by pkt. The target driver must obtain resources for the packet using scsi_init_pkt(9F) prior to calling this function. The packet may be initialized using one of the makecom(9F) functions. scsi_transport() does not wait for the SCSI command to complete. See scsi_poll(9F) for a description of polled SCSI commands. Upon completion of the SCSI command the host adapter calls the completion routine provided by the target driver in the pkt_comp member of the scsi_pkt pointed to by pkt.

RETURN VALUES

 

scsi_transport() returns:

TRAN_ACCEPT
The packet was accepted by the transport layer.
TRAN_BUSY
The packet could not be accepted because there was already a packet in progress for this target/lun, the host adapter queue was full, or the target device queue was full.
TRAN_BADPKT
The DMA count in the packet exceeded the DMA engine's maximum DMA size.
TRAN_FATAL_ERROR
A fatal error has occurred in the transport layer.

CONTEXT

 

scsi_transport() can be called from user or interrupt context.

EXAMPLES

 Example 1. Using scsi_transport
 

 
if ((status = scsi_transport(rqpkt)) != TRAN_ACCEPT) {
      scsi_log(devp, sd_label, CE_WARN,
          "transport of request sense pkt fails (0x%x)\n", status);
}

SEE ALSO

 

tran_start(9E), makecom(9F), scsi_init_pkt(9F), scsi_pktalloc(9F), scsi_poll(9F), scsi_pkt(9S)

Writing Device Drivers


SunOS 5.9Go To TopLast Changed 30 Aug 1995

 
      
      
Copyright 2002 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.