! *** 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 ! ! DTI flag definitions ! ! Item list definitions DECLARE LONG CONSTANT DTI$_ENDITEM = 0 ! End of item list code DECLARE LONG CONSTANT DTI$_TRANSACTION_INFORMATION = 1 ! Active transaction list DECLARE LONG CONSTANT DTI$_CURRENT_TID = 2 ! Current transaction identifier DECLARE LONG CONSTANT DTI$_MEMBERSHIP_COUNT = 3 ! # members still in transaction DECLARE LONG CONSTANT DTI$_BRANCH_COUNT = 4 ! # branches still in transaction DECLARE LONG CONSTANT DTI$_ROOT_NODE_NAME = 5 ! Root node DECLARE LONG CONSTANT DTI$_STARTING_TIME = 6 ! Transaction start time DECLARE LONG CONSTANT dti$K_MAX_ITEM_CODE = 6 ! Transaction states DECLARE LONG CONSTANT DTI$K_NULL = 0 DECLARE LONG CONSTANT DTI$K_STARTING = 1 ! Starting state DECLARE LONG CONSTANT DTI$K_ACTIVE = 2 ! Active state DECLARE LONG CONSTANT DTI$K_ONE_P_COMMITTING = 3 ! Committing (one-phase) DECLARE LONG CONSTANT DTI$K_PREPARING = 4 ! Preparing state DECLARE LONG CONSTANT DTI$K_PREPARED = 5 ! Prepared state DECLARE LONG CONSTANT DTI$K_COMMITTING = 6 ! Committing state DECLARE LONG CONSTANT DTI$K_COMMITTED = 7 ! Committed state DECLARE LONG CONSTANT DTI$K_ONE_P_COMMITTED = 8 ! Committed (one-phase) DECLARE LONG CONSTANT DTI$K_ABORTING = 9 ! Aborting state DECLARE LONG CONSTANT DTI$K_ABORTED = 10 ! Aborted or forgotten state DECLARE LONG CONSTANT DTI$K_IN_DOUBT = 11 ! Transaction has prepared and RM is ! coordinator; resolution must come ! from external entity ! SET item codes DECLARE LONG CONSTANT DTI$K_ILLEGAL = 0 ! Make code 0 illegal DECLARE LONG CONSTANT DTI$K_DELETE_TRANSACTION = 1 ! Delete transaction DECLARE LONG CONSTANT DTI$K_DELETE_RM_NAME = 2 ! Delete resource manager DECLARE LONG CONSTANT DTI$K_MODIFY_STATE = 3 ! Modify transaction state DECLARE LONG CONSTANT DTI$K_DELETE_BRANCH_NODE = 4 ! Delete branch node DECLARE LONG CONSTANT DTI$K_SET_CURRENT_TID = 5 ! Set the current transaction identifier DECLARE LONG CONSTANT DTI$K_MAX_SET_CODE = 5 DECLARE LONG CONSTANT DTI$M_SEARCH_STARTING = x'00000001' DECLARE LONG CONSTANT DTI$M_SEARCH_ACTIVE = x'00000002' DECLARE LONG CONSTANT DTI$M_SEARCH_1P_COMITTING = x'00000004' DECLARE LONG CONSTANT DTI$M_SEARCH_PREPARING = x'00000008' DECLARE LONG CONSTANT DTI$M_SEARCH_PREPARED = x'00000010' DECLARE LONG CONSTANT DTI$M_SEARCH_COMMITTING = x'00000020' DECLARE LONG CONSTANT DTI$M_SEARCH_COMMITTED = x'00000040' DECLARE LONG CONSTANT DTI$M_SEARCH_1P_COMMITTED = x'00000080' DECLARE LONG CONSTANT DTI$M_SEARCH_ABORTING = x'00000100' DECLARE LONG CONSTANT DTI$M_SEARCH_ABORTED = x'00000200' DECLARE LONG CONSTANT DTI$_ENDSEARCH = 0 ! End of search list DECLARE LONG CONSTANT DTI$_SEARCH_AS_NODE = 1 ! Search as node DECLARE LONG CONSTANT DTI$_SEARCH_CURRENT_TID = 2 ! Search current transaction identifier DECLARE LONG CONSTANT DTI$_SEARCH_TID = 3 ! Search transaction identifier DECLARE LONG CONSTANT DTI$_SEARCH_RM_NAME = 4 ! Search resource manager DECLARE LONG CONSTANT DTI$_SEARCH_BRANCH_NAME = 5 ! Search branch node names DECLARE LONG CONSTANT DTI$_SEARCH_STATE = 6 ! Search state DECLARE LONG CONSTANT DTI$_SEARCH_RESOLVED_STATE = 7 ! Search resolved state DECLARE LONG CONSTANT DTI$K_MAX_SEARCH_CODE = 7 DECLARE LONG CONSTANT DTI$S_DTISEARCHDEF = 2 record DTISEARCHDEF ! Search list codes ! Starting state ! Active state ! 1P Committing state ! Preparing state ! Prepared state ! Committing state ! Committed state ! 1P Committed state ! Aborting state ! Aborted state ! Search item list definitions WORD SEARCH_STARTING_bits ! COMMENT ADDED BY SDL - SEARCH_STARTING_bits contains bits SEARCH_STARTING through FILL_118_ end record DTISEARCHDEF DECLARE LONG CONSTANT DTI$M_UPDATE = x'00000001' DECLARE LONG CONSTANT DTI$M_LOCAL_RM = x'00000002' DECLARE LONG CONSTANT DTI$S_TRANSACTION_INFORMATION = 84 ! length of transaction information record DECLARE LONG CONSTANT DTI$S_DTIRECDEF = 84 record DTIRECDEF ! Transaction information record definitions group DTI$R_FILL_119_ variant case WORD DTI$W_FLAGS ! Modifier flags case group DTI$R_FILL_120_ ! Delete resource manager from transaction ! Participant type (1 = RM, 0 = node) BYTE UPDATE_bits ! COMMENT ADDED BY SDL - UPDATE_bits contains bits UPDATE through FILL_121_ end group DTI$R_FILL_120_ end variant end group DTI$R_FILL_119_ BYTE DTI$B_STATE ! Transaction state BYTE DTI$B_PART_NAME_LEN ! Length of participant name STRING DTI$T_PART_NAME = 32 ! Participant name STRING DTI$T_PART_LOG_ID = 16 ! Participant log id STRING DTI$T_TID = 16 ! Transaction ID BASIC$OCTAWORD DTI$O_UTC_COMMIT_TIME ! UTC commit time end record DTIRECDEF