4.5 Error Handling

/* Error codes */
typedef enum {
    D3TUI_ERR_NONE = 0,
    D3TUI_ERR_MEMORY,
    D3TUI_ERR_FILE_NOT_FOUND,
    D3TUI_ERR_INVALID_FORMAT,
    D3TUI_ERR_HARDWARE,
    D3TUI_ERR_UNSUPPORTED,
    D3TUI_ERR_TIMEOUT,
    D3TUI_ERR_MAX
} d3tui_error_t;

/* Error handling */
const char *d3tui_error_string(d3tui_error_t error);
void d3tui_error_set_handler(void (*handler)(d3tui_error_t, const char *, void *));
void d3tui_error_trigger(d3tui_error_t error, const char *msg);