# 7.36. ODPI-C Structure dpiXid

This structure is used for identifying a TPC (two-phase commit) transaction. It is used by the TPC functions `dpiConn_tpcBegin()`, `dpiConn_tpcCommit()`, `dpiConn_tpcEnd()`, `dpiConn_tpcForget()`, `dpiConn_tpcPrepare()` and `dpiConn_tpcRollback()`.

long dpiXid.formatId

  An integer identifying the format the transaction id is expected to take. A value of -1 implies that the XID value is NULL.

const char *dpiXid.globalTransactionId

  Specifies the global transaction identifier of the XID.

uint32_t dpiXid.globalTransactionIdLength

  Specifies the length of the `dpiXid.globalTransactionId` member, in bytes. The maximum supported length is 64 bytes.

const char *dpiXid.branchQualifier

  Specifies the branch qualifier of the XID.

uint32_t dpiXid.branchQualifierLength

  Specifies the length of the `dpiXid.branchQualifier` member, in bytes. The maximum supported length is 64 bytes.