diff --git a/include/mdso/mdso.h b/include/mdso/mdso.h index 746dd8a..192dcb0 100644 --- a/include/mdso/mdso.h +++ b/include/mdso/mdso.h @@ -37,6 +37,12 @@ extern "C" { #define MDSO_DRIVER_DRY_RUN 0x0020 #define MDSO_DRIVER_QUAD_PTR 0x0040 +/* error flags */ +#define MDSO_ERROR_TOP_LEVEL 0x0001 +#define MDSO_ERROR_NESTED 0x0002 +#define MDSO_ERROR_CHILD 0x0004 +#define MDSO_ERROR_CUSTOM 0x0008 + struct mdso_source_version { int major; @@ -50,6 +56,15 @@ struct mdso_input { size_t size; }; +struct mdso_error_info { + int syserror; + int liberror; + const char * function; + int line; + unsigned flags; + void * ctx; +}; + struct mdso_common_ctx { uint64_t drvflags; uint64_t actflags; @@ -65,6 +80,7 @@ struct mdso_driver_ctx { const char * program; const char * module; const struct mdso_common_ctx * cctx; + struct mdso_error_info ** errv; void * any; int status; int nerrors;