globus_gsi_cert_utils 10.10
Loading...
Searching...
No Matches
globus_i_gsi_cert_utils.h
1/*
2 * Copyright 1999-2006 University of Chicago
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17#ifndef GLOBUS_DONT_DOCUMENT_INTERNAL
24#ifndef GLOBUS_I_GSI_CERT_UTILS_H
25#define GLOBUS_I_GSI_CERT_UTILS_H
26
28
29/* DEBUG MACROS */
30
31#ifdef BUILD_DEBUG
32
33extern int globus_i_gsi_cert_utils_debug_level;
34extern FILE * globus_i_gsi_cert_utils_debug_fstream;
35
36#define GLOBUS_I_GSI_CERT_UTILS_DEBUG(_LEVEL_) \
37 (globus_i_gsi_cert_utils_debug_level >= (_LEVEL_))
38
39#define GLOBUS_I_GSI_CERT_UTILS_DEBUG_FPRINTF(_LEVEL_, _MESSAGE_) \
40 { \
41 if (GLOBUS_I_GSI_CERT_UTILS_DEBUG(_LEVEL_)) \
42 { \
43 globus_libc_fprintf _MESSAGE_; \
44 } \
45 }
46
47#define GLOBUS_I_GSI_CERT_UTILS_DEBUG_FNPRINTF(_LEVEL_, _MESSAGE_) \
48 { \
49 if (GLOBUS_I_GSI_CERT_UTILS_DEBUG(_LEVEL_)) \
50 { \
51 char * _tmp_str_ = \
52 globus_common_create_nstring _MESSAGE_; \
53 globus_libc_fprintf(globus_i_gsi_cert_utils_debug_fstream, \
54 "%s", _tmp_str_); \
55 globus_libc_free(_tmp_str_); \
56 } \
57 }
58
59#define GLOBUS_I_GSI_CERT_UTILS_DEBUG_PRINT(_LEVEL_, _MESSAGE_) \
60 { \
61 if (GLOBUS_I_GSI_CERT_UTILS_DEBUG(_LEVEL_)) \
62 { \
63 globus_libc_fprintf(globus_i_gsi_cert_utils_debug_fstream, \
64 _MESSAGE_); \
65 } \
66 }
67
68#define GLOBUS_I_GSI_CERT_UTILS_DEBUG_PRINT_OBJECT(_LEVEL_, \
69 _OBJ_NAME_, \
70 _OBJ_) \
71 { \
72 if (GLOBUS_I_GSI_CERT_UTILS_DEBUG(_LEVEL_)) \
73 { \
74 _OBJ_NAME_##_print_fp(globus_i_gsi_cert_utils_debug_fstream, \
75 _OBJ_); \
76 } \
77 }
78
79#else
80
81#define GLOBUS_I_GSI_CERT_UTILS_DEBUG_FPRINTF(_LEVEL_, _MESSAGE_) {}
82#define GLOBUS_I_GSI_CERT_UTILS_DEBUG_FNPRINTF(_LEVEL_, _MESSAGE_) {}
83#define GLOBUS_I_GSI_CERT_UTILS_DEBUG_PRINT(_LEVEL_, _MESSAGE_) {}
84#define GLOBUS_I_GSI_CERT_UTILS_DEBUG_PRINT_OBJECT(_LEVEL_, \
85 _OBJ_NAME_, _OBJ_) {}
86
87#endif
88
89#define GLOBUS_I_GSI_CERT_UTILS_DEBUG_ENTER \
90 GLOBUS_I_GSI_CERT_UTILS_DEBUG_FPRINTF( \
91 1, (globus_i_gsi_cert_utils_debug_fstream, \
92 "%s entering\n", _function_name_))
93
94#define GLOBUS_I_GSI_CERT_UTILS_DEBUG_EXIT \
95 GLOBUS_I_GSI_CERT_UTILS_DEBUG_FPRINTF( \
96 2, (globus_i_gsi_cert_utils_debug_fstream, \
97 "%s exiting\n", _function_name_))
98
99/* ERROR MACROS */
100
101extern char * globus_l_gsi_cert_utils_error_strings[];
102
103#define GLOBUS_GSI_CERT_UTILS_OPENSSL_ERROR_RESULT(_RESULT_, \
104 _ERRORTYPE_, _ERRSTR_) \
105 { \
106 char * _tmp_str_ = \
107 globus_common_create_string _ERRSTR_; \
108 _RESULT_ = globus_i_gsi_cert_utils_openssl_error_result(_ERRORTYPE_, \
109 __FILE__, \
110 _function_name_, \
111 __LINE__, \
112 _tmp_str_, \
113 NULL); \
114 globus_libc_free(_tmp_str_); \
115 }
116
117#define GLOBUS_GSI_CERT_UTILS_ERROR_RESULT(_RESULT_, _ERRORTYPE_, _ERRSTR_) \
118 { \
119 char * _tmp_str_ = \
120 globus_common_create_string _ERRSTR_; \
121 _RESULT_ = globus_i_gsi_cert_utils_error_result(_ERRORTYPE_, \
122 __FILE__, \
123 _function_name_, \
124 __LINE__, \
125 _tmp_str_, \
126 NULL); \
127 globus_libc_free(_tmp_str_); \
128 }
129
130#define GLOBUS_GSI_CERT_UTILS_ERROR_CHAIN_RESULT(_TOP_RESULT_, _ERRORTYPE_) \
131 _TOP_RESULT_ = globus_i_gsi_cert_utils_error_chain_result(_TOP_RESULT_, \
132 _ERRORTYPE_, \
133 __FILE__, \
134 _function_name_, \
135 __LINE__, \
136 NULL, \
137 NULL)
138
139#define GLOBUS_GSI_CERT_UTILS_OPENSSL_LONG_ERROR_RESULT(_RESULT_, \
140 _ERRORTYPE_, \
141 _ERRSTR_, \
142 _LONG_DESC_) \
143 { \
144 char * _tmp_str_ = \
145 globus_common_create_string _ERRSTR_; \
146 _RESULT_ = globus_i_gsi_cert_utils_openssl_error_result( \
147 _ERRORTYPE_, \
148 __FILE__, \
149 _function_name_, \
150 __LINE__, \
151 _tmp_str_, \
152 _LONG_DESC_); \
153 globus_libc_free(_tmp_str_); \
154 }
155
156#define GLOBUS_GSI_CERT_UTILS_LONG_ERROR_RESULT(_RESULT_, \
157 _ERRORTYPE_, \
158 _ERRSTR_, \
159 _LONG_DESC_) \
160 { \
161 char * _tmp_str_ = \
162 globus_common_create_string _ERRSTR_; \
163 _RESULT_ = globus_i_gsi_cert_utils_error_result(_ERRORTYPE_, \
164 __FILE__, \
165 _function_name_, \
166 __LINE__, \
167 _tmp_str_, \
168 _LONG_DESC_); \
169 globus_libc_free(_tmp_str_); \
170 }
171
172#define GLOBUS_GSI_CERT_UTILS_LONG_ERROR_CHAIN_RESULT(_TOP_RESULT_, \
173 _ERRORTYPE_, \
174 _LONG_DESC_) \
175 _TOP_RESULT_ = globus_i_gsi_cert_utils_error_chain_result(_TOP_RESULT_, \
176 _ERRORTYPE_, \
177 __FILE__, \
178 _function_name_, \
179 __LINE__, \
180 NULL, \
181 _LONG_DESC_)
182
183#define GLOBUS_GSI_CERT_UTILS_MALLOC_ERROR(_MIN_RESULT_) \
184 { \
185 char * _tmp_str_ = \
186 globus_l_gsi_cert_utils_error_strings[ \
187 GLOBUS_GSI_CERT_UTILS_ERROR_OUT_OF_MEMORY]; \
188 _MIN_RESULT_ = globus_error_put( \
189 globus_error_wrap_errno_error( \
190 GLOBUS_GSI_CERT_UTILS_MODULE, \
191 errno, \
192 GLOBUS_GSI_CERT_UTILS_ERROR_OUT_OF_MEMORY, \
193 __FILE__, \
194 _function_name_, \
195 __LINE__, \
196 "%s", \
197 _tmp_str_)); \
198 }
199
200globus_result_t
201globus_i_gsi_cert_utils_openssl_error_result(
202 int error_type,
203 const char * filename,
204 const char * function_name,
205 int line_number,
206 const char * short_desc,
207 const char * long_desc);
208
209globus_result_t
210globus_i_gsi_cert_utils_error_result(
211 int error_type,
212 const char * filename,
213 const char * function_name,
214 int line_number,
215 const char * short_desc,
216 const char * long_desc);
217
218globus_result_t
219globus_i_gsi_cert_utils_error_chain_result(
220 globus_result_t chain_result,
221 int error_type,
222 const char * filename,
223 const char * function_name,
224 int line_number,
225 const char * short_desc,
226 const char * long_desc);
227
228EXTERN_C_END
229
230#endif /* GLOBUS_I_GSI_CERT_UTILS_H */
231
232#endif /* GLOBUS_DONT_DOCUMENT_INTERNAL */
Globus GSI Cert Utils Library.