Grid Community Toolkit  6.2.1705709074 (tag: v6.2.20240202)
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Error Handling Helpers

Error Handling Helpers. More...

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. More...
 

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
errorThe error object for which to perform the check
moduleThe module descriptor to check for
system_errnoThe 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
errorThe 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_sourcePointer to the originating module.
system_errnoThe errno to use when generating the causal error.
typeThe 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_fileName of file. Use FILE
source_funcName of function. Use _globus_func_name and declare your func with GlobusFuncName(<name>)
source_lineLine number. Use LINE
short_desc_formatShort 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.