blob: 4b7b875a7ce1febdacb9f54c887210de0f28216f [file] [log] [blame]
Kees Cook00234592010-02-03 15:36:43 -08001/* Syslog internals
2 *
3 * Copyright 2010 Canonical, Ltd.
4 * Author: Kees Cook <kees.cook@canonical.com>
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2, or (at your option)
9 * any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program; see the file COPYING. If not, write to
18 * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
19 */
20
21#ifndef _LINUX_SYSLOG_H
22#define _LINUX_SYSLOG_H
23
Kees Cookd78ca3c2010-02-03 15:37:13 -080024/* Close the log. Currently a NOP. */
25#define SYSLOG_ACTION_CLOSE 0
26/* Open the log. Currently a NOP. */
27#define SYSLOG_ACTION_OPEN 1
28/* Read from the log. */
29#define SYSLOG_ACTION_READ 2
30/* Read all messages remaining in the ring buffer. */
31#define SYSLOG_ACTION_READ_ALL 3
32/* Read and clear all messages remaining in the ring buffer */
33#define SYSLOG_ACTION_READ_CLEAR 4
34/* Clear ring buffer. */
35#define SYSLOG_ACTION_CLEAR 5
36/* Disable printk's to console */
37#define SYSLOG_ACTION_CONSOLE_OFF 6
38/* Enable printk's to console */
39#define SYSLOG_ACTION_CONSOLE_ON 7
40/* Set level of messages printed to console */
41#define SYSLOG_ACTION_CONSOLE_LEVEL 8
42/* Return number of unread characters in the log buffer */
43#define SYSLOG_ACTION_SIZE_UNREAD 9
44/* Return size of the log buffer */
45#define SYSLOG_ACTION_SIZE_BUFFER 10
46
Kees Cook637241a2013-06-12 14:04:39 -070047#define SYSLOG_FROM_READER 0
48#define SYSLOG_FROM_PROC 1
Kees Cook00234592010-02-03 15:36:43 -080049
50int do_syslog(int type, char __user *buf, int count, bool from_file);
Sebastian Schmidt069fb0b2014-11-14 10:51:45 -080051
52#ifdef CONFIG_PRINTK
Sebastian Schmidt68c4a4f2014-10-19 20:05:15 +020053int check_syslog_permissions(int type, bool from_file);
Sebastian Schmidt069fb0b2014-11-14 10:51:45 -080054#else
55static inline int check_syslog_permissions(int type, bool from_file)
56{
57 return 0;
58}
59#endif
Kees Cook00234592010-02-03 15:36:43 -080060
61#endif /* _LINUX_SYSLOG_H */