Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

scsi_hba_tran(9s) [opensolaris man page]

scsi_hba_tran(9S)					    Data Structures for Drivers 					 scsi_hba_tran(9S)

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 */ int (*tran_setup_pkt)( ); /* Initialization for pkt */ int (*tran_teardown_pkt)( );/* Deallocation */ int (*tran_pkt_constructor) ( ); /* Constructor */ int (*tran_pkt_destructor) ( ); /* Destructor */ int tran_hba_len; /* # bytes for pkt_ha_private */ int tran_interconnect_type; /* transport interconnect */ tran_hba_dip dev_info pointer to the HBA that supplies 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 Function entry that allows per-target HBA initialization, if necessary. tran_tgt_probe Function entry that allows per-target scsi_probe(9F) customization, if necessary. tran_tgt_free Function entry that allows per-target HBA deallocation, if necessary. tran_start Function entry that starts a SCSI command execution on the HBA hardware. tran_reset Function entry that resets a SCSI bus or target device. tran_abort Function entry that aborts one SCSI command, or all pending SCSI commands. tran_getcap Function entry that retrieves a SCSI capability. tran_setcap Function entry that sets a SCSI capability. tran_init_pkt Function entry that allocates a scsi_pkt structure. tran_destroy_pkt Function entry that frees a scsi_pkt structure allocated by tran_init_pkt. tran_dmafree Function entry that frees DMA resources that were previously allocated by tran_init_pkt. Not called for HBA driv- ers that provide a tran_setup_pkt entry point. tran_sync_pkt Synchronizes data in pkt after a data transfer has been completed. Not called for HBA drivers that provide a tran_setup_pkt entry point. tran_reset_notify Function entry that allows a target to register a bus reset notification request with the HBA driver. tran_bus_reset Function entry that resets the SCSI bus without resetting targets. tran_quiesce Function entry that waits for all outstanding commands to complete and blocks (or queues) any I/O requests issued. tran_unquiesce Function entry that allows I/O activities to resume on the SCSI bus. tran_setup_pkt Optional entry point that initializes a scsi_pkt structure. See tran_setup_pkt(9E). tran_teardown_pkt Entry point that releases resources allocated by tran_setup_pkt. tran_pkt_constructor Additional optional entry point that performs the actions of a constructor. See tran_setup_pkt(9E). tran_pkt_destructor Additional optional entry point that performs the actions of a destructor. See tran_setup_pkt(9E). tran_hba_len Size of pkt_ha_private. See tran_setup_pkt(9E). tran_interconnect_type Integer value that denotes the interconnect type of the transport as defined in the services.h header file. 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_setup_pkt(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.11 30 May 2006 scsi_hba_tran(9S)

Featured Tech Videos