os/ossrv/genericopenlibs/openenvcore/include/sys/syslog.h
changeset 0 bde4ae8d615e
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/os/ossrv/genericopenlibs/openenvcore/include/sys/syslog.h	Fri Jun 15 03:10:57 2012 +0200
     1.3 @@ -0,0 +1,197 @@
     1.4 +/*-
     1.5 + * Copyright (c) 1982, 1986, 1988, 1993
     1.6 + *	The Regents of the University of California.  All rights reserved.
     1.7 + *
     1.8 + * Redistribution and use in source and binary forms, with or without
     1.9 + * modification, are permitted provided that the following conditions
    1.10 + * are met:
    1.11 + * 1. Redistributions of source code must retain the above copyright
    1.12 + *    notice, this list of conditions and the following disclaimer.
    1.13 + * 2. Redistributions in binary form must reproduce the above copyright
    1.14 + *    notice, this list of conditions and the following disclaimer in the
    1.15 + *    documentation and/or other materials provided with the distribution.
    1.16 + * 4. Neither the name of the University nor the names of its contributors
    1.17 + *    may be used to endorse or promote products derived from this software
    1.18 + *    without specific prior written permission.
    1.19 + *
    1.20 + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    1.21 + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    1.22 + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    1.23 + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    1.24 + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    1.25 + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    1.26 + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    1.27 + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    1.28 + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    1.29 + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    1.30 + * SUCH DAMAGE.
    1.31 + * © * Portions Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
    1.32 + *	@(#)syslog.h	8.1 (Berkeley) 6/2/93
    1.33 + * $FreeBSD: src/sys/sys/syslog.h,v 1.26 2005/01/07 02:29:24 imp Exp $
    1.34 + */
    1.35 +
    1.36 +#ifndef _SYS_SYSLOG_H_
    1.37 +#define _SYS_SYSLOG_H_
    1.38 +
    1.39 +#define	_PATH_LOG	"/var/run/log"
    1.40 +#define	_PATH_LOG_PRIV	"/var/run/logpriv"
    1.41 +#define	_PATH_OLDLOG	"/dev/log"	/* backward compatibility */
    1.42 +
    1.43 +/*
    1.44 + * priorities/facilities are encoded into a single 32-bit quantity, where the
    1.45 + * bottom 3 bits are the priority (0-7) and the top 28 bits are the facility
    1.46 + * (0-big number).  Both the priorities and the facilities map roughly
    1.47 + * one-to-one to strings in the syslogd(8) source code.  This mapping is
    1.48 + * included in this file.
    1.49 + *
    1.50 + * priorities (these are ordered)
    1.51 + */
    1.52 +#define	LOG_EMERG	0	/* system is unusable */
    1.53 +#define	LOG_ALERT	1	/* action must be taken immediately */
    1.54 +#define	LOG_CRIT	2	/* critical conditions */
    1.55 +#define	LOG_ERR		3	/* error conditions */
    1.56 +#define	LOG_WARNING	4	/* warning conditions */
    1.57 +#define	LOG_NOTICE	5	/* normal but significant condition */
    1.58 +#define	LOG_INFO	6	/* informational */
    1.59 +#define	LOG_DEBUG	7	/* debug-level messages */
    1.60 +
    1.61 +#define	LOG_PRIMASK	0x07	/* mask to extract priority part (internal) */
    1.62 +				/* extract priority */
    1.63 +#define	LOG_PRI(p)	((p) & LOG_PRIMASK)
    1.64 +#define	LOG_MAKEPRI(fac, pri)	((fac) | (pri))
    1.65 +
    1.66 +#ifdef SYSLOG_NAMES
    1.67 +#define	INTERNAL_NOPRI	0x10	/* the "no priority" priority */
    1.68 +				/* mark "facility" */
    1.69 +#define	INTERNAL_MARK	LOG_MAKEPRI((LOG_NFACILITIES<<3), 0)
    1.70 +typedef struct _code {
    1.71 +	const char	*c_name;
    1.72 +	int		c_val;
    1.73 +} CODE;
    1.74 +
    1.75 +CODE prioritynames[] = {
    1.76 +	{ "alert",	LOG_ALERT,	},
    1.77 +	{ "crit",	LOG_CRIT,	},
    1.78 +	{ "debug",	LOG_DEBUG,	},
    1.79 +	{ "emerg",	LOG_EMERG,	},
    1.80 +	{ "err",	LOG_ERR,	},
    1.81 +	{ "error",	LOG_ERR,	},	/* DEPRECATED */
    1.82 +	{ "info",	LOG_INFO,	},
    1.83 +	{ "none",	INTERNAL_NOPRI,	},	/* INTERNAL */
    1.84 +	{ "notice",	LOG_NOTICE,	},
    1.85 +	{ "panic", 	LOG_EMERG,	},	/* DEPRECATED */
    1.86 +	{ "warn",	LOG_WARNING,	},	/* DEPRECATED */
    1.87 +	{ "warning",	LOG_WARNING,	},
    1.88 +	{ NULL,		-1,		}
    1.89 +};
    1.90 +#endif
    1.91 +
    1.92 +/* facility codes */
    1.93 +#define	LOG_KERN	(0<<3)	/* kernel messages */
    1.94 +#define	LOG_USER	(1<<3)	/* random user-level messages */
    1.95 +#define	LOG_MAIL	(2<<3)	/* mail system */
    1.96 +#define	LOG_DAEMON	(3<<3)	/* system daemons */
    1.97 +#define	LOG_AUTH	(4<<3)	/* authorization messages */
    1.98 +#define	LOG_SYSLOG	(5<<3)	/* messages generated internally by syslogd */
    1.99 +#define	LOG_LPR		(6<<3)	/* line printer subsystem */
   1.100 +#define	LOG_NEWS	(7<<3)	/* network news subsystem */
   1.101 +#define	LOG_UUCP	(8<<3)	/* UUCP subsystem */
   1.102 +#define	LOG_CRON	(9<<3)	/* clock daemon */
   1.103 +#define	LOG_AUTHPRIV	(10<<3)	/* authorization messages (private) */
   1.104 +				/* Facility #10 clashes in DEC UNIX, where */
   1.105 +				/* it's defined as LOG_MEGASAFE for AdvFS  */
   1.106 +				/* event logging.                          */
   1.107 +#define	LOG_FTP		(11<<3)	/* ftp daemon */
   1.108 +#define	LOG_NTP		(12<<3)	/* NTP subsystem */
   1.109 +#define	LOG_SECURITY	(13<<3) /* security subsystems (firewalling, etc.) */
   1.110 +#define	LOG_CONSOLE	(14<<3) /* /dev/console output */
   1.111 +
   1.112 +	/* other codes through 15 reserved for system use */
   1.113 +#define	LOG_LOCAL0	(16<<3)	/* reserved for local use */
   1.114 +#define	LOG_LOCAL1	(17<<3)	/* reserved for local use */
   1.115 +#define	LOG_LOCAL2	(18<<3)	/* reserved for local use */
   1.116 +#define	LOG_LOCAL3	(19<<3)	/* reserved for local use */
   1.117 +#define	LOG_LOCAL4	(20<<3)	/* reserved for local use */
   1.118 +#define	LOG_LOCAL5	(21<<3)	/* reserved for local use */
   1.119 +#define	LOG_LOCAL6	(22<<3)	/* reserved for local use */
   1.120 +#define	LOG_LOCAL7	(23<<3)	/* reserved for local use */
   1.121 +
   1.122 +#define	LOG_NFACILITIES	24	/* current number of facilities */
   1.123 +#define	LOG_FACMASK	0x03f8	/* mask to extract facility part */
   1.124 +				/* facility of pri */
   1.125 +#define	LOG_FAC(p)	(((p) & LOG_FACMASK) >> 3)
   1.126 +
   1.127 +#ifdef SYSLOG_NAMES
   1.128 +CODE facilitynames[] = {
   1.129 +	{ "auth",	LOG_AUTH,	},
   1.130 +	{ "authpriv",	LOG_AUTHPRIV,	},
   1.131 +	{ "console", 	LOG_CONSOLE,	},
   1.132 +	{ "cron", 	LOG_CRON,	},
   1.133 +	{ "daemon",	LOG_DAEMON,	},
   1.134 +	{ "ftp",	LOG_FTP,	},
   1.135 +	{ "kern",	LOG_KERN,	},
   1.136 +	{ "lpr",	LOG_LPR,	},
   1.137 +	{ "mail",	LOG_MAIL,	},
   1.138 +	{ "mark", 	INTERNAL_MARK,	},	/* INTERNAL */
   1.139 +	{ "news",	LOG_NEWS,	},
   1.140 +	{ "ntp",	LOG_NTP,	},
   1.141 +	{ "security",	LOG_SECURITY,	},
   1.142 +	{ "syslog",	LOG_SYSLOG,	},
   1.143 +	{ "user",	LOG_USER,	},
   1.144 +	{ "uucp",	LOG_UUCP,	},
   1.145 +	{ "local0",	LOG_LOCAL0,	},
   1.146 +	{ "local1",	LOG_LOCAL1,	},
   1.147 +	{ "local2",	LOG_LOCAL2,	},
   1.148 +	{ "local3",	LOG_LOCAL3,	},
   1.149 +	{ "local4",	LOG_LOCAL4,	},
   1.150 +	{ "local5",	LOG_LOCAL5,	},
   1.151 +	{ "local6",	LOG_LOCAL6,	},
   1.152 +	{ "local7",	LOG_LOCAL7,	},
   1.153 +	{ NULL,		-1,		}
   1.154 +};
   1.155 +#endif
   1.156 +
   1.157 +#ifdef _KERNEL
   1.158 +#define	LOG_PRINTF	-1	/* pseudo-priority to indicate use of printf */
   1.159 +#endif
   1.160 +
   1.161 +/*
   1.162 + * arguments to setlogmask.
   1.163 + */
   1.164 +#define	LOG_MASK(pri)	(1 << (pri))		/* mask for one priority */
   1.165 +#define	LOG_UPTO(pri)	((1 << ((pri)+1)) - 1)	/* all priorities through pri */
   1.166 +
   1.167 +/*
   1.168 + * Option flags for openlog.
   1.169 + *
   1.170 + * LOG_ODELAY no longer does anything.
   1.171 + * LOG_NDELAY is the inverse of what it used to be.
   1.172 + */
   1.173 +#define	LOG_PID		0x01	/* log the pid with each message */
   1.174 +#define	LOG_CONS	0x02	/* log on the console if errors in sending */
   1.175 +#define	LOG_ODELAY	0x04	/* delay open until first syslog() (default) */
   1.176 +#define	LOG_NDELAY	0x08	/* don't delay open */
   1.177 +#define	LOG_NOWAIT	0x10	/* don't wait for console forks: DEPRECATED */
   1.178 +#define	LOG_PERROR	0x20	/* log to stderr as well */
   1.179 +
   1.180 +#ifdef _KERNEL
   1.181 +
   1.182 +#else /* not _KERNEL */
   1.183 +
   1.184 +/*
   1.185 + * Don't use va_list in the vsyslog() prototype.   Va_list is typedef'd in two
   1.186 + * places (<machine/varargs.h> and <machine/stdarg.h>), so if we include one
   1.187 + * of them here we may collide with the utility's includes.  It's unreasonable
   1.188 + * for utilities to have to include one of them to include syslog.h, so we get
   1.189 + * __va_list from <sys/_types.h> and use it.
   1.190 + */
   1.191 +#include <sys/cdefs.h>
   1.192 +#include <sys/_types.h>
   1.193 +
   1.194 +__BEGIN_DECLS
   1.195 +void	syslog(int, const char *, ...) __printflike(2, 3);
   1.196 +__END_DECLS
   1.197 +
   1.198 +#endif /* !_KERNEL */
   1.199 +
   1.200 +#endif