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.

141 lines
2.9 KiB

  1. /*++
  2. Copyright (c) 1998-2002 Microsoft Corporation
  3. Module Name:
  4. httprcv.h
  5. Abstract:
  6. Contains public http receive declarations.
  7. Author:
  8. Henry Sanders (henrysa) 10-Jun-1998
  9. Revision History:
  10. --*/
  11. #ifndef _HTTPRCV_H_
  12. #define _HTTPRCV_H_
  13. BOOLEAN
  14. UlConnectionRequest(
  15. IN PVOID pListeningContext,
  16. IN PUL_CONNECTION pConnection,
  17. IN PTRANSPORT_ADDRESS pRemoteAddress,
  18. IN ULONG RemoteAddressLength,
  19. OUT PVOID *ppConnectionContext
  20. );
  21. VOID
  22. UlConnectionComplete(
  23. IN PVOID pListeningContext,
  24. IN PVOID pConnectionContext,
  25. IN NTSTATUS Status
  26. );
  27. VOID
  28. UlConnectionDisconnect(
  29. IN PVOID pListeningContext,
  30. IN PVOID pConnectionContext
  31. );
  32. VOID
  33. UlConnectionDisconnectComplete(
  34. IN PVOID pListeningContext,
  35. IN PVOID pConnectionContext
  36. );
  37. VOID
  38. UlConnectionDestroyed(
  39. IN PVOID pListeningContext,
  40. IN PVOID pConnectionContext
  41. );
  42. NTSTATUS
  43. UlHttpReceive(
  44. IN PVOID pListeningContext,
  45. IN PVOID pConnectionContext,
  46. IN PVOID pVoidBuffer,
  47. IN ULONG BufferLength,
  48. IN ULONG UnreceivedLength,
  49. OUT PULONG pBytesTaken
  50. );
  51. NTSTATUS
  52. UlReceiveEntityBody(
  53. IN PUL_APP_POOL_PROCESS pProcess,
  54. IN PUL_INTERNAL_REQUEST pRequest,
  55. IN PIRP pIrp
  56. );
  57. VOID
  58. UlProcessBufferQueue(
  59. IN PUL_INTERNAL_REQUEST pRequest,
  60. IN PUCHAR pEntityBody OPTIONAL,
  61. IN ULONG EntityBodyLength OPTIONAL
  62. );
  63. VOID
  64. UlResumeParsing(
  65. IN PUL_HTTP_CONNECTION pConnection,
  66. IN BOOLEAN FromCache,
  67. IN BOOLEAN InDisconnect
  68. );
  69. NTSTATUS
  70. UlCheckProtocolCompliance(
  71. IN PUL_INTERNAL_REQUEST pRequest
  72. );
  73. NTSTATUS
  74. UlGetCGroupForRequest(
  75. IN PUL_INTERNAL_REQUEST pRequest
  76. );
  77. VOID
  78. UlSendErrorResponse(
  79. IN PUL_HTTP_CONNECTION pConnection
  80. );
  81. ULONG
  82. UlSendSimpleStatus(
  83. PUL_INTERNAL_REQUEST pRequest,
  84. UL_HTTP_SIMPLE_STATUS Response
  85. );
  86. ULONG
  87. UlSendSimpleStatusEx(
  88. PUL_INTERNAL_REQUEST pRequest,
  89. UL_HTTP_SIMPLE_STATUS Response,
  90. PUL_URI_CACHE_ENTRY pUriCacheEntry OPTIONAL,
  91. BOOLEAN ResumeParsing
  92. );
  93. VOID
  94. UlSetErrorCodeFileLine(
  95. IN OUT PUL_INTERNAL_REQUEST pRequest,
  96. IN UL_HTTP_ERROR ErrorCode,
  97. IN PUL_APP_POOL_OBJECT pAppPool,
  98. IN PCSTR pFileName,
  99. IN USHORT LineNumber
  100. );
  101. #define UlSetErrorCode(pRequest, ErrorCode, pAppPool) \
  102. UlSetErrorCodeFileLine((pRequest), (ErrorCode), (pAppPool), \
  103. (PCSTR) __FILE__, (USHORT) __LINE__)
  104. VOID
  105. UlErrorLog(
  106. IN PUL_HTTP_CONNECTION pHttpConn,
  107. IN PUL_INTERNAL_REQUEST pRequest, // OPTIONAL
  108. IN PCHAR pInfo,
  109. IN USHORT InfoSize,
  110. IN BOOLEAN CheckIfDropped
  111. );
  112. #endif // _HTTPRCV_H_