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.

67 lines
1.4 KiB

  1. /*++ BUILD Version: 0009 // Increment this if a change has global effects
  2. Copyright (c) 1987-1993 Microsoft Corporation
  3. Module Name:
  4. manipmdl.h
  5. Abstract:
  6. This file defines the prototypes and structs for implementing the MDL substring functions and tests.
  7. Author:
  8. --*/
  9. typedef struct _MDLSUB_CHAIN_STATE {
  10. PMDL FirstMdlOut;
  11. PMDL LastMdlOut;
  12. USHORT PadBytesAvailable;
  13. USHORT PadBytesAdded;
  14. PMDL OneBeforeActualLastMdl;
  15. PMDL ActualLastMdl;
  16. PMDL ActualLastMdl_Next;
  17. UCHAR FirstMdlWasAllocated;
  18. UCHAR LastMdlWasAllocated;
  19. } MDLSUB_CHAIN_STATE, *PMDLSUB_CHAIN_STATE;
  20. VOID
  21. MRxSmbFinalizeMdlSubChain (
  22. PMDLSUB_CHAIN_STATE state
  23. );
  24. #if DBG
  25. VOID
  26. MRxSmbDbgDumpMdlChain (
  27. PMDL MdlChain,
  28. PMDL WatchMdl,
  29. PSZ Tagstring
  30. );
  31. #else
  32. #define MRxSmbDbgDumpMdlChain(a,b,c) {NOTHING;}
  33. #endif
  34. #define SMBMRX_BUILDSUBCHAIN_FIRSTTIME 1
  35. #define SMBMRX_BUILDSUBCHAIN_DUMPCHAININ 2
  36. #define SMBMRX_BUILDSUBCHAIN_DUMPCHAINOUT 4
  37. NTSTATUS
  38. MRxSmbBuildMdlSubChain (
  39. PMDLSUB_CHAIN_STATE state,
  40. ULONG Options,
  41. PMDL InputMdlChain,
  42. ULONG TotalListSize,
  43. ULONG FirstByteToSend,
  44. ULONG BytesToSend
  45. );
  46. #if DBG
  47. extern LONG MRxSmbNeedSCTesting;
  48. VOID MRxSmbTestStudCode(void);
  49. #else
  50. #define MRxSmbTestStudCode(a) {NOTHING;}
  51. #endif