log.h 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /*
  2. * Copyright (c) 2019 Markus Hennecke <markus-hennecke@markus-hennecke.de>
  3. *
  4. * Permission to use, copy, modify, and distribute this software for any
  5. * purpose with or without fee is hereby granted, provided that the above
  6. * copyright notice and this permission notice appear in all copies.
  7. *
  8. * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
  9. * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
  10. * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
  11. * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  12. * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  13. * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  14. * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  15. */
  16. #ifndef __LOG_H__
  17. #define __LOG_H__
  18. #include <stdarg.h>
  19. #define LOG_TO_STDERR (1<<0)
  20. #define LOG_TO_SYSLOG (1<<1)
  21. void log_init(int, int, int);
  22. void log_procinit(const char *);
  23. void log_setverbose(int);
  24. int log_getverbose(void);
  25. void log_warn(const char *, ...)
  26. __attribute__((__format__ (printf, 1, 2)));
  27. void log_warnx(const char *, ...)
  28. __attribute__((__format__ (printf, 1, 2)));
  29. void log_info(const char *, ...)
  30. __attribute__((__format__ (printf, 1, 2)));
  31. void log_debug(const char *, ...)
  32. __attribute__((__format__ (printf, 1, 2)));
  33. void logit(int, const char *, ...)
  34. __attribute__((__format__ (printf, 2, 3)));
  35. void vlog(int, const char *, va_list)
  36. __attribute__((__format__ (printf, 2, 0)));
  37. __dead void fatal(const char *, ...)
  38. __attribute__((__format__ (printf, 1, 2)));
  39. __dead void fatalx(const char *, ...)
  40. __attribute__((__format__ (printf, 1, 2)));
  41. #endif //__LOG_H__