00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef TCPMON_ENTRY_H
00020 #define TCPMON_ENTRY_H
00021
00022 #include <axutil_env.h>
00023 #include <axutil_string.h>
00024
00030 #ifdef __cplusplus
00031 extern "C"
00032 {
00033 #endif
00034
00041 typedef struct tcpmon_entry_ops tcpmon_entry_ops_t;
00042 typedef struct tcpmon_entry tcpmon_entry_t;
00043
00044 struct tcpmon_entry_ops
00045 {
00046
00053 axis2_status_t(
00054 AXIS2_CALL
00055 * free)(
00056 tcpmon_entry_t * entry,
00057 const axutil_env_t * env);
00058
00064 axis2_char_t *(
00065 AXIS2_CALL
00066 * arrived_time)(
00067 tcpmon_entry_t * entry,
00068 const axutil_env_t * env);
00069
00075 axis2_char_t *(
00076 AXIS2_CALL
00077 * sent_time)(
00078 tcpmon_entry_t * entry,
00079 const axutil_env_t * env);
00080
00086 axis2_char_t *(
00087 AXIS2_CALL
00088 * time_diff)(
00089 tcpmon_entry_t * entry,
00090 const axutil_env_t * env);
00091
00097 axis2_char_t *(
00098 AXIS2_CALL
00099 * sent_data)(
00100 tcpmon_entry_t * entry,
00101 const axutil_env_t * env);
00102
00108 axis2_char_t *(
00109 AXIS2_CALL
00110 * arrived_data)(
00111 tcpmon_entry_t * entry,
00112 const axutil_env_t * env);
00113
00119 axis2_char_t *(
00120 AXIS2_CALL
00121 * sent_headers)(
00122 tcpmon_entry_t * entry,
00123 const axutil_env_t * env);
00124
00130 axis2_char_t *(
00131 AXIS2_CALL
00132 * arrived_headers)(
00133 tcpmon_entry_t * entry,
00134 const axutil_env_t * env);
00135
00141 axis2_bool_t(
00142 AXIS2_CALL
00143 * is_success)(
00144 tcpmon_entry_t * entry,
00145 const axutil_env_t * env);
00146
00147 int(
00148 AXIS2_CALL
00149 * get_format_bit)(
00150 tcpmon_entry_t * entry,
00151 const axutil_env_t * env);
00152
00153 axis2_status_t(
00154 AXIS2_CALL
00155 * set_format_bit)(
00156 tcpmon_entry_t * entry,
00157 const axutil_env_t * env,
00158 int format_bit);
00159 };
00160
00161 struct tcpmon_entry
00162 {
00163 tcpmon_entry_ops_t *ops;
00164 };
00165
00171 tcpmon_entry_t *AXIS2_CALL
00172 tcpmon_entry_create(
00173 const axutil_env_t * env);
00174
00175
00176
00177 #define TCPMON_ENTRY_FREE(entry, env) \
00178 ((entry)->ops->free (entry, env))
00179
00180 #define TCPMON_ENTRY_ARRIVED_TIME(entry, env) \
00181 ((entry)->ops->arrived_time(entry, env))
00182
00183 #define TCPMON_ENTRY_SENT_TIME(entry, env) \
00184 ((entry)->ops->sent_time(entry, env))
00185
00186 #define TCPMON_ENTRY_TIME_DIFF(entry, env) \
00187 ((entry)->ops->time_diff(entry, env))
00188
00189 #define TCPMON_ENTRY_SENT_DATA(entry, env) \
00190 ((entry)->ops->sent_data(entry, env))
00191
00192 #define TCPMON_ENTRY_ARRIVED_DATA(entry, env) \
00193 ((entry)->ops->arrived_data(entry, env))
00194
00195 #define TCPMON_ENTRY_SENT_HEADERS(entry, env) \
00196 ((entry)->ops->sent_headers(entry, env))
00197
00198 #define TCPMON_ENTRY_ARRIVED_HEADERS(entry, env) \
00199 ((entry)->ops->arrived_headers(entry, env))
00200
00201 #define TCPMON_ENTRY_IS_SUCCESS(entry, env) \
00202 ((entry)->ops->is_success(entry, env))
00203
00204 #define TCPMON_ENTRY_SET_FORMAT_BIT(entry, env, format_bit) \
00205 ((entry)->ops->set_format_bit(entry, env, format_bit))
00206
00207 #define TCPMON_ENTRY_GET_FORMAT_BIT(entry, env) \
00208 ((entry)->ops->get_format_bit(entry, env))
00209
00212 #ifdef __cplusplus
00213 }
00214 #endif
00215
00216 #endif