33#if defined(__cplusplus) && defined(_WIN32)
46#define LOG_MMAP_DEFAULT_SIZE (4 * 1024 * 1024)
98void log_mmap_write(
int level,
const char *file,
int line,
const char *func,
const char *fmt, ...);
unsigned long long uint64_t
asciichat_error_t
Error and exit codes - unified status values (0-255)
struct log_mmap_config log_mmap_config_t
Configuration for mmap logging.
asciichat_error_t log_mmap_init(const log_mmap_config_t *config)
Initialize mmap-based text logging.
void log_mmap_rotate(void)
Rotate the mmap log (tail-keeping rotation)
void log_mmap_install_crash_handlers(void)
Install signal handlers for crash safety.
void log_mmap_sync(void)
Force sync the mmap'd file to disk.
bool log_mmap_is_active(void)
Check if mmap logging is active.
void log_mmap_write(int level, const char *file, int line, const char *func, const char *fmt,...)
Write a log entry directly to the mmap'd file (lock-free)
bool log_mmap_get_usage(size_t *used, size_t *capacity)
Get current mmap log usage.
void log_mmap_destroy(void)
Shutdown mmap logging.
void log_mmap_get_stats(uint64_t *bytes_written, uint64_t *wrap_count)
Get statistics about the mmap log.
asciichat_error_t log_mmap_init_simple(const char *log_path, size_t max_size)
Initialize mmap logging with simple parameters.
_Atomic uint64_t bytes_written
_Atomic uint64_t wrap_count
Configuration for mmap logging.