Loading...
Searching...
No Matches
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.
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)

## 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 * | structptr | ) |

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_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)

## 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

  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

## 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_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

## 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

  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