! *** 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 ! + ! Define the 32-bit Item List Entry 3 structure ! - DECLARE LONG CONSTANT ILE3$S_ILE3 = 12 record ILE3 WORD ILE3$W_LENGTH ! Length of buffer in bytes WORD ILE3$W_CODE ! Item code value LONG ILE3$PS_BUFADDR ! Buffer address LONG ILE3$PS_RETLEN_ADDR ! Address of word for returned length end record ILE3 DECLARE LONG CONSTANT ILE3$K_LENGTH = 12 ! Length of ILE3 DECLARE LONG CONSTANT ILE3$C_LENGTH = 12 ! Length of ILE3 ! + ! Define the 64-Bit Item List Entry B structure. This is the 64-bit ! counterpart of the 32-bit item list 3 structure. ! - DECLARE LONG CONSTANT ILEB_64$S_ILEB_64 = 32 record ILEB_64 WORD ILEB_64$W_MBO ! Must be One field WORD ILEB_64$W_CODE ! Item code value LONG ILEB_64$L_MBMO ! Must be Minus One field BASIC$QUADWORD ILEB_64$Q_LENGTH ! Length of buffer in bytes BASIC$QUADWORD ILEB_64$PQ_BUFADDR ! Buffer address BASIC$QUADWORD ILEB_64$PQ_RETLEN_ADDR ! Address of quadword for returned length end record ILEB_64 DECLARE LONG CONSTANT ILEB_64$K_LENGTH = 32 ! Length of ILEB DECLARE LONG CONSTANT ILEB_64$C_LENGTH = 32 ! Length of ILEB ! + ! Define the 32-bit Item List Entry 2 structure ! - DECLARE LONG CONSTANT ILE2$S_ILE2 = 8 record ILE2 WORD ILE2$W_LENGTH ! Length of buffer in bytes WORD ILE2$W_CODE ! Item code value LONG ILE2$PS_BUFADDR ! Buffer address end record ILE2 DECLARE LONG CONSTANT ILE2$K_LENGTH = 8 ! Length of ILE2 DECLARE LONG CONSTANT ILE2$C_LENGTH = 8 ! Length of ILE2 ! + ! Define the 64-Bit Item List Entry 2 structure. This is the 64-bit ! counterpart of the 32-bit item list 2 structure. ! - DECLARE LONG CONSTANT ILEA_64$S_ILEA_64 = 24 record ILEA_64 WORD ILEA_64$W_MBO ! Must be One field WORD ILEA_64$W_CODE ! Item code value LONG ILEA_64$L_MBMO ! Must be Minus One field BASIC$QUADWORD ILEA_64$Q_LENGTH ! Length of buffer in bytes BASIC$QUADWORD ILEA_64$PQ_BUFADDR ! Buffer address end record ILEA_64 DECLARE LONG CONSTANT ILEA_64$K_LENGTH = 24 ! Length of ILEA DECLARE LONG CONSTANT ILEA_64$C_LENGTH = 24 ! Length of ILEA