Sends an SSA transaction to an SSA adapter.
The SSA_TRANSACTION operation allows the caller to issue an IPN (Independent Packet Network) transaction to a selected SSA adapter. IPN is the language that is used to communicate with the SSA adapter. The caller must be root, or have an effective user ID of root, to issue this operation.
IPN is described in the Technical Reference for the adapter.
The arg parameter for the SSA_TRANSACTION operation specifies the address of a SSA_TransactionParms_t structure. This structure is defined in the /usr/include/sys/ssa.h file.
The SSA_TRANSACTION operation uses the following fields of the SSA_TransactionParms_t structure:
Field | Description |
---|---|
DestinationNode | Contains the target node for the transaction. |
DestinationService | Contains the target service on that node. |
MajorNumber | Major number of the transaction. |
MinorNumber | Minor number of the transaction. |
DirectiveStatusByte | Contains the directive status byte for the transaction. This contains a value that is defined in the /usr/include/ipn/ipndef.h file. A non-zero value indicates an error. |
TransactionResult | Contains the IPN result word that is returned by IPN for the transaction. This contains values that are defined in the /usr/include/ipn/ipntra.h file. A non-zero value indicates an error. |
ParameterDDR | Set by the caller to indicate the buffer for parameter data. |
TransmitDDR | Set by the caller to indicate the buffer for transmit data. |
ReceiveDDR | Set by the caller to indicate the buffer for received data. |
StatusDDR | Set by the caller to indicate the buffer for status data. |
TimeOutPeriod | Number of seconds after which the transaction is considered
to have failed. A value of 0 indicates no time limit. Note: If an
operation takes longer to complete than the specified timeout, the
adapter is reset to purge the command.
|
Attention: This is a very low-level interface. It is for use only by configuration methods and diagnostics software. Use of this interface might result in system hangs, system crashes, system corruption, or undetected data loss.
When completed successfully, this operation returns a value of 0. Otherwise, a value of -1 is returned, and the errno global variable is set to one of the following values:
Value | Description |
---|---|
EIO | Indicates an unrecoverable I/O error. |
ENXIO | Indicates an unknown device. |
EINVAL | Indicates an unknown command. Indicates a bad buffer type. |
EACCES | Indicates user does not have root privilege. |
ENOMEM | Indicates not enough memory. |
ENOSPC | Indicates not enough file blocks. |
EFAULT | Indicates bad user address. |
/dev/ssa0, /dev/ssa1,..., /dev/ssan