![]() |
libyang
2.0.7
libyang is YANG data modelling language parser and toolkit written (and providing API) in C.
|
Data Structures | |
struct | ly_err_item |
Libyang full error structure. More... | |
Enumerations | |
enum | LY_ERR { LY_SUCCESS = 0 , LY_EMEM , LY_ESYS , LY_EINVAL , LY_EEXIST , LY_ENOTFOUND , LY_EINT , LY_EVALID , LY_EDENIED , LY_EINCOMPLETE , LY_ERECOMPILE , LY_ENOT , LY_EOTHER , LY_EPLUGIN = 128 } |
libyang's error codes returned by the libyang functions. More... | |
enum | LY_VECODE { LYVE_SUCCESS = 0 , LYVE_SYNTAX , LYVE_SYNTAX_YANG , LYVE_SYNTAX_YIN , LYVE_REFERENCE , LYVE_XPATH , LYVE_SEMANTICS , LYVE_SYNTAX_XML , LYVE_SYNTAX_JSON , LYVE_DATA , LYVE_OTHER } |
libyang's codes of validation error. Whenever ly_errno is set to LY_EVALID, the ly_vecode is also set to the appropriate LY_VECODE value. More... | |
Functions | |
void | ly_err_clean (struct ly_ctx *ctx, struct ly_err_item *eitem) |
Free error structures from a context. More... | |
struct ly_err_item * | ly_err_first (const struct ly_ctx *ctx) |
Get the first (thread, context-specific) generated error structure. More... | |
struct ly_err_item * | ly_err_last (const struct ly_ctx *ctx) |
Get the latest (thread, context-specific) generated error structure. More... | |
void | ly_err_print (const struct ly_ctx *ctx, struct ly_err_item *eitem) |
Print the error structure as if just generated. More... | |
const char * | ly_errapptag (const struct ly_ctx *ctx) |
Get the last (thread, context-specific) error-app-tag if there was a specific one defined in the module for the last error. More... | |
LY_ERR | ly_errcode (const struct ly_ctx *ctx) |
Get the last (thread, context-specific) error code. More... | |
const char * | ly_errmsg (const struct ly_ctx *ctx) |
Get the last (thread, context-specific) error message. If the coresponding module defined a specific error message, it will be used instead the default one. More... | |
const char * | ly_errpath (const struct ly_ctx *ctx) |
Get the last (thread, context-specific) path of the element where was an error. More... | |
LY_VECODE | ly_vecode (const struct ly_ctx *ctx) |
Get the last (thread, context-specific) validation error code. More... | |
Structures and functions to allow error information processing.
struct ly_err_item |
Data Fields | ||
---|---|---|
char * | apptag | |
LY_LOG_LEVEL | level | |
char * | msg | |
struct ly_err_item * | next | |
LY_ERR | no | |
char * | path | |
struct ly_err_item * | prev | |
LY_VECODE | vecode |
enum LY_ERR |
libyang's error codes returned by the libyang functions.
Enumerator | |
---|---|
LY_SUCCESS | no error, not set by functions, included just to complete LY_ERR enumeration |
LY_EMEM | Memory allocation failure |
LY_ESYS | System call failure |
LY_EINVAL | Invalid value |
LY_EEXIST | Item already exists |
LY_ENOTFOUND | Item does not exists |
LY_EINT | Internal error |
LY_EVALID | Validation failure |
LY_EDENIED | Operation is not allowed |
LY_EINCOMPLETE | The operation did not fail, but for some reason it was not possible to finish it completely. According to the specific use case, the caller is usually supposed to perform the operation again. |
LY_ERECOMPILE | The operation did not fail, but requires context recompilation before it can be completed. According to the specific use case, the caller should react appropriately. |
LY_ENOT | Negative result |
LY_EOTHER | Unknown error |
LY_EPLUGIN | Error reported by a plugin - the highest bit in the first byte is set. This value is used ORed with one of the other LY_ERR value and can be simply masked. |
enum LY_VECODE |
libyang's codes of validation error. Whenever ly_errno is set to LY_EVALID, the ly_vecode is also set to the appropriate LY_VECODE value.
void ly_err_clean | ( | struct ly_ctx * | ctx, |
struct ly_err_item * | eitem | ||
) |
Free error structures from a context.
If eitem
is not set, free all the error structures.
[in] | ctx | Relative context. |
[in] | eitem | Oldest error structure to remove, optional. |
struct ly_err_item* ly_err_first | ( | const struct ly_ctx * | ctx | ) |
Get the first (thread, context-specific) generated error structure.
[in] | ctx | Relative context. |
struct ly_err_item* ly_err_last | ( | const struct ly_ctx * | ctx | ) |
Get the latest (thread, context-specific) generated error structure.
[in] | ctx | Relative context. |
void ly_err_print | ( | const struct ly_ctx * | ctx, |
struct ly_err_item * | eitem | ||
) |
Print the error structure as if just generated.
[in] | ctx | Optional context to store the message in. |
[in] | eitem | Error item structure to print. |
const char* ly_errapptag | ( | const struct ly_ctx * | ctx | ) |
Get the last (thread, context-specific) error-app-tag if there was a specific one defined in the module for the last error.
The app-tag always corresponds to the error message available via ly_errmsg(), so whenever a subsequent error message is printed, the app-tag is erased or rewritten.
[in] | ctx | Relative context. |
Get the last (thread, context-specific) error code.
[in] | ctx | Relative context. |
const char* ly_errmsg | ( | const struct ly_ctx * | ctx | ) |
Get the last (thread, context-specific) error message. If the coresponding module defined a specific error message, it will be used instead the default one.
Sometimes, the error message is extended with path of the element where the problem is. The path is available via ly_errpath().
[in] | ctx | Relative context. |
const char* ly_errpath | ( | const struct ly_ctx * | ctx | ) |
Get the last (thread, context-specific) path of the element where was an error.
The path always corresponds to the error message available via ly_errmsg(), so whenever a subsequent error message is printed, the path is erased or rewritten. The path reflects the type of the processed tree - data path for data tree functions and schema path in case of schema tree functions. In case of processing YIN schema or XML data, the path can be just XML path. In such a case, the corresponding ly_vecode (value 1-3) is set.
[in] | ctx | Relative context. |