[BACK]Return to log.h CVS log [TXT][DIR] Up to [local] / src / usr.bin / ssh

Annotation of src/usr.bin/ssh/log.h, Revision 1.2

1.2     ! niklas      1: /*     $OpenBSD$       */
        !             2:
1.1       markus      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. */
                     19: typedef 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: }       SyslogFacility;
                     32:
                     33: typedef enum {
                     34:        SYSLOG_LEVEL_QUIET,
                     35:        SYSLOG_LEVEL_FATAL,
                     36:        SYSLOG_LEVEL_ERROR,
                     37:        SYSLOG_LEVEL_INFO,
                     38:        SYSLOG_LEVEL_VERBOSE,
                     39:        SYSLOG_LEVEL_DEBUG1,
                     40:        SYSLOG_LEVEL_DEBUG2,
                     41:        SYSLOG_LEVEL_DEBUG3
                     42: }       LogLevel;
                     43: /* Initializes logging. */
                     44: void    log_init(char *av0, LogLevel level, SyslogFacility facility, int on_stderr);
                     45:
                     46: /* Logging implementation, depending on server or client */
                     47: void    do_log(LogLevel level, const char *fmt, va_list args);
                     48:
                     49: /* name to facility/level */
                     50: SyslogFacility log_facility_number(char *name);
                     51: LogLevel log_level_number(char *name);
                     52:
                     53: /* Output a message to syslog or stderr */
                     54: void    fatal(const char *fmt,...) __attribute__((format(printf, 1, 2)));
                     55: void    error(const char *fmt,...) __attribute__((format(printf, 1, 2)));
                     56: void    log(const char *fmt,...) __attribute__((format(printf, 1, 2)));
                     57: void    verbose(const char *fmt,...) __attribute__((format(printf, 1, 2)));
                     58: void    debug(const char *fmt,...) __attribute__((format(printf, 1, 2)));
                     59: void    debug2(const char *fmt,...) __attribute__((format(printf, 1, 2)));
                     60: void    debug3(const char *fmt,...) __attribute__((format(printf, 1, 2)));
                     61:
                     62: /* same as fatal() but w/o logging */
                     63: void    fatal_cleanup(void);
                     64:
                     65: /*
                     66:  * Registers a cleanup function to be called by fatal()/fatal_cleanup()
                     67:  * before exiting. It is permissible to call fatal_remove_cleanup for the
                     68:  * function itself from the function.
                     69:  */
                     70: void    fatal_add_cleanup(void (*proc) (void *context), void *context);
                     71:
                     72: /* Removes a cleanup function to be called at fatal(). */
                     73: void    fatal_remove_cleanup(void (*proc) (void *context), void *context);
                     74:
                     75: #endif