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],










