tran_setcap(9E)




NAME

     tran_getcap, tran_setcap - get/set SCSI transport capability


SYNOPSIS

     #include <sys/scsi/scsi.h>

     int prefixtran_getcap(struct scsi_address  *ap,  char  *cap,
     int whom);

     int prefixtran_setcap(struct scsi_address  *ap,  char  *cap,
     int value, int whom);


INTERFACE LEVEL

     Solaris architecture specific (Solaris DDI).


PARAMETERS

     ap    Pointer to the scsi_address(9S) structure.

     cap   Pointer to the string capability identifier.

     value Defines the new state of the capability.

     whom  Specifies whether all targets or  only  the  specified
           target is affected.


DESCRIPTION

     The  tran_getcap()  and   tran_setcap()   vectors   in   the
     scsi_hba_tran(9S)  structure  must be initialized during the
     HBA driver's attach(9E) to point to HBA entry points  to  be
     called  when  a  target  driver  calls scsi_ifgetcap(9F) and
     scsi_ifsetcap(9F).

     tran_getcap() is called to get the current value of a  capa-
     bility  specific to features provided by the HBA hardware or
     driver.  The name of the capability cap  is  the  NULL  ter-
     minated capability string.

     If whom is non-zero, the request is for the current value of
     the  capability  defined  for  the  target  specified by the
     scsi_address(9S) structure pointed to by ap; if whom  is  0,
     all  targets are affected; else, the target specified by the
     scsi_address structure pointed to by ap is affected.

     tran_setcap() is called to set the value of  the  capability
     cap to the value of value. If whom is non-zero, the capabil-
     ity  should  be  set  for  the  target  specified   by   the
     scsi_address(9S)  structure  pointed to by ap; if whom is 0,
     all targets are affected; else, the target specified by  the
     scsi_address  structure  pointed to by ap is affected. It is
     recommended that HBA drivers do not support setting capabil-
     ities for all targets, that is, whom is 0.

     A device may support only a subset of the defined  capabili-
     ties.

     Refer to scsi_ifgetcap(9F) for the list of defined capabili-
     ties.

     HBA drivers should use scsi_hba_lookup_capstr(9F)  to  match
     cap against the canonical capability strings.


RETURN VALUES

     tran_setcap() must return  1 if the capability was  success-
     fully  set  to  the new value, 0 if the HBA  driver does not
     support changing the capability, and  -1 if  the  capability
     was not defined.

     tran_getcap() must return the current value of a  capability
     or  -1 if the capability was not defined.


SEE ALSO

     attach(9E), scsi_hba_attach(9F), scsi_hba_lookup_capstr(9F),
     scsi_ifgetcap(9F), scsi_address(9S), scsi_hba_tran(9S)

     Writing Device Drivers


Man(1) output converted with man2html