From 7bff5c9fca1afb2aaf10e75483ced1f5da20a1d5 Mon Sep 17 00:00:00 2001 From: Max Wash Date: Mon, 8 Sep 2025 15:39:41 +0100 Subject: [PATCH] mie: add some more status codes --- mie/include/mie/status.h | 12 ++++++++++++ mie/status.c | 31 +++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 mie/status.c diff --git a/mie/include/mie/status.h b/mie/include/mie/status.h index f3b0c24..748f4bf 100644 --- a/mie/include/mie/status.h +++ b/mie/include/mie/status.h @@ -1,12 +1,24 @@ #ifndef MIE_STATUS_H_ #define MIE_STATUS_H_ +#include + +#define MIE_ERROR_VENDOR (ivy_error_vendor()) + +struct b_error_vendor; + enum mie_status { MIE_SUCCESS = 0, + MIE_ERR_EOF, + MIE_ERR_BAD_SYNTAX, + MIE_ERR_BAD_FORMAT, MIE_ERR_NOT_SUPPORTED, MIE_ERR_INVALID_VALUE, + MIE_ERR_INTERNAL_FAILURE, MIE_ERR_NO_MEMORY, MIE_ERR_NO_ENTRY, }; +MIE_API const struct b_error_vendor *mie_error_vendor(void); + #endif diff --git a/mie/status.c b/mie/status.c new file mode 100644 index 0000000..454fb71 --- /dev/null +++ b/mie/status.c @@ -0,0 +1,31 @@ +#include +#include +#include + +static const b_error_definition error_defs[] = { + B_ERROR_DEFINITION(MIE_SUCCESS, "SUCCESS", "Success"), + B_ERROR_DEFINITION(MIE_ERR_EOF, "EOF", "Unexpected end of file"), + B_ERROR_DEFINITION(MIE_ERR_BAD_SYNTAX, "BAD_SYNTAX", "Invalid syntax"), + B_ERROR_DEFINITION(MIE_ERR_NO_MEMORY, "NO_MEMORY", "Out of memory"), + B_ERROR_DEFINITION( + MIE_ERR_NOT_SUPPORTED, "NOT_SUPPORTED", + "Operation not supported"), + B_ERROR_DEFINITION( + MIE_ERR_INTERNAL_FAILURE, "INTERNAL_FAILURE", + "Internal failure"), + B_ERROR_DEFINITION( + MIE_ERR_INVALID_VALUE, "INVALID_VALUE", "Invalid value"), + B_ERROR_DEFINITION(MIE_ERR_NO_ENTRY, "NO_ENTRY", "Name does not exist"), + B_ERROR_DEFINITION(MIE_ERR_BAD_FORMAT, "BAD_FORMAT", "Bad format"), +}; + +static const b_error_vendor error_vendor = { + .v_name = "Mie", + .v_error_definitions = error_defs, + .v_error_definitions_length = sizeof error_defs, +}; + +const struct b_error_vendor *mie_error_vendor(void) +{ + return &error_vendor; +}