tx_open - open a set of resource managers
#include <tx.h> int tx_open(void)
tx_open() opens a set of resource managers in a portable manner. It invokes a transaction manager to read resource-manager-specific information in a transaction-manager-specific manner and pass this information to the resource managers linked to the caller.
tx_open() attempts to open all resource managers that have been linked with the application. This function is used in place of resource-manager-specific ``open'' calls and allows an application program to be free of calls which may hinder portability. Since resource managers differ in their initialization semantics, the specific information needed to ``open'' a particular resource manager must be published by each resource manager.
If tx_open() returns TX_ERROR, then no resource managers are open. If tx_open() returns TX_OK, some or all of the resource managers have been opened. Resource managers that are not open will return resource-manager-specific errors when accessed by the application. tx_open() must successfully return before a thread of control participates in global transactions.
Once tx_open() returns success, subsequent calls to tx_open() (before an intervening call to tx_close(3c)) are allowed. However, such subsequent calls will return success, and the TM will not attempt to re-open any RMs.
Upon successful completion, tx_open() returns TX_OK, a non-negative return value.
Under the following conditions, tx_open() fails and returns one of these negative values:
Both the X/Open TX interface and the X-Windows system defines the type XID. It is not possible to use both X-Windows calls and TX calls in the same file.