! *** 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 ! ! GSD entry - Entry point definition, vectored symbols ! DECLARE LONG CONSTANT EPMV$K_NAME = 16 DECLARE LONG CONSTANT EPMV$C_NAME = 16 DECLARE LONG CONSTANT EPMV$S_EPMVDEF = 47 record EPMVDEF group EPMV$R_GSDTYP_OVERLAY variant case BYTE EPMV$B_GSDTYP ! Maps over GSY$B_GSDTYP case group EPMV$R_GSDTYP_FIELDS STRING EPMV$T_START = 0 BYTE EPMVDEF$$_FILL_1 end group EPMV$R_GSDTYP_FIELDS end variant end group EPMV$R_GSDTYP_OVERLAY BYTE EPMV$B_DATYP ! Maps over GSY$B_DATYP WORD EPMV$W_FLAGS ! Maps over GSY$W_FLAGS BYTE EPMV$B_PSINDX ! Maps over SDF$B_PSINDX LONG EPMV$L_ADDRS ! Entry point address, maps over SDF$L_VALUE LONG EPMV$L_VECTOR ! Vectored entry point address WORD EPMV$W_MASK ! Entry point mask BYTE EPMV$B_NAMLNG ! Length of name STRING EPMV$T_NAME = 31 ! Symbol name end record EPMVDEF