Annotation of Net2/sys/syslog.h, revision 1.1.1.2

1.1       root        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, with or without
                      6:  * modification, are permitted provided that the following conditions
                      7:  * are met:
                      8:  * 1. Redistributions of source code must retain the above copyright
                      9:  *    notice, this list of conditions and the following disclaimer.
                     10:  * 2. Redistributions in binary form must reproduce the above copyright
                     11:  *    notice, this list of conditions and the following disclaimer in the
                     12:  *    documentation and/or other materials provided with the distribution.
                     13:  * 3. All advertising materials mentioning features or use of this software
                     14:  *    must display the following acknowledgement:
                     15:  *     This product includes software developed by the University of
                     16:  *     California, Berkeley and its contributors.
                     17:  * 4. Neither the name of the University nor the names of its contributors
                     18:  *    may be used to endorse or promote products derived from this software
                     19:  *    without specific prior written permission.
                     20:  *
                     21:  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
                     22:  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
                     23:  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
                     24:  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
                     25:  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
                     26:  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
                     27:  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
                     28:  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
                     29:  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
                     30:  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
                     31:  * SUCH DAMAGE.
                     32:  *
1.1.1.2 ! root       33:  *     from: @(#)syslog.h      7.20 (Berkeley) 2/23/91
        !            34:  *     syslog.h,v 1.3 1993/05/20 16:23:17 cgd Exp
1.1       root       35:  */
                     36: 
1.1.1.2 ! root       37: #ifndef _SYS_SYSLOG_H_
        !            38: #define _SYS_SYSLOG_H_
        !            39: 
1.1       root       40: #define        _PATH_LOG       "/dev/log"
                     41: 
                     42: /*
                     43:  * priorities/facilities are encoded into a single 32-bit quantity, where the
                     44:  * bottom 3 bits are the priority (0-7) and the top 28 bits are the facility
                     45:  * (0-big number).  Both the priorities and the facilities map roughly
                     46:  * one-to-one to strings in the syslogd(8) source code.  This mapping is
                     47:  * included in this file.
                     48:  *
                     49:  * priorities (these are ordered)
                     50:  */
                     51: #define        LOG_EMERG       0       /* system is unusable */
                     52: #define        LOG_ALERT       1       /* action must be taken immediately */
                     53: #define        LOG_CRIT        2       /* critical conditions */
                     54: #define        LOG_ERR         3       /* error conditions */
                     55: #define        LOG_WARNING     4       /* warning conditions */
                     56: #define        LOG_NOTICE      5       /* normal but significant condition */
                     57: #define        LOG_INFO        6       /* informational */
                     58: #define        LOG_DEBUG       7       /* debug-level messages */
                     59: 
                     60: #define        LOG_PRIMASK     0x07    /* mask to extract priority part (internal) */
                     61:                                /* extract priority */
                     62: #define        LOG_PRI(p)      ((p) & LOG_PRIMASK)
                     63: #define        LOG_MAKEPRI(fac, pri)   (((fac) << 3) | (pri))
                     64: 
                     65: #ifdef SYSLOG_NAMES
                     66: #define        INTERNAL_NOPRI  0x10    /* the "no priority" priority */
                     67:                                /* mark "facility" */
                     68: #define        INTERNAL_MARK   LOG_MAKEPRI(LOG_NFACILITIES, 0)
                     69: typedef struct _code {
                     70:        char    *c_name;
                     71:        int     c_val;
                     72: } CODE;
                     73: 
                     74: CODE prioritynames[] = {
                     75:        "alert",        LOG_ALERT,
                     76:        "crit",         LOG_CRIT,
                     77:        "debug",        LOG_DEBUG,
                     78:        "emerg",        LOG_EMERG,
                     79:        "err",          LOG_ERR,
                     80:        "error",        LOG_ERR,                /* DEPRECATED */
                     81:        "info",         LOG_INFO,
                     82:        "none",         INTERNAL_NOPRI,         /* INTERNAL */
                     83:        "notice",       LOG_NOTICE,
                     84:        "panic",        LOG_EMERG,              /* DEPRECATED */
                     85:        "warn",         LOG_WARNING,            /* DEPRECATED */
                     86:        "warning",      LOG_WARNING,
                     87:        NULL,           -1,
                     88: };
                     89: #endif
                     90: 
                     91: /* facility codes */
                     92: #define        LOG_KERN        (0<<3)  /* kernel messages */
                     93: #define        LOG_USER        (1<<3)  /* random user-level messages */
                     94: #define        LOG_MAIL        (2<<3)  /* mail system */
                     95: #define        LOG_DAEMON      (3<<3)  /* system daemons */
                     96: #define        LOG_AUTH        (4<<3)  /* security/authorization messages */
                     97: #define        LOG_SYSLOG      (5<<3)  /* messages generated internally by syslogd */
                     98: #define        LOG_LPR         (6<<3)  /* line printer subsystem */
                     99: #define        LOG_NEWS        (7<<3)  /* network news subsystem */
                    100: #define        LOG_UUCP        (8<<3)  /* UUCP subsystem */
                    101: #define        LOG_CRON        (9<<3)  /* clock daemon */
                    102: #define        LOG_AUTHPRIV    (10<<3) /* security/authorization messages (private) */
                    103: 
                    104:        /* other codes through 15 reserved for system use */
                    105: #define        LOG_LOCAL0      (16<<3) /* reserved for local use */
                    106: #define        LOG_LOCAL1      (17<<3) /* reserved for local use */
                    107: #define        LOG_LOCAL2      (18<<3) /* reserved for local use */
                    108: #define        LOG_LOCAL3      (19<<3) /* reserved for local use */
                    109: #define        LOG_LOCAL4      (20<<3) /* reserved for local use */
                    110: #define        LOG_LOCAL5      (21<<3) /* reserved for local use */
                    111: #define        LOG_LOCAL6      (22<<3) /* reserved for local use */
                    112: #define        LOG_LOCAL7      (23<<3) /* reserved for local use */
                    113: 
                    114: #define        LOG_NFACILITIES 24      /* current number of facilities */
                    115: #define        LOG_FACMASK     0x03f8  /* mask to extract facility part */
                    116:                                /* facility of pri */
                    117: #define        LOG_FAC(p)      (((p) & LOG_FACMASK) >> 3)
                    118: 
                    119: #ifdef SYSLOG_NAMES
                    120: CODE facilitynames[] = {
                    121:        "auth",         LOG_AUTH,
                    122:        "authpriv",     LOG_AUTHPRIV,
                    123:        "cron",         LOG_CRON,
                    124:        "daemon",       LOG_DAEMON,
                    125:        "kern",         LOG_KERN,
                    126:        "lpr",          LOG_LPR,
                    127:        "mail",         LOG_MAIL,
                    128:        "mark",         INTERNAL_MARK,          /* INTERNAL */
                    129:        "news",         LOG_NEWS,
                    130:        "security",     LOG_AUTH,               /* DEPRECATED */
                    131:        "syslog",       LOG_SYSLOG,
                    132:        "user",         LOG_USER,
                    133:        "uucp",         LOG_UUCP,
                    134:        "local0",       LOG_LOCAL0,
                    135:        "local1",       LOG_LOCAL1,
                    136:        "local2",       LOG_LOCAL2,
                    137:        "local3",       LOG_LOCAL3,
                    138:        "local4",       LOG_LOCAL4,
                    139:        "local5",       LOG_LOCAL5,
                    140:        "local6",       LOG_LOCAL6,
                    141:        "local7",       LOG_LOCAL7,
                    142:        NULL,           -1,
                    143: };
                    144: #endif
                    145: 
                    146: #ifdef KERNEL
                    147: #define        LOG_PRINTF      -1      /* pseudo-priority to indicate use of printf */
                    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: #ifndef KERNEL
                    170: 
                    171: #include <sys/cdefs.h>
                    172: #include <stdarg.h>
                    173: 
                    174: __BEGIN_DECLS
                    175: void   closelog __P((void));
                    176: void   openlog __P((const char *, int, int));
                    177: int    setlogmask __P((int));
                    178: void   syslog __P((int, const char *, ...));
                    179: void   vsyslog __P((int, const char *, va_list));
                    180: __END_DECLS
                    181: 
                    182: #endif /* !KERNEL */
1.1.1.2 ! root      183: 
        !           184: #endif /* !_SYS_SYSLOG_H_ */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.