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.

86 lines
2.3 KiB

  1. /*++ BUILD Version: 0009 // Increment this if a change has global effects
  2. Copyright (c) 1987-1993 Microsoft Corporation
  3. Module Name:
  4. exsessup.h
  5. Abstract:
  6. This is the include file that defines all constants and types for
  7. the extended session setup SMB exchange implementation.
  8. Author:
  9. Balan Sethu Raman (SethuR) 06-Feb-95 Created
  10. --*/
  11. #ifndef _EXSESSUP_H_
  12. #define _EXSESSUP_H_
  13. #include <smbxchng.h>
  14. #include "security.h"
  15. #define IsCredentialHandleValid(pCredHandle) \
  16. (((pCredHandle)->dwLower != 0xffffffff) && ((pCredHandle)->dwUpper != 0xffffffff))
  17. #define IsSecurityContextHandleValid(pContextHandle) \
  18. (((pContextHandle)->dwLower != 0xffffffff) && ((pContextHandle)->dwUpper != 0xffffffff))
  19. typedef struct _SMBCE_EXTENDED_SESSION_ {
  20. SMBCE_SESSION;
  21. PCHAR pServerResponseBlob;
  22. ULONG ServerResponseBlobLength;
  23. } SMBCE_EXTENDED_SESSION, *PSMBCE_EXTENDED_SESSION;
  24. typedef struct _SMB_EXTENDED_SESSION_SETUP_EXCHANGE {
  25. SMB_EXCHANGE;
  26. BOOLEAN Reparse;
  27. BOOLEAN FirstSessionSetup; // It is not waiting for other session setup
  28. BOOLEAN RequestPosted;
  29. PVOID pActualBuffer; // Originally allocated buffer
  30. PVOID pBuffer; // Start of header
  31. PMDL pBufferAsMdl;
  32. ULONG BufferLength;
  33. ULONG ResponseLength;
  34. PVOID pServerResponseBlob;
  35. ULONG ServerResponseBlobOffset;
  36. ULONG ServerResponseBlobLength;
  37. PSMBCE_RESUMPTION_CONTEXT pResumptionContext;
  38. } SMB_EXTENDED_SESSION_SETUP_EXCHANGE, *PSMB_EXTENDED_SESSION_SETUP_EXCHANGE;
  39. extern NTSTATUS
  40. ValidateServerExtendedSessionSetupResponse(
  41. PSMB_EXTENDED_SESSION_SETUP_EXCHANGE pExchange,
  42. PVOID pServerResponseBlob,
  43. ULONG ServerResponseBlobLength);
  44. extern NTSTATUS
  45. SmbExtSecuritySessionSetupExchangeFinalize(
  46. PSMB_EXCHANGE pExchange,
  47. BOOLEAN *pPostFinalize);
  48. extern NTSTATUS
  49. SmbCeInitializeExtendedSessionSetupExchange(
  50. PSMB_EXCHANGE* pExchangePtr,
  51. PMRX_V_NET_ROOT pVNetRoot);
  52. extern VOID
  53. SmbCeDiscardExtendedSessionSetupExchange(
  54. PSMB_EXTENDED_SESSION_SETUP_EXCHANGE pExchange);
  55. extern SMB_EXCHANGE_DISPATCH_VECTOR
  56. ExtendedSessionSetupExchangeDispatch;
  57. #endif // _EXSESSUP_H_
  58.