%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 ! ! 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 ! ! CRF$INSRTKEY ARGUMENT LIST ! end record CRFDEF 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 ! ! CRF$OUT ARGUMENT LIST ! end record CRFDEF1 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 ! ! CRF CONTROL TABLE OFFSETS ! end record CRFDEF2 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 ! 1 = KEY IS BINARY 0 = ASCII BYTE BINARY_bits ! COMMENT ADDED BY SDL - BINARY_bits contains bits BINARY through fill_0 end group CRF$R_KEYTYPE_BITS end variant end group CRF$R_KEYTYPE_OVERLAY BYTE CRF$B_FLAGS ! MISC. FLAGS FOR FUTURE EXPANSION 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 LONG CRFDEF$$_FILL_10 ( 1 to 8 ) ! 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