! *** 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 ! ! date/time xab definitions ! $xabdatdef ! ! DECLARE LONG CONSTANT XAB$C_DAT = 18 ! xabdat id code DECLARE LONG CONSTANT XAB$K_DATLEN_V2 = 36 ! Version 2 XABDAT length DECLARE LONG CONSTANT XAB$C_DATLEN_V2 = 36 ! Version 2 XABDAT length DECLARE LONG CONSTANT XAB$K_DATLEN_V54 = 44 ! length of XABDAT DECLARE LONG CONSTANT XAB$C_DATLEN_V54 = 44 ! length of XABDAT DECLARE LONG CONSTANT XAB$K_DATLEN_PRE_ACCDATES = 60 ! XABDAT length before addition of 3 access dates DECLARE LONG CONSTANT XAB$C_DATLEN_PRE_ACCDATES = 60 ! XABDAT length before addition of 3 access dates DECLARE LONG CONSTANT XAB$K_DATLEN_POST_ACCDATES = 84 ! XABDAT length after addition of 3 access dates DECLARE LONG CONSTANT XAB$C_DATLEN_POST_ACCDATES = 84 ! XABDAT length after addition of 3 access dates DECLARE LONG CONSTANT XAB$S_XABDATDEF = 84 record XABDATDEF BYTE XABDATDEF$$_FILL_1 BYTE XABDATDEF$$_FILL_2 WORD XABDATDEF$$_FILL_3 LONG XABDATDEF$$_FILL_4 ! HAS SAME COD, BLN, SPARE AND NXT FIELD ! THESE 4 FIELDS ARE COMMON TO ALL XABS AND ! HAVE BEEN DEFINED BY $XABDEF WORD XABDATDEF$$_FILL_5 ! REVISION ?,DEFINED IN $XABDEF,SINCE COMMON TO DAT ? RDT WORD XABDATDEF$$_FILL_6 ! spare BASIC$QUADWORD XABDATDEF$$_FILL_7 ! revision date ? time,defined in $xabdef group XAB$R_CDT_OVERLAY variant case BASIC$QUADWORD XAB$Q_CDT ! creation date ? time case group XAB$R_CDT_FIELDS LONG XAB$L_CDT0 LONG XAB$L_CDT4 end group XAB$R_CDT_FIELDS end variant end group XAB$R_CDT_OVERLAY group XAB$R_EDT_OVERLAY variant case BASIC$QUADWORD XAB$Q_EDT ! expiration date ? time case group XAB$R_EDT_FIELDS LONG XAB$L_EDT0 LONG XAB$L_EDT4 end group XAB$R_EDT_FIELDS end variant end group XAB$R_EDT_OVERLAY group XAB$R_BDT_OVERLAY variant case BASIC$QUADWORD XAB$Q_BDT ! backup date and time case group XAB$R_BDT_FIELDS LONG XAB$L_BDT0 LONG XAB$L_BDT4 end group XAB$R_BDT_FIELDS end variant end group XAB$R_BDT_OVERLAY group XAB$R_RCD_OVERLAY variant case BASIC$QUADWORD XAB$Q_RCD ! Recorded date and time case group XAB$R_RCD_FIELDS LONG XAB$L_RCD0 LONG XAB$L_RCD4 end group XAB$R_RCD_FIELDS end variant end group XAB$R_RCD_OVERLAY group XAB$R_EFF_OVERLAY variant case BASIC$QUADWORD XAB$Q_EFF ! Effective date and time case group XAB$R_EFF_FIELDS LONG XAB$L_EFF0 LONG XAB$L_EFF4 end group XAB$R_EFF_FIELDS end variant end group XAB$R_EFF_OVERLAY group XAB$R_ACC_OVERLAY variant case BASIC$QUADWORD XAB$Q_ACC ! Access date and time case group XAB$R_ACC_FIELDS LONG XAB$L_ACC0 LONG XAB$L_ACC4 end group XAB$R_ACC_FIELDS end variant end group XAB$R_ACC_OVERLAY group XAB$R_ATT_OVERLAY variant case BASIC$QUADWORD XAB$Q_ATT ! Attribute change date and time case group XAB$R_ATT_FIELDS LONG XAB$L_ATT0 LONG XAB$L_ATT4 end group XAB$R_ATT_FIELDS end variant end group XAB$R_ATT_OVERLAY group XAB$R_MOD_OVERLAY variant case BASIC$QUADWORD XAB$Q_MOD ! data Modification date and time case group XAB$R_MOD_FIELDS LONG XAB$L_MOD0 LONG XAB$L_MOD4 end group XAB$R_MOD_FIELDS end variant end group XAB$R_MOD_OVERLAY end record XABDATDEF ! basealign on aggregate XABDATDEF operates after aggregate end DECLARE LONG CONSTANT XAB$K_DATLEN = 84 ! length of XABDAT DECLARE LONG CONSTANT XAB$C_DATLEN = 84 ! length of XABDAT