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():

     scsi_hba_tran_alloc() allocates a  scsi_hba_tran(9S)  struc-
     ture  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():

     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_setup(9F), scsi_hba_tran(9S)

     Writing Device Drivers


Man(1) output converted with man2html