]> CyberLeo.Net >> Repos - FreeBSD/releng/10.2.git/blob - contrib/ntp/include/ntp_syslog.h
- Copy stable/10@285827 to releng/10.2 in preparation for 10.2-RC1
[FreeBSD/releng/10.2.git] / contrib / ntp / include / ntp_syslog.h
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
11 extern void msyslog();
12 #else
13 # ifndef SYS_VXWORKS
14 #  include <syslog.h>
15 # endif
16 #endif /* VMS */
17 #include <stdio.h>
18
19 extern int      syslogit;
20 extern int      msyslog_term;   /* duplicate to stdout/err */
21 extern int      msyslog_term_pid;
22 extern int      msyslog_include_timestamp;
23 extern FILE *   syslog_file;    /* if syslogit is FALSE, log to 
24                                    this file and not syslog */
25 extern char *   syslog_fname;
26 extern 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
75 extern u_int32 ntp_syslogmask;
76
77 #define NLOG(bits)      if (ntp_syslogmask & (bits))
78
79 #define LOGIF(nlog_suffix, msl_args)                            \
80 do {                                                            \
81         NLOG(NLOG_##nlog_suffix)        /* like "if (...) */    \
82                 msyslog msl_args;                               \
83 } while (FALSE)
84
85 #endif /* NTP_SYSLOG_H */