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);
176 globus_extension_get_module_version(
177 globus_extension_handle_t handle,
178 globus_version_t * version);
181 globus_extension_error_match(
182 globus_extension_handle_t handle,
183 globus_object_t * error,
188 (*globus_extension_error_match_cb_t)(
189 globus_object_t * error,
194 globus_extension_error_match_with_cb(
195 globus_extension_handle_t handle,
196 globus_object_t * error,
197 globus_extension_error_match_cb_t callback,
206 const char * extension_name,
210 globus_extension_unregister_builtin(
211 const char * extension_name);
215 char * extension_name;
217 } globus_extension_builtin_t;
221 globus_extension_register_builtins(
222 globus_extension_builtin_t * builtins);
225 globus_extension_unregister_builtins(
226 globus_extension_builtin_t * builtins);
int(* globus_hashtable_hash_func_t)(void *key, int limit)
Definition: globus_hashtable.h:58
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_keyeq_func_t)(void *key1, void *key2)
Definition: globus_hashtable.h:70
int globus_extension_register_builtin(const char *extension_name, globus_module_descriptor_t *module_descriptor)
Definition: globus_extension.c:1100
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:71