Scroll to navigation

globus_errno_error_utility(3) globus_common globus_errno_error_utility(3)

NAME

globus_errno_error_utility - Error Handling Helpers


- Error Handling Helpers.

SYNOPSIS

Error Match


globus_bool_t globus_error_errno_match (globus_object_t *error, globus_module_descriptor_t *module, int system_errno)
int globus_error_errno_search (globus_object_t *error)
Search for an errno value in an error chain <>

Wrap Errno Error


globus_object_t * globus_error_wrap_errno_error (globus_module_descriptor_t *base_source, int system_errno, int type, const char *source_file, const char *source_func, int source_line, const char *short_desc_format,...)

Detailed Description

Error Handling Helpers.

Helper functions for dealing with Globus Errno Error objects.

This section defines utility functions for dealing with Globus Errno Error objects.

Function Documentation

globus_bool_t globus_error_errno_match (globus_object_t * error, globus_module_descriptor_t * module, int system_errno)

Check whether the error originated from a specific module and matches a specific errno. <>

This function checks whether the error or any of it's causative errors originated from a specific module and contains a specific errno. If the module descriptor is left unspecified this function will check for any error of the specified errno and vice versa.

Parameters

error The error object for which to perform the check
module The module descriptor to check for
system_errno The errno to check for

Returns

GLOBUS_TRUE - the error matched the module and errno GLOBUS_FALSE - the error failed to match the module and errno

int globus_error_errno_search (globus_object_t * error)

Search for an errno value in an error chain <> This function searches the error object and its causal errors for an error of type GLOBUS_ERROR_TYPE_ERRNO and returns the errno of that error. If the error and none of its causes are derived from that type, it returns 0.

Parameters

error The error object for which to perform the check

Returns

This function returns 0 if no errorno is found, otherwise the error.

globus_object_t* globus_error_wrap_errno_error (globus_module_descriptor_t * base_source, int system_errno, int type, const char * source_file, const char * source_func, int source_line, const char * short_desc_format, ...)

Allocate and initialize an error of type GLOBUS_ERROR_TYPE_GLOBUS which contains a causal error of type GLOBUS_ERROR_TYPE_ERRNO. <>

Parameters

base_source Pointer to the originating module.
system_errno The errno to use when generating the causal error.
type The error type. We may reserve part of this namespace for common errors. Errors not in this space are assumed to be local to the originating module.
source_file Name of file. Use FILE
source_func Name of function. Use _globus_func_name and declare your func with GlobusFuncName(<name>)
source_line Line number. Use LINE
short_desc_format Short format string giving a succinct description of the error. To be passed on to the user.
... Arguments for the format string.

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.

Author

Generated automatically by Doxygen for globus_common from the source code.

Tue Jul 5 2022 Version 18.13