ntp_syslog.h revision 290001
1296077Sadrian/*
2298479Sadrian * A hack for platforms which require specially built syslog facilities
3296077Sadrian */
4296077Sadrian
5296077Sadrian#ifndef NTP_SYSLOG_H
6296077Sadrian#define NTP_SYSLOG_H
7296077Sadrian
8296077Sadrian#include <ntp_types.h>		/* u_int32 type */
9296077Sadrian
10296077Sadrian#ifdef VMS
11296077Sadrianextern void msyslog();
12296077Sadrianextern void mvsyslog();
13296077Sadrian#else
14296077Sadrian# ifndef SYS_VXWORKS
15296077Sadrian#  include <syslog.h>
16296077Sadrian# endif
17296077Sadrian#endif /* VMS */
18296077Sadrian#include <stdio.h>
19296077Sadrian
20296077Sadrianextern int	syslogit;
21296077Sadrianextern int	msyslog_term;	/* duplicate to stdout/err */
22296077Sadrianextern int	msyslog_term_pid;
23296077Sadrianextern int	msyslog_include_timestamp;
24296077Sadrianextern FILE *	syslog_file;	/* if syslogit is FALSE, log to
25296077Sadrian				   this file and not syslog */
26296077Sadrianextern char *	syslog_fname;
27296077Sadrianextern char *	syslog_abs_fname;
28296077Sadrian
29296077Sadrian#if defined(VMS) || defined (SYS_VXWORKS)
30296077Sadrian#define	LOG_EMERG	0	/* system is unusable */
31296077Sadrian#define	LOG_ALERT	1	/* action must be taken immediately */
32296077Sadrian#define	LOG_CRIT	2	/* critical conditions */
33296077Sadrian#define	LOG_ERR		3	/* error conditions */
34296077Sadrian#define	LOG_WARNING	4	/* warning conditions */
35296077Sadrian#define	LOG_NOTICE	5	/* normal but signification condition */
36296077Sadrian#define	LOG_INFO	6	/* informational */
37296077Sadrian#define	LOG_DEBUG	7	/* debug-level messages */
38296077Sadrian#endif /* VMS || VXWORKS */
39296077Sadrian
40300015Sadrian/*
41300015Sadrian * syslog output control
42300015Sadrian */
43300015Sadrian#define NLOG_INFO		0x00000001
44296077Sadrian#define NLOG_EVENT		0x00000002
45296077Sadrian#define NLOG_STATUS		0x00000004
46296077Sadrian#define NLOG_STATIST		0x00000008
47296077Sadrian
48296077Sadrian#define NLOG_OSYS			 0 /* offset for system flags */
49296077Sadrian#define NLOG_SYSMASK		0x0000000F /* system log events */
50296077Sadrian#define NLOG_SYSINFO		0x00000001 /* system info log events */
51296077Sadrian#define NLOG_SYSEVENT		0x00000002 /* system events */
52296077Sadrian#define NLOG_SYSSTATUS		0x00000004 /* system status (sync/unsync) */
53296077Sadrian#define NLOG_SYSSTATIST		0x00000008 /* system statistics output */
54296077Sadrian
55296077Sadrian#define NLOG_OPEER			 4 /* offset for peer flags */
56296077Sadrian#define NLOG_PEERMASK		0x000000F0 /* peer log events */
57296077Sadrian#define NLOG_PEERINFO		0x00000010 /* peer info log events */
58296077Sadrian#define NLOG_PEEREVENT		0x00000020 /* peer events */
59296077Sadrian#define NLOG_PEERSTATUS		0x00000040 /* peer status (sync/unsync) */
60296077Sadrian#define NLOG_PEERSTATIST	0x00000080 /* peer statistics output */
61296077Sadrian
62296077Sadrian#define NLOG_OCLOCK			 8 /* offset for clock flags */
63296077Sadrian#define NLOG_CLOCKMASK		0x00000F00 /* clock log events */
64296077Sadrian#define NLOG_CLOCKINFO		0x00000100 /* clock info log events */
65299241Sadrian#define NLOG_CLOCKEVENT		0x00000200 /* clock events */
66299241Sadrian#define NLOG_CLOCKSTATUS	0x00000400 /* clock status (sync/unsync) */
67296077Sadrian#define NLOG_CLOCKSTATIST	0x00000800 /* clock statistics output */
68299241Sadrian
69299241Sadrian#define NLOG_OSYNC			12 /* offset for sync flags */
70299241Sadrian#define NLOG_SYNCMASK		0x0000F000 /* sync log events */
71299241Sadrian#define NLOG_SYNCINFO		0x00001000 /* sync info log events */
72296077Sadrian#define NLOG_SYNCEVENT		0x00002000 /* sync events */
73299241Sadrian#define NLOG_SYNCSTATUS		0x00004000 /* sync status (sync/unsync) */
74299241Sadrian#define NLOG_SYNCSTATIST	0x00008000 /* sync statistics output */
75296077Sadrian
76299241Sadrianextern u_int32 ntp_syslogmask;
77299278Sadrian
78299241Sadrian#define NLOG(bits)	if (ntp_syslogmask & (bits))
79296077Sadrian
80296077Sadrian#define LOGIF(nlog_suffix, msl_args)				\
81296077Sadriando {								\
82296077Sadrian	NLOG(NLOG_##nlog_suffix)	/* like "if (...) */	\
83296077Sadrian		msyslog msl_args;				\
84296077Sadrian} while (FALSE)
85296077Sadrian
86296077Sadrian#endif /* NTP_SYSLOG_H */
87296077Sadrian