31 lines
763 B
C
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 */ |