.TH "globus_openssl_error_object" 3 "Version 4.4" "globus_gsi_openssl_error" \" -*- nroff -*- .ad l .nh .SH NAME globus_openssl_error_object \- Globus OpenSSL Error Object .PP \- Globus OpenSSL Error Object\&. .SH SYNOPSIS .br .PP .SS "Macros" .in +1c .ti -1c .RI "#define \fBGLOBUS_ERROR_TYPE_OPENSSL\fP" .br .in -1c .SS "Functions" .in +1c .ti -1c .RI "unsigned long \fBglobus_openssl_error_handle_get_error_code\fP (globus_openssl_error_handle_t handle)" .br .ti -1c .RI "const char * \fBglobus_openssl_error_handle_get_data\fP (globus_openssl_error_handle_t handle)" .br .ti -1c .RI "int \fBglobus_openssl_error_handle_get_data_flags\fP (globus_openssl_error_handle_t handle)" .br .ti -1c .RI "const char * \fBglobus_openssl_error_handle_get_filename\fP (globus_openssl_error_handle_t handle)" .br .ti -1c .RI "int \fBglobus_openssl_error_handle_get_linenumber\fP (globus_openssl_error_handle_t handle)" .br .ti -1c .RI "const char * \fBglobus_openssl_error_handle_get_library\fP (globus_openssl_error_handle_t handle)" .br .ti -1c .RI "const char * \fBglobus_openssl_error_handle_get_function\fP (globus_openssl_error_handle_t handle)" .br .ti -1c .RI "const char * \fBglobus_openssl_error_handle_get_reason\fP (globus_openssl_error_handle_t handle)" .br .ti -1c .RI "globus_object_t * \fBglobus_error_construct_openssl_error\fP (globus_module_descriptor_t *base_source, globus_object_t *base_cause)" .br .ti -1c .RI "globus_object_t * \fBglobus_error_initialize_openssl_error\fP (globus_object_t *error, globus_module_descriptor_t *base_source, globus_object_t *base_cause, globus_openssl_error_handle_t openssl_error_handle)" .br .in -1c .SH "Detailed Description" .PP Globus OpenSSL Error Object\&. The globus_openssl_error_handle_t is an opaque structure pointer which contains information about the OpenSSL call which generated an error\&. The functions in the \fBGlobus OpenSSL Error Object \fP section of the API are used to create, manipulate, and destroy Globus OpenSSL Error object data\&. .SH "Macro Definition Documentation" .PP .SS "#define GLOBUS_ERROR_TYPE_OPENSSL" Error type definition .SH "Function Documentation" .PP .SS "globus_object_t * globus_error_construct_openssl_error (globus_module_descriptor_t * base_source, globus_object_t * base_cause)" Allocate and initialize an error of type GLOBUS_ERROR_TYPE_OPENSSL This function, combined with \fBglobus_error_initialize_openssl_error()\fP will recursively generate globus error objects (of type globus_object_t) from the errors on OpenSSL's static error stack\&. The errors will be chained in a causal fashion to provide a path to the root cause of the actual error\&. .br .PP NOTE: the static stack OpenSSL implements for its errors currently only supports at most 16 errors, so if more are added, the errors that were added first will be wiped out\&. If 16 errors are counted in the chain of OpenSSL errors, its possible that some errors (including the original error) are missing\&. .PP \fBParameters\fP .RS 4 \fIbase_source\fP Pointer to the originating globus module\&. .br \fIbase_cause\fP The error object causing the error\&. This parameter should be NULL in nearly all cases, as the root cause of an error will most likely be in the OpenSSL code itself\&. The actual cause of the error is determined from the static stack of OpenSSL errors\&. .RE .PP \fBReturns\fP .RS 4 The resulting error object\&. It is the user's responsibility to eventually free this object using globus_object_free()\&. A globus_result_t may be obtained by calling globus_error_put() on this object\&. .br .RE .PP .SS "globus_object_t * globus_error_initialize_openssl_error (globus_object_t * error, globus_module_descriptor_t * base_source, globus_object_t * base_cause, globus_openssl_error_handle_t openssl_error_handle)" Initialize a previously allocated error of type GLOBUS_ERROR_TYPE_OPENSSL .PP \fBParameters\fP .RS 4 \fIerror\fP The previously allocated error object\&. .br \fIbase_source\fP Pointer to the originating module\&. .br \fIbase_cause\fP The error object causing the error\&. If this is the original error this parameter may be NULL\&. .br \fIopenssl_error_handle\fP The OpenSSL error handle associated with this error, this parameter should already be initialized to contain the OpenSSL error code associated with the error\&. .RE .PP \fBReturns\fP .RS 4 The resulting error object\&. You may have to call globus_error_put() on this object before passing it on\&. .RE .PP .SS "const char * globus_openssl_error_handle_get_data (globus_openssl_error_handle_t handle)" Get the OpenSSL error data which contains additional data about the error from the OpenSSL error handle .PP \fBParameters\fP .RS 4 \fIhandle\fP The OpenSSL error handle .RE .PP \fBReturns\fP .RS 4 The error data .RE .PP .SS "int globus_openssl_error_handle_get_data_flags (globus_openssl_error_handle_t handle)" Get the OpenSSL error data flags from the OpenSSL error handle .PP \fBParameters\fP .RS 4 \fIhandle\fP The OpenSSL error handle .RE .PP \fBReturns\fP .RS 4 The error data flags .RE .PP .SS "unsigned long globus_openssl_error_handle_get_error_code (globus_openssl_error_handle_t handle)" Get the OpenSSL error code which represents the OpenSSL error from the OpenSSL error handle .PP \fBParameters\fP .RS 4 \fIhandle\fP The OpenSSL error handle .RE .PP \fBReturns\fP .RS 4 The error code .RE .PP .SS "const char * globus_openssl_error_handle_get_filename (globus_openssl_error_handle_t handle)" Get the filename where the OpenSSL error occurred from the OpenSSL error handle .PP \fBParameters\fP .RS 4 \fIhandle\fP The OpenSSL error handle .RE .PP \fBReturns\fP .RS 4 The filename .RE .PP .SS "const char * globus_openssl_error_handle_get_function (globus_openssl_error_handle_t handle)" Get the function name where the OpenSSL error occurred from the OpenSSL error handle .PP \fBParameters\fP .RS 4 \fIhandle\fP The OpenSSL error handle .RE .PP \fBReturns\fP .RS 4 The function name .RE .PP .SS "const char * globus_openssl_error_handle_get_library (globus_openssl_error_handle_t handle)" Get the library name where the OpenSSL error occurred in from the OpenSSL error handle .PP \fBParameters\fP .RS 4 \fIhandle\fP The OpenSSL error handle .RE .PP \fBReturns\fP .RS 4 The library name .RE .PP .SS "int globus_openssl_error_handle_get_linenumber (globus_openssl_error_handle_t handle)" Get the line number on which the OpenSSL error occurred from the OpenSSL error handle .PP \fBParameters\fP .RS 4 \fIhandle\fP The OpenSSL error handle .RE .PP \fBReturns\fP .RS 4 The line number .RE .PP .SS "const char * globus_openssl_error_handle_get_reason (globus_openssl_error_handle_t handle)" Get the reason string which caused the OpenSSL error from the OpenSSL error handle .PP \fBParameters\fP .RS 4 \fIhandle\fP The OpenSSL error handle .RE .PP \fBReturns\fP .RS 4 The reason string .RE .PP .SH "Author" .PP Generated automatically by Doxygen for globus_gsi_openssl_error from the source code\&.