Guardian Programmer's Guide

Table Of Contents
Mixed Data Model Programming
Guardian Programmer’s Guide 421922-014
A - 8
Examples
The following is a similar program written in epTAL:
?__EXT64
?SETTOG _64BIT_CALLS
?COLUMNS 79
!Global variables:
STRUCT CI_STARTUP; !Startup message
BEGIN
INT MSGCODE;
STRUCT DEFAULT;
BEGIN
INT VOLUME[0:3];
INT SUBVOLUME[0:3];
END;
STRUCT INFILE;
BEGIN
INT VOLUME[0:3];
INT SUBVOL[0:3];
INT FNAME[0:3];
END;
STRUCT OUTFILE;
BEGIN
INT VOLUME[0:3];
INT SUBVOL[0:3];
INT FNAME[0:3];
END;
STRING PARAM[0:529];
END;
INT FNO; !OUT FILE NUMBER
?NOLIST
?SOURCE KMEM( SEGMENT_PROC_CONSTANTS, SEGMENT_ALLOCATE64_ )
?SOURCE KPOOL64
?SOURCE EXTDECS( ABEND
? , FILE_WRITE64_
? , INITIALIZER
? , OPEN )
?LIST
PROC START_IT(RUCB,START_DATA,MESSAGE,LENGTH,MATCH) VARIABLE;
INT .RUCB,
.START_DATA,
.MESSAGE,
LENGTH,
MATCH;
BEGIN
CI_STARTUP.MSGCODE ':=' MESSAGE[0] FOR LENGTH/2;
END;
PROC INITIAL MAIN;
BEGIN
INT ERR, DETAIL;
INT(32) ERROR;
EXT64ADDR POOLADDR;
INT .EXT64 POOLPTR = POOLADDR;
STRING .EXT64 PTR
, .EXT64 PTR1;