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