globus_common  17.11
globus_module.h
Go to the documentation of this file.
1 
7 #if !defined(GLOBUS_MODULE_H)
8 #define GLOBUS_MODULE_H 1
9 
22 #include "globus_error_generic.h"
23 
24 #include <stdio.h>
25 
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
29 
30 /******************************************************************************
31  Type definitions
32 ******************************************************************************/
33 typedef int (*globus_module_activation_func_t)(void);
34 typedef int (*globus_module_deactivation_func_t)(void);
35 typedef void (*globus_module_atexit_func_t)(void);
36 typedef void * (*globus_module_get_pointer_func_t)(void);
37 
38 typedef struct
39 {
40  int major;
41  int minor;
42  /* these two members are reserved for internal Globus components */
43  unsigned long timestamp;
44  int branch_id;
45 } globus_version_t;
46 
55 {
57  char * module_name;
59  globus_module_activation_func_t activation_func;
61  globus_module_deactivation_func_t deactivation_func;
63  globus_module_atexit_func_t atexit_func;
65  globus_module_get_pointer_func_t get_pointer_func;
67  globus_version_t * version;
70 };
71 
72 /******************************************************************************
73  Function prototypes
74 ******************************************************************************/
75 
76 /*
77  * NOTE: all functions return either GLOBUS_SUCCESS or an error code
78  */
79 
80 int
82  globus_module_descriptor_t * module_descriptor);
83 
84 int
86  globus_module_descriptor_t * modules[],
87  globus_module_descriptor_t ** failed_module);
88 
89 int
91  globus_module_descriptor_t * module_descriptor);
92 
93 int
94 globus_module_deactivate_all(void);
95 
101 typedef
102 int
104  globus_module_descriptor_t * module_descriptor,
105  void * user_arg);
106 
116 int
118  globus_module_descriptor_t * module_descriptor,
120  void * user_arg);
121 
125 void
127  const char * name,
128  const char * value);
129 
133 char *
135  const char * name);
136 
140 void *
143 
144 int
146  globus_module_descriptor_t * module_descriptor,
147  globus_version_t * version);
148 
149 void
151  globus_module_descriptor_t * module_descriptor,
152  FILE * stream,
153  globus_bool_t verbose);
154 
155 void
157  FILE * stream,
158  globus_bool_t verbose);
159 
160 void
162  const char * name,
163  const globus_version_t * version,
164  FILE * stream,
165  globus_bool_t verbose);
166 
167 
168 void
169 globus_module_set_args(
170  int * argc,
171  char *** argv);
172 
173 void
174 globus_module_get_args(
175  int ** argc,
176  char **** argv);
177 
178 
179 #ifdef __cplusplus
180 }
181 #endif
182 
183 #endif /* GLOBUS_MODULE_H */
Globus Error API.
char *(* globus_error_print_friendly_t)(globus_object_t *error, const globus_object_type_t *type)
Definition: globus_error_generic.h:229
void globus_module_print_version(globus_module_descriptor_t *module_descriptor, FILE *stream, globus_bool_t verbose)
Definition: globus_module.c:726
void globus_module_setenv(const char *name, const char *value)
Definition: globus_module.c:531
int globus_module_activate_proxy(globus_module_descriptor_t *module_descriptor, globus_module_deactivate_proxy_cb_t deactivate_cb, void *user_arg)
Definition: globus_module.c:154
char * globus_module_getenv(const char *name)
Definition: globus_module.c:607
int(* globus_module_deactivate_proxy_cb_t)(globus_module_descriptor_t *module_descriptor, void *user_arg)
Definition: globus_module.h:103
void * globus_module_get_module_pointer(globus_module_descriptor_t *)
Definition: globus_module.c:504
void globus_version_print(const char *name, const globus_version_t *version, FILE *stream, globus_bool_t verbose)
Definition: globus_module.c:829
int globus_module_get_version(globus_module_descriptor_t *module_descriptor, globus_version_t *version)
Definition: globus_module.c:682
void globus_module_print_activated_versions(FILE *stream, globus_bool_t verbose)
Definition: globus_module.c:757
int globus_bool_t
Boolean type.
Definition: globus_types.h:78
int globus_module_deactivate(globus_module_descriptor_t *module_descriptor)
Deactivate a module.
Definition: globus_module.c:380
int globus_module_activate(globus_module_descriptor_t *module_descriptor)
Activate a module.
Definition: globus_module.c:251
int globus_module_activate_array(globus_module_descriptor_t *modules[], globus_module_descriptor_t **failed_module)
Activate a group of modules.
Definition: globus_module.c:274
Module Descriptor.
Definition: globus_module.h:55
char * module_name
Definition: globus_module.h:57
globus_error_print_friendly_t friendly_error_func
Definition: globus_module.h:69
globus_module_get_pointer_func_t get_pointer_func
Definition: globus_module.h:65
globus_version_t * version
Definition: globus_module.h:67
globus_module_activation_func_t activation_func
Definition: globus_module.h:59
globus_module_deactivation_func_t deactivation_func
Definition: globus_module.h:61
globus_module_atexit_func_t atexit_func
Definition: globus_module.h:63