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

SPI Concepts and Protocol
SPI Programming Manual427506-006
2-15
Message Body
The maximum version of any field in any extensible structure in the buffer
The subsystem ID of the server
The server version
The maximum number of response records the server is allowed to return
The command number
The object-type to which the command is applied
A flag indicating the status of checksum protection
The number of the last nonzero error returned by an SPI procedure
The token code involved in the last SPI call that returned a nonzero status
The current token position for SSGET
The position of the last token added by SSPUT
The number of used bytes in the buffer
Each of these values is stored as the value of a header token. For a description of
these special tokens, see Header Tokens
on page 2-9.
Message Body
The body of the message contains tokens added by SSPUT. Although the same
header tokens are present in every command/response message, the tokens in the
message body vary depending on the command and on the specific implementation of
that command by a particular subsystem. The exact contents of a command message
and its associated response message for a particular subsystem are described in the
subsystems management programming manual.
A particular token can appear more than once in the message, though multiple
occurrences are not necessarily contiguous.
Tokens in the message body can be grouped into lists. A list is a group of tokens that
is bracketed by special list-delimiting tokensa list starts with ZSPI-TKN-LIST,
-DATALIST, -ERRLIST, or -SEGLIST, and ends with ZSPI-TKN-ENDLIST. Lists are
used to group tokens that logically belong together, such as all the tokens containing
response information about one object or all the tokens describing an error. For the
four types of SPI lists, the generic list, the data list, the error list, and the segment list,
see Lists
on page 2-19.
Buffer Length
The initial size of an SPI buffer is determined by the buffer-length parameter of
the SSINIT procedure, which initializes the specified number of bytes. The size can be
modified using SSPUT with the header token ZSPI-TKN-BUFLEN or with the special
operation code ZSPI-TKN-RESET-BUFFER. All NonStop Kernel subsystems