44#define PRINT(fmt, ...) \
45 do { fprintf(clibs_get_out(), fmt, ##__VA_ARGS__); } while (0)
51#define PERROR(fmt, ...) \
52 do { fprintf(clibs_get_err(), fmt, ##__VA_ARGS__); } while (0)
58#define PUTS(fmt, ...) \
59 do { fprintf(clibs_get_out(), fmt "\n", ##__VA_ARGS__); } while (0)
65#define PUTERR(fmt, ...) \
66 do { fprintf(clibs_get_err(), fmt "\n", ##__VA_ARGS__); } while (0)
72#define DEBUG_INFO(fmt, ...) \
73 do { fprintf(clibs_get_err(), "(%s:%d) " fmt "\n", \
74 __FILE__, __LINE__, ##__VA_ARGS__); } while (0)
FILE * clibs_get_out(void)
Gets current output stream (fallback: stdout).
Definition clibs_logging.c:31
void clibs_set_output(FILE *out, FILE *err)
Sets thread-local output and error streams.
Definition clibs_logging.c:26
FILE * clibs_get_err(void)
Gets current error stream (fallback: stderr).
Definition clibs_logging.c:35