Sun Microsystems, Inc.
spacerspacer
spacer   www.sun.com docs.sun.com | | |  
spacer
black dot
   
A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W   X   Y   Z
    
 
Driver Entry Pointstran_getcap(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 capability specific to features provided by the HBA hardware or driver. The name of the capability cap is the NULL terminated 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 capability 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 capabilities for all targets, that is, whom is 0.

A device may support only a subset of the defined capabilities.

Refer to scsi_ifgetcap(9F) for the list of defined capabilities.

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 successfully 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


SunOS 5.9Go To TopLast Changed 30 Aug 1995

 
      
      
Copyright 2002 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.