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
00051 #include "globus_common.h"
00052 #include "globus_error_generic.h"
00053 #include "openssl/err.h"
00054
00055 #ifdef __cplusplus
00056 extern "C" {
00057 #endif
00058
00094 #define GLOBUS_GSI_OPENSSL_ERROR_MODULE (&globus_i_gsi_openssl_error_module)
00095
00096 extern
00097 globus_module_descriptor_t globus_i_gsi_openssl_error_module;
00098
00099
00104 #define GLOBUS_ERROR_TYPE_OPENSSL \
00105 (&GLOBUS_ERROR_TYPE_OPENSSL_DEFINITION)
00106
00107 extern const globus_object_type_t GLOBUS_ERROR_TYPE_OPENSSL_DEFINITION;
00108
00109 #define _GOESL(s) globus_common_i18n_get_string(\
00110 GLOBUS_GSI_OPENSSL_ERROR_MODULE, \
00111 s)
00112
00124 typedef struct globus_l_openssl_error_handle_s *
00125 globus_openssl_error_handle_t;
00126
00127 unsigned long
00128 globus_openssl_error_handle_get_error_code(
00129 globus_openssl_error_handle_t error_code);
00130
00131 const char *
00132 globus_openssl_error_handle_get_filename(
00133 globus_openssl_error_handle_t handle);
00134
00135 int
00136 globus_openssl_error_handle_get_linenumber(
00137 globus_openssl_error_handle_t handle);
00138
00139 const char *
00140 globus_openssl_error_handle_get_library(
00141 globus_openssl_error_handle_t handle);
00142
00143 const char *
00144 globus_openssl_error_handle_get_function(
00145 globus_openssl_error_handle_t handle);
00146
00147 const char *
00148 globus_openssl_error_handle_get_reason(
00149 globus_openssl_error_handle_t handle);
00150
00151 const char *
00152 globus_openssl_error_handle_get_data(
00153 globus_openssl_error_handle_t handle);
00154
00155 int
00156 globus_openssl_error_handle_get_data_flags(
00157 globus_openssl_error_handle_t handle);
00158
00159
00160 globus_object_t *
00161 globus_error_construct_openssl_error(
00162 globus_module_descriptor_t * base_source,
00163 globus_object_t * base_cause);
00164
00165 globus_object_t *
00166 globus_error_initialize_openssl_error(
00167 globus_object_t * error,
00168 globus_module_descriptor_t * base_source,
00169 globus_object_t * base_cause,
00170 globus_openssl_error_handle_t openssl_error_handle);
00171
00183 globus_object_t *
00184 globus_error_wrap_openssl_error(
00185 globus_module_descriptor_t * base_source,
00186 int error_type,
00187 const char * source_file,
00188 const char * source_func,
00189 int source_line,
00190 const char * format,
00191 ...);
00192
00193 globus_bool_t
00194 globus_error_match_openssl_error(
00195 globus_object_t * error,
00196 unsigned long library,
00197 unsigned long function,
00198 unsigned long reason);
00199
00200 const char *
00201 globus_error_openssl_error_get_filename(
00202 globus_object_t * error);
00203
00204 int
00205 globus_error_openssl_error_get_linenumber(
00206 globus_object_t * error);
00207
00208 const char *
00209 globus_error_openssl_error_get_library(
00210 globus_object_t * error);
00211
00212 const char *
00213 globus_error_openssl_error_get_function(
00214 globus_object_t * error);
00215
00216 const char *
00217 globus_error_openssl_error_get_reason(
00218 globus_object_t * error);
00219
00220 const char *
00221 globus_error_openssl_error_get_data(
00222 globus_object_t * error);
00223
00224 int
00225 globus_error_openssl_error_get_data_flags(
00226 globus_object_t * error);
00227
00228 #ifdef __cplusplus
00229 }
00230 #endif
00231
00232 #endif