1570af302Sopenharmony_ci#ifndef _SYSLOG_H 2570af302Sopenharmony_ci#define _SYSLOG_H 3570af302Sopenharmony_ci 4570af302Sopenharmony_ci#ifdef __cplusplus 5570af302Sopenharmony_ciextern "C" { 6570af302Sopenharmony_ci#endif 7570af302Sopenharmony_ci 8570af302Sopenharmony_ci#include <features.h> 9570af302Sopenharmony_ci 10570af302Sopenharmony_ci#define LOG_EMERG 0 11570af302Sopenharmony_ci#define LOG_ALERT 1 12570af302Sopenharmony_ci#define LOG_CRIT 2 13570af302Sopenharmony_ci#define LOG_ERR 3 14570af302Sopenharmony_ci#define LOG_WARNING 4 15570af302Sopenharmony_ci#define LOG_NOTICE 5 16570af302Sopenharmony_ci#define LOG_INFO 6 17570af302Sopenharmony_ci#define LOG_DEBUG 7 18570af302Sopenharmony_ci 19570af302Sopenharmony_ci#define LOG_PRIMASK 7 20570af302Sopenharmony_ci#define LOG_PRI(p) ((p)&LOG_PRIMASK) 21570af302Sopenharmony_ci#define LOG_MAKEPRI(f, p) (((f)<<3)|(p)) 22570af302Sopenharmony_ci 23570af302Sopenharmony_ci#define LOG_MASK(p) (1<<(p)) 24570af302Sopenharmony_ci#define LOG_UPTO(p) ((1<<((p)+1))-1) 25570af302Sopenharmony_ci 26570af302Sopenharmony_ci#define LOG_KERN (0<<3) 27570af302Sopenharmony_ci#define LOG_USER (1<<3) 28570af302Sopenharmony_ci#define LOG_MAIL (2<<3) 29570af302Sopenharmony_ci#define LOG_DAEMON (3<<3) 30570af302Sopenharmony_ci#define LOG_AUTH (4<<3) 31570af302Sopenharmony_ci#define LOG_SYSLOG (5<<3) 32570af302Sopenharmony_ci#define LOG_LPR (6<<3) 33570af302Sopenharmony_ci#define LOG_NEWS (7<<3) 34570af302Sopenharmony_ci#define LOG_UUCP (8<<3) 35570af302Sopenharmony_ci#define LOG_CRON (9<<3) 36570af302Sopenharmony_ci#define LOG_AUTHPRIV (10<<3) 37570af302Sopenharmony_ci#define LOG_FTP (11<<3) 38570af302Sopenharmony_ci 39570af302Sopenharmony_ci#define LOG_LOCAL0 (16<<3) 40570af302Sopenharmony_ci#define LOG_LOCAL1 (17<<3) 41570af302Sopenharmony_ci#define LOG_LOCAL2 (18<<3) 42570af302Sopenharmony_ci#define LOG_LOCAL3 (19<<3) 43570af302Sopenharmony_ci#define LOG_LOCAL4 (20<<3) 44570af302Sopenharmony_ci#define LOG_LOCAL5 (21<<3) 45570af302Sopenharmony_ci#define LOG_LOCAL6 (22<<3) 46570af302Sopenharmony_ci#define LOG_LOCAL7 (23<<3) 47570af302Sopenharmony_ci 48570af302Sopenharmony_ci#define LOG_NFACILITIES 24 49570af302Sopenharmony_ci#define LOG_FACMASK 0x3f8 50570af302Sopenharmony_ci#define LOG_FAC(p) (((p)&LOG_FACMASK)>>3) 51570af302Sopenharmony_ci 52570af302Sopenharmony_ci#define LOG_PID 0x01 53570af302Sopenharmony_ci#define LOG_CONS 0x02 54570af302Sopenharmony_ci#define LOG_ODELAY 0x04 55570af302Sopenharmony_ci#define LOG_NDELAY 0x08 56570af302Sopenharmony_ci#define LOG_NOWAIT 0x10 57570af302Sopenharmony_ci#define LOG_PERROR 0x20 58570af302Sopenharmony_ci 59570af302Sopenharmony_civoid closelog (void); 60570af302Sopenharmony_civoid openlog (const char *, int, int); 61570af302Sopenharmony_ciint setlogmask (int); 62570af302Sopenharmony_civoid syslog (int, const char *, ...); 63570af302Sopenharmony_ci 64570af302Sopenharmony_ci#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) 65570af302Sopenharmony_ci#define _PATH_LOG "/dev/log" 66570af302Sopenharmony_ci#define __NEED_va_list 67570af302Sopenharmony_ci#include <bits/alltypes.h> 68570af302Sopenharmony_civoid vsyslog (int, const char *, va_list); 69570af302Sopenharmony_ci#if defined(SYSLOG_NAMES) 70570af302Sopenharmony_ci#define INTERNAL_NOPRI 0x10 71570af302Sopenharmony_ci#define INTERNAL_MARK (LOG_NFACILITIES<<3) 72570af302Sopenharmony_citypedef struct { 73570af302Sopenharmony_ci char *c_name; 74570af302Sopenharmony_ci int c_val; 75570af302Sopenharmony_ci} CODE; 76570af302Sopenharmony_ci#define prioritynames ((CODE *)(const CODE []){ \ 77570af302Sopenharmony_ci { "alert", LOG_ALERT }, { "crit", LOG_CRIT }, { "debug", LOG_DEBUG }, \ 78570af302Sopenharmony_ci { "emerg", LOG_EMERG }, { "err", LOG_ERR }, { "error", LOG_ERR }, \ 79570af302Sopenharmony_ci { "info", LOG_INFO }, { "none", INTERNAL_NOPRI }, \ 80570af302Sopenharmony_ci { "notice", LOG_NOTICE }, { "panic", LOG_EMERG }, \ 81570af302Sopenharmony_ci { "warn", LOG_WARNING }, { "warning", LOG_WARNING }, { 0, -1 } }) 82570af302Sopenharmony_ci#define facilitynames ((CODE *)(const CODE []){ \ 83570af302Sopenharmony_ci { "auth", LOG_AUTH }, { "authpriv", LOG_AUTHPRIV }, \ 84570af302Sopenharmony_ci { "cron", LOG_CRON }, { "daemon", LOG_DAEMON }, { "ftp", LOG_FTP }, \ 85570af302Sopenharmony_ci { "kern", LOG_KERN }, { "lpr", LOG_LPR }, { "mail", LOG_MAIL }, \ 86570af302Sopenharmony_ci { "mark", INTERNAL_MARK }, { "news", LOG_NEWS }, \ 87570af302Sopenharmony_ci { "security", LOG_AUTH }, { "syslog", LOG_SYSLOG }, \ 88570af302Sopenharmony_ci { "user", LOG_USER }, { "uucp", LOG_UUCP }, \ 89570af302Sopenharmony_ci { "local0", LOG_LOCAL0 }, { "local1", LOG_LOCAL1 }, \ 90570af302Sopenharmony_ci { "local2", LOG_LOCAL2 }, { "local3", LOG_LOCAL3 }, \ 91570af302Sopenharmony_ci { "local4", LOG_LOCAL4 }, { "local5", LOG_LOCAL5 }, \ 92570af302Sopenharmony_ci { "local6", LOG_LOCAL6 }, { "local7", LOG_LOCAL7 }, { 0, -1 } }) 93570af302Sopenharmony_ci#endif 94570af302Sopenharmony_ci#endif 95570af302Sopenharmony_ci 96570af302Sopenharmony_ci#ifdef __cplusplus 97570af302Sopenharmony_ci} 98570af302Sopenharmony_ci#endif 99570af302Sopenharmony_ci 100570af302Sopenharmony_ci#endif 101