globus_error_generic.h(3)
π globus_error_generic.h(3) π
Okay bestie, welcome to the Library Functions Manual page for globus_error_generic.h β itβs giving Globus Error API, and itβs lowkey iconic. π«Ά
πΈ NAME πΈ
globus_error_generic.h β Globus Error API.
β¨ SYNOPSIS β¨
First, include the things, exactly like this:
#include 'globus_object.h'
#include 'globus_module.h'
#include <stdarg.h>
π Macros π
#define GLOBUS_ERROR_TYPE_GLOBUS
π¦ Typedefs π¦
typedef char *(* globus_error_print_friendly_t) (globus_object_t *error,
const globus_object_type_t *type)
π Functions π
globus_module_descriptor_t * globus_error_get_source (globus_object_t *error)void globus_error_set_source (globus_object_t *error, globus_module_descriptor_t *source_module)globus_object_t * globus_error_get_cause (globus_object_t *error)void globus_error_set_cause (globus_object_t *error, globus_object_t *causal_error)int globus_error_get_type (globus_object_t *error)void globus_error_set_type (globus_object_t *error, const int type)char * globus_error_get_short_desc (globus_object_t *error)void globus_error_set_short_desc (globus_object_t *error, const char *short_desc_format,...)char * globus_error_get_long_desc (globus_object_t *error)void globus_error_set_long_desc (globus_object_t *error, const char *long_desc_format,...)globus_bool_t globus_error_match (globus_object_t *error, globus_module_descriptor_t *module, int type)char * globus_error_print_chain (globus_object_t *error)char * globus_error_print_friendly (globus_object_t *error)globus_object_t * globus_error_construct_multiple (globus_module_descriptor_t *base_source, int type, const char *fmt,...)void globus_error_mutliple_add_chain (globus_object_t *multiple_error, globus_object_t *chain, const char *fmt,...)globus_object_t * globus_error_multiple_remove_chain (globus_object_t *multiple_error)
π Detailed Description π
Globus Error API.
Thatβs the whole detailed description, and honestly? Minimalist queen behavior. β¨
π Typedef Documentation π
π§ globus_error_print_friendly_t π§
typedef char *(* globus_error_print_friendly_t) (globus_object_t *error,
const globus_object_type_t *type)
If registered with a moduleβs descriptor, this handler will be called on behalf of globus_error_print_friendly().
Parameters
errorβ The error chain that originated from this module. The top error object in the chain will be one created by this module and have a type of'type'; The remaining objects are the same as the cause chain used at creation time. The user can useglobus_error_get_type(error)to get the error code (forGLOBUS_ERROR_TYPE_GLOBUSobjects).typeβ The error object type for the top object in the error chain (e.g.GLOBUS_ERROR_TYPE_GLOBUS,GLOBUS_ERROR_TYPE_ERRNO).
Returns
The function should return a newly allocated string with a friendly error message explaining the error in more detail. This string should be considered the only message a user will see. If the module has nothing nice to say, it should return NULL so the next module in the error chain can be tried.
If you think a friendly error from causes beneath you should be included, you may use globus_error_print_friendly(globus_error_get_cause(error)) within this handler to append to your message.
π₯ Function Documentation π₯
π globus_error_construct_multiple π
globus_object_t * globus_error_construct_multiple
(globus_module_descriptor_t *base_source, int type, const char
*fmt,...)
βMultiple error type stuffβ β construct a container object for multiple error chains. Useful when an application tries many things (and each fails) before finally giving up;
Use globus_error_mutliple_add_chain() to add error objects/chains to this object.
Parameters
base_sourceβ Pointer to the originating module.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.globus_error_match()will match against this type, but not of the contained chains.fmtβ a printf style format string describing the multiple 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_error_multiple_remove_chain π«Ά
globus_object_t * globus_error_multiple_remove_chain (globus_object_t
*multiple_error)
Remove an error chain from a multiple error object.
Parameters
multiple_errorβ The error from which to remove a chain. Must have been created withglobus_error_construct_multiple().
Returns
The removed error chain, or NULL if none found.
π globus_error_mutliple_add_chain π
void globus_error_mutliple_add_chain (globus_object_t *multiple_error,
globus_object_t *chain, const char *fmt,...)
Add an error chain to a multiple error object.
Yes, the spelling mutliple is exactly how it appears in the original β keep it, bestie. π
Parameters
multiple_errorβ The error to add the chain to. Must have been created withglobus_error_construct_multiple().chainβ The chain to add to this error. This error object assumes control over'chain''smemory after this call.fmtβ a printf style format string describing this chain.
Returns
void
πΈ Author πΈ
Generated automatically by Doxygen for globus_common from the source code.
Thatβs the whole page, bestie! Source/version vibes: globus_common, Version 18.15, and the page is globus_error_generic.h(3). Mwah! π
π¦ where this page comes from
- epel 10: globus-common-doc 18.15-1.el10_2 Β· Apache-2.0
- fedora 43: globus-common-doc 18.15-1.fc43 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms