Driver Entry Points tran_getcap(9E)
NAME
tran_getcap, tran_setcap - get/set SCSI transport capability
SYNOPSIS
#include
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 speci-
fied 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 becalled 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 ordriver. 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 thescsi_address(9S) structure pointed to by ap; if whom is 0,
all targets are affected; else, the target specified by thescsi_address structure pointed to by ap is affected.
SunOS 5.11 Last change: 30 Aug 1995 1
Driver Entry Points tran_getcap(9E)
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 thescsi_address(9S) structure pointed to by ap; if whom is 0,
all targets are affected; else, the target specified by thescsi_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 notsupport 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 DriversSunOS 5.11 Last change: 30 Aug 1995 2