Annotation of src/usr.bin/ssh/log.h, Revision 1.1
1.1 ! markus 1: /*
! 2: * Author: Tatu Ylonen <ylo@cs.hut.fi>
! 3: * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
! 4: * All rights reserved
! 5: *
! 6: * As far as I am concerned, the code I have written for this software
! 7: * can be used freely for any purpose. Any derived versions of this
! 8: * software must be clearly marked as such, and if the derived work is
! 9: * incompatible with the protocol description in the RFC file, it must be
! 10: * called by a name other than "ssh" or "Secure Shell".
! 11: */
! 12:
! 13: #ifndef SSH_LOG_H
! 14: #define SSH_LOG_H
! 15:
! 16: /* Supported syslog facilities and levels. */
! 17: typedef enum {
! 18: SYSLOG_FACILITY_DAEMON,
! 19: SYSLOG_FACILITY_USER,
! 20: SYSLOG_FACILITY_AUTH,
! 21: SYSLOG_FACILITY_LOCAL0,
! 22: SYSLOG_FACILITY_LOCAL1,
! 23: SYSLOG_FACILITY_LOCAL2,
! 24: SYSLOG_FACILITY_LOCAL3,
! 25: SYSLOG_FACILITY_LOCAL4,
! 26: SYSLOG_FACILITY_LOCAL5,
! 27: SYSLOG_FACILITY_LOCAL6,
! 28: SYSLOG_FACILITY_LOCAL7
! 29: } SyslogFacility;
! 30:
! 31: typedef enum {
! 32: SYSLOG_LEVEL_QUIET,
! 33: SYSLOG_LEVEL_FATAL,
! 34: SYSLOG_LEVEL_ERROR,
! 35: SYSLOG_LEVEL_INFO,
! 36: SYSLOG_LEVEL_VERBOSE,
! 37: SYSLOG_LEVEL_DEBUG1,
! 38: SYSLOG_LEVEL_DEBUG2,
! 39: SYSLOG_LEVEL_DEBUG3
! 40: } LogLevel;
! 41: /* Initializes logging. */
! 42: void log_init(char *av0, LogLevel level, SyslogFacility facility, int on_stderr);
! 43:
! 44: /* Logging implementation, depending on server or client */
! 45: void do_log(LogLevel level, const char *fmt, va_list args);
! 46:
! 47: /* name to facility/level */
! 48: SyslogFacility log_facility_number(char *name);
! 49: LogLevel log_level_number(char *name);
! 50:
! 51: /* Output a message to syslog or stderr */
! 52: void fatal(const char *fmt,...) __attribute__((format(printf, 1, 2)));
! 53: void error(const char *fmt,...) __attribute__((format(printf, 1, 2)));
! 54: void log(const char *fmt,...) __attribute__((format(printf, 1, 2)));
! 55: void verbose(const char *fmt,...) __attribute__((format(printf, 1, 2)));
! 56: void debug(const char *fmt,...) __attribute__((format(printf, 1, 2)));
! 57: void debug2(const char *fmt,...) __attribute__((format(printf, 1, 2)));
! 58: void debug3(const char *fmt,...) __attribute__((format(printf, 1, 2)));
! 59:
! 60: /* same as fatal() but w/o logging */
! 61: void fatal_cleanup(void);
! 62:
! 63: /*
! 64: * Registers a cleanup function to be called by fatal()/fatal_cleanup()
! 65: * before exiting. It is permissible to call fatal_remove_cleanup for the
! 66: * function itself from the function.
! 67: */
! 68: void fatal_add_cleanup(void (*proc) (void *context), void *context);
! 69:
! 70: /* Removes a cleanup function to be called at fatal(). */
! 71: void fatal_remove_cleanup(void (*proc) (void *context), void *context);
! 72:
! 73: #endif