1a3d741fa3bc3120d5b62a56826a97524daa32803Jens Axboe#ifndef FIO_LOG_H
2a3d741fa3bc3120d5b62a56826a97524daa32803Jens Axboe#define FIO_LOG_H
3a3d741fa3bc3120d5b62a56826a97524daa32803Jens Axboe
4bf84eacbfc91a952eb5b781ad2955109c862d41eJens Axboe#include <stdio.h>
5ecd6cc1011c1acf4443a24b91ac8266ac754af46Jens Axboe#include <stdarg.h>
6bf84eacbfc91a952eb5b781ad2955109c862d41eJens Axboe
7a3d741fa3bc3120d5b62a56826a97524daa32803Jens Axboeextern FILE *f_out;
8a3d741fa3bc3120d5b62a56826a97524daa32803Jens Axboeextern FILE *f_err;
9a3d741fa3bc3120d5b62a56826a97524daa32803Jens Axboe
107089165b973c6bc48e11cadcb5a39c7adbae124cJens Axboeextern int log_err(const char *format, ...) __attribute__ ((__format__ (__printf__, 1, 2)));
117089165b973c6bc48e11cadcb5a39c7adbae124cJens Axboeextern int log_info(const char *format, ...) __attribute__ ((__format__ (__printf__, 1, 2)));
12e46d809110bd4ad2980ca64931b683673444454bJens Axboeextern int log_valist(const char *str, va_list);
1313755d946d034eb7395a818db7ace2c9cb60b4cbJens Axboeextern int log_local_buf(const char *buf, size_t);
14fdd5f15f8231e8c91c4deff22e630a34addd0fefVincent Kang Fuextern int log_info_flush(void);
15a3d741fa3bc3120d5b62a56826a97524daa32803Jens Axboe
16084d1c6f817eacaaefa1de4f0637ef6c1405d74bJens Axboeenum {
17084d1c6f817eacaaefa1de4f0637ef6c1405d74bJens Axboe	FIO_LOG_DEBUG	= 1,
18084d1c6f817eacaaefa1de4f0637ef6c1405d74bJens Axboe	FIO_LOG_INFO	= 2,
19084d1c6f817eacaaefa1de4f0637ef6c1405d74bJens Axboe	FIO_LOG_ERR	= 3,
203ad04399c576bb7935b9a7b8c07d5acf373a7bc4Jens Axboe	FIO_LOG_NR	= 4,
21084d1c6f817eacaaefa1de4f0637ef6c1405d74bJens Axboe};
22084d1c6f817eacaaefa1de4f0637ef6c1405d74bJens Axboe
233ad04399c576bb7935b9a7b8c07d5acf373a7bc4Jens Axboeextern const char *log_get_level(int level);
243ad04399c576bb7935b9a7b8c07d5acf373a7bc4Jens Axboe
25a3d741fa3bc3120d5b62a56826a97524daa32803Jens Axboe#endif
26