! *** PREDECLARED TYPES %IF %DECLARED ( %BASIC$QUADWORD_DECLARED ) = 0 %THEN RECORD BASIC$QUADWORD LONG FILL ( 2 ) END RECORD %LET %BASIC$QUADWORD_DECLARED = 1 %END %IF %IF %DECLARED ( %BASIC$OCTAWORD_DECLARED ) = 0 %THEN RECORD BASIC$OCTAWORD LONG FILL ( 4 ) END RECORD %LET %BASIC$OCTAWORD_DECLARED = 1 %END %IF %IF %DECLARED ( %BASIC$HFLOAT_AXP_DECLARED ) = 0 %THEN RECORD BASIC$HFLOAT_AXP LONG FILL ( 4 ) END RECORD %LET %BASIC$HFLOAT_AXP_DECLARED = 1 %END %IF %IF %DECLARED ( %BASIC$F_FLOATING_COMPLEX_DECL ) = 0 %THEN RECORD BASIC$F_FLOATING_COMPLEX SINGLE REAL_PART SINGLE IMAGINARY_PART END RECORD %LET %BASIC$F_FLOATING_COMPLEX_DECL = 1 %END %IF %IF %DECLARED ( %BASIC$D_FLOATING_COMPLEX_DECL ) = 0 %THEN RECORD BASIC$D_FLOATING_COMPLEX DOUBLE REAL_PART DOUBLE IMAGINARY_PART END RECORD %LET %BASIC$D_FLOATING_COMPLEX_DECL = 1 %END %IF %IF %DECLARED ( %BASIC$G_FLOATING_COMPLEX_DECL ) = 0 %THEN RECORD BASIC$G_FLOATING_COMPLEX GFLOAT REAL_PART GFLOAT IMAGINARY_PART END RECORD %LET %BASIC$G_FLOATING_COMPLEX_DECL = 1 %END %IF %IF %DECLARED ( %BASIC$H_FLOAT_AXP_CMPLX_DCL ) = 0 %THEN RECORD BASIC$H_FLOATING_COMPLEX_AXP BASIC$HFLOAT_AXP REAL_PART BASIC$HFLOAT_AXP IMAGINARY_PART END RECORD %LET %BASIC$H_FLOAT_AXP_CMPLX_DCL = 1 %END %IF ! ! EVAX Module header record (EMH) ! DECLARE LONG CONSTANT EMH$C_MHD = 0 ! Main header record DECLARE LONG CONSTANT EMH$C_LNM = 1 ! Language name and version DECLARE LONG CONSTANT EMH$C_SRC = 2 ! Source file specification DECLARE LONG CONSTANT EMH$C_TTL = 3 ! Title text of module DECLARE LONG CONSTANT EMH$C_CPR = 4 ! Copyright notice DECLARE LONG CONSTANT EMH$C_MTC = 5 ! Maintenence status DECLARE LONG CONSTANT EMH$C_GTX = 6 ! General text DECLARE LONG CONSTANT EMH$C_MAXHDRTYP = 6 ! Maximum allowable type DECLARE LONG CONSTANT EMH$S_EMHDEF = 52 record EMHDEF WORD EMH$W_RECTYP ! Record type (OBJ$C_MHD) WORD EMH$W_SIZE ! length of this EMH WORD EMH$W_HDRTYP ! Type field for MHD ! Types of header records BYTE EMH$B_STRLVL ! Structure level BYTE EMH$B_TEMP ! temp pad byte LONG EMH$L_ARCH1 ! target architecture LW1 LONG EMH$L_ARCH2 ! target architecture LW2 LONG EMH$L_RECSIZ ! Maximum record size BYTE EMH$B_NAMLNG ! Module name length STRING EMH$T_NAME = 31 ! Module name end record EMHDEF