packages feed

hscdio-0.1.0.0: include/cdio/compat/logging.h

#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