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.

130 lines
2.4 KiB

  1. /*++
  2. Copyright (c) 1990 Microsoft Corporation
  3. Module Name:
  4. rawmpx.h
  5. Abstract:
  6. This module defines structures and routines common to raw and
  7. multiplexed mode processing.
  8. Author:
  9. Chuck Lenzmeier (chuckl) 30-Sep-1990
  10. Revision History:
  11. --*/
  12. #ifndef _RAWMPX_
  13. #define _RAWMPX_
  14. //#include <ntos.h>
  15. //#include <smb.h>
  16. //#include "smbtypes.h"
  17. //#include "srvblock.h"
  18. //
  19. // Common (raw and mpx) routines, callable from both FSD and FSP.
  20. // Implemented in fsdraw.c.
  21. //
  22. // SrvFsdBuildWriteCompleteResponse can be called from a DISPATCH_LEVEL
  23. // only if Status == STATUS_SUCCESS.
  24. //
  25. VOID
  26. SrvFsdBuildWriteCompleteResponse (
  27. IN OUT PWORK_CONTEXT WorkContext,
  28. IN NTSTATUS Status,
  29. IN ULONG BytesWritten
  30. );
  31. VOID SRVFASTCALL
  32. RestartMdlReadRawResponse (
  33. IN OUT PWORK_CONTEXT WorkContext
  34. );
  35. //
  36. // Raw mode routines callable from both FSD and FSP. Implemented in
  37. // fsdraw.c.
  38. //
  39. VOID SRVFASTCALL
  40. SrvFsdRestartPrepareRawMdlWrite (
  41. IN OUT PWORK_CONTEXT WorkContext
  42. );
  43. VOID SRVFASTCALL
  44. SrvFsdRestartWriteRaw (
  45. IN OUT PWORK_CONTEXT WorkContext
  46. );
  47. //
  48. // Raw mode routines called only in FSD, but referenced in FSP.
  49. // Implemented in fsdraw.c.
  50. //
  51. VOID SRVFASTCALL
  52. SrvFsdRestartReadRaw (
  53. IN OUT PWORK_CONTEXT WorkContext
  54. );
  55. //
  56. // Raw mode routines called only in FSP, but referenced in FSD, or in
  57. // modules other than smbraw.c. Implemented in smbraw.c.
  58. //
  59. VOID SRVFASTCALL
  60. SrvBuildAndSendWriteCompleteResponse (
  61. IN OUT PWORK_CONTEXT WorkContext
  62. );
  63. VOID SRVFASTCALL
  64. SrvDecrementRawWriteCount (
  65. IN PRFCB Rfcb
  66. );
  67. VOID SRVFASTCALL
  68. SrvRestartRawReceive (
  69. IN OUT PWORK_CONTEXT WorkContext
  70. );
  71. VOID SRVFASTCALL
  72. SrvRestartReadRawComplete (
  73. IN OUT PWORK_CONTEXT WorkContext
  74. );
  75. VOID SRVFASTCALL
  76. SrvRestartWriteCompleteResponse (
  77. IN OUT PWORK_CONTEXT WorkContext
  78. );
  79. //
  80. // Special receive restart routine for Write Mpx.
  81. //
  82. VOID SRVFASTCALL
  83. SrvRestartReceiveWriteMpx (
  84. IN OUT PWORK_CONTEXT WorkContext
  85. );
  86. //
  87. // Write glomming during indication
  88. //
  89. BOOLEAN
  90. AddPacketToGlomInIndication (
  91. IN PWORK_CONTEXT WorkContext,
  92. IN OUT PRFCB Rfcb,
  93. IN PVOID Tsdu,
  94. IN ULONG BytesAvailable,
  95. IN ULONG ReceiveDatagamFlags,
  96. IN PVOID SourceAddress,
  97. IN PVOID Options
  98. );
  99. #endif // def _RAWMPX_