OSI/TS Management Programming Manual

Sample Programs
C–4 056786 Tandem Computers Incorporated
! This procedure opens the SCP process named $ZNET
! and checks for any OPEN errors.
INT PROC open^scp;
BEGIN
INT scp^name[0:11] := ["$ZNET #ZSPI ", 4 * [" "]];
INT flags := 0;
INT error := 0;
! open the SCP process $ZNET
CALL OPEN (scp^name, scp^file^num, flags);
IF <> THEN
BEGIN
! There was an error
CALL FILEINFO(scp^file^num, error); ! get error code
CALL WRITE(term^file^num, message1[1], message1[0]);
END;
RETURN error;
END; ! open^scp
?PAGE
! ***********************************************************
! * send^spi^cmd *
! ***********************************************************
! This procedure sends a command to SCP.
PROC send^spi^cmd;
BEGIN
INT error, ! error code for WRITEREAD error
return^token, ! value of return token
write^count,
read^count,
count^read;
! Extract ZSPI^TKN^USEDLEN token from SPI buffer.
spi^err:= SSGETTKN(os4^buf, zspi^tkn^usedlen,write^count);
IF spi^err THEN
CALL DEBUG;
! Set read^count to OSI/TS recommended buffer length.
read^count := zos4^val^buflen;
! Send information and retrieve the total number of
! bytes read.
CALL WRITEREAD(scp^file^num, os4^buf, write^count,
read^count, count^read);
IF <> THEN
BEGIN
CALL FILEINFO (scp^file^num, error); ! get error code
CALL DEBUG;
END
ELSE
error := 0;