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.
 
 
 
 
 
 

159 lines
3.6 KiB

/*++
Copyright (c) 1989-2001 Microsoft Corporation
Module Name:
tdihndlr.h
Abstract:
TDI handlers
Author:
Jiandong Ruan
Revision History:
--*/
#ifndef __TDIHNDLR_H__
#define __TDIHNDLR_H__
NTSTATUS
SmbTdiConnectHandler(
IN PSMB_DEVICE DeviceObject,
IN LONG RemoteAddressLength,
IN PTRANSPORT_ADDRESS RemoteAddress,
IN LONG UserDataLength,
IN PVOID UserData,
IN LONG OptionsLength,
IN PVOID Options,
OUT CONNECTION_CONTEXT *ConnectionContext,
OUT PIRP *AcceptIrp
);
NTSTATUS
CommonDisconnectHandler (
IN PSMB_DEVICE DeviceObject,
IN PSMB_CONNECT ConnectObject,
IN ULONG DisconnectFlags
);
NTSTATUS
SmbTdiDisconnectHandler (
IN PSMB_DEVICE DeviceObject,
IN PSMB_TCP_CONNECT TcpConnect,
IN LONG DisconnectDataLength,
IN PVOID DisconnectData,
IN LONG DisconnectInformationLength,
IN PVOID DisconnectInformation,
IN ULONG DisconnectFlags
);
NTSTATUS
Indicate (
IN PSMB_DEVICE DeviceObject,
IN PSMB_CONNECT ConnectObject,
IN ULONG ReceiveFlags,
IN LONG BytesIndicated,
IN LONG BytesAvailable,
OUT LONG *BytesTaken,
IN PVOID Tsdu,
OUT PIRP *Irp
);
NTSTATUS
WaitingHeader (
IN PSMB_DEVICE DeviceObject,
IN PSMB_CONNECT ConnectObject,
IN ULONG ReceiveFlags,
IN LONG BytesIndicated,
IN LONG BytesAvailable,
OUT LONG *BytesTaken,
IN PVOID Tsdu,
OUT PIRP *Irp
);
NTSTATUS
SmbPartialRcv (
IN PSMB_DEVICE DeviceObject,
IN PSMB_CONNECT ConnectObject,
IN ULONG ReceiveFlags,
IN LONG BytesIndicated,
IN LONG BytesAvailable,
OUT LONG *BytesTaken,
IN PVOID Tsdu,
OUT PIRP *Irp
);
NTSTATUS
SmbTdiReceiveHandler (
IN PSMB_DEVICE DeviceObject,
IN PSMB_TCP_CONNECT TcpConnect,
IN ULONG ReceiveFlags,
IN LONG BytesIndicated,
IN LONG BytesAvailable,
OUT LONG *BytesTaken,
IN PVOID Tsdu,
OUT PIRP *Irp
);
#ifdef NO_ZERO_BYTE_INDICATE
NTSTATUS
TdiReceiveHandlerRdr (
IN PSMB_DEVICE DeviceObject,
IN PSMB_TCP_CONNECT TcpConnect,
IN ULONG ReceiveFlags,
IN LONG BytesIndicated,
IN LONG BytesAvailable,
OUT LONG *BytesTaken,
IN PVOID Tsdu,
OUT PIRP *Irp
);
#endif
NTSTATUS
TdiSetEventHandler(
PFILE_OBJECT FileObject,
ULONG EventType,
PVOID EventHandler,
PVOID Context
);
NTSTATUS
SmbSynchTdiCompletion(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
IN PVOID Context
);
NTSTATUS
SmbFillIrp(
IN PSMB_CONNECT ConnectObject,
IN PVOID Tsdu,
IN LONG BytesIndicated,
OUT LONG *BytesTaken
);
VOID
SmbGetHeaderDpc(
IN PKDPC Dpc,
IN PSMB_CONNECT ConnectObject,
IN PVOID SystemArgument1,
IN PVOID SystemArgument2
);
VOID
SmbPrepareReceiveIrp(
IN PSMB_CONNECT ConnectObject
);
#if DBG
BOOL
IsValidPartialRcvState(
IN PSMB_CONNECT ConnectObject
);
#endif
#endif