syslog.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. /*
  2. * Copyright (C) 2013 Felix Fietkau <nbd@openwrt.org>
  3. * Copyright (C) 2013 John Crispin <blogic@openwrt.org>
  4. *
  5. * This program is free software; you can redistribute it and/or modify
  6. * it under the terms of the GNU Lesser General Public License version 2.1
  7. * as published by the Free Software Foundation
  8. *
  9. * This program is distributed in the hope that it will be useful,
  10. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. * GNU General Public License for more details.
  13. */
  14. #ifndef __SYSLOG_H
  15. #define __SYSLOG_H
  16. enum {
  17. SOURCE_KLOG = 0,
  18. SOURCE_SYSLOG = 1,
  19. SOURCE_INTERNAL = 2,
  20. SOURCE_ANY = 0xff,
  21. };
  22. struct log_head {
  23. unsigned int size;
  24. unsigned int id;
  25. int priority;
  26. int source;
  27. struct timespec ts;
  28. char data[];
  29. };
  30. void log_init(void);
  31. void log_shutdown(void);
  32. typedef void (*log_list_cb)(struct log_head *h);
  33. struct log_head* log_list(int count, struct log_head *h);
  34. int log_buffer_init(int size);
  35. void log_add(char *buf, int size, int source);
  36. void log_printf(char *fmt, ...);
  37. #endif