.TH "globus_module.h" 3 "Wed Feb 27 2019" "Version 18.2" "globus_common" \" -*- nroff -*- .ad l .nh .SH NAME globus_module.h \- Reference Counting Module Activation and Deactivation\&. .SH SYNOPSIS .br .PP \fC#include 'globus_error_generic\&.h'\fP .br \fC#include \fP .br .SS "Data Structures" .in +1c .ti -1c .RI "struct \fBglobus_module_descriptor_s\fP" .br .RI "Module Descriptor\&. " .in -1c .SS "Typedefs" .in +1c .ti -1c .RI "typedef int(* \fBglobus_module_deactivate_proxy_cb_t\fP) (\fBglobus_module_descriptor_t\fP *module_descriptor, void *user_arg)" .br .in -1c .SS "Functions" .in +1c .ti -1c .RI "int \fBglobus_module_activate\fP (\fBglobus_module_descriptor_t\fP *module_descriptor)" .br .RI "Activate a module\&. " .ti -1c .RI "int \fBglobus_module_activate_array\fP (\fBglobus_module_descriptor_t\fP *modules[], \fBglobus_module_descriptor_t\fP **failed_module)" .br .RI "Activate a group of modules\&. " .ti -1c .RI "int \fBglobus_module_deactivate\fP (\fBglobus_module_descriptor_t\fP *module_descriptor)" .br .RI "Deactivate a module\&. " .ti -1c .RI "int \fBglobus_module_activate_proxy\fP (\fBglobus_module_descriptor_t\fP *module_descriptor, \fBglobus_module_deactivate_proxy_cb_t\fP deactivate_cb, void *user_arg)" .br .ti -1c .RI "void \fBglobus_module_setenv\fP (const char *name, const char *value)" .br .ti -1c .RI "char * \fBglobus_module_getenv\fP (const char *name)" .br .ti -1c .RI "void * \fBglobus_module_get_module_pointer\fP (\fBglobus_module_descriptor_t\fP *)" .br .ti -1c .RI "int \fBglobus_module_get_version\fP (\fBglobus_module_descriptor_t\fP *module_descriptor, globus_version_t *version)" .br .ti -1c .RI "void \fBglobus_module_print_version\fP (\fBglobus_module_descriptor_t\fP *module_descriptor, FILE *stream, \fBglobus_bool_t\fP verbose)" .br .ti -1c .RI "void \fBglobus_module_print_activated_versions\fP (FILE *stream, \fBglobus_bool_t\fP verbose)" .br .ti -1c .RI "void \fBglobus_version_print\fP (const char *name, const globus_version_t *version, FILE *stream, \fBglobus_bool_t\fP verbose)" .br .in -1c .SH "Detailed Description" .PP Reference Counting Module Activation and Deactivation\&. .SH "Typedef Documentation" .PP .SS "typedef int(* globus_module_deactivate_proxy_cb_t) (\fBglobus_module_descriptor_t\fP *module_descriptor, void *user_arg)" module must be deactivated in this call with module_descriptor->deactivation_func(); (be sure module_descriptor->deactivation_func is !NULL) .SH "Function Documentation" .PP .SS "int globus_module_activate_proxy (\fBglobus_module_descriptor_t\fP * module_descriptor, \fBglobus_module_deactivate_proxy_cb_t\fP deactivate_cb, void * user_arg)" this call registers a callback to be called to handle deactivation when \fBglobus_module_deactivate()\fP or globus_module_deactivate_all() is called .PP 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()\&. .SS "void* globus_module_get_module_pointer (\fBglobus_module_descriptor_t\fP *)" Get a module pointer .SS "int globus_module_get_version (\fBglobus_module_descriptor_t\fP * module_descriptor, globus_version_t * version)" get version associated with module .PP This function copies the version structure associated with the module into 'version'\&. .PP \fBParameters:\fP .RS 4 \fImodule_descriptor\fP pointer to a module descriptor (module does NOT need to be activated) .br \fIversion\fP pointer to storage for a globus_version_t\&. The version will be copied into this .RE .PP \fBReturns:\fP .RS 4 .IP "\(bu" 2 GLOBUS_SUCCESS .IP "\(bu" 2 GLOBUS_FAILURE if there is no version associated with this module (module->version == null) .PP .RE .PP .SS "char* globus_module_getenv (const char * name)" Get the value of an environment variable .SS "void globus_module_print_activated_versions (FILE * stream, \fBglobus_bool_t\fP verbose)" print all activated modules' versions .PP This function prints all activated modules' version info using the standard form provided by globus_version_print .PP \fBParameters:\fP .RS 4 \fIstream\fP stream to print on (stdout, stderr, etc) .br \fIverbose\fP 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) .RE .PP \fBReturns:\fP .RS 4 .IP "\(bu" 2 void .PP .RE .PP .SS "void globus_module_print_version (\fBglobus_module_descriptor_t\fP * module_descriptor, FILE * stream, \fBglobus_bool_t\fP verbose)" print module's version .PP This function prints a modules version info using the standard form provided by globus_version_print .PP \fBParameters:\fP .RS 4 \fImodule_descriptor\fP pointer to a module descriptor (module does NOT need to be activated) .br \fIstream\fP stream to print on (stdout, stderr, etc) .br \fIverbose\fP 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) .RE .PP \fBReturns:\fP .RS 4 .IP "\(bu" 2 void .PP .RE .PP .SS "void globus_module_setenv (const char * name, const char * value)" set an environment variable .SS "void globus_version_print (const char * name, const globus_version_t * version, FILE * stream, \fBglobus_bool_t\fP verbose)" print version structure .PP 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 .PP In either case, if name is NULL, then only the numerical version will be printed\&. .PP \fBParameters:\fP .RS 4 \fIname\fP A string to prefix the version\&. May be NULL .br \fIversion\fP The version structure containing the info to print\&. (May be NULL, although pointless to do so) .br \fIstream\fP stream to print on (stdout, stderr, etc) .br \fIverbose\fP 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) .RE .PP \fBReturns:\fP .RS 4 .IP "\(bu" 2 void .PP .RE .PP .SH "Author" .PP Generated automatically by Doxygen for globus_common from the source code\&.