common: re-define status codes to be compatible with b_result

This commit is contained in:
2025-09-08 15:43:29 +01:00
parent eb260fb35c
commit 48fb330f47
2 changed files with 57 additions and 31 deletions

View File

@@ -3,24 +3,32 @@
#include <ivy/misc.h>
#define IVY_ERROR_VENDOR (ivy_error_vendor())
enum b_status;
struct b_error_vendor;
enum ivy_status {
IVY_OK = 0,
IVY_ERR_EOF = -1,
IVY_ERR_IO_FAILURE = -2,
IVY_ERR_BAD_SYNTAX = -3,
IVY_ERR_NO_MEMORY = -4,
IVY_ERR_NOT_SUPPORTED = -5,
IVY_ERR_INTERNAL_FAILURE = -6,
IVY_ERR_BAD_STATE = -7,
IVY_ERR_INVALID_VALUE = -8,
IVY_ERR_NO_ENTRY = -9,
IVY_ERR_NAME_EXISTS = -10,
IVY_ERR_BAD_FORMAT = -11,
IVY_ERR_EOF,
IVY_ERR_IO_FAILURE,
IVY_ERR_BAD_SYNTAX,
IVY_ERR_NO_MEMORY,
IVY_ERR_NOT_SUPPORTED,
IVY_ERR_INTERNAL_FAILURE,
IVY_ERR_BAD_STATE,
IVY_ERR_INVALID_VALUE,
IVY_ERR_NO_ENTRY,
IVY_ERR_NAME_EXISTS,
IVY_ERR_BAD_FORMAT,
IVY_ERR_PARSE_FAILURE,
IVY_ERR_CODEGEN_FAILURE,
};
IVY_API const char *ivy_status_to_string(enum ivy_status status);
IVY_API const struct b_error_vendor *ivy_error_vendor(void);
IVY_API enum ivy_status ivy_status_from_b_status(enum b_status status);
IVY_API enum ivy_status ivy_status_from_errno(int err);