Grid Community Toolkit  6.2.1705709074 (tag: v6.2.20240202)
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
globus_common.h
Go to the documentation of this file.
1 /* library/globus_common.h. Generated by configure. */
2 /*
3  * Copyright 1999-2006 University of Chicago
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17 
23 #if !defined(GLOBUS_INCLUDE_GLOBUS_COMMON_H)
24 #define GLOBUS_INCLUDE_GLOBUS_COMMON_H 1
25 
26 #ifndef EXTERN_C_BEGIN
27 # ifdef __cplusplus
28 # define EXTERN_C_BEGIN extern "C" {
29 # define EXTERN_C_END }
30 # else
31 # define EXTERN_C_BEGIN
32 # define EXTERN_C_END
33 # endif
34 #endif
35 
36 #ifndef GLOBUS_GLOBAL_DOCUMENT_SET
37 
41 #endif
42 
67 #include "globus_common_include.h"
68 #include "globus_module.h"
69 #include "globus_url.h"
70 #include "globus_list.h"
71 #include "globus_hashtable.h"
72 #include "globus_fifo.h"
73 #include "globus_symboltable.h"
74 #include "globus_object.h"
75 #include "globus_object_hierarchy.h"
76 #include "globus_error.h"
77 #include "globus_error_hierarchy.h"
78 #include "globus_thread.h"
79 #include "globus_time.h"
80 #include "globus_thread_pool.h"
81 #include "globus_handle_table.h"
82 #include "globus_callback.h"
83 #include "globus_logging.h"
84 #include "globus_memory.h"
85 #include "globus_print.h"
86 #include "globus_tilde_expand.h"
87 #include "globus_libc.h"
88 #include "globus_priority_q.h"
89 #include "globus_range_list.h"
90 #include "globus_debug.h"
91 #include "globus_args.h"
92 #include "globus_strptime.h"
93 #include "globus_thread_common.h"
94 #include "globus_thread_rw_mutex.h"
95 #include "globus_thread_rmutex.h"
96 #include "globus_error_errno.h"
97 #include "globus_error_generic.h"
98 #include "globus_extension.h"
99 #include "globus_uuid.h"
100 #include "globus_options.h"
101 #include "globus_states.h"
102 
103 #ifdef __cplusplus
104 extern "C" {
105 #endif
106 
107 /* most network-related functions (getpeername, getsockname,...) have
108  an int* as argument, except AIX which uses size_t*. This will
109  masquerade the difference. */
110 #if defined(__HOS_AIX__)
111 #define globus_netlen_t size_t
112 #else
113 #define globus_netlen_t int
114 #endif
115 
116 /*
117  * globus_barrier_t
118  *
119  * A generic barrier structure */
120 typedef struct globus_barrier_s
121 {
122  globus_mutex_t mutex;
123  globus_cond_t cond;
124  int count;
125 } globus_barrier_t;
126 
127 
128 /******************************************************************************
129  Define constants
130 ******************************************************************************/
131 
132 /******************************************************************************
133  Module activation structure
134 ******************************************************************************/
135 extern globus_module_descriptor_t globus_i_common_module;
136 
141 #define GLOBUS_COMMON_MODULE (&globus_i_common_module)
142 
143 
144 /******************************************************************************
145  i18n
146 ******************************************************************************/
147 
148 extern globus_extension_registry_t i18n_registry;
149 #define I18N_REGISTRY &i18n_registry
150 
151 char *
152 globus_common_i18n_get_string_by_key(
153  const char * locale,
154  const char * resource_name,
155  const char * key);
156 
157 char *
158 globus_common_i18n_get_string(
160  const char * key);
161 
162 /******************************************************************************
163  Install path discovery functions
164 ******************************************************************************/
165 
167 globus_location ( char ** bufp );
168 
170 globus_eval_path( const char * pathstring, char ** bufp);
171 
172 /* returns value of GLOBUS_LOCATION in the deploy dir config file */
174 globus_common_get_attribute_from_config_file( char * deploy_path,
175  char * file_location,
176  char * attribute,
177  char ** value );
178 
179 #ifdef __cplusplus
180 }
181 #endif
182 
183 #endif /* GLOBUS_INCLUDE_GLOBUS_COMMON_H */
Recursive Mutex.
Globus UUID Generator.
Byte Range List.
Globus Callback API.
Globus Threading Abstraction.
Linked List.
Globus Extension Modules.
Reference Counting Module Activation and Deactivation.
Debug Logging.
State Machine.
Memory Pool.
Globus Error Handling.
Mutex.
Definition: globus_thread.h:107
Lightweight Chaining Symboltable.
Thread Pooling.
globus_result_t globus_eval_path(const char *pathstring, char **bufp)
Definition: globus_common_paths.c:169
Command-Line Options Parser.
Condition variable.
Definition: globus_thread.h:124
Error Message Printing.
Priority Queue.
Globus Errno Error API.
Debugging Routines.
Home Directory ~ expansion.
uint32_t globus_result_t
Definition: globus_types.h:99
Hash Table.
Command-line Argument Parser.
Globus Error API.
Thread-safe libc macros, function prototypes.
Time Types and Macros.
URL Parsing.
Globus FIFO.
Handle Table for Reference Counting Data.
Include System Headers.
Common Thread Interface.
Module Descriptor.
Definition: globus_module.h:71