Guardian Programmer's Guide

Table Of Contents
Using the File System
Guardian Programmer’s Guide 421922-014
2 - 37
Accessing Files: An Example
!------------------------------------------------------------
! Procedure to initialize the program. It calls
! INITIALIZER to dispose of the startup sequence of messages.
! It opens the home terminal and the data file used by the
! program.
!------------------------------------------------------------
PROC INIT;
BEGIN
STRING .LOGNAME[0:MAXFLEN - 1]; !name of log file
INT LOGLEN; !length of log name
STRING .TERMNAME[0:MAXFLEN - 1]; !terminal file
INT TERMLEN; !length of term name
INT ERROR;
! Read and discard the startup sequence of messages.
CALL INITIALIZER;
! Open the terminal file. For simplicity this program uses
! the home terminal; the recommended approach is to use the
! IN file read from the Startup message; see Section 8 for
! details:
CALL PROCESS_GETINFO_(!process^handle!,
!file^name:maxlen!,
!file^name^len!,
!priority!,
!moms^processhandle!,
TERMNAME:MAXFLEN,
TERMLEN);
ERROR := FILE_OPEN_(TERMNAME:TERMLEN,
TERMNUM);
IF ERROR <> 0 THEN CALL PROCESS_STOP_;
! Open the log file with a sync depth of 1:
LOGNAME ':=' "$XCEED.DJCEGD10.LOGFILE" -> @S^PTR;
LOGLEN := @S^PTR '-' @LOGNAME;
ERROR := FILE_OPEN_(LOGNAME:LOGLEN,
LOGNUM,
!access!,
!exclusion!,
!nowait^depth!,
1);
IF ERROR <> 0 THEN
CALL FILE^ERRORS^NAME(LOGNAME:LOGLEN, ERROR);
END;