ntp_syslog.h revision 285612
1/* 2 * A hack for platforms which require specially built syslog facilities 3 */ 4 5#ifndef NTP_SYSLOG_H 6#define NTP_SYSLOG_H 7 8#include <ntp_types.h> /* u_int32 type */ 9 10#ifdef VMS 11extern void msyslog(); 12#else 13# ifndef SYS_VXWORKS 14# include <syslog.h> 15# endif 16#endif /* VMS */ 17#include <stdio.h> 18 19extern int syslogit; 20extern int msyslog_term; /* duplicate to stdout/err */ 21extern int msyslog_term_pid; 22extern int msyslog_include_timestamp; 23extern FILE * syslog_file; /* if syslogit is FALSE, log to 24 this file and not syslog */ 25extern char * syslog_fname; 26extern char * syslog_abs_fname; 27 28#if defined(VMS) || defined (SYS_VXWORKS) 29#define LOG_EMERG 0 /* system is unusable */ 30#define LOG_ALERT 1 /* action must be taken immediately */ 31#define LOG_CRIT 2 /* critical conditions */ 32#define LOG_ERR 3 /* error conditions */ 33#define LOG_WARNING 4 /* warning conditions */ 34#define LOG_NOTICE 5 /* normal but signification condition */ 35#define LOG_INFO 6 /* informational */ 36#define LOG_DEBUG 7 /* debug-level messages */ 37#endif /* VMS || VXWORKS */ 38 39/* 40 * syslog output control 41 */ 42#define NLOG_INFO 0x00000001 43#define NLOG_EVENT 0x00000002 44#define NLOG_STATUS 0x00000004 45#define NLOG_STATIST 0x00000008 46 47#define NLOG_OSYS 0 /* offset for system flags */ 48#define NLOG_SYSMASK 0x0000000F /* system log events */ 49#define NLOG_SYSINFO 0x00000001 /* system info log events */ 50#define NLOG_SYSEVENT 0x00000002 /* system events */ 51#define NLOG_SYSSTATUS 0x00000004 /* system status (sync/unsync) */ 52#define NLOG_SYSSTATIST 0x00000008 /* system statistics output */ 53 54#define NLOG_OPEER 4 /* offset for peer flags */ 55#define NLOG_PEERMASK 0x000000F0 /* peer log events */ 56#define NLOG_PEERINFO 0x00000010 /* peer info log events */ 57#define NLOG_PEEREVENT 0x00000020 /* peer events */ 58#define NLOG_PEERSTATUS 0x00000040 /* peer status (sync/unsync) */ 59#define NLOG_PEERSTATIST 0x00000080 /* peer statistics output */ 60 61#define NLOG_OCLOCK 8 /* offset for clock flags */ 62#define NLOG_CLOCKMASK 0x00000F00 /* clock log events */ 63#define NLOG_CLOCKINFO 0x00000100 /* clock info log events */ 64#define NLOG_CLOCKEVENT 0x00000200 /* clock events */ 65#define NLOG_CLOCKSTATUS 0x00000400 /* clock status (sync/unsync) */ 66#define NLOG_CLOCKSTATIST 0x00000800 /* clock statistics output */ 67 68#define NLOG_OSYNC 12 /* offset for sync flags */ 69#define NLOG_SYNCMASK 0x0000F000 /* sync log events */ 70#define NLOG_SYNCINFO 0x00001000 /* sync info log events */ 71#define NLOG_SYNCEVENT 0x00002000 /* sync events */ 72#define NLOG_SYNCSTATUS 0x00004000 /* sync status (sync/unsync) */ 73#define NLOG_SYNCSTATIST 0x00008000 /* sync statistics output */ 74 75extern u_int32 ntp_syslogmask; 76 77#define NLOG(bits) if (ntp_syslogmask & (bits)) 78 79#define LOGIF(nlog_suffix, msl_args) \ 80do { \ 81 NLOG(NLOG_##nlog_suffix) /* like "if (...) */ \ 82 msyslog msl_args; \ 83} while (FALSE) 84 85#endif /* NTP_SYSLOG_H */ 86