#ifndef LLog_H #define LLog_H #include "time.h" typedef struct { char *buf; size_t len; } lLogString; enum lLogLevel { lINFO, lWARNING, lERROR, lDEBUG }; typedef struct { time_t start; time_t end; } lTimespan; typedef struct { lTimespan time; } lTimer; typedef struct { size_t count; size_t capacity; lTimer* items; } timer_array; int timer_array_append(timer_array* array, lTimer timer); typedef struct { lLogString logfolder; timer_array timers; } Logger; int create_timer(Logger* logger); void start_timer(Logger* logger, int timer_id); void stop_timer(Logger* logger, int timer_id); lLogString to_lLogString(const char* string); void lLog(Logger logger, enum lLogLevel LOG_LEVEL, lLogString MESSAGE); #endif