7 #ifndef GLOBUS_EXTENSION_H
8 #define GLOBUS_EXTENSION_H
19 #define GLOBUS_EXTENSION_MODULE (&globus_i_extension_module)
23 GLOBUS_EXTENSION_ERROR_OPEN_FAILED,
24 GLOBUS_EXTENSION_ERROR_LOOKUP_FAILED
41 #define GlobusExtensionDefineModule(name) \
42 globus_module_descriptor_t name##_module
43 #define GlobusExtensionDeclareModule(name) \
44 extern globus_module_descriptor_t name##_module
45 #define GlobusExtensionMyModule(name) &name##_module
81 const char * extension_name);
84 globus_extension_deactivate(
85 const char * extension_name);
87 typedef struct globus_l_extension_handle_s * globus_extension_handle_t;
91 globus_hashtable_t table;
94 } globus_extension_registry_t;
111 globus_extension_registry_add(
112 globus_extension_registry_t * registry,
118 globus_extension_registry_remove(
119 globus_extension_registry_t * registry,
123 globus_extension_registry_set_hashing(
124 globus_extension_registry_t * registry,
146 globus_extension_handle_t * handle,
147 globus_extension_registry_t * registry,
151 globus_extension_reference(
152 globus_extension_handle_t handle);
155 globus_extension_release(
156 globus_extension_handle_t handle);
161 globus_extension_get_module_version(
162 globus_extension_handle_t handle,
163 globus_version_t * version);
166 globus_extension_error_match(
167 globus_extension_handle_t handle,
168 globus_object_t * error,
173 (*globus_extension_error_match_cb_t)(
174 globus_object_t * error,
179 globus_extension_error_match_with_cb(
180 globus_extension_handle_t handle,
181 globus_object_t * error,
182 globus_extension_error_match_cb_t callback,
191 const char * extension_name,
195 globus_extension_unregister_builtin(
196 const char * extension_name);
200 char * extension_name;
202 } globus_extension_builtin_t;
206 globus_extension_register_builtins(
207 globus_extension_builtin_t * builtins);
210 globus_extension_unregister_builtins(
211 globus_extension_builtin_t * builtins);
void * globus_extension_lookup(globus_extension_handle_t *handle, globus_extension_registry_t *registry, void *symbol)
Definition: globus_extension.c:857
int globus_extension_register_builtin(const char *extension_name, globus_module_descriptor_t *module_descriptor)
Definition: globus_extension.c:1085
int globus_extension_activate(const char *extension_name)
Definition: globus_extension.c:513
Reference Counting Module Activation and Deactivation.
int globus_bool_t
Boolean type.
Definition: globus_types.h:78
int(* globus_hashtable_hash_func_t)(void *key, int limit)
Definition: globus_hashtable.h:41
int(* globus_hashtable_keyeq_func_t)(void *key1, void *key2)
Definition: globus_hashtable.h:53
Module Descriptor.
Definition: globus_module.h:55