OSI/TS Management Programming Manual

Sample Programs
056786 Tandem Computers Incorporated C–11
save^buf ':=' os4^buf FOR ZOS4^VAL^BUFLEN BYTES;
CALL WRITE(term^file^num, LF, 1);
CALL WRITE(term^file^num, message7[1], message7[0]);
complete := ZSPI^VAL^FALSE;
WHILE (complete = ZSPI^VAL^FALSE) DO
BEGIN
! Send STATUS SU command and retrieve response.
CALL send^spi^cmd;
! Reset the SPI buffer pointer.
CALL reset^spi^buf;
! Process the response.
! Get ZSPI^TKN^COUNT of data list and put in
! datalist^count.
token^val := zspi^tkn^datalist;
spi^err := SSGETTKN(os4^buf, zspi^tkn^count, token^val,
1, datalist^count);
IF spi^err THEN
CALL DEBUG;
datalist^index := 1;
CALL WRITE(term^file^num, LF, 1);
WHILE(datalist^index <= datalist^count) DO
BEGIN
! Get data-list token.
spi^err := SSGETTKN(os4^buf, zspi^tkn^datalist);
IF spi^err THEN
CALL DEBUG;
! Get object-name token and put in tkn^value.
spi^err := SSGETTKN(os4^buf, zcom^tkn^objname,
tkn^value);
IF spi^err THEN
CALL DEBUG;
! Display object name on terminal.
CALL WRITE(term^file^num,tkn^value[1],tkn^value[0]);
! Get the STATUS SU extensible structured token.
spi^err:= SSGET(os4^buf,zos4^map^status^su^tsp^resp,
tkn^value, 1);
IF spi^err THEN
CALL DEBUG;
@status^su^tsp := @tkn^value;
sta^value := status^su^tsp.zsumstate;
CASE sta^value OF
BEGIN
ZCOM^VAL^SUMSTATE^STARTED ->
CALL WRITE(term^file^num, messageA[1],