---
name: "globus_module.h"
section: "3"
platform: "linux"
package: "libglobus-common-doc"
version: "18.14-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/globus_module.h"
---

# globus\_module.h(3)

Reference Counting Module Activation and Deactivation.

## NAME

globus\_module.h - Reference Counting Module Activation and Deactivation.

## SYNOPSIS

`#include 'globus_error_generic.h'`\
 `#include <stdio.h>`\

### Data Structures

struct **globus\_module\_descriptor\_s**\
 Module Descriptor.

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

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

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

### void \* globus\_module\_get\_module\_pointer (globus\_module\_descriptor\_t \* structptr)

Get a module pointer

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

### char \* globus\_module\_getenv (const char \* name)

Get the value of an environment variable

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

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

### void globus\_module\_setenv (const char \* name, const char \* value)

set an environment variable

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

## Author

Generated automatically by Doxygen for globus\_common from the source code.
