Loading...
Searching...
No Matches
Error Handling Helpers
Globus Common API » Globus Error API » Globus Errno Error API

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.

## 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_error_errno_match()

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

## globus_error_errno_search()

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_error_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,
|  |  | ... )

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.