%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$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_FLOATING_COMPLEX_DECL ) = 0 %THEN RECORD BASIC$H_FLOATING_COMPLEX HFLOAT REAL_PART HFLOAT IMAGINARY_PART END RECORD %LET %BASIC$H_FLOATING_COMPLEX_DECL = 1 %END %IF ! ! Module header ! DECLARE LONG CONSTANT MHD$C_MHDID = 173 ! Value that must be in the ident DECLARE LONG CONSTANT MHD$K_REFLNG = 8 ! Length of record to end of ref count DECLARE LONG CONSTANT MHD$C_REFLNG = 8 ! Length of record to end of ref count DECLARE LONG CONSTANT MHD$K_INSTIME = 8 ! Label for start of insert time DECLARE LONG CONSTANT MHD$C_INSTIME = 8 ! Label for start of insert time DECLARE LONG CONSTANT MHD$K_USRDAT = 16 ! Start of user additional header data DECLARE LONG CONSTANT MHD$C_USRDAT = 16 ! Start of user additional header data DECLARE LONG CONSTANT MHD$K_MHDLEN = 16 ! Length of fixed part of MHD DECLARE LONG CONSTANT MHD$C_MHDLEN = 16 ! Length of fixed part of MHD DECLARE LONG CONSTANT MHD$M_SELSRC = x'00000001' DECLARE LONG CONSTANT MHD$M_OBJTIR = x'00000002' DECLARE LONG CONSTANT MHD$K_OBJIDENT = 18 ! DECLARE LONG CONSTANT MHD$C_OBJIDENT = 18 ! DECLARE LONG CONSTANT MHD$S_MHDDEF = 18 record MHDDEF BYTE MHD$B_LBRFLAG ! Librarian-controlled flag byte BYTE MHD$B_ID ! Ident WORD MHDDEF$$_FILL_1 ! Reserved word LONG MHD$L_REFCNT ! Reference count LONG MHD$L_DATIM ! Date/time inserted group MHD$R_FILL_2_OVERLAY variant case LONG MHDDEF$$_FILL_2 ! ... case group MHD$R_FILL_2_FIELDS BYTE MHDDEF$$_FILL_3 ( 1 to 4 ) STRING MHD$B_USRDAT = 0 ! Start of user additional header data end group MHD$R_FILL_2_FIELDS end variant end group MHD$R_FILL_2_OVERLAY group MHD$R_OBJSTAT_OVERLAY variant case BYTE MHD$B_OBJSTAT ! Status of object module case group MHD$R_OBJSTAT_BITS ! Selective search ! Module contains TIR records BYTE SELSRC_bits ! COMMENT ADDED BY SDL - SELSRC_bits contains bits SELSRC through fill_1 end group MHD$R_OBJSTAT_BITS end variant end group MHD$R_OBJSTAT_OVERLAY group MHD$R_OBJIDLNG_OVERLAY variant case BYTE MHD$B_OBJIDLNG ! Length of ident case group MHD$R_OBJIDLNG_FIELDS BYTE MHDDEF$$_FILL_4 STRING MHD$T_OBJIDENT = 0 ! Object module ident end group MHD$R_OBJIDLNG_FIELDS end variant end group MHD$R_OBJIDLNG_OVERLAY end record MHDDEF