fsctl/include/fsctl/fugue/logger.h

29 lines
887 B
C

#ifndef FUGUE_LOGGER_H
#define FUGUE_LOGGER_H 1
#include "fsctl/fugue/bits/logger.h"
//---
// API
//---
/* fugue_logger_init() : initialize internal logger buffer at fixed size */
extern int fugue_logger_init(fugue_logger_t *logger, size_t buffer_size);
/* fugue_logger_quit() : uninit logger internal information */
extern int fugue_logger_quit(fugue_logger_t *logger);
/* fugue_logger_clear() : clear buffer content */
extern int fugue_logger_clear(fugue_logger_t *logger);
/* fugue_logger_getline() : getline-like function */
extern ssize_t fugue_logger_getline(fugue_logger_t *l, char **s, size_t *n);
/* fugue_logger_vwrite() : write primitive (va-arg) */
extern ssize_t fugue_logger_vwrite(fugue_logger_t *l, char *f, va_list ap);
/* fugue_logger_write() : write primitive */
extern ssize_t fugue_logger_write(fugue_logger_t *l, char *f, ...);
#endif /* FUGUE_LOGGER_H */