Files
ivy/common/include/ivy/status.h

36 lines
751 B
C

#ifndef IVY_COMMON_STATUS_H_
#define IVY_COMMON_STATUS_H_
#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,
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);
#endif