xa_forget()-- Forget an XA Transaction Branch (Transaction Scoped Locks)


  Syntax
 #include <xa.h>

 int xa_switch.xa_forget_entry(XID *xid,     
     int rmid, long flags);

  Default Public Authority: *USE

  Service Program: QTNXADTP

  Threadsafe: Yes

A transaction manager calls xa_forget() to forget about a heuristically completed transaction branch. After this call, the *xid is no longer valid.


Parameters

*xid
(Input) A pointer to the transaction branch identifier. This identifier was generated by the transaction manager when the transaction branch was started.

rmid
(Input) An integer value that the transaction manager generated when calling xa_open(). The rmid identifies the resource manager.

flags
(Input) The following are valid settings of flags.

TMNOFLAGS: 0x00000000L Perform the forget operation normally.


Authorities

None


Return Value

-7 [XAER_RMFAIL]

An error occurred that makes the resource manager unavailable.

-6 [XAER_PROTO]

xa_forget() was not successful. Function was called in an improper context.

-5 [XAER_INVAL]

xa_forget() was not successful. Incorrect arguments were specified.

-4 [XAER_NOTA]

The specified xid is not known by the resource manager.

-3 [XAER_RMERR]

xa_forget() was not successful. The resource manager detected an error when forgetting the transaction branch.

-2 [XAER_ASYNC]

xa_forget() was not successful. The resource manager does not support asynchronous operations.

0 [TM_OK]

xa_forget() was successful.



Error Messages

The following messages may be sent from this function.

Message ID Error Message Text
CPE3418 E Possible APAR condition or hardware failure.
CPF3CF2 E Error(s) occurred during running of &1 API.
CPF9872 E Program or service program &1 in library &2 ended. Reason code &3.


Related Information


Example

Note: By using the code examples, you agree to the terms of the Code license and disclaimer information.

#include <xa.h>

main() {
  XID  *xid;
  int  rmid;
  long flags;
  int  retcode;
  extern struct xa_switch_t xa_switch;

  retcode =
     xa_switch.xa_forget_entry(xid, rmid, flags);
}


API introduced: V5R2

[ Back to top | UNIX-Type APIs | APIs by category ]