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)

tribblix@gmail.com :: GitHub :: Privacy