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);
99globus_extension_deactivate(
100 const char * extension_name);
102typedef struct globus_l_extension_handle_s * globus_extension_handle_t;
106 globus_hashtable_t table;
109} globus_extension_registry_t;
126globus_extension_registry_add(
127 globus_extension_registry_t * registry,
133globus_extension_registry_remove(
134 globus_extension_registry_t * registry,
138globus_extension_registry_set_hashing(
139 globus_extension_registry_t * registry,
161 globus_extension_handle_t * handle,
162 globus_extension_registry_t * registry,
166globus_extension_reference(
167 globus_extension_handle_t handle);
170globus_extension_release(
171 globus_extension_handle_t handle);
176globus_extension_get_module_version(
177 globus_extension_handle_t handle,
178 globus_version_t * version);
181globus_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,
194globus_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,
210globus_extension_unregister_builtin(
211 const char * extension_name);
215 char * extension_name;
217} globus_extension_builtin_t;
221globus_extension_register_builtins(
222 globus_extension_builtin_t * builtins);
225globus_extension_unregister_builtins(
226 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:872
int globus_extension_register_builtin(const char *extension_name, globus_module_descriptor_t *module_descriptor)
Definition globus_extension.c:1100
int globus_extension_activate(const char *extension_name)
Definition globus_extension.c:528
Reference Counting Module Activation and Deactivation.
int globus_bool_t
Boolean type.
Definition globus_types.h:93
int(* globus_hashtable_hash_func_t)(void *key, int limit)
Definition globus_hashtable.h:58
int(* globus_hashtable_keyeq_func_t)(void *key1, void *key2)
Definition globus_hashtable.h:70
Module Descriptor.
Definition globus_module.h:72