00001 00007 #ifndef _TXDESC_H 00008 #define _TXDESC_H 00009 00010 #if (_TM_SYSTEM_ITM) 00011 # include <itm.h> 00012 #endif 00013 00014 typedef struct txc_tx_action_list_s txc_tx_commit_action_list_t; 00015 typedef struct txc_tx_action_list_s txc_tx_undo_action_list_t; 00016 typedef struct txc_tx_action_list_s txc_tx_action_list_t; 00017 typedef struct txc_tx_action_list_entry_s txc_tx_commit_action_list_entry_t; 00018 typedef struct txc_tx_action_list_entry_s txc_tx_undo_action_list_entry_t; 00019 typedef struct txc_tx_action_list_entry_s txc_tx_action_list_entry_t; 00020 00021 00023 struct txc_tx_s { 00024 unsigned int tid; 00025 unsigned int tid_pthread; 00026 int sentinelmgr_undo_action_registered; 00027 int sentinelmgr_commit_action_registered; 00028 int statsmgr_undo_action_registered; 00029 int statsmgr_commit_action_registered; 00030 int generic_undo_action_registered; 00031 int generic_commit_action_registered; 00032 txc_tx_abortreason_t abort_reason; 00033 unsigned int forced_retries; 00034 txc_tx_commit_action_list_t *commit_action_list; 00035 txc_tx_undo_action_list_t *undo_action_list; 00036 txc_sentinel_list_t *sentinel_list; 00037 txc_sentinel_list_t *sentinel_list_preacquire; 00038 txc_buffer_linear_t *buffer_linear; 00039 txc_txmgr_t *manager; 00040 struct txc_tx_s *next; 00041 struct txc_tx_s *prev; 00042 txc_stats_txstat_t *txstat; 00043 txc_stats_threadstat_t *threadstat; 00044 int fm_flags; 00045 int *fm_error_result; 00046 txc_bool_t fm_abort; 00047 #if (_TM_SYSTEM_ITM) 00048 _ITM_transaction *itm_td; 00049 #endif 00050 }; 00051 00052 #endif /* _TXDESC_H */