globus_error_openssl.h

Go to the documentation of this file.
00001 /*
00002  * Copyright 1999-2013 University of Chicago
00003  * 
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  * 
00008  * http://www.apache.org/licenses/LICENSE-2.0
00009  * 
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
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 /* GLOBUS_INCLUDE_OPENSSL_ERROR_H */

Generated on 5 Nov 2016 for globus_gsi_openssl_error by  doxygen 1.4.7