summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/include/sys/syslog.h
blob: be6dc2de693d5b244d685b91ba20366df0e77727 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
/* sys/syslog.h

This file is part of Cygwin.

This software is a copyrighted work licensed under the terms of the
Cygwin license.  Please consult the file "CYGWIN_LICENSE" for
details. */

#ifndef _SYS_LOG_H
#define	_SYS_LOG_H

#include <sys/cdefs.h>
#include <stdarg.h>

#define _PATH_LOG	"/dev/log"
#define _PATH_KLOG	"/dev/kmsg"

#define	LOG_EMERG	0
#define	LOG_ALERT	1
#define	LOG_CRIT	2
#define	LOG_ERR		3
#define	LOG_WARNING	4
#define	LOG_NOTICE	5
#define	LOG_INFO	6
#define	LOG_DEBUG	7

#define	LOG_PRIMASK	0x07

#define	LOG_PRI(p)	((p) & LOG_PRIMASK)
#define	LOG_MAKEPRI(fac, pri)	(((fac) << 3) | (pri))

#define	LOG_KERN	(0<<3)
#define	LOG_USER	(1<<3)
#define	LOG_MAIL	(2<<3)
#define	LOG_DAEMON	(3<<3)
#define	LOG_AUTH	(4<<3)
#define	LOG_SYSLOG	(5<<3)
#define	LOG_LPR		(6<<3)
#define	LOG_NEWS	(7<<3)
#define	LOG_UUCP	(8<<3)
#define	LOG_CRON	(9<<3)
#define	LOG_AUTHPRIV	(10<<3)
#define LOG_FTP		(11<<3)

/* Codes through 15 are reserved for system use */
#define LOG_LOCAL0	(16<<3)
#define LOG_LOCAL1	(17<<3)
#define LOG_LOCAL2	(18<<3)
#define LOG_LOCAL3	(19<<3)
#define LOG_LOCAL4	(20<<3)
#define LOG_LOCAL5	(21<<3)
#define LOG_LOCAL6	(22<<3)
#define LOG_LOCAL7	(23<<3)

#define	LOG_NFACILITIES	24
#define	LOG_FACMASK	0x03f8
#define	LOG_FAC(p)	(((p) & LOG_FACMASK) >> 3)

#ifdef SYSLOG_NAMES

#define INTERNAL_NOPRI	0x10				/* Maps to "none" */
#define INTERNAL_MARK	LOG_MAKEPRI(LOG_NFACILITIES, 0)	/* Maps to "mark" */

typedef struct _code {
  char *c_name;
  int   c_val;
} CODE;

CODE prioritynames[] = {
  { "alert",	LOG_ALERT },
  { "crit",	LOG_CRIT },
  { "debug",	LOG_DEBUG },
  { "emerg",	LOG_EMERG },
  { "err",	LOG_ERR },
  { "error",	LOG_ERR },		/* Deprecated */
  { "info",	LOG_INFO },
  { "none",	INTERNAL_NOPRI },
  { "notice",	LOG_NOTICE },
  { "panic",	LOG_EMERG },		/* Deprecated */
  { "warn",	LOG_WARNING },		/* Deprecated */
  { "warning",	LOG_WARNING },
  { NULL, -1 }
};

CODE facilitynames[] = {
  { "auth",	LOG_AUTH },
  { "authpriv",	LOG_AUTHPRIV },
  { "cron",	LOG_CRON },
  { "daemon",	LOG_DAEMON },
  { "ftp",	LOG_FTP },
  { "kern",	LOG_KERN },
  { "lpr",	LOG_LPR },
  { "mail",	LOG_MAIL },
  { "mark",	INTERNAL_MARK },
  { "news",	LOG_NEWS },
  { "security",	LOG_AUTH },		/* Deprecated */
  { "syslog",	LOG_SYSLOG },
  { "user",	LOG_USER },
  { "uucp",	LOG_UUCP },
  { "local0",	LOG_LOCAL0 },
  { "local1",	LOG_LOCAL1 },
  { "local2",	LOG_LOCAL2 },
  { "local3",	LOG_LOCAL3 },
  { "local4",	LOG_LOCAL4 },
  { "local5",	LOG_LOCAL5 },
  { "local6",	LOG_LOCAL6 },
  { "local7",	LOG_LOCAL7 },
  { NULL,	-1 }
};

#endif /* SYSLOG_NAMES */

#define	LOG_MASK(pri)	(1 << (pri))
#define	LOG_UPTO(pri)	((1 << ((pri)+1)) - 1)

/*
 * Option flags for openlog.
 *
 * LOG_ODELAY no longer does anything.
 * LOG_NDELAY is the inverse of what it used to be.
 */
#define LOG_PID         0x01    /* log the pid with each message */
#define LOG_CONS        0x02    /* log on the console if errors in sending */
#define LOG_ODELAY      0x04    /* delay open until first syslog() (default) */
#define LOG_NDELAY      0x08    /* don't delay open */
#define LOG_NOWAIT      0x10    /* don't wait for console forks: DEPRECATED */
#define LOG_PERROR      0x20    /* log to stderr as well */

__BEGIN_DECLS


void	closelog (void);
void	openlog (const char *, int, int);
int	setlogmask (int);
void	syslog (int, const char *, ...);
void	vsyslog (int, const char *, va_list ap);

__END_DECLS


#endif /* _SYS_LOG_H */