3.2 Data Structures
/* Debug levels */
typedef enum {
D3TUI_LOG_ERROR = 0,
D3TUI_LOG_WARN,
D3TUI_LOG_INFO,
D3TUI_LOG_DEBUG,
D3TUI_LOG_TRACE
} d3tui_log_level_t;
/* Debug output backend */
typedef struct {
const char *name;
void (*write)(const char *msg, size_t len);
void (*flush)(void);
void *userdata;
} d3tui_debug_backend_t;
/* Debug system state */
typedef struct {
d3tui_log_level_t level; /* Minimum log level */
d3tui_debug_backend_t *backends; /* Array of backends */
size_t backend_count; /* Number of backends */
bool enabled; /* Debug system enabled */
bool timestamp; /* Include timestamps */
bool colors; /* Use ANSI colors */
} d3tui_debug_state_t;
/* Memory tracking */
typedef struct {
const char *file;
int line;
const char *function;
size_t size;
uint32_t magic;
} d3tui_mem_header_t;