1/* SPDX-License-Identifier: GPL-2.0-or-later */
2/*  Syslog internals
3 *
4 *  Copyright 2010 Canonical, Ltd.
5 *  Author: Kees Cook <kees.cook@canonical.com>
6 */
7
8#ifndef _LINUX_SYSLOG_H
9#define _LINUX_SYSLOG_H
10
11#include <linux/wait.h>
12
13/* Close the log.  Currently a NOP. */
14#define SYSLOG_ACTION_CLOSE          0
15/* Open the log. Currently a NOP. */
16#define SYSLOG_ACTION_OPEN           1
17/* Read from the log. */
18#define SYSLOG_ACTION_READ           2
19/* Read all messages remaining in the ring buffer. */
20#define SYSLOG_ACTION_READ_ALL       3
21/* Read and clear all messages remaining in the ring buffer */
22#define SYSLOG_ACTION_READ_CLEAR     4
23/* Clear ring buffer. */
24#define SYSLOG_ACTION_CLEAR          5
25/* Disable printk's to console */
26#define SYSLOG_ACTION_CONSOLE_OFF    6
27/* Enable printk's to console */
28#define SYSLOG_ACTION_CONSOLE_ON     7
29/* Set level of messages printed to console */
30#define SYSLOG_ACTION_CONSOLE_LEVEL  8
31/* Return number of unread characters in the log buffer */
32#define SYSLOG_ACTION_SIZE_UNREAD    9
33/* Return size of the log buffer */
34#define SYSLOG_ACTION_SIZE_BUFFER   10
35
36#define SYSLOG_FROM_READER           0
37#define SYSLOG_FROM_PROC             1
38
39int do_syslog(int type, char __user *buf, int count, int source);
40extern wait_queue_head_t log_wait;
41
42#endif /* _LINUX_SYSLOG_H */
43