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).
ARGUMENTS
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
scsi_hba_tran_alloc()
scsi_hba_tran_alloc() 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(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.
scsi_hba_tran_free()
scsi_hba_tran_free() is used to free the scsi_hba_tran(9S) structure allocated by scsi_hba_tran_alloc().
RETURN VALUES
scsi_hba_tran_alloc() returns a pointer to the allocated transport structure, or NULL if no space is available.
CONTEXT
scsi_hba_tran_alloc() can be called from user or interrupt context. Drivers must not allow scsi_hba_tran_alloc() to sleep if called from an interrupt routine.
scsi_hba_tran_free() can be called from user or interrupt context.
SEE ALSO
scsi_hba_attach(9F), scsi_hba_tran(9S)
Writing Device Drivers
SunOS 5.4 — Last change: 1 Nov 1993