restart stopped instances on update
[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_ANY = 0xff,
22 };
23
24 struct log_head {
25 unsigned int size;
26 unsigned int id;
27 int priority;
28 int source;
29 struct timespec ts;
30 char data[];
31 };
32
33 void log_init(void);
34 void log_shutdown(void);
35
36 typedef void (*log_list_cb)(struct log_head *h);
37 struct log_head* log_list(int count, struct log_head *h);
38 int log_buffer_init(int size);
39 void log_add(char *buf, int size, int source);
40
41 #endif