blob: b682cedf504f08958a4cf83858c942a2fb6257f7 [file] [log] [blame]
liubin281ac462023-07-19 14:22:54 +08001/*
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
17enum {
18 SOURCE_KLOG = 0,
19 SOURCE_SYSLOG = 1,
20 SOURCE_INTERNAL = 2,
21 SOURCE_ANY = 0xff,
22};
23
24struct 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
33void log_init(int log_size);
34void log_shutdown(void);
35
36typedef void (*log_list_cb)(struct log_head *h);
37struct log_head* log_list(int count, struct log_head *h);
38int log_buffer_init(int size);
39void log_add(char *buf, int size, int source);
40void ubus_notify_log(struct log_head *l);
41
42#endif