add hostname option to logread
[project/procd.git] / syslog.h
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
15 #ifndef __SYSLOG_H
16 #define __SYSLOG_H
17
18 enum {
19         SOURCE_KLOG = 0,
20         SOURCE_SYSLOG = 1,
21         SOURCE_INTERNAL = 2,
22         SOURCE_ANY = 0xff,
23 };
24
25 struct log_head {
26         unsigned int size;
27         unsigned int id;
28         int priority;
29         int source;
30         struct timespec ts;
31         char data[];
32 };
33
34 void log_init(void);
35 void log_shutdown(void);
36
37 typedef void (*log_list_cb)(struct log_head *h);
38 struct log_head* log_list(int count, struct log_head *h);
39 int log_buffer_init(int size);
40 void log_add(char *buf, int size, int source);
41 void log_printf(char *fmt, ...);
42
43 #endif