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
    
 
Data Structures for Driversscsi_hba_tran(9S)


NAME

 scsi_hba_tran - SCSI Host Bus Adapter (HBA) driver transport vector structure

SYNOPSIS

 
#include <sys/scsi/scsi.h> 

INTERFACE LEVEL

 

Solaris architecture specific (Solaris DDI).

DESCRIPTION

 

A scsi_hba_tran_t structure defines vectors that an HBA driver exports to SCSA interfaces so that HBA specific functions can be executed.

STRUCTURE MEMBERS

 
 
dev_info_t          *tran_hba_dip;        /* HBAs dev_info pointer */
void                *tran_hba_private;    /* HBA softstate */
void                *tran_tgt_private;    /* HBA target private pointer */
struct scsi_device	*tran_sd;             /* scsi_device */
int                 (*tran_tgt_init)();   /* Transport target */
		                                /* Initialization */
int                 (*tran_tgt_probe)();  /* Transport target probe */
void                (*tran_tgt_free)();   /* Transport target free */
int                 (*tran_start)();      /* Transport start */
int                 (*tran_reset)();      /* Transport reset */
int                 (*tran_abort)();      /* Transport abort */
int                 (*tran_getcap)();     /* Capability retrieval */
int                 (*tran_setcap)();     /* Capability establishment */
struct scsi_pkt     *(*tran_init_pkt)();  /* Packet and DMA allocation */
void                (*tran_destroy_pkt)();  /* Packet and DMA */
                                            /* deallocation */
void                (*tran_dmafree)();    /* DMA deallocation */
void                (*tran_sync_pkt)();   /* Sync DMA */
void                (*tran_reset_notify)(); /* Bus reset notification */
int                 (*tran_bus_reset)();  /* Reset bus only */
int                 (*tran_quiesce)();    /* Quiesce a bus */
int                 (*tran_unquiesce)();  /* Unquiesce a bus */
tran_hba_dip
dev_info pointer to the HBA supplying the scsi_hba_tran structure.
tran_hba_private
Private pointer that the HBA driver can use to refer to the device's soft state structure.
tran_tgt_private
Private pointer that the HBA can use to refer to per-target specific data. This field can only be used when the SCSI_HBA_TRAN_CLONE flag is specified in scsi_hba_attach(9F). In this case, the HBA driver must initialize this field in its tran_tgt_init(9E) entry point.
tran_sd
Pointer to scsi_device(9S) structure if cloning; otherwise NULL.
tran_tgt_init
The function entry allowing per-target HBA initialization, if necessary.
tran_tgt_probe
The function entry allowing per-target scsi_probe(9F) customization, if necessary.
tran_tgt_free
The function entry allowing per-target HBA deallocation, if necessary.
tran_start
The function entry that starts a SCSI command execution on the HBA hardware.
tran_reset
The function entry that resets a SCSI bus or target device.
tran_abort
The function entry that aborts one SCSI command, or all pending SCSI commands.
tran_getcap
The function entry that retrieves a SCSI capability.
tran_setcap
The function entry that sets a SCSI capability.
tran_init_pkt
The function entry that allocates a scsi_pkt structure.
tran_destroy_pkt
The function entry that frees a scsi_pkt structure allocated by tran_init_pkt.
tran_dmafree
The function entry that frees DMA resources that were previously allocated by tran_init_pkt.
tran_sync_pkt
Synchronize data in pkt after a data transfer has been completed.
tran_reset_notify
The function entry allowing a target to register a bus reset notification request with the HBA driver.
tran_bus_reset
The function entry that resets the SCSI bus without resetting targets.
tran_quiesce
The function entry that waits for all outstanding commands to complete and blocks (or queues) any I/O requests issued.
tran_unquiesce
The function entry that allows I/O activities to resume on the SCSI bus.

SEE ALSO

 

tran_abort(9E), tran_bus_reset(9E), tran_destroy_pkt(9E), tran_dmafree(9E), tran_getcap(9E), tran_init_pkt(9E), tran_quiesce(9E), tran_reset(9E), tran_reset_notify(9E), tran_setcap(9E), tran_start(9E), tran_sync_pkt(9E), tran_tgt_free(9E), tran_tgt_init(9E), tran_tgt_probe(9E), tran_unquiesce(9E), ddi_dma_sync(9F), scsi_hba_attach(9F), scsi_hba_pkt_alloc(9F), scsi_hba_pkt_free(9F), scsi_probe(9F), scsi_device(9S), scsi_pkt(9S)

Writing Device Drivers


SunOS 5.9Go To TopLast Changed 20 Sep 1994

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