SPI Programming Manual (G06.24+, H06.03+, J06.03+)

SPI Concepts and Protocol
SPI Programming Manual427506-006
2-29
Simple Responses
A requester controls the type of responsewithin the capabilities of the serverby
specifying some combination of these parameters:
The number of objects to which the command is applied, which can be affected by
the use of wild cards in the object name or the use of subsystem-defined command
modifiers. A command applied to a single object can result only in a simple or a
segmented response.
The maximum number of response records allowed in a response message, stored
in the header token ZSPI-TKN-MAXRESP. If the requester allows only one record
per message, a given number of response records requires a continued response
consisting of multiple messages, whereas the same number of records might have
been returned in a single message if multiple records per message were allowed
and the buffer was large enough.
The size of the message buffer, which can determine if a single response message
suffices, or if a continued response is required.
The type of response records to be returned, as specified in the token ZSPI-TKN-
RESPONSE-TYPE. The number of records returned can be greatly reduced by
requesting only records that report errors or warnings, if appropriate.
The specification of ZSPI-VAL-ALLOW-SEGMENTS as a value for ZSPI-TKN-
ALLOW, thereby allowing a segmented response.
Simple Responses
A simple response consists of a single response record returned in a single response
message.
A server generates a simple response when:
The server successfully applies a command to a single object, the response record
fits in the message buffer, and the requester has asked for normal responses. In
this case, the server returns a single response record containing the return code
and a server-defined set of tokens. If the requester asks for error or warning
response records only, the server returns an empty response. If the response
record does not fit in the buffer, the server might be able to generate a segmented
response. If the response record is too long but the server does not support
segmented responses, the server returns an error.
The server detects an error in a command directed to one or more objects which
prevents the command from being applied to any object. In this case, the server
returns a single response record containing a nonzero return code and at least one
error list.
The server cannot apply an otherwise valid command to the object specified in the
command. In this case, the server returns a single response record containing a
nonzero return code and at least one error list.