Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

attach(9E)

scsi_hba_attach(9F)

scsi_hba_lookup_capstr(9F)

scsi_ifgetcap(9F)

scsi_address(9S)

scsi_hba_tran(9S)

tran_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). 

ARGUMENTS

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. 

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.5/SPARC  —  Last change: 30 Aug 1995

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026