[BACK]Return to syslog.h CVS log [TXT][DIR] Up to [local] / sys / sys

Annotation of sys/sys/syslog.h, Revision 1.1

1.1     ! nbrk        1: /*     $OpenBSD: syslog.h,v 1.12 2006/01/06 18:53:06 millert Exp $     */
        !             2: /*     $NetBSD: syslog.h,v 1.14 1996/04/03 20:46:44 christos Exp $     */
        !             3:
        !             4: /*
        !             5:  * Copyright (c) 1982, 1986, 1988, 1993
        !             6:  *     The Regents of the University of California.  All rights reserved.
        !             7:  *
        !             8:  * Redistribution and use in source and binary forms, with or without
        !             9:  * modification, are permitted provided that the following conditions
        !            10:  * are met:
        !            11:  * 1. Redistributions of source code must retain the above copyright
        !            12:  *    notice, this list of conditions and the following disclaimer.
        !            13:  * 2. Redistributions in binary form must reproduce the above copyright
        !            14:  *    notice, this list of conditions and the following disclaimer in the
        !            15:  *    documentation and/or other materials provided with the distribution.
        !            16:  * 3. Neither the name of the University nor the names of its contributors
        !            17:  *    may be used to endorse or promote products derived from this software
        !            18:  *    without specific prior written permission.
        !            19:  *
        !            20:  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
        !            21:  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
        !            22:  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
        !            23:  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
        !            24:  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
        !            25:  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
        !            26:  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
        !            27:  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
        !            28:  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
        !            29:  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
        !            30:  * SUCH DAMAGE.
        !            31:  *
        !            32:  *     @(#)syslog.h    8.1 (Berkeley) 6/2/93
        !            33:  */
        !            34:
        !            35: #ifndef _SYS_SYSLOG_H_
        !            36: #define _SYS_SYSLOG_H_
        !            37:
        !            38: #define        _PATH_LOG       "/dev/log"
        !            39:
        !            40: /*
        !            41:  * priorities/facilities are encoded into a single 32-bit quantity, where the
        !            42:  * bottom 3 bits are the priority (0-7) and the top 28 bits are the facility
        !            43:  * (0-big number).  Both the priorities and the facilities map roughly
        !            44:  * one-to-one to strings in the syslogd(8) source code.  This mapping is
        !            45:  * included in this file.
        !            46:  *
        !            47:  * priorities (these are ordered)
        !            48:  */
        !            49: #define        LOG_EMERG       0       /* system is unusable */
        !            50: #define        LOG_ALERT       1       /* action must be taken immediately */
        !            51: #define        LOG_CRIT        2       /* critical conditions */
        !            52: #define        LOG_ERR         3       /* error conditions */
        !            53: #define        LOG_WARNING     4       /* warning conditions */
        !            54: #define        LOG_NOTICE      5       /* normal but significant condition */
        !            55: #define        LOG_INFO        6       /* informational */
        !            56: #define        LOG_DEBUG       7       /* debug-level messages */
        !            57:
        !            58: #define        LOG_PRIMASK     0x07    /* mask to extract priority part (internal) */
        !            59:                                /* extract priority */
        !            60: #define        LOG_PRI(p)      ((p) & LOG_PRIMASK)
        !            61: #define        LOG_MAKEPRI(fac, pri)   (((fac) << 3) | (pri))
        !            62:
        !            63: #ifdef SYSLOG_NAMES
        !            64: #define        INTERNAL_NOPRI  0x10    /* the "no priority" priority */
        !            65:                                /* mark "facility" */
        !            66: #define        INTERNAL_MARK   LOG_MAKEPRI(LOG_NFACILITIES, 0)
        !            67: typedef struct _code {
        !            68:        char    *c_name;
        !            69:        int     c_val;
        !            70: } CODE;
        !            71:
        !            72: CODE prioritynames[] = {
        !            73:        { "alert",      LOG_ALERT },
        !            74:        { "crit",       LOG_CRIT },
        !            75:        { "debug",      LOG_DEBUG },
        !            76:        { "emerg",      LOG_EMERG },
        !            77:        { "err",        LOG_ERR },
        !            78:        { "error",      LOG_ERR },              /* DEPRECATED */
        !            79:        { "info",       LOG_INFO },
        !            80:        { "none",       INTERNAL_NOPRI },       /* INTERNAL */
        !            81:        { "notice",     LOG_NOTICE },
        !            82:        { "panic",      LOG_EMERG },            /* DEPRECATED */
        !            83:        { "warn",       LOG_WARNING },          /* DEPRECATED */
        !            84:        { "warning",    LOG_WARNING },
        !            85:        { NULL,         -1 },
        !            86: };
        !            87: #endif
        !            88:
        !            89: /* facility codes */
        !            90: #define        LOG_KERN        (0<<3)  /* kernel messages */
        !            91: #define        LOG_USER        (1<<3)  /* random user-level messages */
        !            92: #define        LOG_MAIL        (2<<3)  /* mail system */
        !            93: #define        LOG_DAEMON      (3<<3)  /* system daemons */
        !            94: #define        LOG_AUTH        (4<<3)  /* security/authorization messages */
        !            95: #define        LOG_SYSLOG      (5<<3)  /* messages generated internally by syslogd */
        !            96: #define        LOG_LPR         (6<<3)  /* line printer subsystem */
        !            97: #define        LOG_NEWS        (7<<3)  /* network news subsystem */
        !            98: #define        LOG_UUCP        (8<<3)  /* UUCP subsystem */
        !            99: #define        LOG_CRON        (9<<3)  /* clock daemon */
        !           100: #define        LOG_AUTHPRIV    (10<<3) /* security/authorization messages (private) */
        !           101: #define        LOG_FTP         (11<<3) /* ftp daemon */
        !           102:
        !           103:        /* other codes through 15 reserved for system use */
        !           104: #define        LOG_LOCAL0      (16<<3) /* reserved for local use */
        !           105: #define        LOG_LOCAL1      (17<<3) /* reserved for local use */
        !           106: #define        LOG_LOCAL2      (18<<3) /* reserved for local use */
        !           107: #define        LOG_LOCAL3      (19<<3) /* reserved for local use */
        !           108: #define        LOG_LOCAL4      (20<<3) /* reserved for local use */
        !           109: #define        LOG_LOCAL5      (21<<3) /* reserved for local use */
        !           110: #define        LOG_LOCAL6      (22<<3) /* reserved for local use */
        !           111: #define        LOG_LOCAL7      (23<<3) /* reserved for local use */
        !           112:
        !           113: #define        LOG_NFACILITIES 24      /* current number of facilities */
        !           114: #define        LOG_FACMASK     0x03f8  /* mask to extract facility part */
        !           115:                                /* facility of pri */
        !           116: #define        LOG_FAC(p)      (((p) & LOG_FACMASK) >> 3)
        !           117:
        !           118: #ifdef SYSLOG_NAMES
        !           119: CODE facilitynames[] = {
        !           120:        { "auth",       LOG_AUTH },
        !           121:        { "authpriv",   LOG_AUTHPRIV },
        !           122:        { "cron",       LOG_CRON },
        !           123:        { "daemon",     LOG_DAEMON },
        !           124:        { "ftp",        LOG_FTP },
        !           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: /* Used by reentrant functions */
        !           147:
        !           148: struct syslog_data {
        !           149:        int     log_file;
        !           150:        int     connected;
        !           151:        int     opened;
        !           152:        int     log_stat;
        !           153:        const char      *log_tag;
        !           154:        int     log_fac;
        !           155:        int     log_mask;
        !           156: };
        !           157:
        !           158: #define SYSLOG_DATA_INIT {-1, 0, 0, 0, (const char *)0, LOG_USER, 0xff}
        !           159:
        !           160: #ifdef _KERNEL
        !           161: #define        LOG_PRINTF      -1      /* pseudo-priority to indicate use of printf */
        !           162: #endif
        !           163:
        !           164: /*
        !           165:  * arguments to setlogmask.
        !           166:  */
        !           167: #define        LOG_MASK(pri)   (1 << (pri))            /* mask for one priority */
        !           168: #define        LOG_UPTO(pri)   ((1 << ((pri)+1)) - 1)  /* all priorities through pri */
        !           169:
        !           170: /*
        !           171:  * Option flags for openlog.
        !           172:  *
        !           173:  * LOG_ODELAY no longer does anything.
        !           174:  * LOG_NDELAY is the inverse of what it used to be.
        !           175:  */
        !           176: #define        LOG_PID         0x01    /* log the pid with each message */
        !           177: #define        LOG_CONS        0x02    /* log on the console if errors in sending */
        !           178: #define        LOG_ODELAY      0x04    /* delay open until first syslog() (default) */
        !           179: #define        LOG_NDELAY      0x08    /* don't delay open */
        !           180: #define        LOG_NOWAIT      0x10    /* don't wait for console forks: DEPRECATED */
        !           181: #define        LOG_PERROR      0x20    /* log to stderr as well */
        !           182:
        !           183: #ifndef _KERNEL
        !           184:
        !           185: /*
        !           186:  * Don't use va_list in the vsyslog() prototype.   Va_list is typedef'd in two
        !           187:  * places (<machine/varargs.h> and <machine/stdarg.h>), so if we include one
        !           188:  * of them here we may collide with the utility's includes.  It's unreasonable
        !           189:  * for utilities to have to include one of them to include syslog.h, so we get
        !           190:  * __va_list from <machine/_types.h> and use it.
        !           191:  */
        !           192: #include <sys/cdefs.h>
        !           193: #include <machine/_types.h>
        !           194:
        !           195: __BEGIN_DECLS
        !           196: void   closelog(void);
        !           197: void   openlog(const char *, int, int);
        !           198: int    setlogmask(int);
        !           199: void   syslog(int, const char *, ...)
        !           200:     __attribute__((__format__(__syslog__,2,3)));
        !           201: void   vsyslog(int, const char *, __va_list);
        !           202: void   closelog_r(struct syslog_data *);
        !           203: void   openlog_r(const char *, int, int, struct syslog_data *);
        !           204: int    setlogmask_r(int, struct syslog_data *);
        !           205: void   syslog_r(int, struct syslog_data *, const char *, ...)
        !           206:      __attribute__((__format__(__syslog__,3,4)));
        !           207: void   vsyslog_r(int, struct syslog_data *, const char *, __va_list);
        !           208: __END_DECLS
        !           209:
        !           210: #else /* !_KERNEL */
        !           211:
        !           212: void   logpri(int);
        !           213: void   log(int, const char *, ...)
        !           214:     __attribute__((__format__(__kprintf__,2,3)));
        !           215: int    addlog(const char *, ...)
        !           216:     __attribute__((__format__(__kprintf__,1,2)));
        !           217: void   logwakeup(void);
        !           218:
        !           219: #endif /* !_KERNEL */
        !           220: #endif /* !_SYS_SYSLOG_H_ */
        !           221:

CVSweb