Grid Community Toolkit  6.2.1567772254 (tag: v6.2.20190906)
Data Structures | Typedefs | Functions
globus_module.h File Reference

Reference Counting Module Activation and Deactivation. More...

#include "globus_error_generic.h"
#include <stdio.h>

Go to the source code of this file.

Data Structures

struct  globus_module_descriptor_s
 Module Descriptor. More...
 

Typedefs

typedef int(* globus_module_deactivate_proxy_cb_t) (globus_module_descriptor_t *module_descriptor, void *user_arg)
 

Functions

int globus_module_activate (globus_module_descriptor_t *module_descriptor)
 Activate a module. More...
 
int globus_module_activate_array (globus_module_descriptor_t *modules[], globus_module_descriptor_t **failed_module)
 Activate a group of modules. More...
 
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)
 

Detailed Description

Reference Counting Module Activation and Deactivation.

Typedef Documentation

◆ globus_module_deactivate_proxy_cb_t

typedef int(* globus_module_deactivate_proxy_cb_t) (globus_module_descriptor_t *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)

Function Documentation

◆ globus_module_activate_proxy()

int globus_module_activate_proxy ( globus_module_descriptor_t module_descriptor,
globus_module_deactivate_proxy_cb_t  deactivate_cb,
void *  user_arg 
)

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().

◆ globus_module_get_module_pointer()

void* globus_module_get_module_pointer ( globus_module_descriptor_t )

Get a module pointer

◆ globus_module_get_version()

int globus_module_get_version ( globus_module_descriptor_t module_descriptor,
globus_version_t *  version 
)

get version associated with module

This function copies the version structure associated with the module into 'version'.

Parameters
module_descriptorpointer to a module descriptor (module does NOT need to be activated)
versionpointer 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)

◆ globus_module_getenv()

char* globus_module_getenv ( const char *  name)

Get the value of an environment variable

◆ globus_module_print_activated_versions()

void globus_module_print_activated_versions ( FILE *  stream,
globus_bool_t  verbose 
)

print all activated modules' versions

This function prints all activated modules' version info using the standard form provided by globus_version_print

Parameters
streamstream to print on (stdout, stderr, etc)
verboseIf 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

◆ globus_module_print_version()

void globus_module_print_version ( globus_module_descriptor_t module_descriptor,
FILE *  stream,
globus_bool_t  verbose 
)

print module's version

This function prints a modules version info using the standard form provided by globus_version_print

Parameters
module_descriptorpointer to a module descriptor (module does NOT need to be activated)
streamstream to print on (stdout, stderr, etc)
verboseIf 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

◆ globus_module_setenv()

void globus_module_setenv ( const char *  name,
const char *  value 
)

set an environment variable

◆ globus_version_print()

void globus_version_print ( const char *  name,
const globus_version_t *  version,
FILE *  stream,
globus_bool_t  verbose 
)

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
nameA string to prefix the version. May be NULL
versionThe version structure containing the info to print. (May be NULL, although pointless to do so)
streamstream to print on (stdout, stderr, etc)
verboseIf 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