/* [<][>][^][v][top][bottom][index][help] */
DEFINITIONS
This source file includes following definitions.
- DBG_TRUE
- DBG_FALSE
- DBG_Boolean
#ifndef PUBLIC_DBG_H_INCLUDED
#define PUBLIC_DBG_H_INCLUDED
#include <stdio.h>
#include <stdarg.h>
typedef struct DBG_Controller_tag *DBG_Controller;
void DBG_set(DBG_Controller controller, char *file, int line);
void DBG_set_expression(char *expression);
#ifdef DBG_NO_DEBUG
#define DBG_create_controller() ((void)0)
#define DBG_set_debug_level(level) ((void)0)
#define DBG_set_debug_write_fp(fp) ((void)0)
#define DBG_assert(expression, arg) ((void)0)
#define DBG_panic(arg) ((void)0)
#define DBG_debug_write(arg) ((void)0)
#else /* DBG_NO_DEBUG */
#ifdef DBG_CONTROLLER
#define DBG_CURRENT_CONTROLLER DBG_CONTROLLER
#else /* DBG_CONTROLLER */
#define DBG_CURRENT_CONTROLLER dbg_default_controller
#endif /* DBG_CONTROLLER */
extern DBG_Controller DBG_CURRENT_CONTROLLER;
#define DBG_create_controller() (DBG_create_controller_func())
#define DBG_set_debug_level(level) \
(DBG_set_debug_level_func(DBG_CURRENT_CONTROLLER, (level)))
#define DBG_set_debug_write_fp(fp) \
(DBG_set_debug_write_fp(DBG_CURRENT_CONTROLLER, (fp))
#define DBG_assert(expression, arg) \
((expression) ? (void)(0) :\
((DBG_set(DBG_CURRENT_CONTROLLER, __FILE__, __LINE__)),\
(DBG_set_expression(#expression)),\
DBG_assert_func arg))
#define DBG_panic(arg) \
((DBG_set(DBG_CURRENT_CONTROLLER, __FILE__, __LINE__)),\
DBG_panic_func arg)
#define DBG_debug_write(arg) \
((DBG_set(DBG_CURRENT_CONTROLLER, __FILE__, __LINE__)),\
DBG_debug_write_func arg)
#endif /* DBG_NO_DEBUG */
typedef enum {
DBG_TRUE = 1,
DBG_FALSE = 0
} DBG_Boolean;
DBG_Controller DBG_create_controller_func(void);
void DBG_set_debug_level_func(DBG_Controller controller, int level);
void DBG_set_debug_write_fp_func(DBG_Controller controller, FILE *fp);
void DBG_assert_func(char *fmt, ...);
void DBG_panic_func(char *fmt, ...);
void DBG_debug_write_func(int level, char *fmt, ...);
#endif /* PUBLIC_DBG_H_INCLUDED */