Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

87 lines
3.0 KiB

  1. //+---------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1992 - 1995.
  5. //
  6. // File: debugp.h
  7. //
  8. // Contents:
  9. //
  10. // Classes:
  11. //
  12. // Functions:
  13. //
  14. // History: 3-21-95 RichardW Created
  15. //
  16. //----------------------------------------------------------------------------
  17. #ifndef __DEBUGP_H__
  18. #define __DEBUGP_H__
  19. #define DEBUGMOD_CHANGE_INFOLEVEL 0x00000001
  20. #define DEBUGMOD_BUILTIN_MODULE 0x00000002
  21. struct _DebugHeader;
  22. typedef struct _DebugModule {
  23. struct _DebugModule * pNext;
  24. DWORD * pInfoLevel;
  25. DWORD fModule;
  26. DWORD InfoLevel;
  27. struct _DebugHeader * pHeader;
  28. DWORD TotalOutput;
  29. DWORD Reserved;
  30. PCHAR pModuleName;
  31. PCHAR TagLevels[32];
  32. } DebugModule, * PDebugModule;
  33. #define DEBUG_TAG 'gubD'
  34. #define DEBUG_NO_DEBUGIO 0x00000001 // Do not use OutputDebugString
  35. #define DEBUG_TIMESTAMP 0x00000002 // Stamp date/time
  36. #define DEBUG_DEBUGGER_OK 0x00000004 // We're running in a debugger
  37. #define DEBUG_LOGFILE 0x00000008 // Send to log file
  38. #define DEBUG_AUTO_DEBUG 0x00000010 // Start up in debugger
  39. #define DEBUG_USE_KDEBUG 0x00000020 // Use KD
  40. #define DEBUG_DISABLE_ASRT 0x00000100 // Disable asserts
  41. #define DEBUG_PROMPTS 0x00000200 // No prompts for asserts
  42. #define DEBUG_MODULE_NAME "DsysDebug"
  43. typedef BOOLEAN (NTAPI * HEAPVALIDATE)(VOID);
  44. #define DEBUG_TEXT_BUFFER_SIZE (512 - sizeof( PVOID ))
  45. typedef struct _DEBUG_TEXT_BUFFER {
  46. struct _DEBUG_TEXT_BUFFER * Next ;
  47. CHAR TextBuffer[ DEBUG_TEXT_BUFFER_SIZE ];
  48. } DEBUG_TEXT_BUFFER, * PDEBUG_TEXT_BUFFER ;
  49. typedef struct _DebugHeader {
  50. DWORD Tag; // Check tag
  51. DWORD fDebug; // Global Flags
  52. PVOID pvSection; // Base address of section
  53. HANDLE hMapping; // Mapping handle
  54. HANDLE hLogFile; // Log file handle
  55. PDebugModule pGlobalModule; // Global Flags module
  56. PDebugModule pModules; // List of modules
  57. HEAPVALIDATE pfnValidate; // Heap Validator
  58. PVOID pFreeList; // Free list for allocator
  59. PCHAR pszExeName; // Exe Name
  60. PDEBUG_TEXT_BUFFER pBufferList ; // List of debug string buffers
  61. CRITICAL_SECTION csDebug; // Critical section
  62. DWORD CommitRange; // Range of memory committed
  63. DWORD ReserveRange; // Range of memory reserved
  64. DWORD PageSize; // Page size;
  65. DWORD TotalWritten; // Total Output of debug stuff
  66. DWORD ModuleCount ; // Module Count (not including builtins)
  67. DEBUG_TEXT_BUFFER DefaultBuffer ; // One default buffer
  68. } DebugHeader, * PDebugHeader;
  69. #endif