PC_graph/error_buffer.h
2024-11-28 14:49:19 +01:00

31 lines
763 B
C

#ifndef ERROR_CODE_H
#define ERROR_CODE_H
#include <stdlib.h>
#define MAX_ERROR_MESSAGE_LENGTH 512
enum error_code {
ERR_NO_ERR = 0,
ERR_INVALID_ARGS = 1,
ERR_INVALID_FUNCTION = 2,
ERR_INVALID_FILENAME = 3,
ERR_INVALID_LIMITS = 4,
ERR_BAD_ALLOC = 5
};
struct error_buffer {
enum error_code err;
char text[MAX_ERROR_MESSAGE_LENGTH];
size_t text_len;
};
void error_buffer_init(struct error_buffer *eb);
void error_set(struct error_buffer *eb, enum error_code err);
void error_printf(struct error_buffer *eb, const char *format, ...);
enum error_code error_get(const struct error_buffer *eb);
const char *error_get_text(const struct error_buffer *eb);
#endif /* ERROR_CODE_H */