globus_gsi_cert_utils  9.19
 All Files Functions Typedefs Enumerations Enumerator Groups Pages
globus_i_gsi_cert_utils.h
1 
2 #ifndef GLOBUS_DONT_DOCUMENT_INTERNAL
3 
9 #ifndef GLOBUS_I_GSI_CERT_UTILS_H
10 #define GLOBUS_I_GSI_CERT_UTILS_H
11 
12 #include "globus_gsi_cert_utils.h"
13 
14 /* DEBUG MACROS */
15 
16 #ifdef BUILD_DEBUG
17 
18 extern int globus_i_gsi_cert_utils_debug_level;
19 extern FILE * globus_i_gsi_cert_utils_debug_fstream;
20 
21 #define GLOBUS_I_GSI_CERT_UTILS_DEBUG(_LEVEL_) \
22  (globus_i_gsi_cert_utils_debug_level >= (_LEVEL_))
23 
24 #define GLOBUS_I_GSI_CERT_UTILS_DEBUG_FPRINTF(_LEVEL_, _MESSAGE_) \
25  { \
26  if (GLOBUS_I_GSI_CERT_UTILS_DEBUG(_LEVEL_)) \
27  { \
28  globus_libc_fprintf _MESSAGE_; \
29  } \
30  }
31 
32 #define GLOBUS_I_GSI_CERT_UTILS_DEBUG_FNPRINTF(_LEVEL_, _MESSAGE_) \
33  { \
34  if (GLOBUS_I_GSI_CERT_UTILS_DEBUG(_LEVEL_)) \
35  { \
36  char * _tmp_str_ = \
37  globus_common_create_nstring _MESSAGE_; \
38  globus_libc_fprintf(globus_i_gsi_cert_utils_debug_fstream, \
39  "%s", _tmp_str_); \
40  globus_libc_free(_tmp_str_); \
41  } \
42  }
43 
44 #define GLOBUS_I_GSI_CERT_UTILS_DEBUG_PRINT(_LEVEL_, _MESSAGE_) \
45  { \
46  if (GLOBUS_I_GSI_CERT_UTILS_DEBUG(_LEVEL_)) \
47  { \
48  globus_libc_fprintf(globus_i_gsi_cert_utils_debug_fstream, \
49  _MESSAGE_); \
50  } \
51  }
52 
53 #define GLOBUS_I_GSI_CERT_UTILS_DEBUG_PRINT_OBJECT(_LEVEL_, \
54  _OBJ_NAME_, \
55  _OBJ_) \
56  { \
57  if (GLOBUS_I_GSI_CERT_UTILS_DEBUG(_LEVEL_)) \
58  { \
59  _OBJ_NAME_##_print_fp(globus_i_gsi_cert_utils_debug_fstream, \
60  _OBJ_); \
61  } \
62  }
63 
64 #else
65 
66 #define GLOBUS_I_GSI_CERT_UTILS_DEBUG_FPRINTF(_LEVEL_, _MESSAGE_) {}
67 #define GLOBUS_I_GSI_CERT_UTILS_DEBUG_FNPRINTF(_LEVEL_, _MESSAGE_) {}
68 #define GLOBUS_I_GSI_CERT_UTILS_DEBUG_PRINT(_LEVEL_, _MESSAGE_) {}
69 #define GLOBUS_I_GSI_CERT_UTILS_DEBUG_PRINT_OBJECT(_LEVEL_, \
70  _OBJ_NAME_, _OBJ_) {}
71 
72 #endif
73 
74 #define GLOBUS_I_GSI_CERT_UTILS_DEBUG_ENTER \
75  GLOBUS_I_GSI_CERT_UTILS_DEBUG_FPRINTF( \
76  1, (globus_i_gsi_cert_utils_debug_fstream, \
77  "%s entering\n", _function_name_))
78 
79 #define GLOBUS_I_GSI_CERT_UTILS_DEBUG_EXIT \
80  GLOBUS_I_GSI_CERT_UTILS_DEBUG_FPRINTF( \
81  2, (globus_i_gsi_cert_utils_debug_fstream, \
82  "%s exiting\n", _function_name_))
83 
84 /* ERROR MACROS */
85 
86 extern char * globus_l_gsi_cert_utils_error_strings[];
87 
88 #define GLOBUS_GSI_CERT_UTILS_OPENSSL_ERROR_RESULT(_RESULT_, \
89  _ERRORTYPE_, _ERRSTR_) \
90  { \
91  char * _tmp_str_ = \
92  globus_common_create_string _ERRSTR_; \
93  _RESULT_ = globus_i_gsi_cert_utils_openssl_error_result(_ERRORTYPE_, \
94  __FILE__, \
95  _function_name_, \
96  __LINE__, \
97  _tmp_str_, \
98  NULL); \
99  globus_libc_free(_tmp_str_); \
100  }
101 
102 #define GLOBUS_GSI_CERT_UTILS_ERROR_RESULT(_RESULT_, _ERRORTYPE_, _ERRSTR_) \
103  { \
104  char * _tmp_str_ = \
105  globus_common_create_string _ERRSTR_; \
106  _RESULT_ = globus_i_gsi_cert_utils_error_result(_ERRORTYPE_, \
107  __FILE__, \
108  _function_name_, \
109  __LINE__, \
110  _tmp_str_, \
111  NULL); \
112  globus_libc_free(_tmp_str_); \
113  }
114 
115 #define GLOBUS_GSI_CERT_UTILS_ERROR_CHAIN_RESULT(_TOP_RESULT_, _ERRORTYPE_) \
116  _TOP_RESULT_ = globus_i_gsi_cert_utils_error_chain_result(_TOP_RESULT_, \
117  _ERRORTYPE_, \
118  __FILE__, \
119  _function_name_, \
120  __LINE__, \
121  NULL, \
122  NULL)
123 
124 #define GLOBUS_GSI_CERT_UTILS_OPENSSL_LONG_ERROR_RESULT(_RESULT_, \
125  _ERRORTYPE_, \
126  _ERRSTR_, \
127  _LONG_DESC_) \
128  { \
129  char * _tmp_str_ = \
130  globus_common_create_string _ERRSTR_; \
131  _RESULT_ = globus_i_gsi_cert_utils_openssl_error_result( \
132  _ERRORTYPE_, \
133  __FILE__, \
134  _function_name_, \
135  __LINE__, \
136  _tmp_str_, \
137  _LONG_DESC_); \
138  globus_libc_free(_tmp_str_); \
139  }
140 
141 #define GLOBUS_GSI_CERT_UTILS_LONG_ERROR_RESULT(_RESULT_, \
142  _ERRORTYPE_, \
143  _ERRSTR_, \
144  _LONG_DESC_) \
145  { \
146  char * _tmp_str_ = \
147  globus_common_create_string _ERRSTR_; \
148  _RESULT_ = globus_i_gsi_cert_utils_error_result(_ERRORTYPE_, \
149  __FILE__, \
150  _function_name_, \
151  __LINE__, \
152  _tmp_str_, \
153  _LONG_DESC_); \
154  globus_libc_free(_tmp_str_); \
155  }
156 
157 #define GLOBUS_GSI_CERT_UTILS_LONG_ERROR_CHAIN_RESULT(_TOP_RESULT_, \
158  _ERRORTYPE_, \
159  _LONG_DESC_) \
160  _TOP_RESULT_ = globus_i_gsi_cert_utils_error_chain_result(_TOP_RESULT_, \
161  _ERRORTYPE_, \
162  __FILE__, \
163  _function_name_, \
164  __LINE__, \
165  NULL, \
166  _LONG_DESC_)
167 
168 #define GLOBUS_GSI_CERT_UTILS_MALLOC_ERROR(_MIN_RESULT_) \
169  { \
170  char * _tmp_str_ = \
171  globus_l_gsi_cert_utils_error_strings[ \
172  GLOBUS_GSI_CERT_UTILS_ERROR_OUT_OF_MEMORY]; \
173  _MIN_RESULT_ = globus_error_put( \
174  globus_error_wrap_errno_error( \
175  GLOBUS_GSI_CERT_UTILS_MODULE, \
176  errno, \
177  GLOBUS_GSI_CERT_UTILS_ERROR_OUT_OF_MEMORY, \
178  __FILE__, \
179  _function_name_, \
180  __LINE__, \
181  "%s", \
182  _tmp_str_)); \
183  }
184 
185 globus_result_t
186 globus_i_gsi_cert_utils_openssl_error_result(
187  int error_type,
188  const char * filename,
189  const char * function_name,
190  int line_number,
191  const char * short_desc,
192  const char * long_desc);
193 
194 globus_result_t
195 globus_i_gsi_cert_utils_error_result(
196  int error_type,
197  const char * filename,
198  const char * function_name,
199  int line_number,
200  const char * short_desc,
201  const char * long_desc);
202 
203 globus_result_t
204 globus_i_gsi_cert_utils_error_chain_result(
205  globus_result_t chain_result,
206  int error_type,
207  const char * filename,
208  const char * function_name,
209  int line_number,
210  const char * short_desc,
211  const char * long_desc);
212 
213 EXTERN_C_END
214 
215 #endif /* GLOBUS_I_GSI_CERT_UTILS_H */
216 
217 #endif /* GLOBUS_DONT_DOCUMENT_INTERNAL */
Globus GSI Cert Utils Library.