2 #ifndef GLOBUS_I_ERROR_OPENSSL_H
3 #define GLOBUS_I_ERROR_OPENSSL_H
5 #ifndef GLOBUS_DONT_DOCUMENT_INTERNAL
21 extern int globus_i_gsi_openssl_error_debug_level;
23 #define GLOBUS_I_GSI_OPENSSL_ERROR_DEBUG(_LEVEL_) \
24 (globus_i_gsi_openssl_error_debug_level >= (_LEVEL_))
26 #define GLOBUS_I_GSI_OPENSSL_ERROR_DEBUG_FPRINTF(_LEVEL_, _MESSAGE_) \
28 if (GLOBUS_I_GSI_OPENSSL_ERROR_DEBUG(_LEVEL_)) \
30 globus_libc_fprintf _MESSAGE_; \
35 #define GLOBUS_I_GSI_GSSAPI_DEBUG_FNPRINTF(_LEVEL_, _MESSAGE_) \
37 if (GLOBUS_I_GSI_GSSAPI_DEBUG(_LEVEL_)) \
40 globus_common_create_nstring _MESSAGE_; \
41 globus_libc_fprintf(globus_i_gsi_gssapi_debug_fstream, \
43 globus_libc_free(_tmp_str_); \
47 #define GLOBUS_I_GSI_OPENSSL_ERROR_DEBUG_ENTER \
48 GLOBUS_I_GSI_OPENSSL_ERROR_DEBUG_FPRINTF( \
49 1, (stderr, "%s entering\n", _function_name_))
51 #define GLOBUS_I_GSI_OPENSSL_ERROR_DEBUG_EXIT \
52 GLOBUS_I_GSI_OPENSSL_ERROR_DEBUG_FPRINTF( \
53 1, (stderr, "%s exiting\n", _function_name_))
57 #define GLOBUS_I_GSI_OPENSSL_ERROR_DEBUG_FPRINTF(_LEVEL_, _MESSAGE_) {}
58 #define GLOBUS_I_GSI_OPENSSL_ERROR_DEBUG_FNPRINTF(_LEVEL_, _MESSAGE_) {}
59 #define GLOBUS_I_GSI_OPENSSL_ERROR_DEBUG_ENTER {}
60 #define GLOBUS_I_GSI_OPENSSL_ERROR_DEBUG_EXIT {}
65 typedef struct globus_l_openssl_error_handle_s
67 unsigned long error_code;
68 const char * filename;
72 } globus_i_openssl_error_handle_t;
74 globus_openssl_error_handle_t
75 globus_i_openssl_error_handle_init(
void);
78 globus_i_openssl_error_handle_destroy(
79 globus_openssl_error_handle_t handle);