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.

388 lines
5.9 KiB

  1. /*++
  2. Copyright (c) 1998-2001 Microsoft Corporation
  3. Module Name:
  4. proc.h
  5. Abstract:
  6. Global procedure declarations for the UL.SYS Kernel Debugger
  7. Extensions.
  8. Author:
  9. Keith Moore (keithmo) 17-Jun-1998.
  10. Environment:
  11. User Mode.
  12. --*/
  13. #ifndef _PROC_H_
  14. #define _PROC_H_
  15. #ifdef __cplusplus
  16. extern "C" {
  17. #endif
  18. //
  19. // Functions from HELP.C.
  20. //
  21. VOID
  22. PrintUsage(
  23. IN PCSTR CommandName
  24. );
  25. //
  26. // Functions from DBGUTIL.C.
  27. //
  28. VOID
  29. SystemTimeToString(
  30. IN LONGLONG Value,
  31. OUT PSTR Buffer
  32. );
  33. PSTR
  34. SignatureToString(
  35. IN ULONG CurrentSignature,
  36. IN ULONG ValidSignature,
  37. IN ULONG FreedSignature,
  38. OUT PSTR Buffer
  39. );
  40. PSTR
  41. ParseStateToString(
  42. IN PARSE_STATE State
  43. );
  44. PSTR
  45. UlEnabledStateToString(
  46. IN HTTP_ENABLED_STATE State
  47. );
  48. PSTR
  49. CachePolicyToString(
  50. IN HTTP_CACHE_POLICY_TYPE PolicyType
  51. );
  52. PSTR
  53. VerbToString(
  54. IN HTTP_VERB Verb
  55. );
  56. PSTR
  57. VersionToString(
  58. IN HTTP_VERSION Version
  59. );
  60. PSTR
  61. QueueStateToString(
  62. IN QUEUE_STATE QueueState
  63. );
  64. VOID
  65. DumpTransportAddress(
  66. IN PCHAR Prefix,
  67. IN PTRANSPORT_ADDRESS Address,
  68. IN ULONG_PTR ActualAddress
  69. );
  70. VOID
  71. BuildSymbol(
  72. IN PVOID RemoteAddress,
  73. OUT PSTR Symbol
  74. );
  75. PSTR
  76. GetSpinlockState(
  77. IN PUL_SPIN_LOCK SpinLock
  78. );
  79. BOOLEAN
  80. EnumLinkedList(
  81. IN PLIST_ENTRY RemoteListHead,
  82. IN PENUM_LINKED_LIST_CALLBACK Callback,
  83. IN PVOID Context
  84. );
  85. BOOLEAN
  86. EnumSList(
  87. IN PSLIST_HEADER RemoteSListHead,
  88. IN PENUM_SLIST_CALLBACK Callback,
  89. IN PVOID Context
  90. );
  91. PSTR
  92. BuildResourceState(
  93. IN PUL_ERESOURCE LocalAddress,
  94. OUT PSTR Buffer
  95. );
  96. BOOLEAN
  97. IsThisACheckedBuild(
  98. VOID
  99. );
  100. VOID
  101. DumpBitVector(
  102. IN PSTR Prefix1,
  103. IN PSTR Prefix2,
  104. IN ULONG Vector,
  105. IN PVECTORMAP VectorMap
  106. );
  107. VOID
  108. DumpRawData(
  109. IN PSTR Prefix,
  110. IN ULONG_PTR RemoteAddress,
  111. IN ULONG BufferLength
  112. );
  113. BOOLEAN
  114. CallExtensionRoutine(
  115. IN PSTR RoutineName,
  116. IN PSTR ArgumentString
  117. );
  118. //
  119. // Dump routines from DUMPERS.C.
  120. //
  121. VOID
  122. DumpUlConnection(
  123. IN PSTR Prefix,
  124. IN PSTR CommandName,
  125. IN ULONG_PTR RemoteAddress,
  126. IN PUL_CONNECTION LocalConnection
  127. );
  128. VOID
  129. DumpUlConnectionLite(
  130. IN PSTR Prefix,
  131. IN PSTR CommandName,
  132. IN ULONG_PTR RemoteAddress,
  133. IN PUL_CONNECTION LocalConnection
  134. );
  135. VOID
  136. DumpHttpConnection(
  137. IN PSTR Prefix,
  138. IN PSTR CommandName,
  139. IN ULONG_PTR RemoteAddress,
  140. IN PUL_HTTP_CONNECTION LocalConnection
  141. );
  142. VOID
  143. DumpHttpRequest(
  144. IN PSTR Prefix,
  145. IN PSTR CommandName,
  146. IN ULONG_PTR RemoteAddress,
  147. IN PUL_INTERNAL_REQUEST LocalRequest
  148. );
  149. VOID
  150. DumpHttpResponse(
  151. IN PSTR Prefix,
  152. IN PSTR CommandName,
  153. IN ULONG_PTR RemoteAddress,
  154. IN PUL_INTERNAL_RESPONSE LocalResponse
  155. );
  156. VOID
  157. DumpDataChunk(
  158. IN PSTR Prefix,
  159. IN PSTR CommandName,
  160. IN ULONG_PTR RemoteAddress,
  161. IN PUL_INTERNAL_DATA_CHUNK Chunk
  162. );
  163. VOID
  164. DumpReceiveBuffer(
  165. IN PSTR Prefix,
  166. IN PSTR CommandName,
  167. IN ULONG_PTR RemoteAddress,
  168. IN PUL_RECEIVE_BUFFER LocalBuffer
  169. );
  170. VOID
  171. DumpRequestBuffer(
  172. IN PSTR Prefix,
  173. IN PSTR CommandName,
  174. IN ULONG_PTR RemoteAddress,
  175. IN PUL_REQUEST_BUFFER LocalBuffer
  176. );
  177. typedef enum {
  178. ENDPOINT_NO_CONNS = 0,
  179. ENDPOINT_BRIEF_CONNS,
  180. ENDPOINT_VERBOSE_CONNS,
  181. } ENDPOINT_CONNS;
  182. VOID
  183. DumpUlEndpoint(
  184. IN PSTR Prefix,
  185. IN PSTR CommandName,
  186. IN ULONG_PTR RemoteAddress,
  187. IN PUL_ENDPOINT LocalEndpoint,
  188. IN ENDPOINT_CONNS Verbosity
  189. );
  190. VOID
  191. DumpAllEndpoints(
  192. IN ENDPOINT_CONNS Verbosity
  193. );
  194. VOID
  195. DumpUlRequest(
  196. IN PSTR Prefix,
  197. IN PSTR CommandName,
  198. IN ULONG_PTR RemoteAddress,
  199. IN PHTTP_REQUEST LocalRequest
  200. );
  201. VOID
  202. DumpHttpHeader(
  203. IN PSTR Prefix,
  204. IN PSTR CommandName,
  205. IN ULONG_PTR RemoteAddress,
  206. IN PUL_HTTP_HEADER LocalHeader,
  207. IN ULONG HeaderOrdinal,
  208. IN PSTR *pHeaderIdMap
  209. );
  210. VOID
  211. DumpUnknownHeader(
  212. IN PSTR Prefix,
  213. IN PSTR CommandName,
  214. IN ULONG_PTR RemoteAddress,
  215. IN PUL_HTTP_UNKNOWN_HEADER LocalHeader
  216. );
  217. VOID
  218. DumpFileCacheEntry(
  219. IN PSTR Prefix,
  220. IN PSTR CommandName,
  221. IN ULONG_PTR RemoteAddress,
  222. IN PUL_FILE_CACHE_ENTRY LocalFile
  223. );
  224. VOID
  225. DumpUriEntry(
  226. IN PSTR Prefix,
  227. IN PSTR CommandName,
  228. IN ULONG_PTR RemoteAddress,
  229. IN PUL_URI_CACHE_ENTRY UriEntry
  230. );
  231. VOID
  232. DumpAllUriEntries(
  233. VOID
  234. );
  235. VOID
  236. DumpMdl(
  237. IN PSTR Prefix,
  238. IN PSTR CommandName,
  239. IN ULONG_PTR RemoteAddress,
  240. IN PMDL LocalMdl,
  241. IN ULONG MaxBytesToDump
  242. );
  243. VOID
  244. DumpApoolObj(
  245. IN PSTR Prefix,
  246. IN PSTR CommandName,
  247. IN ULONG_PTR RemoteAddress,
  248. IN PUL_APP_POOL_OBJECT ApoolObj
  249. );
  250. VOID
  251. DumpAllApoolObjs(
  252. VOID
  253. );
  254. VOID
  255. DumpApoolProc(
  256. IN PSTR Prefix,
  257. IN PSTR CommandName,
  258. IN ULONG_PTR RemoteAddress,
  259. IN PUL_APP_POOL_PROCESS ApoolProc
  260. );
  261. VOID
  262. DumpCgroupEntry(
  263. IN PSTR Prefix,
  264. IN PSTR CommandName,
  265. IN ULONG_PTR RemoteAddress,
  266. IN PUL_CG_URL_TREE_ENTRY Entry
  267. );
  268. VOID
  269. DumpCgroupHeader(
  270. IN PSTR Prefix,
  271. IN PSTR CommandName,
  272. IN ULONG_PTR RemoteAddress,
  273. IN PUL_CG_HEADER_ENTRY Entry
  274. );
  275. VOID
  276. DumpConfigGroup(
  277. IN PSTR Prefix,
  278. IN PSTR CommandName,
  279. IN ULONG_PTR RemoteAddress,
  280. IN PUL_CONFIG_GROUP_OBJECT Obj
  281. );
  282. VOID
  283. DumpConfigTree(
  284. IN PSTR Prefix,
  285. IN PSTR CommandName,
  286. IN ULONG_PTR RemoteAddress,
  287. IN PUL_CG_URL_TREE_HEADER Tree
  288. );
  289. VOID
  290. DumpKernelQueue(
  291. IN PSTR Prefix,
  292. IN PSTR CommandName,
  293. IN ULONG_PTR RemoteAddress,
  294. IN PKQUEUE LocalQueue,
  295. IN ULONG Flags
  296. );
  297. VOID
  298. DumpFilterChannel(
  299. IN PSTR Prefix,
  300. IN PSTR CommandName,
  301. IN ULONG_PTR RemoteAddress,
  302. IN PUL_FILTER_CHANNEL Filter,
  303. IN ULONG Flags
  304. );
  305. VOID
  306. DumpFilterProc(
  307. IN PSTR Prefix,
  308. IN PSTR CommandName,
  309. IN ULONG_PTR RemoteAddress,
  310. IN PUL_FILTER_PROCESS Proc,
  311. IN ULONG Flags
  312. );
  313. const CHAR*
  314. Action2Name(
  315. ULONG Action);
  316. #ifdef __cplusplus
  317. }; // extern "C"
  318. #endif
  319. #endif // _PROC_H_