1 /*
2  * Copyright (C) 2001  Internet Software Consortium.
3  *
4  * Permission to use, copy, modify, and distribute this software for any
5  * purpose with or without fee is hereby granted, provided that the above
6  * copyright notice and this permission notice appear in all copies.
7  *
8  * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
9  * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
10  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
11  * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
12  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
13  * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
14  * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
15  * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16  */
17 
18 /* From BIND 9 lib/isc/include/isc/: syslog.h,v 1.4 2002/08/01 03:43:31 mayer */
19 
20 #ifndef _SYSLOG_H
21 #define _SYSLOG_H
22 
23 #include <stdio.h>
24 
25 /* Constant definitions for openlog() */
26 #define LOG_PID		1
27 #define LOG_CONS	2
28 /* NT event log does not support facility level */
29 #define LOG_KERN	0
30 #define LOG_USER	0
31 #define LOG_MAIL	0
32 #define LOG_DAEMON	0
33 #define LOG_AUTH	0
34 #define LOG_SYSLOG	0
35 #define LOG_LPR		0
36 #define LOG_LOCAL0	0
37 #define LOG_LOCAL1	0
38 #define LOG_LOCAL2	0
39 #define LOG_LOCAL3	0
40 #define LOG_LOCAL4	0
41 #define LOG_LOCAL5	0
42 #define LOG_LOCAL6	0
43 #define LOG_LOCAL7	0
44 
45 #define LOG_EMERG       0       /* system is unusable */
46 #define LOG_ALERT       1       /* action must be taken immediately */
47 #define LOG_CRIT        2       /* critical conditions */
48 #define LOG_ERR         3       /* error conditions */
49 #define LOG_WARNING     4       /* warning conditions */
50 #define LOG_NOTICE      5       /* normal but signification condition */
51 #define LOG_INFO        6       /* informational */
52 #define LOG_DEBUG       7       /* debug-level messages */
53 
54 /*
55  * These are ignored on NT
56  */
57 #define LOG_NDELAY	0	/* Open the connection to syslogd immediately */
58 
59 #define LOG_UPTO(pri)   ((1 << ((pri)+1)) - 1)  /* all priorities through pri */
60 
61 void
62 syslog(int level, const char *fmt, ...);
63 
64 void
65 openlog(const char *, int, ...);
66 
67 void
68 closelog(void);
69 
70 void
71 ModifyLogLevel(int level);
72 
73 int
74 setlogmask(int maskpri);
75 
76 void
77 InitNTLogging(FILE *, int);
78 
79 void
80 NTReportError(const char *, const char *);
81 
82 #endif
83