00001 /***************************************************************************** 00002 00003 Copyright (C) 1995, 2009, Innobase Oy. All Rights Reserved. 00004 00005 This program is free software; you can redistribute it and/or modify it under 00006 the terms of the GNU General Public License as published by the Free Software 00007 Foundation; version 2 of the License. 00008 00009 This program is distributed in the hope that it will be useful, but WITHOUT 00010 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 00011 FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 00012 00013 You should have received a copy of the GNU General Public License along with 00014 this program; if not, write to the Free Software Foundation, Inc., 51 Franklin 00015 St, Fifth Floor, Boston, MA 02110-1301 USA 00016 00017 *****************************************************************************/ 00018 00019 /* 00020 * Start of xa.h header 00021 * 00022 * Define a symbol to prevent multiple inclusions of this header file 00023 */ 00024 #pragma once 00025 #ifndef XA_H 00026 #define XA_H 00027 00028 /* 00029 * Transaction branch identification: XID and NULLXID: 00030 */ 00031 #ifndef XIDDATASIZE 00032 00034 #define XIDDATASIZE 128 00036 #define MAXGTRIDSIZE 64 00037 #define MAXBQUALSIZE 64 00040 struct xid_t { 00041 long formatID; 00043 long gtrid_length; 00044 long bqual_length; 00045 char data[XIDDATASIZE]; 00047 }; 00049 typedef struct xid_t XID; 00050 #endif 00051 00052 /* @{ */ 00053 #define XA_OK 0 00054 #define XAER_ASYNC -2 00056 #define XAER_RMERR -3 00059 #define XAER_NOTA -4 00060 #define XAER_INVAL -5 00061 #define XAER_PROTO -6 00063 #define XAER_RMFAIL -7 00064 #define XAER_DUPID -8 00065 #define XAER_OUTSIDE -9 00067 /* @} */ 00068 #endif /* ifndef XA_H */ 00069 /* 00070 * End of xa.h header 00071 */