Guardian Programmer's Guide

Table Of Contents
Communicating With a TACL Process
Guardian Programmer’s Guide 421922-014
8 - 9
Using ASSIGNs and PARAMs
The structure of the Assign message follows.
Structure of an Assign message:
STRUCT CI^ASSIGN;
BEGIN
INT MSG^CODE; !word 0 – value -2
STRUCT LOGICALUNIT;
BEGIN
STRING PROGNAMELEN; !word 1 – program name
length,
!0:31 bytes
STRING PROGNAME[0:30]; !program name (blank-padded)
STRING FILENAMELEN; !word 17 – file name length,
!0:31 bytes
STRING FILENAME[0:30]; !file name (blank-padded)
END;
INT(32) FIELDMASK; !word 33 – bit mask to
!indicate which of the
!following fields were
!supplied (1 = supplied)
!.<0> = physical file name
!.<1> = primary extent size
!.<2> = secondary extent size
!.<3> = file code
!.<4> = exclusion code
!.<5> = access specifier
!.<6> = record size
!.<7> = block size
STRUCT PHYSICALFILENAME;
BEGIN
INT VOLUME[0:3]; !word 35 - physical file name
INT SUBVOL[0:3];
INT FNAME[0:3];
END;
INT PRIMARYEXTENT; !word 47 – primary extent
!size
INT SECONDARYEXTENT; !word 48 – secondar
y extent
!size
INT FILECODE; !word 49 – file cod
e
INT EXCLUSIONSPEC; !word 50 – exclusion mode:
! %00 if SHARED
! %20 if EXCLUSIVE
! %60 if PROTECTED
INT ACCESSSPEC; !word 51 – access mode:
! %0000 if read/write
! %2000 if read only
! %4000 if write only
INT RECORDSIZE; !word 52 – record size
INT BLOCKSIZE; !word 53 – block size
END;