Blame src/debug.h

Packit 9f0df5
/*
Packit 9f0df5
    debug.h: log (or not) messages using syslog
Packit 9f0df5
    Copyright (C) 2003-2008   Ludovic Rousseau
Packit 9f0df5
Packit 9f0df5
    This library is free software; you can redistribute it and/or
Packit 9f0df5
    modify it under the terms of the GNU Lesser General Public
Packit 9f0df5
    License as published by the Free Software Foundation; either
Packit 9f0df5
    version 2.1 of the License, or (at your option) any later version.
Packit 9f0df5
Packit 9f0df5
    This library is distributed in the hope that it will be useful,
Packit 9f0df5
    but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit 9f0df5
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit 9f0df5
    Lesser General Public License for more details.
Packit 9f0df5
Packit 9f0df5
	You should have received a copy of the GNU Lesser General Public License
Packit 9f0df5
	along with this library; if not, write to the Free Software Foundation,
Packit 9f0df5
	Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Packit 9f0df5
*/
Packit 9f0df5
Packit 9f0df5
/*
Packit 9f0df5
 * DEBUG_CRITICAL("text");
Packit 9f0df5
 *	log "text" if (LogLevel & DEBUG_LEVEL_CRITICAL) is TRUE
Packit 9f0df5
 *
Packit 9f0df5
 * DEBUG_CRITICAL2("text: %d", 1234);
Packit 9f0df5
 *  log "text: 1234" if (DEBUG_LEVEL_CRITICAL & DEBUG_LEVEL_CRITICAL) is TRUE
Packit 9f0df5
 * the format string can be anything printf() can understand
Packit 9f0df5
 *
Packit 9f0df5
 * same thing for DEBUG_INFO, DEBUG_COMM and DEBUG_PERIODIC
Packit 9f0df5
 *
Packit 9f0df5
 * DEBUG_XXD(msg, buffer, size);
Packit 9f0df5
 *  log a dump of buffer if (LogLevel & DEBUG_LEVEL_COMM) is TRUE
Packit 9f0df5
 *
Packit 9f0df5
 */
