1/* 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 24/* 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 47#define SYSLOG_FROM_READER 0 48#define SYSLOG_FROM_PROC 1 49 50int do_syslog(int type, char __user *buf, int count, int source); 51 52#ifdef CONFIG_PRINTK 53int check_syslog_permissions(int type, int source); 54#else 55static inline int check_syslog_permissions(int type, int source) 56{ 57 return 0; 58} 59#endif 60 61#endif /* _LINUX_SYSLOG_H */ 62