globus_gsi_openssl_error 4.4
Loading...
Searching...
No Matches
globus_i_error_openssl.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_I_ERROR_OPENSSL_H
18#define GLOBUS_I_ERROR_OPENSSL_H
19
20#ifndef GLOBUS_DONT_DOCUMENT_INTERNAL
28
29
30#ifdef __cplusplus
31extern "C" {
32#endif
33
34
35#ifdef BUILD_DEBUG
36extern int globus_i_gsi_openssl_error_debug_level;
37
38#define GLOBUS_I_GSI_OPENSSL_ERROR_DEBUG(_LEVEL_) \
39 (globus_i_gsi_openssl_error_debug_level >= (_LEVEL_))
40
41#define GLOBUS_I_GSI_OPENSSL_ERROR_DEBUG_FPRINTF(_LEVEL_, _MESSAGE_) \
42 { \
43 if (GLOBUS_I_GSI_OPENSSL_ERROR_DEBUG(_LEVEL_)) \
44 { \
45 globus_libc_fprintf _MESSAGE_; \
46 } \
47 }
48
49
50#define GLOBUS_I_GSI_GSSAPI_DEBUG_FNPRINTF(_LEVEL_, _MESSAGE_) \
51{ \
52 if (GLOBUS_I_GSI_GSSAPI_DEBUG(_LEVEL_)) \
53 { \
54 char * _tmp_str_ = \
55 globus_common_create_nstring _MESSAGE_; \
56 globus_libc_fprintf(globus_i_gsi_gssapi_debug_fstream, \
57 _tmp_str_); \
58 globus_libc_free(_tmp_str_); \
59 } \
60}
61
62#define GLOBUS_I_GSI_OPENSSL_ERROR_DEBUG_ENTER \
63 GLOBUS_I_GSI_OPENSSL_ERROR_DEBUG_FPRINTF( \
64 1, (stderr, "%s entering\n", _function_name_))
65
66#define GLOBUS_I_GSI_OPENSSL_ERROR_DEBUG_EXIT \
67 GLOBUS_I_GSI_OPENSSL_ERROR_DEBUG_FPRINTF( \
68 1, (stderr, "%s exiting\n", _function_name_))
69
70#else
71
72#define GLOBUS_I_GSI_OPENSSL_ERROR_DEBUG_FPRINTF(_LEVEL_, _MESSAGE_) {}
73#define GLOBUS_I_GSI_OPENSSL_ERROR_DEBUG_FNPRINTF(_LEVEL_, _MESSAGE_) {}
74#define GLOBUS_I_GSI_OPENSSL_ERROR_DEBUG_ENTER {}
75#define GLOBUS_I_GSI_OPENSSL_ERROR_DEBUG_EXIT {}
76
77#endif
78
79
80typedef struct globus_l_openssl_error_handle_s
81{
82 unsigned long error_code;
83 const char * filename;
84 int linenumber;
85 const char * data;
86 int flags;
87} globus_i_openssl_error_handle_t;
88
89globus_openssl_error_handle_t
90globus_i_openssl_error_handle_init(void);
91
92void
93globus_i_openssl_error_handle_destroy(
94 globus_openssl_error_handle_t handle);
95
96#ifdef __cplusplus
97}
98#endif
99
100#endif /* GLOBUS_DONT_DOCUMENT_INTERNAL */
101
102#endif /* GLOBUS_I_ERROR_OPENSSL_H */
Globus Generic Error.