Main Page | Modules | Class Hierarchy | Data Structures | File List | Data Fields | Globals | Related Pages

Debug facilities
[C API]


Detailed Description

debug facilities

Author:
benjamin gerard


Files

file  sysdebug.h
 Debug fonctions.


Data Structures

struct  sysdbg_debug_level_t
 Debug level definition. More...


Predefined macros for logging messages.

This macros are only actif if DBG_LOG is defined.

To log debug message in non-debug compilation, use directly the sysdbg_printf() function.

#define SDMSG(level,)   sysdbg_printf(__FILE__, __LINE__, level, __VA_ARGS__)
#define SDINDENT   sysdbg_indent(1,0)
#define SDUNINDENT   sysdbg_indent(-1,0)
#define SDCRITICAL()   SDMSG(sysdbg_critical, __VA_ARGS__)
#define SDERROR()   SDMSG(sysdbg_error, __VA_ARGS__)
#define SDWARNING()   SDMSG(sysdbg_warning, __VA_ARGS__)
#define SDNOTICE()   SDMSG(sysdbg_notice, __VA_ARGS__)
#define SDINFO()   SDMSG(sysdbg_info, __VA_ARGS__)
#define SDDEBUG()   SDMSG(sysdbg_debug, __VA_ARGS__)
#define SDTRACE()   SDMSG(sysdbg_trace, __VA_ARGS__)
#define SDUSER(user,)   SDMSG((sysdbg_user+user), __VA_ARGS__)
#define SDENTER   if (1) SDGMSG(sysdbg_trace,">> {\n") else
#define SDLEAVE(code)

Typedefs

typedef void(* sysdbg_f )(void *cookie, const char *fmt, va_list list)
 Debug function type definition.


Enumerations

enum  sysdgb_level_e {
  sysdbg_critical = 0, sysdbg_error, sysdbg_warning, sysdbg_notice,
  sysdbg_info, sysdbg_debug, sysdbg_trace, sysdbg_user = 16,
  sysdbg_user0 = sysdbg_user, sysdbg_user1, sysdbg_user2, sysdbg_user3,
  sysdbg_user4, sysdbg_user5, sysdbg_user6, sysdbg_user7,
  sysdbg_user8, sysdbg_user9, sysdbg_userA, sysdbg_userB,
  sysdbg_userC, sysdbg_userD, sysdbg_userE, sysdbg_userF
}
 debug level enum. More...


Functions

void sysdbg_vprintf (const char *file, int line, int level, const char *fmt, va_list list)
 Print a debug message (variable argument version).

void sysdbg_printf (const char *file, int line, int level, const char *fmt,...)
 Print a debug message.

sysdbg_f sysdbg_set_function (sysdbg_f print, void *cookie)
 Set debug print function.

void sysdbg_set_level (int level, int *prev)
 Set debug level mask.

void sysdbg_or_level (int level, int *prev)
 Bitwise OR on debug level mask.

void sysdbg_and_level (int level, int *prev)
 Bitwise NAND (clear) on debug level mask.

void sysdbg_indent (int indent, int *prev)
 Change indent level.

void sysdbg_register_level (sysdgb_level_e level, const char *name, const char *twocc)
 Register a new debug level.


Define Documentation

#define SDLEAVE code   ) 
 

Value:

if (1) SDGMSG(sysdbg_trace,"} << [%d]\n",\
 (int)(code)) else


Enumeration Type Documentation

enum sysdgb_level_e
 

debug level enum.

Enumeration values:
sysdbg_critical  Critical message.
sysdbg_error  Error message.
sysdbg_warning  Warning message.
sysdbg_notice  Notice message.
sysdbg_info  Information message.
sysdbg_debug  Debug message.
sysdbg_trace  Trace message.
sysdbg_user  First user message.


Function Documentation

void sysdbg_printf const char *  file,
int  line,
int  level,
const char *  fmt,
... 
 

Print a debug message.

The sysdbg_printf() functions calls the sysdbg_vprintf() functions with a suitable va_list parameter.

See also:
sysdbg_vprintf()

sysdbg_f sysdbg_set_function sysdbg_f  print,
void *  cookie
 

Set debug print function.

The sysdbg_set_function() function allows to change the default debug message print function.

Parameters:
print The new print function. 0 restores the default function. The print function should be a printf-like function.
cookie Value given as 1st parameter (cookie) to the print function when it is called by sysdebug_vprintf().
Returns:
Previous debug function


dcplaya documentation version 1.2 Generated on January 2004 by doxygen 1.3.5