8.5.4 The RexxVariablePool() function
This function is used to process a sequence of variable requests,
and process them sequentially. The prototype of this function is:
APIRET APIENTRY ULONG RexxVariablePool(
SHVBLOCK *Request
) ;
Its only parameter is a pointer to a SHVBLOCK structure, which may
be the first of the linked list. The function performs the
operation specified in each block. If an error should occur, the
current request is terminated, and the function moves on to the
next request in the chain.
The result value is a bit peculiar. If the returned value is less
than 128, it is calculated by logically OR'ing the returned shvret
field of all the requests in the chain. That way, you can easily
check whether any of the requests was e.g. skipped because of lack
of memory. To determine which request, you have to iterate
through the list.
If the result value is higher than 127, it signifies an error. If
any of these values are set, you can not assume that any of the
requests have been processed. The following symbolic name gives
its meaning.
[RXSHV_NOAVL]
Means that the interface is not available for this
request. This might occur if the interface was not
able to start the interpreter, or if an operation
requested a variable when the interpreter is not
currently executing any script (i.e. idle and waiting
for a script to execute).
PREV NEXT