log.h revision 92555
1/*	$OpenBSD: log.h,v 1.6 2002/02/22 12:20:34 markus Exp $	*/
2
3/*
4 * Author: Tatu Ylonen <ylo@cs.hut.fi>
5 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
6 *                    All rights reserved
7 *
8 * As far as I am concerned, the code I have written for this software
9 * can be used freely for any purpose.  Any derived versions of this
10 * software must be clearly marked as such, and if the derived work is
11 * incompatible with the protocol description in the RFC file, it must be
12 * called by a name other than "ssh" or "Secure Shell".
13 */
14
15#ifndef SSH_LOG_H
16#define SSH_LOG_H
17
18/* Supported syslog facilities and levels. */
19typedef enum {
20	SYSLOG_FACILITY_DAEMON,
21	SYSLOG_FACILITY_USER,
22	SYSLOG_FACILITY_AUTH,
23	SYSLOG_FACILITY_LOCAL0,
24	SYSLOG_FACILITY_LOCAL1,
25	SYSLOG_FACILITY_LOCAL2,
26	SYSLOG_FACILITY_LOCAL3,
27	SYSLOG_FACILITY_LOCAL4,
28	SYSLOG_FACILITY_LOCAL5,
29	SYSLOG_FACILITY_LOCAL6,
30	SYSLOG_FACILITY_LOCAL7,
31	SYSLOG_FACILITY_NOT_SET = -1,
32}       SyslogFacility;
33
34typedef enum {
35	SYSLOG_LEVEL_QUIET,
36	SYSLOG_LEVEL_FATAL,
37	SYSLOG_LEVEL_ERROR,
38	SYSLOG_LEVEL_INFO,
39	SYSLOG_LEVEL_VERBOSE,
40	SYSLOG_LEVEL_DEBUG1,
41	SYSLOG_LEVEL_DEBUG2,
42	SYSLOG_LEVEL_DEBUG3,
43	SYSLOG_LEVEL_NOT_SET = -1,
44}       LogLevel;
45
46void     log_init(char *, LogLevel, SyslogFacility, int);
47
48SyslogFacility	log_facility_number(char *);
49LogLevel log_level_number(char *);
50
51void     fatal(const char *, ...) __attribute__((format(printf, 1, 2)));
52void     error(const char *, ...) __attribute__((format(printf, 1, 2)));
53void     log(const char *, ...) __attribute__((format(printf, 1, 2)));
54void     verbose(const char *, ...) __attribute__((format(printf, 1, 2)));
55void     debug(const char *, ...) __attribute__((format(printf, 1, 2)));
56void     debug2(const char *, ...) __attribute__((format(printf, 1, 2)));
57void     debug3(const char *, ...) __attribute__((format(printf, 1, 2)));
58
59void     fatal_cleanup(void);
60void     fatal_add_cleanup(void (*) (void *), void *);
61void     fatal_remove_cleanup(void (*) (void *), void *);
62
63void	 do_log(LogLevel, const char *, va_list);
64
65#endif
66