Tivoli Header

Tivoli Storage Manager Using the Application Program Interface

dsmEndTxn

The dsmEndTxn function call ends a TSM transaction. Pair the dsmEndTxn function call with dsmBeginTxn to identify the call or set of calls that are considered a transaction. The application client can specify on the dsmEndTxn call whether or not the transaction should be committed or ended.

Perform all of the following calls within the bounds of a transaction:

dsmSendObj
dsmSendData
dsmEndSendObj
dsmDeleteObj

Syntax

dsInt16_t dsmEndTxn  (dsUint32_t   dsmHandle,
   dsUint8_t    vote,
   dsUint16_t  *reason);

Parameters

dsUint32_t dsmHandle (I)
The handle that associates this call with a previous dsmInitEx call.

dsUint8_t vote (I)
Indicates whether or not the application client wants to commit all the actions that are done between the previous dsmBeginTxn call and this call. The possible values are listed below.
   DSM_VOTE_COMMIT     /* commit current transaction    */
   DSM_VOTE_ABORT      /* roll back current transaction */

Use DSM_VOTE_ABORT only if your application has found a reason to stop the transaction.

dsUint16_t *reason (O)
If the call to dsmEndTxn ends with an error, or the value of vote is not agreed to, this parameter will have a reason code indicating why the vote failed.
Note:
The return code for the call might be zero, and the reason code might be non-zero. Therefore, the application client must always check for errors on both the return code and the reason (if (rc || reason)) before you can assume a successful completion.

If the application specifies a vote of DSM_VOTE_ABORT, the reason code will be DSM_RS_ABORT_BY_CLIENT (3). See Appendix C, API Return Codes Source File for a list of the possible reason codes. Numbers 1 through 50 in the return codes list are reserved for the reason codes. If the server ends the transaction, the return code will be DSM_RC_CHECK_REASON_CODE. In this case, the reason value will contain more information on the cause of the abort.

Return Codes

The return code numbers are provided in parentheses ( ).

Table 26. Return Codes for dsmEndTxn

Return Code Explanation
DSM_RC_ABORT_CRC_FAILED (236) The CRC that was received from the server does not match the CRC that was calculated by the client.
DSM_RC_INVALID_VOTE (2011) The value that was specified for vote is not valid.
DSM_RC_CHECK_REASON_CODE (2302) The transaction was aborted. Check the reason field.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]