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

SPI Programming in TACL
SPI Programming Manual427506-006
8-27
#SSMOVE
#UNFRAME
{same_ssid}
Tokens extracted by #SSGETV are not deleted or removed from the buffer.
When the current position is within a particular list, all #SSGETV calls pertain only
to tokens within that list, except that header tokens are always accessible. Your
program can exit the list by calling #SSGET with the ZSPI^TKN^ENDLIST token.
When token-id is ZSPI^TKN^ENDLIST, the index and count parameters have
no effect. However, if supplied,
index must be equal to zero or 1.
When using #SSGETV with a token map for the token-id parameter, the map
can specify a structure version that is longer or shorter than the structure contained
in the buffer. If the requested version is longer than the version in the buffer,
#SSGETV calls SSNULL to set to null values the new fields that are not obtained
from the buffer. If the requested version is shorter than the one in the buffer,
#SSGETV returns only the requested length.
If the data returned by #SSGETV is longer than the data area of the STRUCT
specified by
result-var, the excess bytes are discarded without any indication.
If the data is shorter than the data area of the STRUCT, the entire STRUCT is set
to its default values, and the data returned overwrites the beginning of the data
bytes of the STRUCT. No type conversions are performed. For instance, if the
token retrieved is of type ZSPI^TYP^INT and the
result-var STRUCT consists
of a single field of type INT2, the token value ends up in the high-order 16 bits of
the INT2 field, not the low-order 16 bits.
If the COUNT count option is specified, all occurrences of the token value are put
into the STRUCT one after the other, just as they are extracted from the buffer,
subject to the size corrections explained in the previous consideration. If the tokens
are variable-length tokens, each token value consists of a length word followed by
the actual value, and the actual value is word-aligned.
Header tokens and one special operation can be passed in token-id to get the
corresponding values. (See Header Tokens and Special Operation for #SSGET
and #SSGETV on page 8-23.)
#SSMOVE
Use #SSMOVE to copy tokens from one SPI buffer to another. #SSMOVE performs a
sequence of #SSGETV and #SSPUTV operations.
option
can be any of:
#SSMOVE [ / option [ , option ]... / ]
source-var dest-var token-id