scsi_hba_tran_alloc(9F) Kernel Functions for Drivers scsi_hba_tran_alloc(9F)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
Solaris architecture specific (Solaris 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_set‐
up(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 ALSOscsi_hba_attach_setup(9F), scsi_hba_tran(9S)
Writing Device Drivers
SunOS 5.10 16 Jan 2006 scsi_hba_tran_alloc(9F)