41 lines
1003 B
C
Raw Normal View History

2026-01-28 19:34:39 +01:00
// retoor <retoor@molodetz.nl>
#ifndef R_ERROR_H
#define R_ERROR_H
typedef enum {
R_SUCCESS = 0,
R_ERROR_INVALID_ARG,
R_ERROR_OUT_OF_MEMORY,
R_ERROR_NOT_FOUND,
R_ERROR_PARSE,
R_ERROR_DB_CONNECTION,
R_ERROR_DB_QUERY,
R_ERROR_DB_NOT_FOUND,
R_ERROR_HTTP_CONNECTION,
R_ERROR_HTTP_TIMEOUT,
R_ERROR_HTTP_RESPONSE,
R_ERROR_JSON_PARSE,
R_ERROR_FILE_NOT_FOUND,
R_ERROR_FILE_READ,
R_ERROR_FILE_WRITE,
R_ERROR_TOOL_NOT_FOUND,
R_ERROR_TOOL_EXECUTION,
R_ERROR_API_KEY_MISSING,
R_ERROR_API_ERROR,
2026-01-28 20:15:02 +01:00
R_ERROR_CONTEXT_TOO_LONG,
2026-01-28 19:34:39 +01:00
R_ERROR_MAX_ITERATIONS,
R_ERROR_SESSION_INVALID,
R_ERROR_UNKNOWN
} r_status_t;
const char *r_status_string(r_status_t status);
#define R_CHECK(expr) do { r_status_t _s = (expr); if (_s != R_SUCCESS) return _s; } while(0)
#define R_CHECK_NULL(ptr) do { if (!(ptr)) return R_ERROR_INVALID_ARG; } while(0)
#define R_CHECK_ALLOC(ptr) do { if (!(ptr)) return R_ERROR_OUT_OF_MEMORY; } while(0)
#endif