haiku/headers/posix/syslog.h
Jérôme Duval c5ff1f14c6 syslog.h: add LOG_PRIMASK and LOG_PRI macros
Change-Id: I9ae0c3165cea831e329e49211ff738cbb89a65de
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3408
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2020-11-22 09:28:57 +00:00

101 lines
3.1 KiB
C

/*
* Copyright 2003-2012 Haiku, Inc. All Rights Reserved.
* Distributed under the terms of the MIT License.
*/
#ifndef _SYSLOG_H_
#define _SYSLOG_H_
#include <stdarg.h>
/* options for openlog() */
#define LOG_PID (1 << 12) /* log the process (thread/team) ID with each message */
#define LOG_CONS (2 << 12) /* log to the system console on error */
#define LOG_ODELAY (4 << 12) /* delay open until syslog() is called */
#define LOG_NDELAY (8 << 12) /* connect to the syslog daemon immediately */
#define LOG_SERIAL (16 << 12) /* dump to serial output as well (not implemented) */
#define LOG_PERROR (32 << 12) /* dump to stderr as well */
#define LOG_NOWAIT (64 << 12) /* do not wait for child processes */
/* facilities */
#define LOG_KERN (0 << 3) /* messages generated by the kernel */
#define LOG_USER (1 << 3) /* by user processes */
#define LOG_MAIL (2 << 3)
#define LOG_DAEMON (3 << 3)
#define LOG_AUTH (4 << 3)
#define LOG_SYSLOG (5 << 3) /* messages generated internally by syslogd */
#define LOG_LPR (6 << 3)
#define LOG_NEWS (7 << 3)
#define LOG_UUCP (8 << 3)
#define LOG_CRON (9 << 3)
#define LOG_AUTHPRIV (10 << 3) /* security/authorization messages (private) */
#define LOG_FTP (11 << 3)
/* these are for local use: */
#define LOG_LOCAL0 (16 << 3)
#define LOG_LOCAL1 (17 << 3)
#define LOG_LOCAL2 (18 << 3)
#define LOG_LOCAL3 (19 << 3)
#define LOG_LOCAL4 (20 << 3)
#define LOG_LOCAL5 (21 << 3)
#define LOG_LOCAL6 (22 << 3)
#define LOG_LOCAL7 (23 << 3)
#define LOG_NFACILITIES (24) /* current number of facilities */
#define LOG_FACMASK (0x03f8) /* mask to extract facility part */
#define LOG_FAC(p) (((p) & LOG_FACMASK) >> 3)
/* priorities */
#define LOG_EMERG 0 /* a panic condition */
#define LOG_PANIC LOG_EMERG
#define LOG_ALERT 1 /* a condition that should be corrected immediately */
#define LOG_CRIT 2 /* critical conditions like hard drive errors */
#define LOG_ERR 3
#define LOG_WARNING 4
#define LOG_NOTICE 5
#define LOG_INFO 6
#define LOG_DEBUG 7
#define LOG_PRIMASK (0x7) /* mask to extract priority part */
#define LOG_PRI(p) ((p) & LOG_PRIMASK)
/* turns a priority into a mask usable for setlogmask() */
#define LOG_MASK(pri) (1 << (pri))
#define LOG_UPTO(pri) ((1 << ((pri) + 1)) - 1)
#ifdef __cplusplus
extern "C" {
#endif
/* POSIX calls */
extern void closelog(void);
extern void openlog(const char *ident, int options, int facility);
extern int setlogmask(int priorityMask);
extern void syslog(int priority, const char *message, ...);
/* Be extensions */
extern void closelog_team(void);
extern void openlog_team(const char *ident, int logopt, int facility);
extern void log_team(int priority, const char *message, ...);
extern int setlogmask_team(int priorityMask);
extern void closelog_thread(void);
extern void openlog_thread(const char *ident, int logopt, int facility);
extern void log_thread(int priority, const char *message, ...);
extern int setlogmask_thread(int priorityMask);
/* BSD extensions */
extern void vsyslog(int priority, const char *message, va_list args);
#ifdef __cplusplus
}
#endif
#endif /* _SYSLOG_H_ */