home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 5 / DATAFILE_PDCD5.iso / utilities / d / desklib / !DeskLib / h / Debug < prev    next >
Text File  |  1997-01-20  |  3KB  |  92 lines

  1.  
  2. #ifndef __Desk_Debug_h
  3. #define __Desk_Debug_h
  4. #ifdef __cplusplus
  5. extern "C" {
  6. #endif
  7. #include <stdio.h>
  8. #include <stdarg.h>
  9. #ifndef __Desk_Core_h
  10. #include "Desk.Core.h"
  11. #endif
  12. typedef void (*Desk_debug_signalhandlerfn)(int sig, void *reference);
  13. #if !defined(Desk_DEBUG) && !defined(Desk__making_Debug)
  14. #define Desk_Debug_Initialise()
  15. #define Desk_Debug_InitialiseSignal()
  16. #define Desk_Debug_ClaimSignal(fn, reference)
  17. #define Desk_Debug_ReleaseSignal()
  18. #define Desk_Debug_Finalise()
  19. #define Desk_Debug_Assert(expression)
  20. #define Desk_Debug_Error_CheckFatal(errfn) Desk_Error_CheckFatal(errfn)
  21. #define Desk_Debug_Print(text)
  22. #define Desk_Debug_DumpRegistersToFile()
  23. #define Desk_Debug_SetNestingIndentation(indentstring)
  24. #define Desk_Debug_DescribeError2(error)
  25. #define Desk_Debug_SetLevel(level)
  26. #define Desk_Debug_BackTrace()
  27. #define Desk_Debug_PrintMemory(start, size)
  28. #define Desk_Debug_Printf Desk_Debug_Dummyf
  29. #define Desk_Debug1_Printf Desk_Debug_Dummyf
  30. #define Desk_Debug2_Printf Desk_Debug_Dummyf
  31. #define Desk_Debug3_Printf Desk_Debug_Dummyf
  32. #define Desk_Debug4_Printf Desk_Debug_Dummyf
  33. #define Desk_Debug5_Printf Desk_Debug_Dummyf
  34. #define Desk_Debug_VPrintf Desk_Debug_Dummyf
  35. #define Desk_Debug1_VPrintf Desk_Debug_Dummyf
  36. #define Desk_Debug2_VPrintf Desk_Debug_Dummyf
  37. #define Desk_Debug3_VPrintf Desk_Debug_Dummyf
  38. #define Desk_Debug4_VPrintf Desk_Debug_Dummyf
  39. #define Desk_Debug5_VPrintf Desk_Debug_Dummyf
  40. #define Desk_Debug_RedirectToFilename(filename)
  41. #else
  42. void Desk_Debug_Initialise(void);
  43. void Desk_Debug_Finalise(void);
  44. void Desk_Debug_InitialiseSignal(void);
  45. void Desk_Debug_ClaimSignal(Desk_debug_signalhandlerfn fn, void *reference);
  46. void Desk_Debug_ReleaseSignal(void);
  47. int Desk_Debug_Printf(const char *format, ...);
  48. int Desk_Debug_VPrintf(const char *format, va_list va);
  49. void Desk_Debug_Print(const char *text);
  50. void Desk_Debug_DumpRegistersToFile(void);
  51. void Desk_Debug_SetNestingIndentation(const char* prefix);
  52. struct Desk_error2_block;
  53. void Desk_Debug_DescribeError2(const struct Desk_error2_block* error);
  54. #define Desk_Debug_SetLevel(level) Desk_debug_level = (level)
  55. int Desk_Debug_PrintfRef(void* reference, const char *format, ...);
  56. void Desk_Debug_BackTrace(void);
  57. #define Desk_Debug_Error_CheckFatal(errfn) \
  58. do { \
  59. Desk_os_error *Desk_debug__e = errfn; \
  60. if (Desk_debug__e) { \
  61. Desk_Error_ReportFatal(\
  62. Desk_debug__e->errnum, \
  63. Desk_error_PLACE "%s", \
  64. Desk_debug__e->errmess \
  65. ); \
  66. } \
  67. } \
  68. while (0)
  69. void Desk_Debug__Assert(const char *expression, const char *sourcefile, int line);
  70. void Desk_Debug_PrintMemory(void* start, int size);
  71. void Desk_Debug_RedirectToFilename(const char* filename);
  72. #define Desk_Debug_Assert(expression) \
  73. (\
  74. (expression) \
  75. ? \
  76. (void) 0 \
  77. : \
  78. Desk_Debug__Assert(#expression, __FILE__, __LINE__) \
  79. )
  80. #define Desk_Debug1_Printf (Desk_debug_level<1) ? 0 : Desk_Debug_Printf
  81. #define Desk_Debug2_Printf (Desk_debug_level<2) ? 0 : Desk_Debug_Printf
  82. #define Desk_Debug3_Printf (Desk_debug_level<3) ? 0 : Desk_Debug_Printf
  83. #define Desk_Debug4_Printf (Desk_debug_level<4) ? 0 : Desk_Debug_Printf
  84. #define Desk_Debug5_Printf (Desk_debug_level<5) ? 0 : Desk_Debug_Printf
  85. #endif
  86. #define Desk_Debug_Dummyf (Desk_bool_TRUE) ? 0 : printf
  87. extern int Desk_debug_level;
  88. #ifdef __cplusplus
  89. }
  90. #endif
  91. #endif
  92.