#ifndef __CDIO_COMPAT_LOGGING__ #define __CDIO_COMPAT_LOGGING__ // Custom in-memory log management #include "cdio/compat/cycle_break.h" #include "cdio/logging.h" // Combination log entry and linked list typedef struct cdio_log_entry_s { cdio_log_level_t level; const char* message; struct cdio_log_entry_s* prev; } cdio_log_entry_t; // Root of the afore-mentioned linked list cdio_log_entry_t* haskell_log; // Register the custom handler with libcdio void setup_cdio_logger(); // Control message filtering cdio_log_level_t get_cdio_log_level(); void set_cdio_log_level(cdio_log_level_t); // Access/clear the accumulated list cdio_log_entry_t** read_cdio_log(); void free_cdio_log(); #endif