.TH "Error Construction" 3 "Wed Jan 25 2012" "Version 2.1" "globus gsi openssl error" \" -*- nroff -*- .ad l .nh .SH NAME Error Construction \- .SS "Defines" .in +1c .ti -1c .RI "#define \fBGLOBUS_ERROR_TYPE_OPENSSL\fP" .br .in -1c .SS "Get Error Code" .in +1c .ti -1c .RI "unsigned long \fBglobus_openssl_error_handle_get_error_code\fP (globus_openssl_error_handle_t handle)" .br .in -1c .SS "Get Error Data" .in +1c .ti -1c .RI "const char * \fBglobus_openssl_error_handle_get_data\fP (globus_openssl_error_handle_t handle)" .br .in -1c .SS "Get Error Data Flags" .in +1c .ti -1c .RI "int \fBglobus_openssl_error_handle_get_data_flags\fP (globus_openssl_error_handle_t handle)" .br .in -1c .SS "Get Filename" .in +1c .ti -1c .RI "const char * \fBglobus_openssl_error_handle_get_filename\fP (globus_openssl_error_handle_t handle)" .br .in -1c .SS "Get Linenumber" .in +1c .ti -1c .RI "int \fBglobus_openssl_error_handle_get_linenumber\fP (globus_openssl_error_handle_t handle)" .br .in -1c .SS "Get Library" .in +1c .ti -1c .RI "const char * \fBglobus_openssl_error_handle_get_library\fP (globus_openssl_error_handle_t handle)" .br .in -1c .SS "Get Function" .in +1c .ti -1c .RI "const char * \fBglobus_openssl_error_handle_get_function\fP (globus_openssl_error_handle_t handle)" .br .in -1c .SS "Get Reason" .in +1c .ti -1c .RI "const char * \fBglobus_openssl_error_handle_get_reason\fP (globus_openssl_error_handle_t handle)" .br .in -1c .SS "Construct Error" .in +1c .ti -1c .RI "globus_object_t * \fBglobus_error_construct_openssl_error\fP (globus_module_descriptor_t *base_source, globus_object_t *base_cause)" .br .in -1c .SS "Initialize Error" .in +1c .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 Create and initialize a Globus OpenSSL Error object\&. This section defines operations to create and initialize Globus OpenSSLError objects\&. .SH "Define Documentation" .PP .SS "#define \fBGLOBUS_ERROR_TYPE_OPENSSL\fP" .PP Error type definition\&. .SH "Function Documentation" .PP .SS "unsigned long \fBglobus_openssl_error_handle_get_error_code\fP (globus_openssl_error_handle_thandle)" .PP Get the openssl error code which represents the openssl error from the openssl error handle\&. \fBParameters:\fP .RS 4 \fIhandle\fP The openssl error handle .RE .PP \fBReturns:\fP .RS 4 The error code .RE .PP .SS "const char* \fBglobus_openssl_error_handle_get_data\fP (globus_openssl_error_handle_thandle)" .PP Get the openssl error data which contains additional data about the error from the openssl error handle\&. \fBParameters:\fP .RS 4 \fIhandle\fP The openssl error handle .RE .PP \fBReturns:\fP .RS 4 The error data .RE .PP .SS "int \fBglobus_openssl_error_handle_get_data_flags\fP (globus_openssl_error_handle_thandle)" .PP Get the openssl error data flags from the openssl error handle\&. \fBParameters:\fP .RS 4 \fIhandle\fP The openssl error handle .RE .PP \fBReturns:\fP .RS 4 The error data flags .RE .PP .SS "const char* \fBglobus_openssl_error_handle_get_filename\fP (globus_openssl_error_handle_thandle)" .PP Get the filename where the openssl error occurred from the openssl error handle\&. \fBParameters:\fP .RS 4 \fIhandle\fP The openssl error handle .RE .PP \fBReturns:\fP .RS 4 The filename .RE .PP .SS "int \fBglobus_openssl_error_handle_get_linenumber\fP (globus_openssl_error_handle_thandle)" .PP Get the linenumber on which the openssl error occurred from the openssl error handle\&. \fBParameters:\fP .RS 4 \fIhandle\fP The openssl error handle .RE .PP \fBReturns:\fP .RS 4 The linenumber .RE .PP .SS "const char* \fBglobus_openssl_error_handle_get_library\fP (globus_openssl_error_handle_thandle)" .PP Get the library name where the openssl error occurred in from the openssl error handle\&. \fBParameters:\fP .RS 4 \fIhandle\fP The openssl error handle .RE .PP \fBReturns:\fP .RS 4 The library name .RE .PP .SS "const char* \fBglobus_openssl_error_handle_get_function\fP (globus_openssl_error_handle_thandle)" .PP Get the function name where the openssl error occurred from the openssl error handle\&. \fBParameters:\fP .RS 4 \fIhandle\fP The openssl error handle .RE .PP \fBReturns:\fP .RS 4 The function name .RE .PP .SS "const char* \fBglobus_openssl_error_handle_get_reason\fP (globus_openssl_error_handle_thandle)" .PP Get the reason string which caused the openssl error from the openssl error handle\&. \fBParameters:\fP .RS 4 \fIhandle\fP The openssl error handle .RE .PP \fBReturns:\fP .RS 4 The reson string .RE .PP .SS "globus_object_t* \fBglobus_error_construct_openssl_error\fP (globus_module_descriptor_t *base_source, globus_object_t *base_cause)" .PP 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\&. .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\&. .RE .PP .SS "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_topenssl_error_handle)" .PP Initialize a previously allocated error of type GLOBUS_ERROR_TYPE_OPENSSL\&. \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 paramater 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 .SH "Author" .PP Generated automatically by Doxygen for globus gsi openssl error from the source code\&.