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
86 lines
2.3 KiB
/*++ 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_
|
|
|
|
|
|
|