xref: /haiku/headers/posix/syslog.h (revision e6b30aee0fd7a23d6a6baab9f3718945a0cd838a)
1 /*
2  * Copyright 2003-2008, Haiku Inc. All Rights Reserved.
3  * Distributed under the terms of the MIT License.
4  */
5 #ifndef _SYSLOG_H_
6 #define _SYSLOG_H_
7 
8 
9 /* options for openlog() */
10 
11 #define LOG_PID			(1 << 12)	/* log the process (thread/team) ID with each message */
12 #define LOG_CONS		(2 << 12)	/* log to the system console on error */
13 #define LOG_ODELAY		(4 << 12)	/* delay open until syslog() is called */
14 #define LOG_NDELAY		(8 << 12)	/* connect to the syslog daemon immediately */
15 #define LOG_SERIAL		(16 << 12)	/* dump to serial output as well (not implemented) */
16 #define LOG_PERROR		(32 << 12)	/* dump to stderr as well */
17 #define LOG_NOWAIT		(64 << 12)	/* do not wait for child processes */
18 
19 
20 /* facilities */
21 
22 #define LOG_KERN		(0 << 3)	/* messages generated by the kernel */
23 #define LOG_USER		(1 << 3)	/* by user processes */
24 #define LOG_MAIL		(2 << 3)
25 #define LOG_DAEMON		(3 << 3)
26 #define LOG_AUTH		(4 << 3)
27 #define LOG_SYSLOG		(5 << 3)
28 #define LOG_LPR			(6 << 3)
29 #define LOG_NEWS		(7 << 3)
30 #define LOG_UUCP		(8 << 3)
31 #define LOG_CRON		(9 << 3)
32 #define LOG_AUTHPRIV	(10 << 3)
33 #define LOG_FTP			(11 << 3)
34 
35 /* these are for local use: */
36 #define LOG_LOCAL0		(16 << 3)
37 #define LOG_LOCAL1		(17 << 3)
38 #define LOG_LOCAL2		(18 << 3)
39 #define LOG_LOCAL3		(19 << 3)
40 #define LOG_LOCAL4		(20 << 3)
41 #define LOG_LOCAL5		(21 << 3)
42 #define LOG_LOCAL6		(22 << 3)
43 #define LOG_LOCAL7		(23 << 3)
44 
45 
46 /* priorities */
47 
48 #define LOG_EMERG		0	/* a panic condition */
49 #define LOG_PANIC		LOG_EMERG
50 #define LOG_ALERT		1	/* a condition that should be corrected immediately */
51 #define LOG_CRIT		2	/* critical conditions like hard drive errors */
52 #define LOG_ERR			3
53 #define LOG_WARNING		4
54 #define LOG_NOTICE		5
55 #define LOG_INFO		6
56 #define LOG_DEBUG		7
57 
58 /* turns a priority into a mask usable for setlogmask() */
59 #define LOG_MASK(pri)	(1 << (pri))
60 
61 
62 #ifdef __cplusplus
63 extern "C" {
64 #endif
65 
66 /* POSIX calls */
67 extern void	closelog(void);
68 extern void	openlog(const char *ident, int options, int facility);
69 extern int	setlogmask(int priorityMask);
70 extern void	syslog(int priority, const char *message, ...);
71 
72 /* Be extensions */
73 extern void	closelog_team(void);
74 extern void	openlog_team(const char *ident, int logopt, int facility);
75 extern void log_team(int priority, const char *message, ...);
76 extern int	setlogmask_team(int priorityMask);
77 
78 extern void	closelog_thread(void);
79 extern void	openlog_thread(const char *ident, int logopt, int facility);
80 extern void log_thread(int priority, const char *message, ...);
81 extern int	setlogmask_thread(int priorityMask);
82 
83 #ifdef __cplusplus
84 }
85 #endif
86 
87 #endif	/* _SYSLOG_H_ */
88