SCSI_HBA_TRAN_ALLOC(9F)                         Kernel Functions for Drivers
NAME
       scsi_hba_tran_alloc, scsi_hba_tran_free - allocate and free transport
       structures
SYNOPSIS
       #include <sys/scsi/scsi.h>       
scsi_hba_tran_t *scsi_hba_tran_alloc(
dev_info_t *dip, 
int flags);       
void scsi_hba_tran_free(
scsi_hba_tran_t *hba_tran);
INTERFACE LEVEL
       illumos architecture specific (illumos DDI).
PARAMETERS
       dip                   Pointer to a 
dev_info structure, defining the 
HBA driver
                   instance.       
flag                   Flag modifiers. The only possible flag value is                   
SCSI_HBA_CANSLEEP (memory allocation may sleep).       
hba_tran                   Pointer to a 
scsi_hba_tran(9S) structure.
DESCRIPTION
       For 
scsi_hba_tran_alloc():
       The 
scsi_hba_tran_alloc() function allocates a  
scsi_hba_tran(9S)       structure for a 
HBA driver. The 
HBA must use this structure to
       register its transport vectors with the system by using       
scsi_hba_attach_setup(9F).
       If the flag 
SCSI_HBA_CANSLEEP is set in 
flags, 
scsi_hba_tran_alloc()       may sleep when allocating resources; otherwise it may not sleep, and
       callers should be prepared to deal with allocation failures.
       For 
scsi_hba_tran_free():
       The 
scsi_hba_tran_free() function is used to free the       
scsi_hba_tran(9S) structure allocated by 
scsi_hba_tran_alloc().
RETURN VALUES
       The 
scsi_hba_tran_alloc() function returns a pointer to the allocated
       transport structure, or 
NULL if no space is available.
CONTEXT
       The 
scsi_hba_tran_alloc() function can be called from user,
       interrupt, or kernel context. Drivers must not allow       
scsi_hba_tran_alloc() to sleep if called from an interrupt routine.
       The 
scsi_hba_tran_free() function can be called from user, interrupt,
       or kernel context context.
SEE ALSO
       scsi_hba_attach_setup(9F), 
scsi_hba_tran(9S)       Writing Device Drivers                              January 16, 2006       SCSI_HBA_TRAN_ALLOC(9F)