Create and initialize a Globus OpenSSL Error object.
More...
Defines
Get Error Code
Get Error Data
Get Error Data Flags
Get Filename
Get Linenumber
Get Library
Get Function
Get Reason
Construct Error
Initialize Error
- 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)
Detailed Description
Create and initialize a Globus OpenSSL Error object.
This section defines operations to create and initialize Globus OpenSSLError objects.
Define Documentation
#define GLOBUS_ERROR_TYPE_OPENSSL |
Function Documentation
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.
- Parameters:
-
| handle | The openssl error handle |
- Returns:
- The error code
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.
- Parameters:
-
| handle | The openssl error handle |
- Returns:
- The error data
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.
- Parameters:
-
| handle | The openssl error handle |
- Returns:
- The error data flags
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.
- Parameters:
-
| handle | The openssl error handle |
- Returns:
- The filename
int globus_openssl_error_handle_get_linenumber |
( |
globus_openssl_error_handle_t |
handle |
) |
|
Get the linenumber on which the openssl error occurred from the openssl error handle.
- Parameters:
-
| handle | The openssl error handle |
- Returns:
- The linenumber
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.
- Parameters:
-
| handle | The openssl error handle |
- Returns:
- The library name
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.
- Parameters:
-
| handle | The openssl error handle |
- Returns:
- The function name
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.
- Parameters:
-
| handle | The openssl error handle |
- Returns:
- The reson string
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 globus_error_initialize_openssl_error() 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.
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.
- Parameters:
-
| base_source | Pointer to the originating globus module. |
| base_cause | 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. |
- Returns:
- 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.
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.
- Parameters:
-
| error | The previously allocated error object. |
| base_source | Pointer to the originating module. |
| base_cause | The error object causing the error. If this is the original error this paramater may be NULL. |
| openssl_error_handle | The openssl error handle associated with this error, this parameter should already be initialized to contain the openssl error code associated with the error. |
- Returns:
- The resulting error object. You may have to call globus_error_put() on this object before passing it on.