101 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			101 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
| /*
 | |
|  * 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_ */
 |