]> andersk Git - openssh.git/blob - log.h
95ec864f323d85d93088f0e53011dba7909a92b5
[openssh.git] / log.h
1 /*      $OpenBSD: log.h,v 1.3 2001/06/26 06:32:55 itojun 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 #include <syslog.h> /* Needed for LOG_AUTHPRIV (if present) */
19
20 /* Supported syslog facilities and levels. */
21 typedef enum {
22         SYSLOG_FACILITY_DAEMON,
23         SYSLOG_FACILITY_USER,
24         SYSLOG_FACILITY_AUTH,
25 #ifdef LOG_AUTHPRIV
26         SYSLOG_FACILITY_AUTHPRIV,
27 #endif
28         SYSLOG_FACILITY_LOCAL0,
29         SYSLOG_FACILITY_LOCAL1,
30         SYSLOG_FACILITY_LOCAL2,
31         SYSLOG_FACILITY_LOCAL3,
32         SYSLOG_FACILITY_LOCAL4,
33         SYSLOG_FACILITY_LOCAL5,
34         SYSLOG_FACILITY_LOCAL6,
35         SYSLOG_FACILITY_LOCAL7
36 }       SyslogFacility;
37
38 typedef enum {
39         SYSLOG_LEVEL_QUIET,
40         SYSLOG_LEVEL_FATAL,
41         SYSLOG_LEVEL_ERROR,
42         SYSLOG_LEVEL_INFO,
43         SYSLOG_LEVEL_VERBOSE,
44         SYSLOG_LEVEL_DEBUG1,
45         SYSLOG_LEVEL_DEBUG2,
46         SYSLOG_LEVEL_DEBUG3
47 }       LogLevel;
48 /* Initializes logging. */
49 void    log_init(char *, LogLevel, SyslogFacility, int);
50
51 /* Logging implementation, depending on server or client */
52 void    do_log(LogLevel, const char *, va_list);
53
54 /* name to facility/level */
55 SyslogFacility log_facility_number(char *);
56 LogLevel log_level_number(char *);
57
58 /* Output a message to syslog or stderr */
59 void    fatal(const char *, ...) __attribute__((format(printf, 1, 2)));
60 void    error(const char *, ...) __attribute__((format(printf, 1, 2)));
61 void    log(const char *, ...) __attribute__((format(printf, 1, 2)));
62 void    verbose(const char *, ...) __attribute__((format(printf, 1, 2)));
63 void    debug(const char *, ...) __attribute__((format(printf, 1, 2)));
64 void    debug2(const char *, ...) __attribute__((format(printf, 1, 2)));
65 void    debug3(const char *, ...) __attribute__((format(printf, 1, 2)));
66
67 /* same as fatal() but w/o logging */
68 void    fatal_cleanup(void);
69
70 /*
71  * Registers a cleanup function to be called by fatal()/fatal_cleanup()
72  * before exiting. It is permissible to call fatal_remove_cleanup for the
73  * function itself from the function.
74  */
75 void    fatal_add_cleanup(void (*) (void *), void *);
76
77 /* Removes a cleanup function to be called at fatal(). */
78 void    fatal_remove_cleanup(void (*) (void *), void *);
79
80 #endif
This page took 0.032811 seconds and 3 git commands to generate.