home *** CD-ROM | disk | FTP | other *** search
/ C Programming Starter Kit 2.0 / SamsPublishing-CProgrammingStarterKit-v2.0-Win31.iso / bc45 / inc.pak / TOOLHELP.INC < prev    next >
Text File  |  1997-07-23  |  9KB  |  300 lines

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