gadebug.h
上传用户:xiaoan1112
上传日期:2013-04-11
资源大小:19621k
文件大小:2k
源码类别:

操作系统开发

开发平台:

Visual C++

  1. /*
  2. COW : Character Oriented Windows
  3. gacheck.h : header info for checking global heap
  4. */
  5. #include "handle.h"
  6. /* * Additional Types */
  7. typedef int (FAR PASCAL *FARPROC)(); /* Medium Model */
  8. typedef int (NEAR PASCAL *NEARPROC)(); /* Medium Model */
  9. typedef WORD *pWORD;
  10. typedef struct
  11.     {
  12.     WORD Offset;
  13.     WORD Segment;
  14.     } FARADDR;
  15. typedef FARADDR *pFARADDR;
  16. typedef struct
  17. {
  18. BYTE            ga_sig;
  19. WORD            ga_owner;
  20. WORD            ga_size;
  21. BYTE            ga_flags;
  22. WORD            ga_prev;
  23. WORD            ga_next;
  24. HANDLEENTRY    *ga_handle;
  25. HANDLEENTRY    *ga_lruprev;
  26. HANDLEENTRY    *ga_lrunext;
  27. } GLOBALARENA;
  28. typedef GLOBALARENA far *LPGLOBALARENA;
  29. typedef struct
  30. {
  31. WORD         hi_check;
  32. WORD            hi_freeze;
  33. WORD            hi_count;
  34. WORD            hi_first;
  35. WORD            hi_last;
  36. BYTE            hi_ncompact;
  37. BYTE            hi_dislevel;
  38. WORD            hi_distotal;
  39. HANDLETABLE    *hi_htable;
  40. HANDLEENTRY    *hi_hfree;
  41. WORD            hi_hdelta;
  42. NEARPROC        hi_hexpand;
  43. WORD            gi_minsize;
  44. WORD            gi_lrulock;
  45. HANDLEENTRY    *gi_lruchain;
  46. WORD            gi_lrucount;
  47. } GLOBALINFO;
  48. typedef GLOBALINFO far *LPGLOBALINFO;
  49. #define GA_SIGNATURE 0x4D
  50. #define GA_ENDSIG 0x5A
  51. #define GA_HOLESIG      0x4A
  52. #define GA_FIXED 1
  53. #define GA_ALIGN GA_FIXED
  54. #define GA_MASK  (~ GA_ALIGN)
  55. #define lpGlobalArena( w ) (LPGLOBALARENA)((DWORD)(w) << 16)
  56. #define lpHandleEntry( w ) (LPHANDLEENTRY)((DWORD)lpGlobalHeap | (WORD)(w))
  57. #define lpHandleTable( w ) (LPHANDLETABLE)((DWORD)lpGlobalHeap | (WORD)(w))