OSI/TS Configuration and Management Manual

Programming Examples
OSI/TS Configuration and Management Manual424831-001
C-2
TAL Example File-Transfer Program, Requester
INT .osi^dev^rcv[0:11] :=" ";
INT .osi^dev^send[0:11] :=" ";
INT .dest^file^name[0:11] :=" ";
INT .source^file^name[0:11] :=" ";
INT osnum,snum,ornum,dnum,count^read;
INT rec^len^send :=1024;
INT rec^len^rcv := 1024;
INT .buffer := %100000; !I/O buffer
?NOLIST, source $system.system.extdecs(open,control,read,
? write,close,setmodenowait,fnameexpand,purge,
? awaitio)
?LIST
?page
! ******************************************************
! * STARTUP to read the startup message in $RECEIVE
! ******************************************************
PROC startup;
BEGIN
!
! define local variables;
!
STRUCT startup^msg;
BEGIN
INT msgcode;
STRUCT default;
BEGIN
INT vol[0:3];
INT subvol[0:3];
END;
STRUCT infile;
BEGIN
INT vol[0:3];
INT subvol[0:3];
INT name[0:3];
END;
STRUCT outfile;
BEGIN
INT vol[0:3];
INT subvol[0:3];
INT name[0:3];
END;
STRUCT parameter;
BEGIN
STRING bytes[0:40];
END;
END;
INT receive^name[0:11] := ["$RECEIVE", 8 * [" "]];
INT rcv^num;
INT count^read;
CALL open(receive^name, rcv^num);
CALL read(rcv^num, startup^msg, $LEN(startup^msg),
count^read);