80 IPPacket->
Data = ((
PCHAR)*NextHeader) + ExtraLength;
133 0, (
PVOID *)&Payload );
198 AddrFile, ConnInfo, BufferData,
DataSize));
201 switch( RemoteAddressTa->
Address[0].AddressType ) {
205 RemoteAddressTa->
Address[0].Address[0].in_addr;
206 RemotePort = RemoteAddressTa->
Address[0].Address[0].sin_port;
285 switch (IPPacket->
Type) {
289 DstAddress = &IPPacket->
DstAddr;
290 SrcAddress = &IPPacket->
SrcAddr;
BOOLEAN AddrIsUnspecified(PIP_ADDRESS Address)
#define TI_DbgPrint(_t_, _x_)
NTSTATUS BuildRawIpPacket(PADDRESS_FILE AddrFile, PIP_PACKET Packet, PIP_ADDRESS RemoteAddress, USHORT RemotePort, PIP_ADDRESS LocalAddress, USHORT LocalPort, PCHAR DataBuffer, UINT DataLen)
IPv4_RAW_ADDRESS IPv4Address
#define DISPLAY_IP_PACKET(x)
_In_ NDIS_HANDLE _In_ PNDIS_PACKET Packet
#define STATUS_INVALID_PARAMETER
void GetDataPtr(PNDIS_PACKET Packet, UINT Offset, PCHAR *DataOut, PUINT Size)
NTSTATUS RawIPStartup(VOID)
struct _TA_ADDRESS_IP * PTA_IP_ADDRESS
_In_ USHORT _In_ ULONG Protocol
union IP_ADDRESS::@984 Address
PNEIGHBOR_CACHE_ENTRY RouteGetRouteToDestination(PIP_ADDRESS Destination)
PNEIGHBOR_CACHE_ENTRY NBLocateNeighbor(PIP_ADDRESS Address, PIP_INTERFACE Interface)
NTSTATUS RawIPSendDatagram(PADDRESS_FILE AddrFile, PTDI_CONNECTION_INFORMATION ConnInfo, PCHAR BufferData, ULONG DataSize, PULONG DataUsed)
VOID DGDeliverData(PADDRESS_FILE AddrFile, PIP_ADDRESS SrcAddress, PIP_ADDRESS DstAddress, USHORT SrcPort, USHORT DstPort, PIP_PACKET IPPacket, UINT DataSize)
VOID IPRegisterProtocol(UINT ProtocolNumber, IP_PROTOCOL_HANDLER Handler)
#define DereferenceObject(Object)
struct _tagIPv4Header IPv4Header
PADDRESS_FILE AddrSearchFirst(PIP_ADDRESS Address, USHORT Port, USHORT Protocol, PAF_SEARCH SearchContext)
NTSTATUS AddGenericHeaderIPv4(PADDRESS_FILE AddrFile, PIP_ADDRESS RemoteAddress, USHORT RemotePort, PIP_ADDRESS LocalAddress, USHORT LocalPort, PIP_PACKET IPPacket, UINT DataLength, UINT Protocol, UINT ExtraLength, PVOID *NextHeader)
PIP_PACKET IPInitializePacket(PIP_PACKET IPPacket, ULONG Type)
NTSTATUS IPSendDatagram(PIP_PACKET IPPacket, PNEIGHBOR_CACHE_ENTRY NCE)
struct IPv4_HEADER IPv4_HEADER
#define AllocatePacketWithBuffer(x, y, z)
_In_ ULONG _In_opt_ WDFREQUEST _In_opt_ PVOID _In_ size_t _In_ PVOID _In_ size_t _Out_ size_t * DataLength
struct _TA_ADDRESS_IP::_AddrIp Address[1]
struct IPv4_HEADER * PIPv4_HEADER
#define IP_PACKET_FLAG_RAW
#define NT_SUCCESS(StatCode)
VOID RawIpReceive(PIP_INTERFACE Interface, PIP_PACKET IPPacket)
#define STATUS_UNSUCCESSFUL
#define TDI_ADDRESS_TYPE_IP
PADDRESS_FILE AddrSearchNext(PAF_SEARCH SearchContext)
#define UnlockObject(Object)
IN PVOID IN PVOID IN USHORT IN USHORT IN PINTERFACE Interface
NTSTATUS RawIPShutdown(VOID)
#define RtlZeroMemory(Destination, Length)
#define RtlCopyMemory(Destination, Source, Length)
#define STATUS_NETWORK_UNREACHABLE
_In_ NDIS_STATUS _In_ ULONG _In_ USHORT _In_opt_ PVOID _In_ ULONG DataSize
_In_ WDFMEMORY _Out_opt_ size_t * BufferSize
_Must_inspect_result_ _In_ ULONG _In_ PSOCKADDR _In_ PSOCKADDR RemoteAddress
PCHAR A2S(PIP_ADDRESS Address)
_Must_inspect_result_ _In_ ULONG _In_ PSOCKADDR LocalAddress
#define LockObject(Object)