2008-06-11 21:13:19 +05:30
|
|
|
/* vi: set sw=4 ts=4: */
|
|
|
|
/*
|
|
|
|
* prioritynames[] and facilitynames[]
|
|
|
|
*
|
|
|
|
* Copyright (C) 2008 by Denys Vlasenko <vda.linux@gmail.com>
|
|
|
|
*
|
2010-08-16 23:44:46 +05:30
|
|
|
* Licensed under GPLv2, see file LICENSE in this source tree.
|
2008-06-11 21:13:19 +05:30
|
|
|
*/
|
|
|
|
#include "libbb.h"
|
2016-04-21 19:56:30 +05:30
|
|
|
#include "common_bufsiz.h"
|
2008-06-11 21:13:19 +05:30
|
|
|
#define SYSLOG_NAMES
|
|
|
|
#define SYSLOG_NAMES_CONST
|
|
|
|
#include <syslog.h>
|
|
|
|
|
|
|
|
#if 0
|
|
|
|
/* For the record: with SYSLOG_NAMES <syslog.h> defines
|
|
|
|
* (not declares) the following:
|
|
|
|
*/
|
|
|
|
typedef struct _code {
|
|
|
|
/*const*/ char *c_name;
|
|
|
|
int c_val;
|
|
|
|
} CODE;
|
|
|
|
/*const*/ CODE prioritynames[] = {
|
|
|
|
{ "alert", LOG_ALERT },
|
|
|
|
...
|
|
|
|
{ NULL, -1 }
|
|
|
|
};
|
|
|
|
/* same for facilitynames[] */
|
|
|
|
|
|
|
|
/* This MUST occur only once per entire executable,
|
|
|
|
* therefore we can't just do it in syslogd.c and logger.c -
|
|
|
|
* there will be two copies of it.
|
|
|
|
*
|
|
|
|
* We cannot even do it in separate file and then just reference
|
|
|
|
* prioritynames[] from syslogd.c and logger.c - bare <syslog.h>
|
|
|
|
* will not emit extern decls for prioritynames[]! Attempts to
|
|
|
|
* emit "matching" struct _code declaration defeat the whole purpose
|
|
|
|
* of <syslog.h>.
|
|
|
|
*
|
|
|
|
* For now, syslogd.c and logger.c are simply compiled into
|
|
|
|
* one object file.
|
|
|
|
*/
|
|
|
|
#endif
|
|
|
|
|
2017-08-16 18:35:36 +05:30
|
|
|
/* musl decided to be funny and it implements these as giant defines
|
|
|
|
* of the form: ((CODE *)(const CODE []){ ... })
|
|
|
|
* Which works, but causes _every_ function using them
|
|
|
|
* to have a copy on stack (at least with gcc-6.3.0).
|
|
|
|
* If we reference them just once, this saves 150 bytes.
|
|
|
|
* The pointers themselves are optimized out
|
|
|
|
* (no size change on uclibc).
|
|
|
|
*/
|
|
|
|
static const CODE *const bb_prioritynames = prioritynames;
|
|
|
|
static const CODE *const bb_facilitynames = facilitynames;
|
|
|
|
|
2018-03-06 22:41:47 +05:30
|
|
|
|
2008-06-11 21:13:19 +05:30
|
|
|
#if ENABLE_SYSLOGD
|
|
|
|
#include "syslogd.c"
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if ENABLE_LOGGER
|
|
|
|
#include "logger.c"
|
|
|
|
#endif
|