! *** 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 DECLARE LONG CONSTANT LBR$C_CTLTBLID = 203 ! Ident for control table DECLARE LONG CONSTANT LBR$M_LOCATE = x'00000001' DECLARE LONG CONSTANT LBR$M_OPEN = x'00000002' DECLARE LONG CONSTANT LBR$K_LENGTH = 30 DECLARE LONG CONSTANT LBR$C_LENGTH = 30 DECLARE LONG CONSTANT LBR$S_LBRCTLTBL = 30 record LBRCTLTBL BYTE LBR$B_ID ! Control table ID BYTE LBR$B_TBLSIZ ! Control table size BYTE LBR$B_TYPE ! Type of library opened BYTE LBR$B_FUNC ! Operation (function) requested BYTE LBRCTLTBL$$_FILL_1 ( 1 to 2 ) ! Reserved extra bytes group LBR$R_USRFLG_OVERLAY variant case LONG LBR$L_USRFLG ! Flags longword case group LBR$R_USRFLG_BITS ! Use "locate" rather than "move" mode ! Library open BYTE LOCATE_bits ! COMMENT ADDED BY SDL - LOCATE_bits contains bits LOCATE through FILL_0_ end group LBR$R_USRFLG_BITS end variant end group LBR$R_USRFLG_OVERLAY LONG LBR$L_HDRPTR ! Pointer to in-core header LONG LBR$L_CTXPTR ! Pointer to context control block LONG LBR$L_CURIDX ! Number of current index LONG LBR$L_USRNAM ! Pointer to user NAM block LONG LBR$L_OLDHDRPTR ! Pointer to unmodified in-core header block end record LBRCTLTBL