17 #ifndef GLOBUS_NET_MANAGER_H
18 #define GLOBUS_NET_MANAGER_H 1
20 #include "globus_common.h"
32 #ifndef GLOBUS_GLOBAL_DOCUMENT_SET
142 const char *transport,
199 const char *transport,
200 const char *local_contact,
202 char **local_contact_out,
242 const char *transport,
243 const char *local_contact,
292 const char *transport,
293 const char *local_contact,
348 const char *transport,
349 const char *local_contact,
350 const char *remote_contact,
407 const char *transport,
408 const char *remote_contact,
410 char **remote_contact_out,
461 const char *transport,
462 const char *local_contact,
463 const char *remote_contact,
507 const char *transport,
508 const char *local_contact,
509 const char *remote_contact,
552 const char *transport,
553 const char *local_contact,
554 const char *remote_contact,
588 extern globus_extension_registry_t globus_i_net_manager_registry;
589 #define GLOBUS_NET_MANAGER_REGISTRY &globus_i_net_manager_registry
594 globus_module_descriptor_t *module);
600 extern globus_module_descriptor_t globus_i_net_manager_module;
630 #define GLOBUS_NET_MANAGER_MODULE (&globus_i_net_manager_module)
635 GLOBUS_NET_MANAGER_ERROR_PARAMETER,
636 GLOBUS_NET_MANAGER_ERROR_MEMORY,
637 GLOBUS_NET_MANAGER_ERROR_INIT,
638 GLOBUS_NET_MANAGER_ERROR_MANAGER,
639 GLOBUS_NET_MANAGER_ERROR_WRAPPED
640 } globus_net_manager_error_type_t;
647 #define GlobusNetManagerName(func) static const char * _netmgr_name __attribute__((__unused__)) = #func
649 #define GlobusNetManagerName(func) static const char * _netmgr_name = #func
654 #define GlobusNetManagerErrorParameter(param_name) \
656 globus_error_construct_error( \
657 GLOBUS_NET_MANAGER_MODULE, \
659 GLOBUS_NET_MANAGER_ERROR_PARAMETER, \
663 "Bad parameter, %s", \
666 #define GlobusNetManagerErrorMemory(mem_name) \
668 globus_error_construct_error( \
669 GLOBUS_NET_MANAGER_MODULE, \
671 GLOBUS_NET_MANAGER_ERROR_MEMORY, \
675 "Memory allocation failed on %s", \
678 #define GlobusNetManagerErrorInit(manager, explain) \
680 globus_error_construct_error( \
681 GLOBUS_NET_MANAGER_MODULE, \
683 GLOBUS_NET_MANAGER_ERROR_INIT, \
687 "An error occurred accessing a module. %s: %s", manager, explain))
689 #define GlobusNetManagerErrorManager(result, manager, explain) \
691 globus_error_construct_error( \
692 GLOBUS_NET_MANAGER_MODULE, \
693 globus_error_get((result)), \
694 GLOBUS_NET_MANAGER_ERROR_MANAGER, \
698 "A network manager (%s) errored in %s.", manager, explain))
700 #define GlobusNetManagerErrorWrapFailed(failed_func, result) \
702 globus_error_construct_error( \
703 GLOBUS_NET_MANAGER_MODULE, \
704 globus_error_get((result)), \
705 GLOBUS_NET_MANAGER_ERROR_WRAPPED, \
712 #define GlobusNetManagerErrorWrapFailedWithMessage(result, format, arg) \
714 globus_error_construct_error( \
715 GLOBUS_NET_MANAGER_MODULE, \
716 globus_error_get((result)), \
717 GLOBUS_NET_MANAGER_ERROR_WRAPPED, \
724 #define GlobusNetManagerErrorWrapFailedWithMessage2(result, format, arg1, arg2) \
726 globus_error_construct_error( \
727 GLOBUS_NET_MANAGER_MODULE, \
728 globus_error_get((result)), \
729 GLOBUS_NET_MANAGER_ERROR_WRAPPED, \
globus_result_t globus_net_manager_register(globus_net_manager_t *manager, globus_module_descriptor_t *module)
Register a network manager.
Definition: register.c:34
globus_net_manager_pre_close pre_close
Definition: globus_net_manager.h:582
globus_net_manager_post_close post_close
Definition: globus_net_manager.h:584
globus_net_manager_post_accept post_accept
Definition: globus_net_manager.h:576
globus_result_t(* globus_net_manager_post_connect)(struct globus_net_manager_s *manager, const globus_net_manager_attr_t *manager_attr_array, const char *task_id, const char *transport, const char *local_contact, const char *remote_contact, const globus_net_manager_attr_t *attr_array, globus_net_manager_attr_t **attr_array_out)
Definition: globus_net_manager.h:457
globus_result_t(* globus_net_manager_post_listen)(struct globus_net_manager_s *manager, const globus_net_manager_attr_t *manager_attr_array, const char *task_id, const char *transport, const char *local_contact, const globus_net_manager_attr_t *attr_array, char **local_contact_out, globus_net_manager_attr_t **attr_array_out)
Definition: globus_net_manager.h:195
globus_result_t(* globus_net_manager_pre_close)(struct globus_net_manager_s *manager, const globus_net_manager_attr_t *manager_attr_array, const char *task_id, const char *transport, const char *local_contact, const char *remote_contact, const globus_net_manager_attr_t *attr_array)
Definition: globus_net_manager.h:503
globus_result_t(* globus_net_manager_pre_accept)(struct globus_net_manager_s *manager, const globus_net_manager_attr_t *manager_attr_array, const char *task_id, const char *transport, const char *local_contact, const globus_net_manager_attr_t *attr_array, globus_net_manager_attr_t **attr_array_out)
Definition: globus_net_manager.h:288
Net Manager Definition.
Definition: globus_net_manager.h:562
globus_net_manager_post_connect post_connect
Definition: globus_net_manager.h:580
globus_result_t(* globus_net_manager_pre_listen)(struct globus_net_manager_s *manager, const globus_net_manager_attr_t *manager_attr_array, const char *task_id, const char *transport, const globus_net_manager_attr_t *attr_array, globus_net_manager_attr_t **attr_array_out)
Definition: globus_net_manager.h:138
globus_result_t globus_net_manager_unregister(globus_net_manager_t *manager)
Unregister a network manager.
Definition: unregister.c:32
globus_net_manager_post_listen post_listen
Definition: globus_net_manager.h:570
globus_result_t(* globus_net_manager_end_listen)(struct globus_net_manager_s *manager, const globus_net_manager_attr_t *manager_attr_array, const char *task_id, const char *transport, const char *local_contact, const globus_net_manager_attr_t *attr_array)
Definition: globus_net_manager.h:238
globus_net_manager_end_listen end_listen
Definition: globus_net_manager.h:572
struct globus_net_manager_s globus_net_manager_t
Net Manager Definition.
globus_net_manager_pre_connect pre_connect
Definition: globus_net_manager.h:578
Net Manager Attributes.
Definition: globus_net_manager_attr.h:44
const char * name
Definition: globus_net_manager.h:566
globus_result_t(* globus_net_manager_post_close)(struct globus_net_manager_s *manager, const globus_net_manager_attr_t *manager_attr_array, const char *task_id, const char *transport, const char *local_contact, const char *remote_contact, const globus_net_manager_attr_t *attr_array)
Definition: globus_net_manager.h:548
globus_net_manager_pre_accept pre_accept
Definition: globus_net_manager.h:574
globus_net_manager_pre_listen pre_listen
Definition: globus_net_manager.h:568
Globus Network Manager Attributes.
globus_result_t(* globus_net_manager_post_accept)(struct globus_net_manager_s *manager, const globus_net_manager_attr_t *manager_attr_array, const char *task_id, const char *transport, const char *local_contact, const char *remote_contact, const globus_net_manager_attr_t *attr_array, globus_net_manager_attr_t **attr_array_out)
Definition: globus_net_manager.h:344
globus_result_t(* globus_net_manager_pre_connect)(struct globus_net_manager_s *manager, const globus_net_manager_attr_t *manager_attr_array, const char *task_id, const char *transport, const char *remote_contact, const globus_net_manager_attr_t *attr_array, char **remote_contact_out, globus_net_manager_attr_t **attr_array_out)
Definition: globus_net_manager.h:403