! *** 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 ! ! CRF$INSRTREF ARGUMENT LIST ! DECLARE LONG CONSTANT CRF$S_CRFDEF = 24 record CRFDEF LONG CRFDEF$$_FILL_1 ! ARGUMENT COUNT LONG CRF$L_IR_CTLTBL ! CRF CONTROL TABLE ADR LONG CRF$L_IR_KEYADR ! KEY ADDRESS LONG CRF$L_IR_REFADR ! REFERENCE INDICATOR ADR WORD CRF$W_IR_REFLAG ! REFERENCE INDICATOR FLAGS BYTE CRFDEF$$_FILL_2 ( 1 to 2 ) ! UNUSED BYTE CRF$B_IR_DEFIND ! DEFINITION INDICATOR BYTE CRFDEF$$_FILL_3 ( 1 to 3 ) ! UNUSED end record CRFDEF ! ! CRF$INSRTKEY ARGUMENT LIST ! DECLARE LONG CONSTANT CRF$S_CRFDEF1 = 20 record CRFDEF1 LONG CRFDEF$$_FILL_4 ! ARGUMENT COUNT LONG CRF$L_IK_CTLTBL ! CRF CONTROL TABLE ADR LONG CRF$L_IK_KEYADR ! ADDRESS OF KEY LONG CRF$L_IK_VALADR ! ADDRESS OF VALUE WORD CRF$W_IK_VALFLG ! VALUE FLAGS BYTE CRFDEF$$_FILL_5 ( 1 to 2 ) ! UNUSED end record CRFDEF1 ! ! CRF$OUT ARGUMENT LIST ! DECLARE LONG CONSTANT CRF$S_CRFDEF2 = 25 record CRFDEF2 LONG CRFDEF$$_FILL_6 ! ARGUMENT COUNT LONG CRF$L_OU_CTLTBL ! CRF CONTROL TABLE ADR LONG CRF$L_OU_LINWID ! OUTPUT LINE WIDTH BYTE CRF$B_OU_PAG1 ! ? LINES/PAGE 1 BYTE CRFDEF$$_FILL_7 ( 1 to 3 ) ! UNUSED BYTE CRF$B_OU_SUCPAG ! ? LINES/SUCCESSIVE PAGES BYTE CRFDEF$$_FILL_8 ( 1 to 3 ) ! UNUSED BYTE CRF$B_OU_PRTIND ! REF PRINT INDICATOR BYTE CRFDEF$$_FILL_9 ( 1 to 3 ) ! UNUSED BYTE CRF$B_OU_SAVIND ! SAVE INDICATOR end record CRFDEF2 ! ! CRF CONTROL TABLE OFFSETS ! DECLARE LONG CONSTANT CRF$M_MULDEF = x'00000001' DECLARE LONG CONSTANT CRF$S_CRFDEF3 = 96 record CRFDEF3 LONG CRF$L_HASHT ! HASH TABLE ADDRESS LONG CRF$L_LASTKEY ! LAST KEY LOOKED AT ADDRESS group CRF$R_KEYTYPE_OVERLAY variant case BYTE CRF$B_KEYTYPE ! TYPE OF KEY IN TABLE case group CRF$R_KEYTYPE_BITS ! OBSOLETE FIELD. RETAINED FOR COMPATIBLILTY BYTE BINARY_bits ! COMMENT ADDED BY SDL - BINARY_bits contains bits BINARY through FILL_2_ end group CRF$R_KEYTYPE_BITS end variant end group CRF$R_KEYTYPE_OVERLAY group CRF$R_FILL_0_ variant case BYTE CRF$B_FLAGS ! MISC. FLAGS FOR FUTURE EXPANSION case group CRF$R_FILL_1_ ! Multi-Definers BYTE MULDEF_bits ! COMMENT ADDED BY SDL - MULDEF_bits contains bits MULDEF through FILL_3_ end group CRF$R_FILL_1_ end variant end group CRF$R_FILL_0_ WORD CRF$W_ERRSTS ! SECONDARY ERROR STATUS CODE LONG CRF$L_ENTRIES ! NUMBER OF ENTRIES IN CROSS REFERENCE LONG CRF$L_DYNMEM ( 1 to 2 ) ! LISTHEAD OF DYNAMIC MEMORY LONG CRF$L_MAXBLK ! SIZE (IN BYTES) OF BLOCK TO ALLOCATE LONG CRF$L_MEMEXP ! SIZE (IN PAGES) OF BLOCK TO ALLOCATE WORD CRF$W_CTLTABVER ! VERSION OF CONTROL TABLE BYTE CRF$B_VALTYPE ! SYMBOL VALUE DATA TYPE (Ver 1 and later) BYTE CRF$B_REFTYPE ! SYMBOL REFERENCE DATA TYPE (Ver 1 and later) LONG CRFDEF$$_FILL_10 ( 1 to 7 ) ! SPARES LONG CRF$L_ERROR ! ERROR ROUTINE ADDRESS LONG CRF$L_OUTPUT ! OUTPUT ROUTINE ADDRESS LONG CRF$L_K1FMTBL ! KEY1 FIELD FORMAT TBL ADR LONG CRF$L_K2FMTBL ! KEY2 FIELD FORMAT TBL ADR LONG CRF$L_V1FMTBL ! VAL1 FIELD FORMAT TBL ADR LONG CRF$L_V2FMTBL ! VAL2 FIELD FORMAT TBL ADR LONG CRF$L_R1FMTBL ! REF1 FIELD FORMAT TBL ADR LONG CRF$L_R2FMTBL ! REF2 FIELD FORMAT TBL ADR end record CRFDEF3