Leaked source code of windows server 2003
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.

255 lines
4.2 KiB

  1. /*++
  2. Copyright (c) 1998-2002 Microsoft Corporation
  3. Module Name:
  4. ioctl.h
  5. Abstract:
  6. This module contains declarations for various IOCTL handlers.
  7. Author:
  8. Keith Moore (keithmo) 10-Jun-1998
  9. Revision History:
  10. --*/
  11. #ifndef _IOCTL_H_
  12. #define _IOCTL_H_
  13. NTSTATUS
  14. UlQueryControlChannelIoctl(
  15. IN PIRP pIrp,
  16. IN PIO_STACK_LOCATION pIrpSp
  17. );
  18. NTSTATUS
  19. UlSetControlChannelIoctl(
  20. IN PIRP pIrp,
  21. IN PIO_STACK_LOCATION pIrpSp
  22. );
  23. NTSTATUS
  24. UlCreateConfigGroupIoctl(
  25. IN PIRP pIrp,
  26. IN PIO_STACK_LOCATION pIrpSp
  27. );
  28. NTSTATUS
  29. UlDeleteConfigGroupIoctl(
  30. IN PIRP pIrp,
  31. IN PIO_STACK_LOCATION pIrpSp
  32. );
  33. NTSTATUS
  34. UlQueryConfigGroupIoctl(
  35. IN PIRP pIrp,
  36. IN PIO_STACK_LOCATION pIrpSp
  37. );
  38. NTSTATUS
  39. UlSetConfigGroupIoctl(
  40. IN PIRP pIrp,
  41. IN PIO_STACK_LOCATION pIrpSp
  42. );
  43. NTSTATUS
  44. UlAddUrlToConfigGroupIoctl(
  45. IN PIRP pIrp,
  46. IN PIO_STACK_LOCATION pIrpSp
  47. );
  48. NTSTATUS
  49. UlRemoveUrlFromConfigGroupIoctl(
  50. IN PIRP pIrp,
  51. IN PIO_STACK_LOCATION pIrpSp
  52. );
  53. NTSTATUS
  54. UlRemoveAllUrlsFromConfigGroupIoctl(
  55. IN PIRP pIrp,
  56. IN PIO_STACK_LOCATION pIrpSp
  57. );
  58. NTSTATUS
  59. UlQueryAppPoolInformationIoctl(
  60. IN PIRP pIrp,
  61. IN PIO_STACK_LOCATION pIrpSp
  62. );
  63. NTSTATUS
  64. UlSetAppPoolInformationIoctl(
  65. IN PIRP pIrp,
  66. IN PIO_STACK_LOCATION pIrpSp
  67. );
  68. NTSTATUS
  69. UlShutdownAppPoolIoctl(
  70. IN PIRP pIrp,
  71. IN PIO_STACK_LOCATION pIrpSp
  72. );
  73. NTSTATUS
  74. UlReceiveHttpRequestIoctl(
  75. IN PIRP pIrp,
  76. IN PIO_STACK_LOCATION pIrpSp
  77. );
  78. NTSTATUS
  79. UlReceiveEntityBodyIoctl(
  80. IN PIRP pIrp,
  81. IN PIO_STACK_LOCATION pIrpSp
  82. );
  83. NTSTATUS
  84. UlSendHttpResponseIoctl(
  85. IN PIRP pIrp,
  86. IN PIO_STACK_LOCATION pIrpSp
  87. );
  88. NTSTATUS
  89. UlSendEntityBodyIoctl(
  90. IN PIRP pIrp,
  91. IN PIO_STACK_LOCATION pIrpSp
  92. );
  93. NTSTATUS
  94. UlFlushResponseCacheIoctl(
  95. IN PIRP pIrp,
  96. IN PIO_STACK_LOCATION pIrpSp
  97. );
  98. NTSTATUS
  99. UlWaitForDemandStartIoctl(
  100. IN PIRP pIrp,
  101. IN PIO_STACK_LOCATION pIrpSp
  102. );
  103. NTSTATUS
  104. UlWaitForDisconnectIoctl(
  105. IN PIRP pIrp,
  106. IN PIO_STACK_LOCATION pIrpSp
  107. );
  108. NTSTATUS
  109. UlShutdownFilterIoctl(
  110. IN PIRP pIrp,
  111. IN PIO_STACK_LOCATION pIrpSp
  112. );
  113. NTSTATUS
  114. UlFilterAcceptIoctl(
  115. IN PIRP pIrp,
  116. IN PIO_STACK_LOCATION pIrpSp
  117. );
  118. NTSTATUS
  119. UlFilterCloseIoctl(
  120. IN PIRP pIrp,
  121. IN PIO_STACK_LOCATION pIrpSp
  122. );
  123. NTSTATUS
  124. UlFilterRawReadIoctl(
  125. IN PIRP pIrp,
  126. IN PIO_STACK_LOCATION pIrpSp
  127. );
  128. NTSTATUS
  129. UlFilterRawWriteIoctl(
  130. IN PIRP pIrp,
  131. IN PIO_STACK_LOCATION pIrpSp
  132. );
  133. NTSTATUS
  134. UlFilterAppReadIoctl(
  135. IN PIRP pIrp,
  136. IN PIO_STACK_LOCATION pIrpSp
  137. );
  138. NTSTATUS
  139. UlFilterAppWriteIoctl(
  140. IN PIRP pIrp,
  141. IN PIO_STACK_LOCATION pIrpSp
  142. );
  143. NTSTATUS
  144. UlReceiveClientCertIoctl(
  145. IN PIRP pIrp,
  146. IN PIO_STACK_LOCATION pIrpSp
  147. );
  148. NTSTATUS
  149. UlGetCountersIoctl(
  150. IN PIRP pIrp,
  151. IN PIO_STACK_LOCATION pIrpSp
  152. );
  153. NTSTATUS
  154. UlAddFragmentToCacheIoctl(
  155. IN PIRP pIrp,
  156. IN PIO_STACK_LOCATION pIrpSp
  157. );
  158. NTSTATUS
  159. UlReadFragmentFromCacheIoctl(
  160. IN PIRP pIrp,
  161. IN PIO_STACK_LOCATION pIrpSp
  162. );
  163. // Maximum number of chunks that we'll allow in a response, to prevent
  164. // carefully crafted arithmetic overflow errors fooling us into passing 0
  165. // as the buffer length to ProbeForRead.
  166. #define UL_MAX_CHUNKS 10000
  167. C_ASSERT(UL_MAX_CHUNKS < (LONG_MAX / sizeof(HTTP_DATA_CHUNK)));
  168. // Number of chunks to keep on the stack
  169. #define UL_LOCAL_CHUNKS 10
  170. NTSTATUS
  171. UcSendRequestIoctl(
  172. IN PIRP pIrp,
  173. IN PIO_STACK_LOCATION pIrpSp
  174. );
  175. NTSTATUS
  176. UcSendEntityBodyIoctl(
  177. IN PIRP pIrp,
  178. IN PIO_STACK_LOCATION pIrpSp
  179. );
  180. NTSTATUS
  181. UcReceiveResponseIoctl(
  182. IN PIRP pIrp,
  183. IN PIO_STACK_LOCATION pIrpSp
  184. );
  185. NTSTATUS
  186. UcSetServerContextInformationIoctl(
  187. IN PIRP pIrp,
  188. IN PIO_STACK_LOCATION pIrpSp
  189. );
  190. NTSTATUS
  191. UcQueryServerContextInformationIoctl(
  192. IN PIRP pIrp,
  193. IN PIO_STACK_LOCATION pIrpSp
  194. );
  195. NTSTATUS
  196. UcCancelRequestIoctl(
  197. IN PIRP pIrp,
  198. IN PIO_STACK_LOCATION IrpSp
  199. );
  200. #endif // _IOCTL_H_