diff options
Diffstat (limited to 'debug.h')
| -rw-r--r-- | debug.h | 169 | 
1 files changed, 0 insertions, 169 deletions
| diff --git a/debug.h b/debug.h deleted file mode 100644 index 3f3b753..0000000 --- a/debug.h +++ /dev/null @@ -1,169 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim: set et sw=2 ts=2: */ -/*************************************************************************** - *            debug.h - * - *  Thu Nov  1 13:38:47 CET 2012 - *  Copyright 2012 Bent Bisballe Nyeng - *  deva@aasimon.org - ****************************************************************************/ - -/* - *  This file is part of Debug Module. - * - *  Debug Module is free software; you can redistribute it and/or modify - *  it under the terms of the GNU General Public License as published by - *  the Free Software Foundation; either version 2 of the License, or - *  (at your option) any later version. - * - *  Debug Module is distributed in the hope that it will be useful, - *  but WITHOUT ANY WARRANTY; without even the implied warranty of - *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - *  GNU General Public License for more details. - * - *  You should have received a copy of the GNU General Public License - *  along with Debug Module; if not, write to the Free Software - *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA. - */ -#ifndef __DEBUG_MODULE_DEBUG_H__ -#define __DEBUG_MODULE_DEBUG_H__ - -enum DBG_FLAG { -  // Features -#ifdef WITH_DBG_THREAD -  DBG_FLAG_USE_THREAD       = 0x00000001, -#endif -#ifdef WITH_DBG_MUTEX -  DBG_FLAG_USE_MUTEX        = 0x00000002, -#endif -#ifdef WITH_DBG_FILTER -  DBG_FLAG_USE_FILTER       = 0x00000004, -#endif - -  // Outputs -  DBG_FLAG_OUTPUT_TO_STDOUT = 0x00010000, -  DBG_FLAG_OUTPUT_TO_STDERR = 0x00020000, -  DBG_FLAG_OUTPUT_TO_FD     = 0x00040000, -  DBG_FLAG_OUTPUT_TO_FILE   = 0x00080000, -#ifdef WITH_DBG_SYSLOG -  DBG_FLAG_OUTPUT_TO_SYSLOG = 0x00100000, -#endif - -  // Default value of flags -  DBG_FLAG_DEFAULT          = DBG_FLAG_OUTPUT_TO_STDOUT, // Output to stdout -}; - -enum DBG_OPTION { -  /** -   * No more options / last option.  This is used -   * to terminate the VARARGs list. -   */ -  DBG_OPTION_END, - -  /** -   * const char* argument containing a filename which will be used for log -   * output. To be used with the DBG_FLAG_OUTPUT_TO_FILE flag. -   */ -  DBG_OPTION_FILENAME, - -  /** -   * Integer argument describing a file descriptor which will be used for log -   * output. To be used with the DBG_FLAG_OUTPUT_TO_FD flag. -   */ -  DBG_OPTION_FD, - -  /** -   * Set this option to make the stdout output to be printed without any date -   * information in the header. -   * Parameter is an integer. -   * Values: -   *  0 := use date -   *  1 := do not use date. -   */ -  DBG_OPTION_STDOUT_NO_DATE, - -  /** -   * Host and port to use when logging on an external server. -   * Host is a const char* argument, port is an integer. -   * To be used with the DBG_FLAG_USE_SYSLOG flag. -   * Linux: If DBG_OPTION_SYSLOG_HOST is not supplied, the local syslog will be -   * used. -   * Windows: If DBG_OPTION_SYSLOG_HOST is not supplied an error will be -   * returned by debug_init. -   * If DBG_OPTION_SYSLOG_PORT is not supplied, the default syslogd port will -   * be used (port 514). -   */ -#ifdef WITH_DBG_SYSLOG -  DBG_OPTION_SYSLOG_HOST, -  DBG_OPTION_SYSLOG_PORT, -#endif - -  /** -   * Filter option. Argument is a const char *. -   * fmt := [set[,set]*]* -   * set := [+-]channel -   *     |  class[+-]channel -   *     |  [+-]all    -   */ -#ifdef WITH_DBG_FILTER -  DBG_OPTION_FILTER, -#endif -}; - -typedef enum { -  DBG_STATUS_OK = 0, -  DBG_STATUS_UNKNOWN_OPTION, -  DBG_STATUS_ERROR, -} dbg_status_t; - -/** - * @param flags combination of DBG_FLAG values - * @param ... list of options (type-value pairs, - *        terminated with DBG_OPTION_END). - * @return 0 on success, 1 on error. - */ -dbg_status_t dbg_init(unsigned int flags, ...); -void dbg_close(); - -/** - * Example of usage (use mutex protected calls, send output to file): - * - * dbg_status_t status; - * status = debug_init(DBG_FLAG_OUTPUT_TO_FILE | DBG_FLAG_USE_MUTEX, - *                     DBG_OPTION_FILENAME, "/tmp/my.log", -                       DBG_OPTION_END); - * if(status != DBG_STATUS_OK) exit(1); - * INFO(example, "We are up and running\n"); - * dbg_close(); - */ - -/** - * Example of usage (simply outputs to stdout): - * - * INFO(example, "We are up and running\n"); - */ - -enum __debug_class -{ -  __class_fixme = 0, -	__class_err = 1, -	__class_warn = 2, -	__class_info = 3, -	__class_debug = 4 -}; - -int __debug(const char *func, const int line, enum __debug_class cl, -            const char *ch, const char *fmt, ...) -  __attribute__((format (printf,5,6))); - -#define __DEBUG_PRINT(cl, ch, fmt...)	\ -	do { __debug(__func__, __LINE__, cl, ch, fmt); } while(0) -#define __DEBUG(cl, ch, fmt...) \ -	__DEBUG_PRINT(__class##cl, #ch, fmt) - -#define ERR(ch, fmt...) __DEBUG(_err, ch, fmt) -#define WARN(ch, fmt...) __DEBUG(_warn, ch, fmt) -#define INFO(ch, fmt...) __DEBUG(_info, ch, fmt) -#define DEBUG(ch, fmt...) __DEBUG(_debug, ch, fmt) - -#endif/*__DEBUG_MODULE_DEBUG_H__*/ | 
