/*++ Copyright (c) 2000-2002 Microsoft Corporation Module Name: ucrcv.h Abstract: This file contains the header defintions for the HTTP.SYS receive interface code. Author: Rajesh Sundaram (rajeshsu) Revision History: --*/ #ifndef _UCRCV_H_ #define _UCRCV_H_ typedef enum _UC_DATACHUNK_RETURN { UcDataChunkCopyPartial = 1, UcDataChunkCopyAll, UcDataChunkCopyMax } UC_DATACHUNK_RETURN; NTSTATUS UcpCarveDataChunk( IN PHTTP_RESPONSE pResponse, IN PUC_HTTP_REQUEST pRequest, IN PUCHAR pIndication, IN ULONG BytesIndicated, IN ULONG AlignLength ); UC_DATACHUNK_RETURN UcpCopyEntityToDataChunk( IN PHTTP_RESPONSE pResponse, IN PUC_HTTP_REQUEST pRequest, IN ULONG BytesToTake, IN ULONG BytesIndicated, IN PUCHAR pIndication, OUT PULONG pBytesTaken ); VOID UcpCompleteReceiveResponseIrp( IN PUC_HTTP_REQUEST pRequest, IN KIRQL OldIrql ); VOID UcpCopyHttpResponseHeaders( PHTTP_RESPONSE pNewResponse, PHTTP_RESPONSE pOldResponse, PUCHAR *ppBufferHead, PUCHAR *ppBufferTail ); NTSTATUS UcpExpandResponseBuffer( IN PUC_HTTP_REQUEST pRequest, IN ULONG BytesIndicated, IN ULONG ResponseBufferFlags ); NTSTATUS UcpGetResponseBuffer( IN PUC_HTTP_REQUEST pRequest, IN ULONG BytesIndicated, IN ULONG ResponseBufferFlags ); VOID UcpMergeIndications( IN PUC_CLIENT_CONNECTION pConnection, IN PUCHAR pIndication, IN ULONG BytesIndicated, OUT PUCHAR Indication[2], OUT ULONG IndicationLength[2], OUT PULONG IndicationCount ); NTSTATUS UcpParseHttpResponse( PUC_HTTP_REQUEST pRequest, PUCHAR pIndicatedBuffer, ULONG BytesIndicated, PULONG BytesTaken ); NTSTATUS UcHandleResponse( IN PVOID pListeningContext, IN PVOID pConnectionContext, IN PVOID pIndicatedBuffer, IN ULONG BytesIndicated, IN ULONG UnreceivedLength, OUT PULONG pBytesTaken ); VOID UcpHandleConnectVerbFailure( IN PUC_CLIENT_CONNECTION pConnection, OUT PUCHAR *pIndication, OUT PULONG BytesIndicated, IN ULONG BytesTaken ); VOID UcpHandleParsedRequest( IN PUC_HTTP_REQUEST pRequest, OUT PUCHAR *pIndication, OUT PULONG BytesIndicated, IN ULONG BytesTaken ); BOOLEAN UcpReferenceForReceive( IN PUC_HTTP_REQUEST pRequest ); VOID UcpDereferenceForReceive( IN PUC_HTTP_REQUEST pRequest ); #endif // _UCRCV_H_