00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef GLOBUS_INCLUDE_OPENSSL_ERROR_H
00018 #define GLOBUS_INCLUDE_OPENSSL_ERROR_H
00019
00024 #ifndef GLOBUS_GLOBAL_DOCUMENT_SET
00025
00029 #endif
00030
00050 #include "globus_common.h"
00051 #include "globus_error_generic.h"
00052 #include "openssl/err.h"
00053
00054 #ifdef __cplusplus
00055 extern "C" {
00056 #endif
00057
00092 #define GLOBUS_GSI_OPENSSL_ERROR_MODULE (&globus_i_gsi_openssl_error_module)
00093
00094 extern
00095 globus_module_descriptor_t globus_i_gsi_openssl_error_module;
00096
00097
00102 #define GLOBUS_ERROR_TYPE_OPENSSL \
00103 (&GLOBUS_ERROR_TYPE_OPENSSL_DEFINITION)
00104
00105 extern const globus_object_type_t GLOBUS_ERROR_TYPE_OPENSSL_DEFINITION;
00106
00107 #define _GOESL(s) globus_common_i18n_get_string(\
00108 GLOBUS_GSI_OPENSSL_ERROR_MODULE, \
00109 s)
00110
00121 typedef struct globus_l_openssl_error_handle_s *
00122 globus_openssl_error_handle_t;
00123
00124 unsigned long
00125 globus_openssl_error_handle_get_error_code(
00126 globus_openssl_error_handle_t error_code);
00127
00128 const char *
00129 globus_openssl_error_handle_get_filename(
00130 globus_openssl_error_handle_t handle);
00131
00132 int
00133 globus_openssl_error_handle_get_linenumber(
00134 globus_openssl_error_handle_t handle);
00135
00136 const char *
00137 globus_openssl_error_handle_get_library(
00138 globus_openssl_error_handle_t handle);
00139
00140 const char *
00141 globus_openssl_error_handle_get_function(
00142 globus_openssl_error_handle_t handle);
00143
00144 const char *
00145 globus_openssl_error_handle_get_reason(
00146 globus_openssl_error_handle_t handle);
00147
00148 const char *
00149 globus_openssl_error_handle_get_data(
00150 globus_openssl_error_handle_t handle);
00151
00152 int
00153 globus_openssl_error_handle_get_data_flags(
00154 globus_openssl_error_handle_t handle);
00155
00156
00157 globus_object_t *
00158 globus_error_construct_openssl_error(
00159 globus_module_descriptor_t * base_source,
00160 globus_object_t * base_cause);
00161
00162 globus_object_t *
00163 globus_error_initialize_openssl_error(
00164 globus_object_t * error,
00165 globus_module_descriptor_t * base_source,
00166 globus_object_t * base_cause,
00167 globus_openssl_error_handle_t openssl_error_handle);
00168
00179 globus_object_t *
00180 globus_error_wrap_openssl_error(
00181 globus_module_descriptor_t * base_source,
00182 int error_type,
00183 const char * source_file,
00184 const char * source_func,
00185 int source_line,
00186 const char * format,
00187 ...);
00188
00189 globus_bool_t
00190 globus_error_match_openssl_error(
00191 globus_object_t * error,
00192 unsigned long library,
00193 unsigned long function,
00194 unsigned long reason);
00195
00196 const char *
00197 globus_error_openssl_error_get_filename(
00198 globus_object_t * error);
00199
00200 int
00201 globus_error_openssl_error_get_linenumber(
00202 globus_object_t * error);
00203
00204 const char *
00205 globus_error_openssl_error_get_library(
00206 globus_object_t * error);
00207
00208 const char *
00209 globus_error_openssl_error_get_function(
00210 globus_object_t * error);
00211
00212 const char *
00213 globus_error_openssl_error_get_reason(
00214 globus_object_t * error);
00215
00216 const char *
00217 globus_error_openssl_error_get_data(
00218 globus_object_t * error);
00219
00220 int
00221 globus_error_openssl_error_get_data_flags(
00222 globus_object_t * error);
00223
00224 #ifdef __cplusplus
00225 }
00226 #endif
00227
00228 #endif