Under UNIX (only), an optional 3rd parameter may be specified to receive the stdout of the specified command. For example:
MAP1 STDOUT$,S,2048
MAP1 STS,F
xcall HOSTEX,"uname -a",STS,STDOUT$
This would capture the output of the "uname -a" command into the variable STDOUT$.
Previously, to accomplish the same thing, you would have had to pipe the output of the command to a file, then open the file to input the result, then delete the file. This method is much easier and more efficient.
It also works with multi-line output, e.g.:
XCALL HOSTEX,"ls -l",STS,STDOUT$
In this case, the individual lines of output will be delimited within the variable (STDOUT$) using the standard UNIX line delimiter (ASCII 10).
Note that this technique is really only reliable with "regular commands", especially shell commands. If you execute an arbitrary executable, there is no telling whether it will generate stdout in a fashion compatible with this scheme.