101 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			101 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
|  | /*
 | ||
|  |  * Copyright (c) 2006-2021, RT-Thread Development Team | ||
|  |  * | ||
|  |  * SPDX-License-Identifier: Apache-2.0 | ||
|  |  * | ||
|  |  * Change Logs: | ||
|  |  * Date           Author       Notes | ||
|  |  * 2018-09-07     armink       the first version | ||
|  |  */ | ||
|  | 
 | ||
|  | #ifndef _SYSLOG_H_
 | ||
|  | #define _SYSLOG_H_
 | ||
|  | 
 | ||
|  | #ifdef __cplusplus
 | ||
|  | extern "C" { | ||
|  | #endif
 | ||
|  | 
 | ||
|  | /*
 | ||
|  |  * priorities/facilities are encoded into a single 32-bit quantity, where the | ||
|  |  * bottom 3 bits are the priority (0-7) and the top 28 bits are the facility | ||
|  |  * (0-big number).  Both the priorities and the facilities map roughly | ||
|  |  * one-to-one to strings in the syslogd(8) source code.  This mapping is | ||
|  |  * included in this file. | ||
|  |  * | ||
|  |  * priorities (these are ordered) | ||
|  |  */ | ||
|  | #define LOG_EMERG   0   /* system is unusable */
 | ||
|  | #define LOG_ALERT   1   /* action must be taken immediately */
 | ||
|  | #define LOG_CRIT    2   /* critical conditions */
 | ||
|  | #define LOG_ERR     3   /* error conditions */
 | ||
|  | #define LOG_WARNING 4   /* warning conditions */
 | ||
|  | #define LOG_NOTICE  5   /* normal but significant condition */
 | ||
|  | #define LOG_INFO    6   /* informational */
 | ||
|  | #define LOG_DEBUG   7   /* debug-level messages */
 | ||
|  | 
 | ||
|  | #define LOG_PRIMASK 0x07
 | ||
|  | 
 | ||
|  | #define LOG_PRI(p)              ((p) & LOG_PRIMASK)
 | ||
|  | #define LOG_MAKEPRI(fac, pri)   (((fac) << 3) | (pri))
 | ||
|  | 
 | ||
|  | /* facility codes */ | ||
|  | #define LOG_KERN        (0<<3)  /* kernel messages */
 | ||
|  | #define LOG_USER        (1<<3)  /* random user-level messages */
 | ||
|  | #define LOG_MAIL        (2<<3)  /* mail system */
 | ||
|  | #define LOG_DAEMON      (3<<3)  /* system daemons */
 | ||
|  | #define LOG_AUTH        (4<<3)  /* security/authorization messages */
 | ||
|  | #define LOG_SYSLOG      (5<<3)  /* messages generated internally by syslogd */
 | ||
|  | #define LOG_LPR         (6<<3)  /* line printer subsystem */
 | ||
|  | #define LOG_NEWS        (7<<3)  /* network news subsystem */
 | ||
|  | #define LOG_UUCP        (8<<3)  /* UUCP subsystem */
 | ||
|  | #define LOG_CRON        (9<<3)  /* clock daemon */
 | ||
|  | #define LOG_AUTHPRIV    (10<<3) /* security/authorization messages (private) */
 | ||
|  | 
 | ||
|  | /* other codes through 15 reserved for system use */ | ||
|  | #define LOG_LOCAL0      (16<<3) /* reserved for local use */
 | ||
|  | #define LOG_LOCAL1      (17<<3) /* reserved for local use */
 | ||
|  | #define LOG_LOCAL2      (18<<3) /* reserved for local use */
 | ||
|  | #define LOG_LOCAL3      (19<<3) /* reserved for local use */
 | ||
|  | #define LOG_LOCAL4      (20<<3) /* reserved for local use */
 | ||
|  | #define LOG_LOCAL5      (21<<3) /* reserved for local use */
 | ||
|  | #define LOG_LOCAL6      (22<<3) /* reserved for local use */
 | ||
|  | #define LOG_LOCAL7      (23<<3) /* reserved for local use */
 | ||
|  | 
 | ||
|  | #define LOG_NFACILITIES 24  /* current number of facilities */
 | ||
|  | #define LOG_FACMASK     0x03f8  /* mask to extract facility part */
 | ||
|  | /* facility of pri */ | ||
|  | #define LOG_FAC(p)      (((p) & LOG_FACMASK) >> 3)
 | ||
|  | 
 | ||
|  | /*
 | ||
|  |  * arguments to setlogmask. | ||
|  |  */ | ||
|  | #define LOG_MASK(pri)   (1 << (pri))        /* mask for one priority */
 | ||
|  | #define LOG_UPTO(pri)   ((1 << ((pri)+1)) - 1)  /* all priorities through pri */
 | ||
|  | 
 | ||
|  | /*
 | ||
|  |  * Option flags for openlog. | ||
|  |  * | ||
|  |  * LOG_ODELAY no longer does anything. | ||
|  |  * LOG_NDELAY is the inverse of what it used to be. | ||
|  |  */ | ||
|  | #define LOG_PID         0x01    /* log the pid with each message */
 | ||
|  | #define LOG_CONS        0x02    /* log on the console if errors in sending */
 | ||
|  | #define LOG_ODELAY      0x04    /* delay open until first syslog() (default) */
 | ||
|  | #define LOG_NDELAY      0x08    /* don't delay open */
 | ||
|  | #define LOG_NOWAIT      0x10    /* don't wait for console forks: DEPRECATED */
 | ||
|  | #define LOG_PERROR      0x20    /* log to stderr as well */
 | ||
|  | 
 | ||
|  | #include <stdarg.h>
 | ||
|  | 
 | ||
|  | void closelog(void); | ||
|  | void openlog(const char *ident, int option, int facility); | ||
|  | int setlogmask(int mask); | ||
|  | void syslog(int priority, const char *format, ...); | ||
|  | void vsyslog(int priority, const char *format, va_list args); | ||
|  | 
 | ||
|  | #ifdef __cplusplus
 | ||
|  | } | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #endif /* _SYSLOG_H_ */
 |