87 lines
2.2 KiB
C
87 lines
2.2 KiB
C
|
/*++ BUILD Version: 0009 // Increment this if a change has global effects
|
|||
|
Copyright (c) 1987-1993 Microsoft Corporation
|
|||
|
|
|||
|
Module Name:
|
|||
|
|
|||
|
exsessup.h
|
|||
|
|
|||
|
Abstract:
|
|||
|
|
|||
|
This is the include file that defines all constants and types for
|
|||
|
the extended session setup SMB exchange implementation.
|
|||
|
|
|||
|
Author:
|
|||
|
|
|||
|
Balan Sethu Raman (SethuR) 06-Feb-95 Created
|
|||
|
|
|||
|
--*/
|
|||
|
|
|||
|
#ifndef _EXSESSUP_H_
|
|||
|
#define _EXSESSUP_H_
|
|||
|
|
|||
|
|
|||
|
#include <smbxchng.h>
|
|||
|
|
|||
|
#include "security.h"
|
|||
|
|
|||
|
#define IsCredentialHandleValid(pCredHandle) \
|
|||
|
(((pCredHandle)->dwLower != 0xffffffff) && ((pCredHandle)->dwUpper != 0xffffffff))
|
|||
|
|
|||
|
#define IsSecurityContextHandleValid(pContextHandle) \
|
|||
|
(((pContextHandle)->dwLower != 0xffffffff) && ((pContextHandle)->dwUpper != 0xffffffff))
|
|||
|
|
|||
|
typedef struct _SMBCE_EXTENDED_SESSION_ {
|
|||
|
SMBCE_SESSION;
|
|||
|
|
|||
|
PCHAR pServerResponseBlob;
|
|||
|
ULONG ServerResponseBlobLength;
|
|||
|
} SMBCE_EXTENDED_SESSION, *PSMBCE_EXTENDED_SESSION;
|
|||
|
|
|||
|
typedef struct _SMB_EXTENDED_SESSION_SETUP_EXCHANGE {
|
|||
|
SMB_EXCHANGE;
|
|||
|
|
|||
|
BOOLEAN Reparse;
|
|||
|
BOOLEAN FirstSessionSetup; // It is not waiting for other session setup
|
|||
|
BOOLEAN RequestPosted;
|
|||
|
PVOID pActualBuffer; // Originally allocated buffer
|
|||
|
PVOID pBuffer; // Start of header
|
|||
|
PMDL pBufferAsMdl;
|
|||
|
ULONG BufferLength;
|
|||
|
|
|||
|
ULONG ResponseLength;
|
|||
|
|
|||
|
PVOID pServerResponseBlob;
|
|||
|
ULONG ServerResponseBlobOffset;
|
|||
|
ULONG ServerResponseBlobLength;
|
|||
|
|
|||
|
PSMBCE_RESUMPTION_CONTEXT pResumptionContext;
|
|||
|
} SMB_EXTENDED_SESSION_SETUP_EXCHANGE, *PSMB_EXTENDED_SESSION_SETUP_EXCHANGE;
|
|||
|
|
|||
|
extern NTSTATUS
|
|||
|
ValidateServerExtendedSessionSetupResponse(
|
|||
|
PSMB_EXTENDED_SESSION_SETUP_EXCHANGE pExchange,
|
|||
|
PVOID pServerResponseBlob,
|
|||
|
ULONG ServerResponseBlobLength);
|
|||
|
|
|||
|
extern NTSTATUS
|
|||
|
SmbExtSecuritySessionSetupExchangeFinalize(
|
|||
|
PSMB_EXCHANGE pExchange,
|
|||
|
BOOLEAN *pPostFinalize);
|
|||
|
|
|||
|
extern NTSTATUS
|
|||
|
SmbCeInitializeExtendedSessionSetupExchange(
|
|||
|
PSMB_EXCHANGE* pExchangePtr,
|
|||
|
PMRX_V_NET_ROOT pVNetRoot);
|
|||
|
|
|||
|
extern VOID
|
|||
|
SmbCeDiscardExtendedSessionSetupExchange(
|
|||
|
PSMB_EXTENDED_SESSION_SETUP_EXCHANGE pExchange);
|
|||
|
|
|||
|
extern SMB_EXCHANGE_DISPATCH_VECTOR
|
|||
|
ExtendedSessionSetupExchangeDispatch;
|
|||
|
|
|||
|
#endif // _EXSESSUP_H_
|
|||
|
|
|||
|
|
|||
|
|