home *** CD-ROM | disk | FTP | other *** search
/ Chip 1997 April / Chip_1997-04_cd.bin / prezent / cb / data.z / TOOLHELP.INC < prev    next >
Text File  |  1997-01-16  |  9KB  |  295 lines

  1. ;**************************************************************************
  2. ;*  TOOLHELP.INC
  3. ;*
  4. ;*      Assembly-language public include file for TOOLHELP.DLL
  5. ;*
  6. ;**************************************************************************
  7.  
  8. ;** $Copyright: 1991$ **
  9.  
  10. ;** General symbol values
  11. MAX_DATA        EQU     11
  12. MAX_PATH        EQU     255
  13. MAX_MODULE_NAME EQU     8 + 1           ;Leave room for the zero and padding
  14. MAX_CLASSNAME   EQU     255
  15.  
  16. ; ----- Global heap walking -----
  17.  
  18. GLOBALENTRY STRUC
  19. ge_dwSize       DD      ?               ;Structure version
  20. ge_dwAddress    DD      ?               ;This block's address
  21. ge_dwBlockSize  DD      ?               ;This block's size
  22. ge_hBlock       DW      ?               ;This block's handle
  23. ge_wcLock       DW      ?               ;Lock count
  24. ge_wcPageLock   DW      ?               ;Page lock count
  25. ge_wFlags       DW      ?               ;Block flags
  26. ge_wHeapPresent DW      ?               ;Size of available local heap
  27. ge_hOwner       DW      ?               ;Owner handle
  28. ge_wType        DW      ?               ;Block type
  29. ge_wData        DW      ?               ;Type-specific data
  30. ge_dwNext       DD      ?               ;Pointer to next block
  31. ge_dwNextAlt    DD      ?               ;Next free/LRU block in chain
  32. GLOBALENTRY ENDS
  33.  
  34. ; ** GlobalFirst()/GlobalNext() flags
  35. GLOBAL_ALL      EQU     0
  36. GLOBAL_LRU      EQU     1
  37. GLOBAL_FREE     EQU     2
  38.  
  39. ; ** GLOBALENTRY.ge_wType entries
  40. GT_UNKNOWN      EQU     0
  41. GT_DGROUP       EQU     1
  42. GT_DATA         EQU     2
  43. GT_CODE         EQU     3
  44. GT_TASK         EQU     4
  45. GT_RESOURCE     EQU     5
  46. GT_MODULE       EQU     6
  47. GT_FREE         EQU     7
  48. GT_INTERNAL     EQU     8
  49. GT_SENTINEL     EQU     9
  50. GT_BURGERMASTER EQU     10
  51.  
  52. ; ** if GLOBALENTRY.wType==GT_RESOURCE, the following is GLOBALENTRY.wData:
  53. GD_USERDEFINED          EQU     0
  54. GD_CURSORCOMPONENT      EQU     1
  55. GD_BITMAP               EQU     2
  56. GD_ICONCOMPONENT        EQU     3
  57. GD_MENU                 EQU     4
  58. GD_DIALOG               EQU     5
  59. GD_STRING               EQU     6
  60. GD_FONTDIR              EQU     7
  61. GD_FONT                 EQU     8
  62. GD_ACCELERATORS         EQU     9
  63. GD_RCDATA               EQU     10
  64. GD_ERRTABLE             EQU     11
  65. GD_CURSOR               EQU     12
  66. GD_ICON                 EQU     14
  67. GD_NAMETABLE            EQU     15
  68. GD_MAX_RESOURCE         EQU     15
  69.  
  70. ;** GLOBALENTRY.wFlags
  71. GF_PDB_OWNER    EQU     100h            ;Low byte is KERNEL flags
  72.  
  73. ; ----- Local heap walking -----
  74.  
  75. LOCALENTRY STRUC
  76. le_dwSize       DD      ?
  77. le_hHandle      DW      ?
  78. le_wAddress     DW      ?
  79. le_wSize        DW      ?
  80. le_wFlags       DW      ?
  81. le_wcLock       DW      ?
  82. le_wType        DW      ?
  83. le_hHeap        DW      ?
  84. le_wHeapType    DW      ?
  85. le_wNext        DW      ?
  86. LOCALENTRY ENDS
  87.  
  88. ; ** LOCALENTRY.wHeapType flags
  89. NORMAL_HEAP     EQU     0
  90. USER_HEAP       EQU     1
  91. GDI_HEAP        EQU     2
  92.  
  93. ;** LOCALENTRY.wFlags
  94. LF_FIXED                EQU     1
  95. LF_FREE                 EQU     2
  96. LF_MOVEABLE             EQU     4
  97.  
  98. ;** LOCALENTRY.wType
  99. LT_NORMAL               EQU     0
  100. LT_GDI_PEN              EQU     1
  101. LT_GDI_BRUSH            EQU     2
  102. LT_GDI_FONT             EQU     3
  103. LT_GDI_PALETTE          EQU     4
  104. LT_GDI_BITMAP           EQU     5
  105. LT_GDI_RGN              EQU     6
  106. LT_GDI_DC               EQU     7
  107. LT_GDI_DISABLED_DC      EQU     8
  108. LT_GDI_METADC           EQU     9
  109. LT_GDI_METAFILE         EQU     10
  110. LT_GDI_MAX              EQU     LT_GDI_METAFILE
  111. LT_FREE                 EQU     0ffh
  112.  
  113. ; ----- Stack tracing -----
  114.  
  115. STACKTRACEENTRY STRUC
  116. st_dwSize       DD      ?
  117. st_hTask        DW      ?
  118. st_wSS          DW      ?
  119. st_wBP          DW      ?
  120. st_wCS          DW      ?
  121. st_wIP          DW      ?
  122. st_hModule      DW      ?
  123. st_wSegment     DW      ?
  124. st_wFlags       DW      ?
  125. STACKTRACEENTRY ENDS
  126.  
  127. ;** STACKTRACEENTRY.wFlags values
  128. FRAME_FAR       EQU     0
  129. FRAME_NEAR      EQU     1
  130.  
  131. ; ----- Module list walking -----
  132.  
  133. MODULEENTRY STRUC
  134. me_dwSize       DD      ?
  135. me_szModule     DB      MAX_MODULE_NAME + 1 DUP(?)
  136. me_hModule      DW      ?
  137. me_wcUsage      DW      ?
  138. me_szExePath    DB      MAX_PATH + 1 + 1 DUP(?)
  139. me_wNext        DW      ?
  140. MODULEENTRY ENDS
  141.  
  142. ; ----- Task list walking -----
  143.  
  144. TASKENTRY STRUC
  145. te_dwSize               DD      ?
  146. te_hTask                DW      ?
  147. te_hTaskParent          DW      ?
  148. te_hInst                DW      ?
  149. te_hModule              DW      ?
  150. te_wSS                  DW      ?
  151. te_wSP                  DW      ?
  152. te_wStackTop            DW      ?
  153. te_wStackMinimum        DW      ?
  154. te_wStackBottom         DW      ?
  155. te_wcEvents             DW      ?
  156. te_hQueue               DW      ?
  157. te_szModule             DB      MAX_MODULE_NAME + 1 DUP(?)
  158. te_wPSPOffset           DW      ?
  159. te_hNext                DW      ?
  160. TASKENTRY ENDS
  161.  
  162. ;** TaskSwitch() return values
  163. TS_ERROR    EQU         0
  164. TS_NEW      EQU         1
  165. TS_OLD      EQU         2
  166.  
  167. ; ----- Window Class enumeration -----
  168.  
  169. CLASSENTRY STRUC
  170. ce_dwSize               DD      ?
  171. ce_hInst                DW      ?
  172. ce_szClassName          DB      MAX_CLASSNAME + 1 DUP(?)
  173. ce_wNext                DW      ?
  174. CLASSENTRY ENDS
  175.  
  176. ; ----- Information functions -----
  177.  
  178. VMEMMANINFO STRUC
  179. vmm_dwSize              DD      ?
  180. vmm_dwLargestFreeBlock  DD      ?
  181. vmm_dwMaxPagesAvailable DD      ?
  182. vmm_dwMaxPagesLockable  DD      ?
  183. vmm_dwTotalLinearSpace  DD      ?
  184. vmm_dwTotalUnlockedPages DD     ?
  185. vmm_dwFreePages         DD      ?
  186. vmm_dwTotalPages        DD      ?
  187. vmm_dwFreeLinearSpace   DD      ?
  188. vmm_dwSwapFilePages     DD      ?
  189. vmm_wPageSize           DW      ?
  190. VMEMMANINFO ENDS
  191.  
  192. SYSHEAPINFO STRUC
  193. si_dwSize               DD      ?
  194. si_wUserFreePercent     DW      ?
  195. si_wGDIFreePercent      DW      ?
  196. si_hUserSegment         DW      ?
  197. si_hGDISegment          DW      ?
  198. SYSHEAPINFO ENDS
  199.  
  200. ; ----- Notifications -----
  201.  
  202. ;* NFY_UNKNOWN:  An unknown notification has been returned from KERNEL.  Apps
  203. ;*      should ignore these.
  204. ;*
  205. NFY_UNKNOWN     EQU     0
  206.  
  207. ;** NFY_LOADSEG:  dwData points to a NFYLOADSEG structure
  208. NFY_LOADSEG     EQU     1
  209. NFYLOADSEG STRUC
  210. nls_dwSize              DD      ?
  211. nls_wSelector           DW      ?
  212. nls_wSegNum             DW      ?
  213. nls_wType               DW      ?       ;Low bit set for DATA, clear for CODE
  214. nls_wcInstance          DW      ?       ;Instance count ONLY VALID FOR DATA!
  215. nls_lpstrModuleName     DD      ?
  216. NFYLOADSEG ENDS
  217.  
  218. ;** NFY_FREESEG:  LOWORD(dwData) is the selector of the segment being freed
  219. NFY_FREESEG     EQU     2
  220.  
  221. ;** NFY_STARTDLL:  dwData points to a NFYSTARTDLL structure
  222. NFY_STARTDLL    EQU     3
  223. NFYSTARTDLL STRUC
  224. nsd_dwSize              DD      ?
  225. nsd_hModule             DW      ?
  226. nsd_wCS                 DW      ?
  227. nsd_wIP                 DW      ?
  228. NFYSTARTDLL ENDS
  229.  
  230. ;** NFY_STARTTASK:  dwData is the CS:IP of the task start address
  231. NFY_STARTTASK   EQU     4
  232.  
  233. ;** NFY_EXITTASK:  The low byte of dwData contains the program exit code
  234. NFY_EXITTASK    EQU     5
  235.  
  236. ;** NFY_DELMODULE:  LOWORD(dwData) is the handle of the module to be freed
  237. NFY_DELMODULE   EQU     6
  238.  
  239. ;** NFY_RIP:  LOWORD(dwData) is the fatal exit code
  240. ;** NFY_RIP:  dwData points to a NFYRIP structure
  241. NFY_RIP         EQU     7
  242. NFYRIP STRUC
  243. nrp_dwSize      DD      ?
  244. nrp_wIP         DW      ?
  245. nrp_wCS         DW      ?
  246. nrp_wSS         DW      ?
  247. nrp_wBP         DW      ?
  248. nrp_wExitCode   DW      ?
  249. NFYRIP ENDS
  250.  
  251. ;** NFY_TASKIN:  No data.  Callback should do GetCurrentTask()
  252. NFY_TASKIN      EQU     8
  253.  
  254. ;** NFY_TASKOUT:  No data.  Callback should do GetCurrentTask()
  255. NFY_TASKOUT     EQU     9
  256.  
  257. ;** NFY_INCHAR:  Return value of callback is used.  If FALSE, mapped to 'i'
  258. NFY_INCHAR      EQU     10
  259.  
  260. ;** NFY_OUTSTR:  dwData points to the string to be displayed
  261. NFY_OUTSTR      EQU     11
  262.  
  263. ;** NFY_LOGERROR:  dwData points to a NFYLOGERROR struct
  264. NFY_LOGERROR    EQU     12
  265. NFYLOGERROR STRUC
  266. nle_dwSize      DD      ?
  267. nle_wErrCode    DW      ?
  268. nle_lpInfo      DD      ?       ;Error-code dependent
  269. NFYLOGERROR ENDS
  270.  
  271. ;** NFY_LOGPARAMERROR:  dwData points to a NFYLOGPARAMERROR struct
  272. NFY_LOGPARAMERROR EQU   13
  273. NFYLOGPARAMERROR STRUC
  274. nlp_dwSize              DD      ?
  275. nlp_wErrCode            DW      ?
  276. nlp_lpfnErrorAddr       DD      ?
  277. nlp_lpBadParam          DD      ?
  278. NFYLOGPARAMERROR ENDS
  279.  
  280. ;** NotifyRegister() flags
  281. NF_NORMAL       EQU     0
  282. NF_TASKSWITCH   EQU     1
  283. NF_RIP          EQU     2
  284.  
  285. ;** TerminateApp() flag values
  286. UAE_BOX         EQU     0
  287. NO_UAE_BOX      EQU     1
  288.  
  289. TIMERINFO STRUC
  290. ti_dwSize               DD      ?
  291. ti_dwmsSinceStart       DD      ?
  292. ti_dwmsThisVM           DD      ?
  293. TIMERINFO ENDS
  294.  
  295.