! *** 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 ! ! Library header information array offsets ! DECLARE LONG CONSTANT LHI$S_LHIDEF = 144 record LHIDEF LONG LHI$L_TYPE ! Library type LONG LHI$L_NINDEX ! Number of indices LONG LHI$L_MAJORID ! Library format major id LONG LHI$L_MINORID ! Library format minor id STRING LHI$T_LBRVER = 32 ! ASCIC version of librarian that created LONG LHI$L_CREDAT ! Creation date/time LONG LHIDEF$$_FILL_1 ! ... LONG LHI$L_UPDTIM ! Date/time of last update LONG LHIDEF$$_FILL_2 ! ... LONG LHI$L_UPDHIS ! VBN of start of update history LONG LHI$L_FREEVBN ! 1st logically deleted block LONG LHI$L_FREEBLK ! Number of deleted blocks BYTE LHI$B_NEXTRFA ( 1 to 6 ) ! RFA of end of library WORD LHI$W_RFAXTR ! Spare word, zeroed LONG LHI$L_NEXTVBN ! Next VBN to allocate at end of file LONG LHI$L_FREIDXBLK ! Number of free pre-allocated index blocks LONG LHI$L_FREEIDX ! Listhead for pre-allocated index blocks LONG LHI$L_HIPREAL ! VBN of highest pre-allocated block LONG LHI$L_IDXBLKS ! Number of index blocks in use LONG LHI$L_IDXCNT ! Number of index entries (total) LONG LHI$L_MODCNT ! Number of entries in index 1 (module names) LONG LHI$L_MHDUSZ ! Length of user-maintained info in module header LONG LHI$L_MAXLUHREC ! Maximum number of library update histories records maintained LONG LHI$L_NUMLUHREC ! Number of LUH records in history LONG LHI$L_LIBSTATUS ! False if there was an error closing lib BYTE LHI$B_FREEHDRS ( 1 to 6 ) ! Freed list header structure in RFA structure format BYTE LHI$B_FREENODES ( 1 to 6 ) ! Freed list nodes structure in RFA struture format LONG LHI$L_IDX3HEAP ! VBN of third index block end record LHIDEF