diff options
Diffstat (limited to 'cpan/Sys-Syslog/fallback')
-rw-r--r-- | cpan/Sys-Syslog/fallback/const-c.inc | 689 | ||||
-rw-r--r-- | cpan/Sys-Syslog/fallback/const-xs.inc | 87 | ||||
-rw-r--r-- | cpan/Sys-Syslog/fallback/syslog.h | 111 |
3 files changed, 887 insertions, 0 deletions
diff --git a/cpan/Sys-Syslog/fallback/const-c.inc b/cpan/Sys-Syslog/fallback/const-c.inc new file mode 100644 index 0000000000..8fb8cb6b98 --- /dev/null +++ b/cpan/Sys-Syslog/fallback/const-c.inc @@ -0,0 +1,689 @@ +#define PERL_constant_NOTFOUND 1 +#define PERL_constant_NOTDEF 2 +#define PERL_constant_ISIV 3 +#define PERL_constant_ISNO 4 +#define PERL_constant_ISNV 5 +#define PERL_constant_ISPV 6 +#define PERL_constant_ISPVN 7 +#define PERL_constant_ISSV 8 +#define PERL_constant_ISUNDEF 9 +#define PERL_constant_ISUV 10 +#define PERL_constant_ISYES 11 + +#ifndef NVTYPE +typedef double NV; /* 5.6 and later define NVTYPE, and typedef NV to it. */ +#endif +#ifndef aTHX_ +#define aTHX_ /* 5.6 or later define this for threading support. */ +#endif +#ifndef pTHX_ +#define pTHX_ /* 5.6 or later define this for threading support. */ +#endif + +static int +constant_7 (pTHX_ const char *name, IV *iv_return) { + /* When generated this function returned values for the list of names given + here. However, subsequent manual editing may have added or removed some. + LOG_ERR LOG_FTP LOG_LPR LOG_NTP LOG_PID LOG_RAS */ + /* Offset 4 gives the best switch position. */ + switch (name[4]) { + case 'E': + if (memEQ(name, "LOG_ERR", 7)) { + /* ^ */ +#ifdef LOG_ERR + *iv_return = LOG_ERR; + return PERL_constant_ISIV; +#else + return PERL_constant_NOTDEF; +#endif + } + break; + case 'F': + if (memEQ(name, "LOG_FTP", 7)) { + /* ^ */ +#ifdef LOG_FTP + *iv_return = LOG_FTP; + return PERL_constant_ISIV; +#else + return PERL_constant_NOTDEF; +#endif + } + break; + case 'L': + if (memEQ(name, "LOG_LPR", 7)) { + /* ^ */ +#ifdef LOG_LPR + *iv_return = LOG_LPR; + return PERL_constant_ISIV; +#else + return PERL_constant_NOTDEF; +#endif + } + break; + case 'N': + if (memEQ(name, "LOG_NTP", 7)) { + /* ^ */ +#ifdef LOG_NTP + *iv_return = LOG_NTP; + return PERL_constant_ISIV; +#else + *iv_return = LOG_DAEMON; + return PERL_constant_ISIV; +#endif + } + break; + case 'P': + if (memEQ(name, "LOG_PID", 7)) { + /* ^ */ +#ifdef LOG_PID + *iv_return = LOG_PID; + return PERL_constant_ISIV; +#else + return PERL_constant_NOTDEF; +#endif + } + break; + case 'R': + if (memEQ(name, "LOG_RAS", 7)) { + /* ^ */ +#ifdef LOG_RAS + *iv_return = LOG_RAS; + return PERL_constant_ISIV; +#else + *iv_return = LOG_AUTH; + return PERL_constant_ISIV; +#endif + } + break; + } + return PERL_constant_NOTFOUND; +} + +static int +constant_8 (pTHX_ const char *name, IV *iv_return) { + /* When generated this function returned values for the list of names given + here. However, subsequent manual editing may have added or removed some. + LOG_AUTH LOG_CONS LOG_CRIT LOG_CRON LOG_INFO LOG_KERN LOG_LFMT LOG_MAIL + LOG_NEWS LOG_USER LOG_UUCP */ + /* Offset 6 gives the best switch position. */ + switch (name[6]) { + case 'C': + if (memEQ(name, "LOG_UUCP", 8)) { + /* ^ */ +#ifdef LOG_UUCP + *iv_return = LOG_UUCP; + return PERL_constant_ISIV; +#else + return PERL_constant_NOTDEF; +#endif + } + break; + case 'E': + if (memEQ(name, "LOG_USER", 8)) { + /* ^ */ +#ifdef LOG_USER + *iv_return = LOG_USER; + return PERL_constant_ISIV; +#else + return PERL_constant_NOTDEF; +#endif + } + break; + case 'F': + if (memEQ(name, "LOG_INFO", 8)) { + /* ^ */ +#ifdef LOG_INFO + *iv_return = LOG_INFO; + return PERL_constant_ISIV; +#else + return PERL_constant_NOTDEF; +#endif + } + break; + case 'I': + if (memEQ(name, "LOG_CRIT", 8)) { + /* ^ */ +#ifdef LOG_CRIT + *iv_return = LOG_CRIT; + return PERL_constant_ISIV; +#else + return PERL_constant_NOTDEF; +#endif + } + if (memEQ(name, "LOG_MAIL", 8)) { + /* ^ */ +#ifdef LOG_MAIL + *iv_return = LOG_MAIL; + return PERL_constant_ISIV; +#else + return PERL_constant_NOTDEF; +#endif + } + break; + case 'M': + if (memEQ(name, "LOG_LFMT", 8)) { + /* ^ */ +#ifdef LOG_LFMT + *iv_return = LOG_LFMT; + return PERL_constant_ISIV; +#else + *iv_return = LOG_USER; + return PERL_constant_ISIV; +#endif + } + break; + case 'N': + if (memEQ(name, "LOG_CONS", 8)) { + /* ^ */ +#ifdef LOG_CONS + *iv_return = LOG_CONS; + return PERL_constant_ISIV; +#else + return PERL_constant_NOTDEF; +#endif + } + break; + case 'O': + if (memEQ(name, "LOG_CRON", 8)) { + /* ^ */ +#ifdef LOG_CRON + *iv_return = LOG_CRON; + return PERL_constant_ISIV; +#else + return PERL_constant_NOTDEF; +#endif + } + break; + case 'R': + if (memEQ(name, "LOG_KERN", 8)) { + /* ^ */ +#ifdef LOG_KERN + *iv_return = LOG_KERN; + return PERL_constant_ISIV; +#else + return PERL_constant_NOTDEF; +#endif + } + break; + case 'T': + if (memEQ(name, "LOG_AUTH", 8)) { + /* ^ */ +#ifdef LOG_AUTH + *iv_return = LOG_AUTH; + return PERL_constant_ISIV; +#else + return PERL_constant_NOTDEF; +#endif + } + break; + case 'W': + if (memEQ(name, "LOG_NEWS", 8)) { + /* ^ */ +#ifdef LOG_NEWS + *iv_return = LOG_NEWS; + return PERL_constant_ISIV; +#else + return PERL_constant_NOTDEF; +#endif + } + break; + } + return PERL_constant_NOTFOUND; +} + +static int +constant_9 (pTHX_ const char *name, IV *iv_return, const char **pv_return) { + /* When generated this function returned values for the list of names given + here. However, subsequent manual editing may have added or removed some. + LOG_ALERT LOG_AUDIT LOG_DEBUG LOG_EMERG _PATH_LOG */ + /* Offset 5 gives the best switch position. */ + switch (name[5]) { + case 'E': + if (memEQ(name, "LOG_DEBUG", 9)) { + /* ^ */ +#ifdef LOG_DEBUG + *iv_return = LOG_DEBUG; + return PERL_constant_ISIV; +#else + return PERL_constant_NOTDEF; +#endif + } + break; + case 'L': + if (memEQ(name, "LOG_ALERT", 9)) { + /* ^ */ +#ifdef LOG_ALERT + *iv_return = LOG_ALERT; + return PERL_constant_ISIV; +#else + return PERL_constant_NOTDEF; +#endif + } + break; + case 'M': + if (memEQ(name, "LOG_EMERG", 9)) { + /* ^ */ +#ifdef LOG_EMERG + *iv_return = LOG_EMERG; + return PERL_constant_ISIV; +#else + return PERL_constant_NOTDEF; +#endif + } + break; + case 'U': + if (memEQ(name, "LOG_AUDIT", 9)) { + /* ^ */ +#ifdef LOG_AUDIT + *iv_return = LOG_AUDIT; + return PERL_constant_ISIV; +#else + *iv_return = LOG_AUTH; + return PERL_constant_ISIV; +#endif + } + break; + case '_': + if (memEQ(name, "_PATH_LOG", 9)) { + /* ^ */ +#ifdef _PATH_LOG + *pv_return = _PATH_LOG; + return PERL_constant_ISPV; +#else + *pv_return = "/var/run/syslog"; + return PERL_constant_ISPV; +#endif + } + break; + } + return PERL_constant_NOTFOUND; +} + +static int +constant_10 (pTHX_ const char *name, IV *iv_return) { + /* When generated this function returned values for the list of names given + here. However, subsequent manual editing may have added or removed some. + LOG_DAEMON LOG_LOCAL0 LOG_LOCAL1 LOG_LOCAL2 LOG_LOCAL3 LOG_LOCAL4 + LOG_LOCAL5 LOG_LOCAL6 LOG_LOCAL7 LOG_NDELAY LOG_NOTICE LOG_NOWAIT + LOG_ODELAY LOG_PERROR LOG_SYSLOG */ + /* Offset 9 gives the best switch position. */ + switch (name[9]) { + case '0': + if (memEQ(name, "LOG_LOCAL", 9)) { + /* 0 */ +#ifdef LOG_LOCAL0 + *iv_return = LOG_LOCAL0; + return PERL_constant_ISIV; +#else + return PERL_constant_NOTDEF; +#endif + } + break; + case '1': + if (memEQ(name, "LOG_LOCAL", 9)) { + /* 1 */ +#ifdef LOG_LOCAL1 + *iv_return = LOG_LOCAL1; + return PERL_constant_ISIV; +#else + return PERL_constant_NOTDEF; +#endif + } + break; + case '2': + if (memEQ(name, "LOG_LOCAL", 9)) { + /* 2 */ +#ifdef LOG_LOCAL2 + *iv_return = LOG_LOCAL2; + return PERL_constant_ISIV; +#else + return PERL_constant_NOTDEF; +#endif + } + break; + case '3': + if (memEQ(name, "LOG_LOCAL", 9)) { + /* 3 */ +#ifdef LOG_LOCAL3 + *iv_return = LOG_LOCAL3; + return PERL_constant_ISIV; +#else + return PERL_constant_NOTDEF; +#endif + } + break; + case '4': + if (memEQ(name, "LOG_LOCAL", 9)) { + /* 4 */ +#ifdef LOG_LOCAL4 + *iv_return = LOG_LOCAL4; + return PERL_constant_ISIV; +#else + return PERL_constant_NOTDEF; +#endif + } + break; + case '5': + if (memEQ(name, "LOG_LOCAL", 9)) { + /* 5 */ +#ifdef LOG_LOCAL5 + *iv_return = LOG_LOCAL5; + return PERL_constant_ISIV; +#else + return PERL_constant_NOTDEF; +#endif + } + break; + case '6': + if (memEQ(name, "LOG_LOCAL", 9)) { + /* 6 */ +#ifdef LOG_LOCAL6 + *iv_return = LOG_LOCAL6; + return PERL_constant_ISIV; +#else + return PERL_constant_NOTDEF; +#endif + } + break; + case '7': + if (memEQ(name, "LOG_LOCAL", 9)) { + /* 7 */ +#ifdef LOG_LOCAL7 + *iv_return = LOG_LOCAL7; + return PERL_constant_ISIV; +#else + return PERL_constant_NOTDEF; +#endif + } + break; + case 'E': + if (memEQ(name, "LOG_NOTIC", 9)) { + /* E */ +#ifdef LOG_NOTICE + *iv_return = LOG_NOTICE; + return PERL_constant_ISIV; +#else + return PERL_constant_NOTDEF; +#endif + } + break; + case 'G': + if (memEQ(name, "LOG_SYSLO", 9)) { + /* G */ +#ifdef LOG_SYSLOG + *iv_return = LOG_SYSLOG; + return PERL_constant_ISIV; +#else + return PERL_constant_NOTDEF; +#endif + } + break; + case 'N': + if (memEQ(name, "LOG_DAEMO", 9)) { + /* N */ +#ifdef LOG_DAEMON + *iv_return = LOG_DAEMON; + return PERL_constant_ISIV; +#else + return PERL_constant_NOTDEF; +#endif + } + break; + case 'R': + if (memEQ(name, "LOG_PERRO", 9)) { + /* R */ +#ifdef LOG_PERROR + *iv_return = LOG_PERROR; + return PERL_constant_ISIV; +#else + return PERL_constant_NOTDEF; +#endif + } + break; + case 'T': + if (memEQ(name, "LOG_NOWAI", 9)) { + /* T */ +#ifdef LOG_NOWAIT + *iv_return = LOG_NOWAIT; + return PERL_constant_ISIV; +#else + return PERL_constant_NOTDEF; +#endif + } + break; + case 'Y': + if (memEQ(name, "LOG_NDELA", 9)) { + /* Y */ +#ifdef LOG_NDELAY + *iv_return = LOG_NDELAY; + return PERL_constant_ISIV; +#else + return PERL_constant_NOTDEF; +#endif + } + if (memEQ(name, "LOG_ODELA", 9)) { + /* Y */ +#ifdef LOG_ODELAY + *iv_return = LOG_ODELAY; + return PERL_constant_ISIV; +#else + return PERL_constant_NOTDEF; +#endif + } + break; + } + return PERL_constant_NOTFOUND; +} + +static int +constant_11 (pTHX_ const char *name, IV *iv_return) { + /* When generated this function returned values for the list of names given + here. However, subsequent manual editing may have added or removed some. + LOG_CONSOLE LOG_FACMASK LOG_INSTALL LOG_LAUNCHD LOG_NETINFO LOG_PRIMASK + LOG_WARNING */ + /* Offset 6 gives the best switch position. */ + switch (name[6]) { + case 'C': + if (memEQ(name, "LOG_FACMASK", 11)) { + /* ^ */ +#ifdef LOG_FACMASK + *iv_return = LOG_FACMASK; + return PERL_constant_ISIV; +#else + return PERL_constant_NOTDEF; +#endif + } + break; + case 'I': + if (memEQ(name, "LOG_PRIMASK", 11)) { + /* ^ */ +#ifdef LOG_PRIMASK + *iv_return = LOG_PRIMASK; + return PERL_constant_ISIV; +#else + *iv_return = 7; + return PERL_constant_ISIV; +#endif + } + break; + case 'N': + if (memEQ(name, "LOG_CONSOLE", 11)) { + /* ^ */ +#ifdef LOG_CONSOLE + *iv_return = LOG_CONSOLE; + return PERL_constant_ISIV; +#else + *iv_return = LOG_USER; + return PERL_constant_ISIV; +#endif + } + break; + case 'R': + if (memEQ(name, "LOG_WARNING", 11)) { + /* ^ */ +#ifdef LOG_WARNING + *iv_return = LOG_WARNING; + return PERL_constant_ISIV; +#else + return PERL_constant_NOTDEF; +#endif + } + break; + case 'S': + if (memEQ(name, "LOG_INSTALL", 11)) { + /* ^ */ +#ifdef LOG_INSTALL + *iv_return = LOG_INSTALL; + return PERL_constant_ISIV; +#else + *iv_return = LOG_USER; + return PERL_constant_ISIV; +#endif + } + break; + case 'T': + if (memEQ(name, "LOG_NETINFO", 11)) { + /* ^ */ +#ifdef LOG_NETINFO + *iv_return = LOG_NETINFO; + return PERL_constant_ISIV; +#else + *iv_return = LOG_DAEMON; + return PERL_constant_ISIV; +#endif + } + break; + case 'U': + if (memEQ(name, "LOG_LAUNCHD", 11)) { + /* ^ */ +#ifdef LOG_LAUNCHD + *iv_return = LOG_LAUNCHD; + return PERL_constant_ISIV; +#else + *iv_return = LOG_DAEMON; + return PERL_constant_ISIV; +#endif + } + break; + } + return PERL_constant_NOTFOUND; +} + +static int +constant (pTHX_ const char *name, STRLEN len, IV *iv_return, const char **pv_return) { + /* Initially switch on the length of the name. */ + /* When generated this function returned values for the list of names given + in this section of perl code. Rather than manually editing these functions + to add or remove constants, which would result in this comment and section + of code becoming inaccurate, we recommend that you edit this section of + code, and use it to regenerate a new set of constant functions which you + then use to replace the originals. + + Regenerate these constant functions by feeding this entire source file to + perl -x + +#!perl -w +use ExtUtils::Constant qw (constant_types C_constant XS_constant); + +my $types = {map {($_, 1)} qw(IV PV)}; +my @names = (qw(LOG_ALERT LOG_AUTH LOG_AUTHPRIV LOG_CONS LOG_CRIT LOG_CRON + LOG_DAEMON LOG_DEBUG LOG_EMERG LOG_ERR LOG_FACMASK LOG_FTP + LOG_INFO LOG_KERN LOG_LOCAL0 LOG_LOCAL1 LOG_LOCAL2 LOG_LOCAL3 + LOG_LOCAL4 LOG_LOCAL5 LOG_LOCAL6 LOG_LOCAL7 LOG_LPR LOG_MAIL + LOG_NDELAY LOG_NEWS LOG_NOTICE LOG_NOWAIT LOG_ODELAY LOG_PERROR + LOG_PID LOG_SYSLOG LOG_USER LOG_UUCP LOG_WARNING), + {name=>"LOG_AUDIT", type=>"IV", default=>["IV", "LOG_AUTH"]}, + {name=>"LOG_CONSOLE", type=>"IV", default=>["IV", "LOG_USER"]}, + {name=>"LOG_INSTALL", type=>"IV", default=>["IV", "LOG_USER"]}, + {name=>"LOG_LAUNCHD", type=>"IV", default=>["IV", "LOG_DAEMON"]}, + {name=>"LOG_LFMT", type=>"IV", default=>["IV", "LOG_USER"]}, + {name=>"LOG_NETINFO", type=>"IV", default=>["IV", "LOG_DAEMON"]}, + {name=>"LOG_NFACILITIES", type=>"IV", default=>["IV", "30"]}, + {name=>"LOG_NTP", type=>"IV", default=>["IV", "LOG_DAEMON"]}, + {name=>"LOG_PRIMASK", type=>"IV", default=>["IV", "7"]}, + {name=>"LOG_RAS", type=>"IV", default=>["IV", "LOG_AUTH"]}, + {name=>"LOG_REMOTEAUTH", type=>"IV", default=>["IV", "LOG_AUTH"]}, + {name=>"LOG_SECURITY", type=>"IV", default=>["IV", "LOG_AUTH"]}, + {name=>"_PATH_LOG", type=>"PV", default=>["PV", "\"/var/run/syslog\""]}); + +print constant_types(); # macro defs +foreach (C_constant ("Sys::Syslog", 'constant', 'IV', $types, undef, 3, @names) ) { + print $_, "\n"; # C constant subs +} +print "#### XS Section:\n"; +print XS_constant ("Sys::Syslog", $types); +__END__ + */ + + switch (len) { + case 7: + return constant_7 (aTHX_ name, iv_return); + break; + case 8: + return constant_8 (aTHX_ name, iv_return); + break; + case 9: + return constant_9 (aTHX_ name, iv_return, pv_return); + break; + case 10: + return constant_10 (aTHX_ name, iv_return); + break; + case 11: + return constant_11 (aTHX_ name, iv_return); + break; + case 12: + /* Names all of length 12. */ + /* LOG_AUTHPRIV LOG_SECURITY */ + /* Offset 8 gives the best switch position. */ + switch (name[8]) { + case 'P': + if (memEQ(name, "LOG_AUTHPRIV", 12)) { + /* ^ */ +#ifdef LOG_AUTHPRIV + *iv_return = LOG_AUTHPRIV; + return PERL_constant_ISIV; +#else + return PERL_constant_NOTDEF; +#endif + } + break; + case 'R': + if (memEQ(name, "LOG_SECURITY", 12)) { + /* ^ */ +#ifdef LOG_SECURITY + *iv_return = LOG_SECURITY; + return PERL_constant_ISIV; +#else + *iv_return = LOG_AUTH; + return PERL_constant_ISIV; +#endif + } + break; + } + break; + case 14: + if (memEQ(name, "LOG_REMOTEAUTH", 14)) { +#ifdef LOG_REMOTEAUTH + *iv_return = LOG_REMOTEAUTH; + return PERL_constant_ISIV; +#else + *iv_return = LOG_AUTH; + return PERL_constant_ISIV; +#endif + } + break; + case 15: + if (memEQ(name, "LOG_NFACILITIES", 15)) { +#ifdef LOG_NFACILITIES + *iv_return = LOG_NFACILITIES; + return PERL_constant_ISIV; +#else + *iv_return = 30; + return PERL_constant_ISIV; +#endif + } + break; + } + return PERL_constant_NOTFOUND; +} + diff --git a/cpan/Sys-Syslog/fallback/const-xs.inc b/cpan/Sys-Syslog/fallback/const-xs.inc new file mode 100644 index 0000000000..4da6b66805 --- /dev/null +++ b/cpan/Sys-Syslog/fallback/const-xs.inc @@ -0,0 +1,87 @@ +void +constant(sv) + PREINIT: +#ifdef dXSTARG + dXSTARG; /* Faster if we have it. */ +#else + dTARGET; +#endif + STRLEN len; + int type; + IV iv; + /* NV nv; Uncomment this if you need to return NVs */ + const char *pv; + INPUT: + SV * sv; + const char * s = SvPV(sv, len); + PPCODE: + /* Change this to constant(aTHX_ s, len, &iv, &nv); + if you need to return both NVs and IVs */ + type = constant(aTHX_ s, len, &iv, &pv); + /* Return 1 or 2 items. First is error message, or undef if no error. + Second, if present, is found value */ + switch (type) { + case PERL_constant_NOTFOUND: + sv = sv_2mortal(newSVpvf("%s is not a valid Sys::Syslog macro", s)); + PUSHs(sv); + break; + case PERL_constant_NOTDEF: + sv = sv_2mortal(newSVpvf( + "Your vendor has not defined Sys::Syslog macro %s, used", s)); + PUSHs(sv); + break; + case PERL_constant_ISIV: + EXTEND(SP, 1); + PUSHs(&PL_sv_undef); + PUSHi(iv); + break; + /* Uncomment this if you need to return NOs + case PERL_constant_ISNO: + EXTEND(SP, 1); + PUSHs(&PL_sv_undef); + PUSHs(&PL_sv_no); + break; */ + /* Uncomment this if you need to return NVs + case PERL_constant_ISNV: + EXTEND(SP, 1); + PUSHs(&PL_sv_undef); + PUSHn(nv); + break; */ + case PERL_constant_ISPV: + EXTEND(SP, 1); + PUSHs(&PL_sv_undef); + PUSHp(pv, strlen(pv)); + break; + /* Uncomment this if you need to return PVNs + case PERL_constant_ISPVN: + EXTEND(SP, 1); + PUSHs(&PL_sv_undef); + PUSHp(pv, iv); + break; */ + /* Uncomment this if you need to return SVs + case PERL_constant_ISSV: + EXTEND(SP, 1); + PUSHs(&PL_sv_undef); + PUSHs(sv); + break; */ + /* Uncomment this if you need to return UNDEFs + case PERL_constant_ISUNDEF: + break; */ + /* Uncomment this if you need to return UVs + case PERL_constant_ISUV: + EXTEND(SP, 1); + PUSHs(&PL_sv_undef); + PUSHu((UV)iv); + break; */ + /* Uncomment this if you need to return YESs + case PERL_constant_ISYES: + EXTEND(SP, 1); + PUSHs(&PL_sv_undef); + PUSHs(&PL_sv_yes); + break; */ + default: + sv = sv_2mortal(newSVpvf( + "Unexpected return type %d while processing Sys::Syslog macro %s, used", + type, s)); + PUSHs(sv); + } diff --git a/cpan/Sys-Syslog/fallback/syslog.h b/cpan/Sys-Syslog/fallback/syslog.h new file mode 100644 index 0000000000..ac20dabbcc --- /dev/null +++ b/cpan/Sys-Syslog/fallback/syslog.h @@ -0,0 +1,111 @@ +/* + * Copyright (c) 1982, 1986, 1988, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)syslog.h 8.1 (Berkeley) 6/2/93 + */ + +#ifndef _SYS_SYSLOG_H +#define _SYS_SYSLOG_H 1 + +#define _PATH_LOG "" + +/* + * priorities/facilities are encoded into a single 32-bit quantity, where the + * bottom 3 bits are the priority (0-7) and the top 28 bits are the facility + * (0-big number). Both the priorities and the facilities map roughly + * one-to-one to strings in the syslogd(8) source code. This mapping is + * included in this file. + * + * priorities (these are ordered) + */ +#define LOG_EMERG 0 /* system is unusable */ +#define LOG_ALERT 1 /* action must be taken immediately */ +#define LOG_CRIT 2 /* critical conditions */ +#define LOG_ERR 3 /* error conditions */ +#define LOG_WARNING 4 /* warning conditions */ +#define LOG_NOTICE 5 /* normal but significant condition */ +#define LOG_INFO 6 /* informational */ +#define LOG_DEBUG 7 /* debug-level messages */ + +#define LOG_PRIMASK 0x07 /* mask to extract priority part (internal) */ + /* extract priority */ +#define LOG_PRI(p) ((p) & LOG_PRIMASK) +#define LOG_MAKEPRI(fac, pri) (((fac) << 3) | (pri)) + +/* facility codes */ +#define LOG_KERN (0<<3) /* kernel messages */ +#define LOG_USER (1<<3) /* random user-level messages */ +#define LOG_MAIL (2<<3) /* mail system */ +#define LOG_DAEMON (3<<3) /* system daemons */ +#define LOG_AUTH (4<<3) /* security/authorization messages */ +#define LOG_SYSLOG (5<<3) /* messages generated internally by syslogd */ +#define LOG_LPR (6<<3) /* line printer subsystem */ +#define LOG_NEWS (7<<3) /* network news subsystem */ +#define LOG_UUCP (8<<3) /* UUCP subsystem */ +#define LOG_CRON (9<<3) /* clock daemon */ +#define LOG_AUTHPRIV (10<<3) /* security/authorization messages (private) */ +#define LOG_FTP (11<<3) /* ftp daemon */ +#define LOG_NETINFO (12<<3) /* NetInfo */ +#define LOG_REMOTEAUTH (13<<3) /* remote authentication/authorization */ +#define LOG_INSTALL (14<<3) /* installer subsystem */ +#define LOG_RAS (15<<3) /* Remote Access Service (VPN / PPP) */ +#define LOG_LOCAL0 (16<<3) /* reserved for local use */ +#define LOG_LOCAL1 (17<<3) /* reserved for local use */ +#define LOG_LOCAL2 (18<<3) /* reserved for local use */ +#define LOG_LOCAL3 (19<<3) /* reserved for local use */ +#define LOG_LOCAL4 (20<<3) /* reserved for local use */ +#define LOG_LOCAL5 (21<<3) /* reserved for local use */ +#define LOG_LOCAL6 (22<<3) /* reserved for local use */ +#define LOG_LOCAL7 (23<<3) /* reserved for local use */ +#define LOG_LAUNCHD (24<<3) /* launchd - general bootstrap daemon */ + +#define LOG_NFACILITIES 25 /* current number of facilities */ +#define LOG_FACMASK 0x03f8 /* mask to extract facility part */ + /* facility of pri */ +#define LOG_FAC(p) (((p) & LOG_FACMASK) >> 3) + +/* + * arguments to setlogmask. + */ +#define LOG_MASK(pri) (1 << (pri)) /* mask for one priority */ +#define LOG_UPTO(pri) ((1 << ((pri)+1)) - 1) /* all priorities through pri */ + +/* + * Option flags for openlog. + * + * LOG_ODELAY no longer does anything. + * LOG_NDELAY is the inverse of what it used to be. + */ +#define LOG_PID 0x01 /* log the pid with each message */ +#define LOG_CONS 0x02 /* log on the console if errors in sending */ +#define LOG_ODELAY 0x04 /* delay open until first syslog() (default) */ +#define LOG_NDELAY 0x08 /* don't delay open */ +#define LOG_NOWAIT 0x10 /* don't wait for console forks: DEPRECATED */ +#define LOG_PERROR 0x20 /* log to stderr as well */ + +#endif /* sys/syslog.h */ |