[ Next Article | Previous Article | Book Contents | Library Home | Legal | Search ]
Kernel and Subsystems Technical Reference, Volume 2

SSADISK_ISALMgr_CMD (ISAL Manager Command) SSA Disk Device Driver ioctl Operation

Purpose

Provides a means to send Independent Network Storage Access Language (ISAL) Manager commands to an SSA physical or logical disk drive. ISAL comprises a set of commands which allow a program to control and access a storage device. The ISAL Command set is described in the Technical Reference for the adapter.

Description

The SSADISK_ISALMgr_CMD operation allows the caller to issue an ISAL command to a selected logical or physical disk. The caller must be root or have an effective user ID of root to issue this ioctl.

The following ISAL commands (minor function codes), defined in /usr/include/ipn/ipnsal.h can be issued:

FN_ISALMgr_Inquiry
FN_ISALMgr_GetPhysicalResourceIDs
FN_ISALMgr_Characteristics
FN_ISALMgr_FlashIndicator
FN_ISALMgr_HardwareInquiry
FN_ISALMgrVPDInquiry
FN_ISALMgr_Statistics

The arg parameter for the SSADISK_ISALMgr_CMD ioctl is the address of an ssadisk_ioctl_parms structure. This structure is defined in the /usr/include/sys/ssadisk.h file.

The SSADISK_ISALMgr_CMD ioctl uses the following fields of the ssadisk_ioctl_parms structure:

dsb Contains the directive status byte returned for the command. This contains a value from /usr/include/ipn/ipndef.h. A non zero value indicates an error.
result Contains the IPN result word returned by IPN for the command. This contains values from /usr/include/ipn/ipntra.h. A non zero value indicates an error.
u0.isal.parameter_descriptor Set by the caller to indicate the buffer for parameter data.
u0.isal.transmit_descriptor Set by the caller to indicate the buffer for transmit data.
u0.isal.receive_descriptor Set by the caller to indicate the buffer for received data.
u0.isal.status_descriptor Set by the caller to indicate the buffer for status data.
u0.isal.minor_function Set by the caller to one of the ISAL Manager Commands defined in /usr/include/ipn/ipnsal.h and listed above.
Note: Structures are provided in /usr/include/ipn/ipnsal.h this can be used to format the contents of the parameter buffer for the various commands. In all cases, the resource ID which is located in the first four bytes of the parameter buffer will be overwritten by the device driver with the correct Resource ID for the device.

Return Values

If the command was successfully sent to the adapter card, this operation returns a value of 0. Otherwise, a value of -1 is returned and the errno global variable set to one of the following values:

EIO Indicates an unrecoverable I/O error.
EINVAL Indicates that the caller has specified an ISAL manager command that is not in the list of supported ISAL manager commands above.
EPERM Indicates that caller did not have an effective user ID (EUID) of 0.
ENOMEM Indicates that the device driver was unable to allocate or pin enough memory to complete the operation.

If the return code is 0, the result field of the ssadisk_ioctl_parms structure is valid. This indicates whether the adapter was able to process the command successfully.

Files

/dev/pdisk0, /dev/pdisk1,..., /dev/pdiskn Provide an interface to allow SSA device drivers to access physical SSA disks.
/dev/hdisk0, /dev/hdisk1,..., /dev/hdiskn Provide an interface to allow SSA device drivers to access logical SSA disks.

Related Information

The SSA Adapter Device Driver, ssadisk SSA Disk Device Driver, SSA Subsystem Overview.


[ Next Article | Previous Article | Book Contents | Library Home | Legal | Search ]