28 ListEntry = ListEntry->
Flink )
35 if (ReceiveRequest->
Irp ==
Irp)
87 DataBuffer = IPPacket->
Data;
91 DataBuffer = IPPacket->
Header;
95 DataBuffer = IPPacket->
Data;
112 CurrentEntry = CurrentEntry->
Flink;
113 if (DstPort == AddrFile->
Port &&
125 (
"Target Buffer: %x, Source Buffer: %x, Size %d\n",
137 RTAIPAddress->
Address->Address->sin_port = SrcPort;
166 INT32 OptionsSize = 0;
191 Status = (*ReceiveHandler)(HandlerContext,
289 ReceiveRequest->
Buffer = BufferData;
295 ReceiveRequest->
Context = ReceiveRequest;
297 ReceiveRequest->
Irp =
Irp;
#define AddrInitIPv4(IPAddress, RawAddress)
NTSTATUS AddrGetAddress(PTRANSPORT_ADDRESS AddrList, PIP_ADDRESS Address, PUSHORT Port)
BOOLEAN AddrIsUnspecified(PIP_ADDRESS Address)
BOOLEAN AddrIsEqual(PIP_ADDRESS Address1, PIP_ADDRESS Address2)
VOID DGDeliverData(PADDRESS_FILE AddrFile, PIP_ADDRESS SrcAddress, PIP_ADDRESS DstAddress, USHORT SrcPort, USHORT DstPort, PIP_PACKET IPPacket, UINT DataSize)
BOOLEAN DGRemoveIRP(PADDRESS_FILE AddrFile, PIRP Irp)
VOID DGReceiveComplete(PVOID Context, NTSTATUS Status, ULONG Count)
NTSTATUS DGReceiveDatagram(PADDRESS_FILE AddrFile, PTDI_CONNECTION_INFORMATION ConnInfo, PCHAR BufferData, ULONG ReceiveLength, ULONG ReceiveFlags, PTDI_CONNECTION_INFORMATION ReturnInfo, PULONG BytesReceived, PDATAGRAM_COMPLETION_ROUTINE Complete, PVOID Context, PIRP Irp)
#define NT_SUCCESS(StatCode)
#define TI_DbgPrint(_t_, _x_)
USHORT IPv6_RAW_ADDRESS[8]
#define RemoveEntryList(Entry)
#define InsertTailList(ListHead, Entry)
#define ExAllocatePoolWithTag(hernya, size, tag)
#define IsListEmpty(ListHead)
pRequest Complete(RequestStatus)
#define ExFreePoolWithTag(_P, _T)
_In_ NDIS_STATUS _In_ ULONG _In_ USHORT _In_opt_ PVOID _In_ ULONG DataSize
#define STATUS_BUFFER_OVERFLOW
IPv6_RAW_ADDRESS IPv6Address
union IP_ADDRESS::@1014 Address
IPv4_RAW_ADDRESS IPv4Address
BOOLEAN RegisteredReceiveDatagramHandler
PVOID ReceiveDatagramHandlerContext
PTDI_IND_RECEIVE_DATAGRAM ReceiveDatagramHandler
DATAGRAM_COMPLETION_ROUTINE Complete
struct _ADDRESS_FILE * AddressFile
PTDI_CONNECTION_INFORMATION ReturnInfo
DATAGRAM_COMPLETION_ROUTINE UserComplete
struct _LIST_ENTRY * Flink
struct _TA_ADDRESS_IP::_AddrIp Address[1]
struct _TA_ADDRESS_IP * PTA_IP_ADDRESS
#define TDI_RECEIVE_ENTIRE_MESSAGE
#define TDI_ADDRESS_LENGTH_IP
#define TDI_ADDRESS_TYPE_IP
NTSTATUS(NTAPI * PTDI_IND_RECEIVE_DATAGRAM)(_In_opt_ PVOID TdiEventContext, _In_ LONG SourceAddressLength, _In_reads_bytes_(SourceAddressLength) PVOID SourceAddress, _In_ LONG OptionsLength, _In_reads_bytes_opt_(OptionsLength) PVOID Options, _In_ ULONG ReceiveDatagramFlags, _In_ ULONG BytesIndicated, _In_ ULONG BytesAvailable, _Out_ ULONG *BytesTaken, _In_ PVOID Tsdu, _Out_opt_ PIRP *IoRequestPacket)
DATAGRAM_COMPLETION_ROUTINE PDATAGRAM_COMPLETION_ROUTINE
#define UnlockObject(Object)
#define ReferenceObject(Object)
#define LockObject(Object)
#define DereferenceObject(Object)
struct _DATAGRAM_RECEIVE_REQUEST * PDATAGRAM_RECEIVE_REQUEST
#define RtlCopyMemory(Destination, Source, Length)
#define RtlZeroMemory(Destination, Length)
#define CONTAINING_RECORD(address, type, field)
#define STATUS_INSUFFICIENT_RESOURCES
_Must_inspect_result_ typedef _In_ PHYSICAL_ADDRESS SourceAddress