Guardian Programmer's Guide

Table Of Contents
Creating and Managing Processes
Guardian Programmer’s Guide 421922-014
16 - 40
Sending and Receiving the Startup Message
?NOLIST, SOURCE $SYSTEM.ZSYSDEFS.ZSYSTAL
?LIST
!Global parameters
LITERAL MAXLEN =
ZSYS^VAL^LEN^FILENAME; !Maximum file-name length
INT OUTNUM; !OUT file number
INT INNUM; !IN file number
INT .S^PTR; !pointer to end of string (word address)
STRUCT .CI^STARTUP; !Startup message
BEGIN
INT MSGCODE;
STRUCT DEFAULTS;
BEGIN
INT VOLUME[0:3];
INT SUBVOL[0:3];
END;
STRUCT INFILE;
BEGIN
INT VOLUME[0:3];
INT SUBVOL[0:3];
INT FILEID[0:3];
END;
STRUCT OUTFILE;
BEGIN
INT VOLUME[0:3];
INT SUBVOL[0:3];
INT FILEID[0:3];
END;
STRING PARAM[0:529];
END;
INT MESSAGE^LEN;
? NOLIST
? SOURCE $SYSTEM.SYSTEM.EXTDECS0(INITIALIZER,FILE_OPEN_,
? WRITEX,PROCESS_LAUNCH_,PROCESS_STOP_,FILE_CLOSE_,
? OLDFILENAME_TO_FILENAME_,FILE_GETINFO_)
? SOURCE $SYSTEM.SYSTEM.DLAUNCH(PROCESS_LAUNCH_DECS);
? LIST
!------------------------------------------------------------
! Procedure to save the Startup message in a global
! structure.
!------------------------------------------------------------
PROC START^IT(RUCB,START^DATA,MESSAGE,LENGTH,MATCH) VARIABLE;
INT .RUCB,.START^DATA,.MESSAGE,LENGTH,MATCH;
BEGIN
CI^STARTUP.MSGCODE ':=' MESSAGE FOR LENGTH/2;
MESSAGE^LEN := LENGTH;
END;