Packit 9f0df5
Packit 9f0df5
#ifndef _GCDEBUG_H_
Packit 9f0df5
#define  _GCDEBUG_H_
Packit 9f0df5
Packit 9f0df5
/* You can't do #ifndef __FUNCTION__ */
Packit 9f0df5
#if !defined(__GNUC__) && !defined(__IBMC__)
Packit 9f0df5
#define __FUNCTION__ ""
Packit 9f0df5
#endif
Packit 9f0df5
Packit 9f0df5
extern int LogLevel;
Packit 9f0df5
Packit 9f0df5
#define DEBUG_LEVEL_CRITICAL 1
Packit 9f0df5
#define DEBUG_LEVEL_INFO     2
Packit 9f0df5
#define DEBUG_LEVEL_COMM     4
Packit 9f0df5
#define DEBUG_LEVEL_PERIODIC 8
Packit 9f0df5
Packit 9f0df5
#include <debuglog.h>	/* from pcsc-lite */
Packit 9f0df5
Packit 9f0df5
/* DEBUG_CRITICAL */
Packit 9f0df5
#define DEBUG_CRITICAL(fmt) if (LogLevel & DEBUG_LEVEL_CRITICAL) Log1(PCSC_LOG_CRITICAL, fmt)
Packit 9f0df5
Packit 9f0df5
#define DEBUG_CRITICAL2(fmt, data) if (LogLevel & DEBUG_LEVEL_CRITICAL) Log2(PCSC_LOG_CRITICAL, fmt, data)
Packit 9f0df5
Packit 9f0df5
#define DEBUG_CRITICAL3(fmt, data1, data2) if (LogLevel & DEBUG_LEVEL_CRITICAL) Log3(PCSC_LOG_CRITICAL, fmt, data1, data2)
Packit 9f0df5
Packit 9f0df5
#define DEBUG_CRITICAL4(fmt, data1, data2, data3) if (LogLevel & DEBUG_LEVEL_CRITICAL) Log4(PCSC_LOG_CRITICAL, fmt, data1, data2, data3)
Packit 9f0df5
Packit 9f0df5
#define DEBUG_CRITICAL5(fmt, data1, data2, data3, data4) if (LogLevel & DEBUG_LEVEL_CRITICAL) Log5(PCSC_LOG_CRITICAL, fmt, data1, data2, data3, data4)
Packit 9f0df5
Packit 9f0df5
/* DEBUG_INFO */
Packit 9f0df5
#define DEBUG_INFO1(fmt) if (LogLevel & DEBUG_LEVEL_INFO) Log1(PCSC_LOG_INFO, fmt)
Packit 9f0df5
Packit 9f0df5
#define DEBUG_INFO2(fmt, data) if (LogLevel & DEBUG_LEVEL_INFO) Log2(PCSC_LOG_INFO, fmt, data)
Packit 9f0df5
Packit 9f0df5
#define DEBUG_INFO3(fmt, data1, data2) if (LogLevel & DEBUG_LEVEL_INFO) Log3(PCSC_LOG_INFO, fmt, data1, data2)
Packit 9f0df5
Packit 9f0df5
#define DEBUG_INFO4(fmt, data1, data2, data3) if (LogLevel & DEBUG_LEVEL_INFO) Log4(PCSC_LOG_INFO, fmt, data1, data2, data3)
Packit 9f0df5
Packit 9f0df5
#define DEBUG_INFO5(fmt, data1, data2, data3, data4) if (LogLevel & DEBUG_LEVEL_INFO) Log5(PCSC_LOG_INFO, fmt, data1, data2, data3, data4)
Packit 9f0df5
Packit 9f0df5
#define DEBUG_INFO_XXD(msg, buffer, size) if (LogLevel & DEBUG_LEVEL_INFO) LogXxd(PCSC_LOG_INFO, msg, buffer, size)
Packit 9f0df5
Packit 9f0df5
/* DEBUG_PERIODIC */
Packit 9f0df5
#define DEBUG_PERIODIC(fmt) if (LogLevel & DEBUG_LEVEL_PERIODIC) Log1(PCSC_LOG_DEBUG, fmt)
Packit 9f0df5
Packit 9f0df5
#define DEBUG_PERIODIC2(fmt, data) if (LogLevel & DEBUG_LEVEL_PERIODIC) Log2(PCSC_LOG_DEBUG, fmt, data)
Packit 9f0df5
Packit 9f0df5
#define DEBUG_PERIODIC3(fmt, data1, data2) if (LogLevel & DEBUG_LEVEL_PERIODIC) Log3(PCSC_LOG_DEBUG, fmt, data1, data2)
Packit 9f0df5
Packit 9f0df5
/* DEBUG_COMM */
Packit 9f0df5
#define DEBUG_COMM(fmt) if (LogLevel & DEBUG_LEVEL_COMM) Log1(PCSC_LOG_DEBUG, fmt)
Packit 9f0df5
Packit 9f0df5
#define DEBUG_COMM2(fmt, data) if (LogLevel & DEBUG_LEVEL_COMM) Log2(PCSC_LOG_DEBUG, fmt, data)
Packit 9f0df5
Packit 9f0df5
#define DEBUG_COMM3(fmt, data1, data2) if (LogLevel & DEBUG_LEVEL_COMM) Log3(PCSC_LOG_DEBUG, fmt, data1, data2)
Packit 9f0df5
Packit 9f0df5
#define DEBUG_COMM4(fmt, data1, data2, data3) if (LogLevel & DEBUG_LEVEL_COMM) Log4(PCSC_LOG_DEBUG, fmt, data1, data2, data3)
Packit 9f0df5
Packit 9f0df5
/* DEBUG_XXD */
Packit 9f0df5
#define DEBUG_XXD(msg, buffer, size) if (LogLevel & DEBUG_LEVEL_COMM) LogXxd(PCSC_LOG_DEBUG, msg, buffer, size)
Packit 9f0df5
Packit 9f0df5
#endif
Packit 9f0df5