Dr Andrew Scott G7VAV

My photo
 
May 2024
Mo Tu We Th Fr Sa Su
29 30 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 1 2
3 4 5 6 7 8 9


syslog.h
001: /*
002:  * Copyright (c) 1982, 1986, 1988, 1993
003:  *      The Regents of the University of California.  All rights reserved.
004:  *
005:  * Redistribution and use in source and binary forms, with or without
006:  * modification, are permitted provided that the following conditions
007:  * are met:
008:  * 1. Redistributions of source code must retain the above copyright
009:  *    notice, this list of conditions and the following disclaimer.
010:  * 2. Redistributions in binary form must reproduce the above copyright
011:  *    notice, this list of conditions and the following disclaimer in the
012:  *    documentation and/or other materials provided with the distribution.
013:  * 4. Neither the name of the University nor the names of its contributors
014:  *    may be used to endorse or promote products derived from this software
015:  *    without specific prior written permission.
016:  *
017:  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
018:  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
019:  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
020:  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
021:  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
022:  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
023:  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
024:  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
025:  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
026:  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
027:  * SUCH DAMAGE.
028:  *
029:  *      @(#)syslog.h    8.1 (Berkeley) 6/2/93
030:  */
031: 
032: #ifndef _SYS_SYSLOG_H
033: #define _SYS_SYSLOG_H 1
034: 
035: #include <features.h>
036: #define __need___va_list
037: #include <stdarg.h>
038: 
039: /* This file defines _PATH_LOG.  */
040: #include <bits/syslog-path.h>
041: 
042: /*
043:  * priorities/facilities are encoded into a single 32-bit quantity, where the
044:  * bottom 3 bits are the priority (0-7) and the top 28 bits are the facility
045:  * (0-big number).  Both the priorities and the facilities map roughly
046:  * one-to-one to strings in the syslogd(8) source code.  This mapping is
047:  * included in this file.
048:  *
049:  * priorities (these are ordered)
050:  */
051: #define LOG_EMERG       0       /* system is unusable */
052: #define LOG_ALERT       1       /* action must be taken immediately */
053: #define LOG_CRIT        2       /* critical conditions */
054: #define LOG_ERR         3       /* error conditions */
055: #define LOG_WARNING     4       /* warning conditions */
056: #define LOG_NOTICE      5       /* normal but significant condition */
057: #define LOG_INFO        6       /* informational */
058: #define LOG_DEBUG       7       /* debug-level messages */
059: 
060: #define LOG_PRIMASK     0x07    /* mask to extract priority part (internal) */
061:                                 /* extract priority */
062: #define LOG_PRI(p)      ((p) & LOG_PRIMASK)
063: #define LOG_MAKEPRI(fac, pri)   (((fac) << 3) | (pri))
064: 
065: #ifdef SYSLOG_NAMES
066: #define INTERNAL_NOPRI  0x10    /* the "no priority" priority */
067:                                 /* mark "facility" */
068: #define INTERNAL_MARK   LOG_MAKEPRI(LOG_NFACILITIES, 0)
069: typedef struct _code {
070:         char    *c_name;
071:         int     c_val;
072: } CODE;
073: 
074: CODE prioritynames[] =
075:   {
076:     { "alert", LOG_ALERT },
077:     { "crit", LOG_CRIT },
078:     { "debug", LOG_DEBUG },
079:     { "emerg", LOG_EMERG },
080:     { "err", LOG_ERR },
081:     { "error", LOG_ERR },               /* DEPRECATED */
082:     { "info", LOG_INFO },
083:     { "none", INTERNAL_NOPRI },         /* INTERNAL */
084:     { "notice", LOG_NOTICE },
085:     { "panic", LOG_EMERG },             /* DEPRECATED */
086:     { "warn", LOG_WARNING },            /* DEPRECATED */
087:     { "warning", LOG_WARNING },
088:     { NULL, -1 }
089:   };
090: #endif
091: 
092: /* facility codes */
093: #define LOG_KERN        (0<<3)  /* kernel messages */
094: #define LOG_USER        (1<<3)  /* random user-level messages */
095: #define LOG_MAIL        (2<<3)  /* mail system */
096: #define LOG_DAEMON      (3<<3)  /* system daemons */
097: #define LOG_AUTH        (4<<3)  /* security/authorization messages */
098: #define LOG_SYSLOG      (5<<3)  /* messages generated internally by syslogd */
099: #define LOG_LPR         (6<<3)  /* line printer subsystem */
100: #define LOG_NEWS        (7<<3)  /* network news subsystem */
101: #define LOG_UUCP        (8<<3)  /* UUCP subsystem */
102: #define LOG_CRON        (9<<3)  /* clock daemon */
103: #define LOG_AUTHPRIV    (10<<3) /* security/authorization messages (private) */
104: #define LOG_FTP         (11<<3) /* ftp daemon */
105: 
106:         /* other codes through 15 reserved for system use */
107: #define LOG_LOCAL0      (16<<3) /* reserved for local use */
108: #define LOG_LOCAL1      (17<<3) /* reserved for local use */
109: #define LOG_LOCAL2      (18<<3) /* reserved for local use */
110: #define LOG_LOCAL3      (19<<3) /* reserved for local use */
111: #define LOG_LOCAL4      (20<<3) /* reserved for local use */
112: #define LOG_LOCAL5      (21<<3) /* reserved for local use */
113: #define LOG_LOCAL6      (22<<3) /* reserved for local use */
114: #define LOG_LOCAL7      (23<<3) /* reserved for local use */
115: 
116: #define LOG_NFACILITIES 24      /* current number of facilities */
117: #define LOG_FACMASK     0x03f8  /* mask to extract facility part */
118:                                 /* facility of pri */
119: #define LOG_FAC(p)      (((p) & LOG_FACMASK) >> 3)
120: 
121: #ifdef SYSLOG_NAMES
122: CODE facilitynames[] =
123:   {
124:     { "auth", LOG_AUTH },
125:     { "authpriv", LOG_AUTHPRIV },
126:     { "cron", LOG_CRON },
127:     { "daemon", LOG_DAEMON },
128:     { "ftp", LOG_FTP },
129:     { "kern", LOG_KERN },
130:     { "lpr", LOG_LPR },
131:     { "mail", LOG_MAIL },
132:     { "mark", INTERNAL_MARK },          /* INTERNAL */
133:     { "news", LOG_NEWS },
134:     { "security", LOG_AUTH },           /* DEPRECATED */
135:     { "syslog", LOG_SYSLOG },
136:     { "user", LOG_USER },
137:     { "uucp", LOG_UUCP },
138:     { "local0", LOG_LOCAL0 },
139:     { "local1", LOG_LOCAL1 },
140:     { "local2", LOG_LOCAL2 },
141:     { "local3", LOG_LOCAL3 },
142:     { "local4", LOG_LOCAL4 },
143:     { "local5", LOG_LOCAL5 },
144:     { "local6", LOG_LOCAL6 },
145:     { "local7", LOG_LOCAL7 },
146:     { NULL, -1 }
147:   };
148: #endif
149: 
150: /*
151:  * arguments to setlogmask.
152:  */
153: #define LOG_MASK(pri)   (1 << (pri))            /* mask for one priority */
154: #define LOG_UPTO(pri)   ((1 << ((pri)+1)) - 1)  /* all priorities through pri */
155: 
156: /*
157:  * Option flags for openlog.
158:  *
159:  * LOG_ODELAY no longer does anything.
160:  * LOG_NDELAY is the inverse of what it used to be.
161:  */
162: #define LOG_PID         0x01    /* log the pid with each message */
163: #define LOG_CONS        0x02    /* log on the console if errors in sending */
164: #define LOG_ODELAY      0x04    /* delay open until first syslog() (default) */
165: #define LOG_NDELAY      0x08    /* don't delay open */
166: #define LOG_NOWAIT      0x10    /* don't wait for console forks: DEPRECATED */
167: #define LOG_PERROR      0x20    /* log to stderr as well */
168: 
169: __BEGIN_DECLS
170: 
171: /* Close descriptor used to write to system logger.
172: 
173:    This function is a possible cancellation point and therefore not
174:    marked with __THROW.  */
175: extern void closelog (void);
176: 
177: /* Open connection to system logger.
178: 
179:    This function is a possible cancellation point and therefore not
180:    marked with __THROW.  */
181: extern void openlog (__const char *__ident, int __option, int __facility);
182: 
183: /* Set the log mask level.  */
184: extern int setlogmask (int __mask) __THROW;
185: 
186: /* Generate a log message using FMT string and option arguments.
187: 
188:    This function is a possible cancellation point and therefore not
189:    marked with __THROW.  */
190: extern void syslog (int __pri, __const char *__fmt, ...)
191:      __attribute__ ((__format__ (__printf__, 2, 3)));
192: 
193: #ifdef __USE_BSD
194: /* Generate a log message using FMT and using arguments pointed to by AP.
195: 
196:    This function is not part of POSIX and therefore no official
197:    cancellation point.  But due to similarity with an POSIX interface
198:    or due to the implementation it is a cancellation point and
199:    therefore not marked with __THROW.  */
200: extern void vsyslog (int __pri, __const char *__fmt, __gnuc_va_list __ap)
201:      __attribute__ ((__format__ (__printf__, 2, 0)));
202: #endif
203: 
204: 
205: /* Define some macros helping to catch buffer overflows.  */
206: #if __USE_FORTIFY_LEVEL > 0 && defined __extern_always_inline
207: # include <bits/syslog.h>
208: #endif
209: #ifdef __LDBL_COMPAT
210: # include <bits/syslog-ldbl.h>
211: #endif
212: 
213: __END_DECLS
214: 
215: #endif /* sys/syslog.h */
216: 


for client 3.149.214.32
© Andrew Scott 2006 - 2024,
All Rights Reserved
http://www.andrew-scott.uk/
Andrew Scott
http://www.andrew-scott.co.uk/