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