22 #ifndef GLOBUS_EXTENSION_H
23 #define GLOBUS_EXTENSION_H
34 #define GLOBUS_EXTENSION_MODULE (&globus_i_extension_module)
38 GLOBUS_EXTENSION_ERROR_OPEN_FAILED,
39 GLOBUS_EXTENSION_ERROR_LOOKUP_FAILED
56 #define GlobusExtensionDefineModule(name) \
57 globus_module_descriptor_t name##_module
58 #define GlobusExtensionDeclareModule(name) \
59 extern globus_module_descriptor_t name##_module
60 #define GlobusExtensionMyModule(name) &name##_module
96 const char * extension_name);
99 globus_extension_deactivate(
100 const char * extension_name);
102 typedef struct globus_l_extension_handle_s * globus_extension_handle_t;
106 globus_hashtable_t table;
109 } globus_extension_registry_t;
126 globus_extension_registry_add(
127 globus_extension_registry_t * registry,
133 globus_extension_registry_remove(
134 globus_extension_registry_t * registry,
138 globus_extension_registry_set_hashing(
139 globus_extension_registry_t * registry,
161 globus_extension_handle_t * handle,
162 globus_extension_registry_t * registry,
166 globus_extension_reference(
167 globus_extension_handle_t handle);
170 globus_extension_release(
171 globus_extension_handle_t handle);
174 globus_extension_error_match(
175 globus_extension_handle_t handle,
176 globus_object_t * error,
181 (*globus_extension_error_match_cb_t)(
182 globus_object_t * error,
187 globus_extension_error_match_with_cb(
188 globus_extension_handle_t handle,
189 globus_object_t * error,
190 globus_extension_error_match_cb_t callback,
199 const char * extension_name,
203 globus_extension_unregister_builtin(
204 const char * extension_name);
208 char * extension_name;
210 } globus_extension_builtin_t;
214 globus_extension_register_builtins(
215 globus_extension_builtin_t * builtins);
218 globus_extension_unregister_builtins(
219 globus_extension_builtin_t * builtins);
int globus_extension_activate(const char *extension_name)
Definition: globus_extension.c:528
int globus_bool_t
Boolean type.
Definition: globus_types.h:93
Reference Counting Module Activation and Deactivation.
int(* globus_hashtable_hash_func_t)(void *key, int limit)
Definition: globus_hashtable.h:56
int(* globus_hashtable_keyeq_func_t)(void *key1, void *key2)
Definition: globus_hashtable.h:68
int globus_extension_register_builtin(const char *extension_name, globus_module_descriptor_t *module_descriptor)
Definition: globus_extension.c:1068
void * globus_extension_lookup(globus_extension_handle_t *handle, globus_extension_registry_t *registry, void *symbol)
Definition: globus_extension.c:872
Module Descriptor.
Definition: globus_module.h:69