home *** CD-ROM | disk | FTP | other *** search
/ RISC DISC 2 / RISC_DISC_2.iso / pd_share / program / code / desklib / DeskLib / !DeskLib / h / Debug < prev    next >
Encoding:
Text File  |  1995-08-28  |  1.6 KB  |  64 lines

  1.  
  2. #ifndef __dl_debug_h
  3. #define __dl_debug_h
  4. #ifdef __cplusplus
  5. extern "C" {
  6. #endif
  7. #ifndef __dl_core_h
  8. #include "Core.h"
  9. #endif
  10. #ifndef __dl_error_h
  11. #include "Error.h"
  12. #endif
  13. typedef void (*debug_signalhandlerfn)( int sig, void *reference);
  14. #if !defined( DeskLib_DEBUG) && !defined( _DeskLib_Debug)
  15. #define Debug_Initialise()
  16. #define Debug_InitialiseSignal()
  17. #define Debug_ReleaseSignal()
  18. #define Debug_Print( text)
  19. #define Debug_ClaimSignal( fn, reference)
  20. #define Debug_Assert( expression)
  21. #define Debug_Error_CheckFatal( errfn) Error_CheckFatal( errfn);
  22. #define Debug_Printf Debug_Dummyf
  23. #else
  24. void Debug_Initialise( void);
  25. void Debug_InitialiseSignal( void);
  26. void Debug_ClaimSignal( debug_signalhandlerfn fn, void *reference);
  27. void Debug_ReleaseSignal( void);
  28. int Debug_Printf( const char *format, ...);
  29. void Debug_Print( const char *text);
  30. #define Debug_Error_CheckFatal( errfn) \
  31. do { \
  32. os_error *debug__e = errfn; \
  33. if ( debug__e) { \
  34. Error_ReportFatal( \
  35. debug__e->errnum, \
  36. error_PLACE "%s", \
  37. debug__e->errmess \
  38. ); \
  39. } \
  40. } \
  41. while (0)
  42. void Debug__Assert( const char *expression, char *sourcefile, int line);
  43. #define Debug_Assert( expression) \
  44. ( \
  45. (expression) \
  46. ? \
  47. (void) 0 \
  48. : \
  49. Debug__Assert( #expression, __FILE__, __LINE__) \
  50. )
  51. #endif
  52. int Debug__Dummyf( const char *format, ...);
  53. #define Debug_Dummyf (TRUE) ? 0 : Debug__Dummyf
  54. extern int debug_level;
  55. #define Debug1_Printf (debug_level<1) ? 0 : Debug_Printf
  56. #define Debug2_Printf (debug_level<2) ? 0 : Debug_Printf
  57. #define Debug3_Printf (debug_level<3) ? 0 : Debug_Printf
  58. #define Debug4_Printf (debug_level<4) ? 0 : Debug_Printf
  59. #define Debug5_Printf (debug_level<5) ? 0 : Debug_Printf
  60. #ifdef __cplusplus
  61. }
  62. #endif
  63. #endif
  64.