VMS Help System Services, $END TRANS *Conan The Librarian (sorry for the slow response - running on an old VAX) |
Ends a transaction by attempting to commit it, and returns the outcome of the transaction. Format SYS$END_TRANS [efn] ,[flags] ,iosb [,[astadr] ,[astprm] ,[tid]] C Prototype int sys$end_trans (unsigned int efn, unsigned int flags, struct _iosb *iosb,...); Arguments efn OpenVMS usage:ef_number type: longword (unsigned) access: read only mechanism: by value Number of the event flag that is set when the service completes. If this argument is omitted, event flag 0 is set. flags OpenVMS usage:mask_longword type: longword (unsigned) access: read only mechanism: by value Flags specifying options for the service. The flags argument is a longword bit mask in which each bit corresponds to an option flag. The $DDTMDEF macro defines symbolic names for these option flags. All undefined bits must be 0. If this argument is omitted, no flag is set. The flag currently defined is shown in the following table: Flag Description DDTM$M_SYNC Set this flag to specify that successful synchronous completion is to be indicated by returning SS$_SYNCH. When SS$_SYNCH is returned, the asynchronous system trap (AST) routine is not called, the event flag is not set, and the I/O status block is not filled in. iosb OpenVMS usage:io_status_block type: quadword (unsigned) access: write only mechanism: by reference I/O status block in which the following information is returned: o The completion status of the service. This is returned as a condition value. o The outcome of the transaction. If the service returns SS$_NORMAL, the outcome of the transaction is commit. If the service returns SS$_ABORT, the outcome of the transaction is abort. o An abort reason code that gives one reason why the transaction aborted, if the completion status of the service is SS$_ABORT. The $DDTMMSGDEF macro defines symbolic names for these abort reason codes; those currently defined are shown in the following table: Symbolic Name Description DDTM$_ABORTED The application aborted the transaction. DDTM$_COMM_FAIL A communications link failed. DDTM$_INTEGRITY A resource manager integrity constraint check failed. DDTM$_LOG_FAIL A write operation to the transaction log failed. DDTM$_PART_SERIAL A resource manager serialization check failed. DDTM$_PART_TIMEOUT The timeout specified by a resource manager expired. DDTM$_SEG_FAIL A process or image terminated. DDTM$_ A DECdtm transaction manager serialization SERIALIZATION check failed. DDTM$_SYNC_FAIL The transaction was not globally synchronized. DDTM$_TIMEOUT The timeout specified on $START_TRANS expired. DDTM$_UNKNOWN The reason is unknown. DDTM$_VETOED A resource manager was unable to commit the transaction. Refer to the OpenVMS System Services Reference Manual to view the structure of the I/O status block. astadr OpenVMS usage:ast_procedure type: procedure value access: call without stack unwinding mechanism: by reference AST routine that is executed when the service completes. The astadr argument is the address of this routine. The routine is executed in the access mode of the caller. astprm OpenVMS usage:user_arg type: longword (unsigned) access: read only mechanism: by value AST parameter that is passed to the AST routine specified by the astadr argument. tid OpenVMS usage:transaction_id type: octaword (unsigned) access: read only mechanism: by reference Identifier of the transaction to be ended. If this argument is omitted, $END_TRANS ends the default transaction of the calling process.
|