8e3a80f215bec1fa2aa3f8dcbaf5d1ca7f535469
[krb5.git] / src / include / sys / syslog.h
1 /*
2  * Copyright (c) 1982, 1986, 1988 Regents of the University of California.
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms are permitted
6  * provided that the above copyright notice and this paragraph are
7  * duplicated in all such forms and that any documentation,
8  * advertising materials, and other materials related to such
9  * distribution and use acknowledge that the software was developed
10  * by the University of California, Berkeley.  The name of the
11  * University may not be used to endorse or promote products derived
12  * from this software without specific prior written permission.
13  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
14  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
15  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
16  *
17  *      @(#)syslog.h    7.10 (Berkeley) 6/27/88
18  */
19
20 /*
21  *      include/sys/syslog.h
22  */
23
24 /*
25  *  Facility codes
26  */
27
28 #define LOG_KERN        (0<<3)  /* kernel messages */
29 #define LOG_USER        (1<<3)  /* random user-level messages */
30 #define LOG_MAIL        (2<<3)  /* mail system */
31 #define LOG_DAEMON      (3<<3)  /* system daemons */
32 #define LOG_AUTH        (4<<3)  /* security/authorization messages */
33 #define LOG_SYSLOG      (5<<3)  /* messages generated internally by syslogd */
34 #define LOG_LPR         (6<<3)  /* line printer subsystem */
35 #define LOG_NEWS        (7<<3)  /* network news subsystem */
36 #define LOG_UUCP        (8<<3)  /* UUCP subsystem */
37         /* other codes through 15 reserved for system use */
38 #define LOG_LOCAL0      (16<<3) /* reserved for local use */
39 #define LOG_LOCAL1      (17<<3) /* reserved for local use */
40 #define LOG_LOCAL2      (18<<3) /* reserved for local use */
41 #define LOG_LOCAL3      (19<<3) /* reserved for local use */
42 #define LOG_LOCAL4      (20<<3) /* reserved for local use */
43 #define LOG_LOCAL5      (21<<3) /* reserved for local use */
44 #define LOG_LOCAL6      (22<<3) /* reserved for local use */
45 #define LOG_LOCAL7      (23<<3) /* reserved for local use */
46
47 #define LOG_NFACILITIES 24      /* maximum number of facilities */
48 #define LOG_FACMASK     0x03f8  /* mask to extract facility part */
49
50 #define LOG_FAC(p)      (((p) & LOG_FACMASK) >> 3)      /* facility of pri */
51
52 /*
53  *  Priorities (these are ordered)
54  */
55
56 #define LOG_EMERG       0       /* system is unusable */
57 #define LOG_ALERT       1       /* action must be taken immediately */
58 #define LOG_CRIT        2       /* critical conditions */
59 #define LOG_ERR         3       /* error conditions */
60 #define LOG_WARNING     4       /* warning conditions */
61 #define LOG_NOTICE      5       /* normal but signification condition */
62 #define LOG_INFO        6       /* informational */
63 #define LOG_DEBUG       7       /* debug-level messages */
64
65 #define LOG_PRIMASK     0x0007  /* mask to extract priority part (internal) */
66 #define LOG_PRI(p)      ((p) & LOG_PRIMASK)     /* extract priority */
67
68 #define LOG_MAKEPRI(fac, pri)   (((fac) << 3) | (pri))
69
70 #ifdef KERNEL
71 #define LOG_PRINTF      -1      /* pseudo-priority to indicate use of printf */
72 #endif
73
74 /*
75  * arguments to setlogmask.
76  */
77 #define LOG_MASK(pri)   (1 << (pri))            /* mask for one priority */
78 #define LOG_UPTO(pri)   ((1 << ((pri)+1)) - 1)  /* all priorities through pri */
79
80 /*
81  *  Option flags for openlog.
82  *
83  *      LOG_ODELAY no longer does anything; LOG_NDELAY is the
84  *      inverse of what it used to be.
85  */
86 #define LOG_PID         0x01    /* log the pid with each message */
87 #define LOG_CONS        0x02    /* log on the console if errors in sending */
88 #define LOG_ODELAY      0x04    /* delay open until syslog() is called */
89 #define LOG_NDELAY      0x08    /* don't delay open */
90 #define LOG_NOWAIT      0x10    /* if forking to log on console, don't wait() */
91
92 #ifndef KERNEL
93 #if defined(__STDC__) || defined(KRB5_PROVIDE_PROTOTYPES)
94 extern void syslog  (int , const char *, ... );
95 #ifdef va_start                         
96 /* XXX depending on #define of va_start in <stdarg.h> */
97 extern void vsyslog  (int , const char *, va_list );
98 #endif
99 extern void openlog  (const char *, int , int );
100 extern void closelog  (void );
101 extern int setlogmask  (int );
102 #else /* STDC */
103 extern void syslog  ();
104 extern void vsyslog  ();
105 extern void openlog  ();
106 extern void closelog  ();
107 extern int setlogmask  ();
108 #endif /* STDC */
109
110 #endif