Make your own free website on
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.

          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).