kmodloader: fix insmod path logic
[project/ubox.git] / log / syslog.h
1 /*
2 * Copyright (C) 2013 John Crispin <blogic@openwrt.org>
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU Lesser General Public License version 2.1
6 * as published by the Free Software Foundation
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 */
13
14 #ifndef __SYSLOG_H
15 #define __SYSLOG_H
16
17 #define LOG_LINE_SIZE 1024
18
19 #include <udebug.h>
20
21 enum {
22 SOURCE_KLOG = 0,
23 SOURCE_SYSLOG = 1,
24 SOURCE_INTERNAL = 2,
25 SOURCE_ANY = 0xff,
26 };
27
28 struct log_head {
29 unsigned int size;
30 unsigned int id;
31 int priority;
32 int source;
33 struct timespec ts;
34 char data[];
35 };
36
37 void log_init(int log_size);
38 void log_shutdown(void);
39
40 typedef void (*log_list_cb)(struct log_head *h);
41 struct log_head* log_list(int count, struct log_head *h);
42 int log_buffer_init(int size);
43 void log_add(char *buf, int size, int source);
44 void ubus_notify_log(struct log_head *l);
45 void log_udebug_config(struct udebug_ubus *ctx, struct blob_attr *data,
46 bool enabled);
47
48 #endif