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