! *** 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 ! ! Journal XAB definitions ! $xabjnldef ! DECLARE LONG CONSTANT XAB$C_JNL = 34 ! xabjnl id code DECLARE LONG CONSTANT XAB$C_JNL_TYPE_NONE = 0 DECLARE LONG CONSTANT XAB$C_AI = 1 ! AI journal DECLARE LONG CONSTANT XAB$C_BI = 2 ! BI journal DECLARE LONG CONSTANT XAB$C_AT = 3 ! AT journal DECLARE LONG CONSTANT XAB$C_RU_DEFAULT = 4 ! default RU volume DECLARE LONG CONSTANT XAB$M_JOURNAL_DISABLED = x'00000001' DECLARE LONG CONSTANT XAB$M_BACKUP_DONE = x'00000002' DECLARE LONG CONSTANT XAB$S_XABJNLDEF = 80 record XABJNLDEF BYTE XABJNLDEF$$_FILL_1 BYTE XABJNLDEF$$_FILL_2 WORD XABJNLDEF$$_FILL_3 LONG XABJNLDEF$$_FILL_4 ! HAS SAME COD, BLN, SPARE AND NXT FIELD ! THESE 4 FIELDS ARE COMMON TO ALL XABS AND ! HAVE BEEN DEFINED BY $XABDEF BYTE XAB$B_XABJNL_TYPE ! type of $XABJNL BYTE XABJNLDEF$$_FILL_5 group XAB$R_JNL_FLAGS_OVERLAY variant case WORD XAB$W_JNL_FLAGS ! journal flags (from ACE$W_RMSJNL_FLAGS) case group XAB$R_JNL_FLAGS_BITS ! journaling disabled by BACKUP (AI/BI/AT) ! Backup done since last $OPEN BYTE JOURNAL_DISABLED_bits ! COMMENT ADDED BY SDL - JOURNAL_DISABLED_bits contains bits JOURNAL_DISABLED & ! through FILL_16_ end group XAB$R_JNL_FLAGS_BITS end variant end group XAB$R_JNL_FLAGS_OVERLAY LONG XAB$L_JNL_FAB ! address of journal file FAB LONG XAB$L_VOLNAM_BUF ! address of journal volume name buffer WORD XAB$W_VOLNAM_SIZ ! size of journal volume name buffer WORD XAB$W_VOLNAM_LEN ! return length of journal volume name BASIC$QUADWORD XAB$Q_JNL_VERIFY_CDATE ! journal file creation date (from ACE$Q_CDATE) ! (to match with journal file's creation date) LONG XAB$L_JNLIDX ! Journal stream index within journal file LONG XAB$L_BACKUP_SEQNO ! Backup sequence number. BASIC$QUADWORD XAB$Q_JNL_MOD_TIME ! Timestamp of last backup or last journal ! entry recovered. LONG XABJNLDEF$$_FILL_7 LONG XABJNLDEF$$_FILL_8 LONG XABJNLDEF$$_FILL_9 LONG XABJNLDEF$$_FILL_10 LONG XABJNLDEF$$_FILL_11 LONG XABJNLDEF$$_FILL_12 LONG XABJNLDEF$$_FILL_13 LONG XABJNLDEF$$_FILL_14 end record XABJNLDEF ! basealign on aggregate XABJNLDEF operates after aggregate end DECLARE LONG CONSTANT XAB$K_JNLLEN = 80 DECLARE LONG CONSTANT XAB$C_JNLLEN = 80