Reference counting module activation and deactivation.
#include 'globus_error_generic.h'
#include <stdio.h>
struct globus_module_descriptor_s
Module Descriptor.
typedef int(* globus_module_deactivate_proxy_cb_t )(globus_module_descriptor_t *module_descriptor, void *user_arg)
int globus_module_activate (globus_module_descriptor_t *module_descriptor)
Activate a module. int globus_module_activate_array (globus_module_descriptor_t *modules[], globus_module_descriptor_t **failed_module)
Activate a group of modules. int globus_module_deactivate (globus_module_descriptor_t *module_descriptor)
Deactivate a module. int globus_module_activate_proxy (globus_module_descriptor_t *module_descriptor, globus_module_deactivate_proxy_cb_t deactivate_cb, void *user_arg)
void globus_module_setenv (const char *name, const char *value)
char * globus_module_getenv (const char *name)
void * globus_module_get_module_pointer (globus_module_descriptor_t *)
int globus_module_get_version (globus_module_descriptor_t *module_descriptor, globus_version_t *version)
void globus_module_print_version (globus_module_descriptor_t *module_descriptor, FILE *stream, globus_bool_t verbose)
void globus_module_print_activated_versions (FILE *stream, globus_bool_t verbose)
void globus_version_print (const char *name, const globus_version_t *version, FILE *stream, globus_bool_t verbose)
Reference Counting Module Activation and Deactivation.
module must be deactivated in this call with module_descriptor->deactivation_func(); (be sure module_descriptor->deactivation_func is !NULL)
this call registers a callback to be called to handle deactivation when globus_module_deactivate() or globus_module_deactivate_all() is called
The callback is only respected for the first call to activate this module. The purpose of these proxy calls is to allow 'private' module descriptors that are activated by some other user function, but may still be affected by deactivate_all().
Get a module pointer
get version associated with module
This function copies the version structure associated with the module into 'version'.
Parameters:
module_descriptor pointer to a module descriptor (module does NOT need to be activated)
version pointer to storage for a globus_version_t. The version will be copied into this
Returns:
GLOBUS_SUCCESS
GLOBUS_FAILURE if there is no version associated with this module (module->version == null)
Get the value of an environment variable
print all activated modules' versions
This function prints all activated modules' version info using the standard form provided by globus_version_print
Parameters:
stream stream to print on (stdout, stderr, etc)
verbose If GLOBUS_TRUE, then all available version info is printed (ex: globus_module: 1.1 (1013708618-5)) else, only the major.minor is printed (ex: globus_module: 1.1)
Returns:
void
print module's version
This function prints a modules version info using the standard form provided by globus_version_print
Parameters:
module_descriptor pointer to a module descriptor (module does NOT need to be activated)
stream stream to print on (stdout, stderr, etc)
verbose If GLOBUS_TRUE, then all available version info is printed (ex: globus_module: 1.1 (1013708618-5)) else, only the major.minor is printed (ex: globus_module: 1.1)
Returns:
void
set an environment variable
print version structure
This function provides a stand way of printing version information The version is printed to stream with the following form: name: major.minor if verbose = false name: major.minor.timestamp-branch_id if verbose = true
In either case, if name is NULL, then only the numerical version will be printed.
Parameters:
name A string to prefix the version. May be NULL
version The version structure containing the info to print. (May be NULL, although pointless to do so)
stream stream to print on (stdout, stderr, etc)
verbose If GLOBUS_TRUE, then all available version info is printed (ex: globus_module: 1.1 (1013708618-5)) else, only the major.minor is printed (ex: globus_module: 1.1)
Returns:
void
Generated automatically by Doxygen for globus_common from the source code.