context/globus_net_manager_context.h

Go to the documentation of this file.
00001 /*
00002  * Copyright 1999-2014 University of Chicago
00003  *
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  *
00008  * http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
00015  */
00016 
00017 #ifndef GLOBUS_NET_MANAGER_CONTEXT_H
00018 #define GLOBUS_NET_MANAGER_CONTEXT_H 1
00019 
00025 #include "globus_common.h"
00026 #include "globus_net_manager.h"
00027 #include "globus_net_manager_attr.h"
00028 
00029 #ifdef __cplusplus
00030 extern "C" {
00031 #endif
00032 
00065 typedef struct globus_i_net_manager_context_s *globus_net_manager_context_t;
00066 
00067 globus_result_t
00068 globus_net_manager_context_init(
00069     globus_net_manager_context_t       *context,
00070     const globus_net_manager_attr_t    *attrs);
00071 
00072 void
00073 globus_net_manager_context_destroy(
00074     globus_net_manager_context_t        context);
00075 
00076 globus_result_t
00077 globus_net_manager_context_pre_listen(
00078     globus_net_manager_context_t        context,
00079     const char                         *task_id,
00080     const char                         *transport,
00081     const globus_net_manager_attr_t    *attr_array,
00082     globus_net_manager_attr_t         **attr_array_out);
00083 
00084 globus_result_t
00085 globus_net_manager_context_post_listen(
00086     globus_net_manager_context_t        context,
00087     const char                         *task_id,
00088     const char                         *transport,
00089     const char                         *local_contact,
00090     const globus_net_manager_attr_t    *attr_array,
00091     char                              **local_contact_out,
00092     globus_net_manager_attr_t         **attr_array_out);
00093 
00094 globus_result_t
00095 globus_net_manager_context_end_listen(
00096     globus_net_manager_context_t        context,
00097     const char                         *task_id,
00098     const char                         *transport,
00099     const char                         *local_contact,
00100     const globus_net_manager_attr_t    *attr_array);
00101 
00102 globus_result_t
00103 globus_net_manager_context_pre_accept(
00104     globus_net_manager_context_t        context,
00105     const char                         *task_id,
00106     const char                         *transport,
00107     const char                         *local_contact,
00108     const globus_net_manager_attr_t    *attr_array,
00109     globus_net_manager_attr_t         **attr_array_out);
00110 
00111 globus_result_t
00112 globus_net_manager_context_post_accept(
00113     globus_net_manager_context_t        context,
00114     const char                         *task_id,
00115     const char                         *transport,
00116     const char                         *local_contact,
00117     const char                         *remote_contact,
00118     const globus_net_manager_attr_t    *attr_array,
00119     globus_net_manager_attr_t         **attr_array_out);
00120 
00121 globus_result_t
00122 globus_net_manager_context_pre_connect(
00123     globus_net_manager_context_t        context,
00124     const char                         *task_id,
00125     const char                         *transport,
00126     const char                         *remote_contact,
00127     const globus_net_manager_attr_t    *attr_array,
00128     char                              **remote_contact_out,
00129     globus_net_manager_attr_t         **attr_array_out);
00130 
00131 globus_result_t
00132 globus_net_manager_context_post_connect(
00133     globus_net_manager_context_t        context,
00134     const char                         *task_id,
00135     const char                         *transport,
00136     const char                         *local_contact,
00137     const char                         *remote_contact,
00138     const globus_net_manager_attr_t    *attr_array,
00139     globus_net_manager_attr_t         **attr_array_out);
00140 
00141 globus_result_t
00142 globus_net_manager_context_pre_close(
00143     globus_net_manager_context_t        context,
00144     const char                         *task_id,
00145     const char                         *transport,
00146     const char                         *local_contact,
00147     const char                         *remote_contact,
00148     const globus_net_manager_attr_t    *attr_array);
00149 
00150 globus_result_t
00151 globus_net_manager_context_post_close(
00152     globus_net_manager_context_t        context,
00153     const char                         *task_id,
00154     const char                         *transport,
00155     const char                         *local_contact,
00156     const char                         *remote_contact,
00157     const globus_net_manager_attr_t    *attr_array);
00158 
00159 
00160 typedef struct globus_i_net_manager_context_s
00161 {
00162     globus_list_t *                     managers;
00163 } globus_i_net_manager_context_t;
00164 
00165 typedef struct globus_i_net_manager_context_entry_s
00166 {
00167     char *                              name;
00168     char *                              dll_name;
00169     globus_extension_handle_t           ext_handle;
00170     globus_net_manager_t *              manager;
00171     globus_net_manager_attr_t *         attrs;
00172 } globus_i_net_manager_context_entry_t;
00173 
00174 #ifdef __cplusplus
00175 }
00176 #endif
00177 
00178 #endif /* #define GLOBUS_NET_MANAGER_CONTEXT_H */

Generated on 5 Nov 2016 for globus_net_manager by  doxygen 1.4.7