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.
245 lines
5.4 KiB
245 lines
5.4 KiB
/*++
|
|
|
|
Copyright (c) 2000-2002 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
uctdi.h
|
|
|
|
Abstract:
|
|
|
|
This file contains the header defintions for the HTTP.SYS TDI interface
|
|
code.
|
|
|
|
Author:
|
|
|
|
Henry Sanders (henrysa) 07-Aug-2000
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
|
|
|
|
#ifndef _UCTDI_H_
|
|
#define _UCTDI_H_
|
|
|
|
|
|
//
|
|
// Forward references.
|
|
//
|
|
typedef struct _UC_CLIENT_CONNECTION *PUC_CLIENT_CONNECTION;
|
|
typedef union _UC_CONNECTION_FLAGS UC_CONNECTION_FLAGS;
|
|
|
|
|
|
|
|
//
|
|
// Private constants.
|
|
//
|
|
|
|
//
|
|
// Private types.
|
|
//
|
|
//
|
|
|
|
NTSTATUS
|
|
UcCloseConnection(
|
|
IN PVOID pConnectionContext,
|
|
IN BOOLEAN AbortiveDisconnect,
|
|
IN PUL_COMPLETION_ROUTINE pCompletionRoutine,
|
|
IN PVOID pCompletionContext,
|
|
IN NTSTATUS Status
|
|
);
|
|
|
|
NTSTATUS
|
|
UcpRestartSendData(
|
|
IN PDEVICE_OBJECT pDeviceObject,
|
|
IN PIRP pIrp,
|
|
IN PVOID pContext
|
|
);
|
|
|
|
NTSTATUS
|
|
UcpBeginAbort(
|
|
IN PUC_CLIENT_CONNECTION pConnection,
|
|
IN PUL_COMPLETION_ROUTINE pCompletionRoutine,
|
|
IN PVOID pCompletionContext
|
|
);
|
|
|
|
NTSTATUS
|
|
UcpBeginDisconnect(
|
|
IN PUC_CLIENT_CONNECTION pConnection,
|
|
IN PUL_COMPLETION_ROUTINE pCompletionRoutine,
|
|
IN PVOID pCompletionContext
|
|
);
|
|
|
|
NTSTATUS
|
|
UcpRestartAbort(
|
|
IN PDEVICE_OBJECT pDeviceObject,
|
|
IN PIRP pIrp,
|
|
IN PVOID pContext
|
|
);
|
|
|
|
NTSTATUS
|
|
UcpRestartDisconnect(
|
|
IN PDEVICE_OBJECT pDeviceObject,
|
|
IN PIRP pIrp,
|
|
IN PVOID pContext
|
|
);
|
|
|
|
NTSTATUS
|
|
UcpConnectComplete(
|
|
PDEVICE_OBJECT pDeviceObject,
|
|
PIRP pIrp,
|
|
PVOID Context
|
|
);
|
|
|
|
NTSTATUS
|
|
UcpSendRequestComplete(
|
|
PDEVICE_OBJECT pDeviceObject,
|
|
PIRP pIrp,
|
|
PVOID Context
|
|
);
|
|
|
|
NTSTATUS
|
|
UcpTdiReceiveHandler(
|
|
IN PVOID pTdiEventContext,
|
|
IN CONNECTION_CONTEXT ConnectionContext,
|
|
IN ULONG ReceiveFlags,
|
|
IN ULONG BytesIndicated,
|
|
IN ULONG BytesAvailable,
|
|
OUT ULONG *pBytesTaken,
|
|
IN PVOID pTsdu,
|
|
OUT PIRP *pIrp
|
|
);
|
|
|
|
NTSTATUS
|
|
UcpTdiDisconnectHandler(
|
|
IN PVOID pTdiEventContext,
|
|
IN CONNECTION_CONTEXT ConnectionContext,
|
|
IN LONG DisconnectDataLength,
|
|
IN PVOID pDisconnectData,
|
|
IN LONG DisconnectInformationLength,
|
|
IN PVOID pDisconnectInformation,
|
|
IN ULONG DisconnectFlags
|
|
);
|
|
|
|
|
|
PIRP
|
|
UcpCreateDisconnectIrp(
|
|
IN PUX_TDI_OBJECT pTdiObject,
|
|
IN ULONG_PTR Flags,
|
|
IN PIO_COMPLETION_ROUTINE pCompletionRoutine,
|
|
IN PVOID pCompletionContext
|
|
);
|
|
|
|
NTSTATUS
|
|
UcpCloseRawConnection(
|
|
IN PVOID pConn,
|
|
IN BOOLEAN Abortive,
|
|
IN PUL_COMPLETION_ROUTINE pCompletionRoutine,
|
|
IN PVOID pCompletionContext);
|
|
|
|
NTSTATUS
|
|
UcCloseRawFilterConnection(
|
|
IN PVOID pConn,
|
|
IN BOOLEAN Abortive,
|
|
IN PUL_COMPLETION_ROUTINE pCompletionRoutine,
|
|
IN PVOID pCompletionContext
|
|
);
|
|
|
|
VOID
|
|
UcDisconnectRawFilterConnection(
|
|
IN PVOID pConnectionContext
|
|
);
|
|
|
|
NTSTATUS
|
|
UcpSendRawData(
|
|
IN PVOID pConnectionContext,
|
|
IN PMDL pMdlChain,
|
|
IN ULONG Length,
|
|
IN PUL_IRP_CONTEXT pIrpContext,
|
|
IN BOOLEAN InitiateDisconnect
|
|
);
|
|
|
|
NTSTATUS
|
|
UcpReceiveRawData(
|
|
IN PVOID pConnectionContext,
|
|
IN PVOID pBuffer,
|
|
IN ULONG BufferLength,
|
|
IN PUL_COMPLETION_ROUTINE pCompletionRoutine,
|
|
IN PVOID pCompletionContext
|
|
);
|
|
|
|
NTSTATUS
|
|
UcpRestartReceive(
|
|
IN PDEVICE_OBJECT pDeviceObject,
|
|
IN PIRP pIrp,
|
|
IN PVOID pContext
|
|
);
|
|
|
|
NTSTATUS
|
|
UcpRestartClientReceive(
|
|
IN PDEVICE_OBJECT pDeviceObject,
|
|
IN PIRP pIrp,
|
|
IN PVOID pContext
|
|
);
|
|
|
|
//
|
|
// Public Prototypes
|
|
//
|
|
|
|
ULONG
|
|
UcSetFlag(
|
|
IN OUT PLONG ConnFlag,
|
|
IN LONG NewFlag
|
|
);
|
|
|
|
NTSTATUS
|
|
UcClientConnect(
|
|
IN PUC_CLIENT_CONNECTION pConnection,
|
|
IN PIRP pIrp
|
|
);
|
|
|
|
NTSTATUS
|
|
UcSendData(
|
|
IN PUC_CLIENT_CONNECTION pConnection,
|
|
IN PMDL pMdlChain,
|
|
IN ULONG Length,
|
|
IN PUL_COMPLETION_ROUTINE pCompletionRoutine,
|
|
IN PVOID pCompletionContext,
|
|
IN PIRP pIrp,
|
|
IN BOOLEAN RawSend
|
|
);
|
|
|
|
NTSTATUS
|
|
UcReceiveData(
|
|
IN PVOID pConnectionContext,
|
|
IN PVOID pBuffer,
|
|
IN ULONG BufferLength,
|
|
IN PUL_COMPLETION_ROUTINE pCompletionRoutine,
|
|
IN PVOID pCompletionContext
|
|
);
|
|
|
|
NTSTATUS
|
|
UcpBuildTdiReceiveBuffer(
|
|
IN PUX_TDI_OBJECT pTdiObject,
|
|
IN PUC_CLIENT_CONNECTION pConnection,
|
|
OUT PIRP *pIrp
|
|
);
|
|
|
|
NTSTATUS
|
|
UcpReceiveExpeditedHandler(
|
|
IN PVOID pTdiEventContext,
|
|
IN CONNECTION_CONTEXT ConnectionContext,
|
|
IN ULONG ReceiveFlags,
|
|
IN ULONG BytesIndicated,
|
|
IN ULONG BytesAvailable,
|
|
OUT ULONG *pBytesTaken,
|
|
IN PVOID pTsdu,
|
|
OUT PIRP *pIrp
|
|
);
|
|
|
|
|
|
|
|
|
|
#endif // _UCTDI_H_
|
|
|