tcpmon_entry.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
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         int(
00154             AXIS2_CALL
00155             * get_sent_data_length)(
00156                 tcpmon_entry_t * entry,
00157                 const axutil_env_t * env);
00158 
00159         int(
00160             AXIS2_CALL
00161             * get_arrived_data_length)(
00162                 tcpmon_entry_t * entry,
00163                 const axutil_env_t * env);
00164 
00165         axis2_status_t(
00166             AXIS2_CALL
00167             * set_format_bit)(
00168                 tcpmon_entry_t * entry,
00169                 const axutil_env_t * env,
00170                 int format_bit);
00171     };
00172 
00173     struct tcpmon_entry
00174     {
00175         tcpmon_entry_ops_t *ops;
00176     };
00177 
00183     tcpmon_entry_t *AXIS2_CALL
00184     tcpmon_entry_create(
00185         const axutil_env_t * env);
00186 
00187     /*************************** Function macros **********************************/
00188 
00189 #define TCPMON_ENTRY_FREE(entry, env) \
00190         ((entry)->ops->free (entry, env))
00191 
00192 #define TCPMON_ENTRY_ARRIVED_TIME(entry, env) \
00193         ((entry)->ops->arrived_time(entry, env))
00194 
00195 #define TCPMON_ENTRY_SENT_TIME(entry, env) \
00196         ((entry)->ops->sent_time(entry, env))
00197 
00198 #define TCPMON_ENTRY_TIME_DIFF(entry, env) \
00199         ((entry)->ops->time_diff(entry, env))
00200 
00201 #define TCPMON_ENTRY_SENT_DATA(entry, env) \
00202         ((entry)->ops->sent_data(entry, env))
00203 
00204 #define TCPMON_ENTRY_ARRIVED_DATA(entry, env) \
00205         ((entry)->ops->arrived_data(entry, env))
00206 
00207 #define TCPMON_ENTRY_SENT_HEADERS(entry, env) \
00208         ((entry)->ops->sent_headers(entry, env))
00209 
00210 #define TCPMON_ENTRY_ARRIVED_HEADERS(entry, env) \
00211         ((entry)->ops->arrived_headers(entry, env))
00212 
00213 #define TCPMON_ENTRY_IS_SUCCESS(entry, env) \
00214         ((entry)->ops->is_success(entry, env))
00215 
00216 #define TCPMON_ENTRY_SET_FORMAT_BIT(entry, env, format_bit) \
00217         ((entry)->ops->set_format_bit(entry, env, format_bit))
00218 
00219 #define TCPMON_ENTRY_GET_FORMAT_BIT(entry, env) \
00220         ((entry)->ops->get_format_bit(entry, env))
00221 
00222 #define TCPMON_ENTRY_GET_SENT_DATA_LENGTH(entry, env) \
00223         ((entry)->ops->get_sent_data_length(entry, env))
00224 
00225 #define TCPMON_ENTRY_GET_ARRIVED_DATA_LENGTH(entry, env) \
00226         ((entry)->ops->get_arrived_data_length(entry, env))
00227 
00230 #ifdef __cplusplus
00231 }
00232 #endif
00233 
00234 #endif                          /* TCPMON_ENTRY_H */

Generated on Thu Apr 16 11:31:21 2009 for Axis2/C by  doxygen 1.5.3