68 IPHeader->
Ttl = AddrFile->
TTL;
80 IPPacket->
Data = ((
PCHAR)*NextHeader) + ExtraLength;
133 0, (
PVOID *)&Payload );
199 AddrFile, ConnInfo, BufferData,
DataSize));
202 switch( RemoteAddressTa->
Address[0].AddressType ) {
206 RemoteAddressTa->
Address[0].Address[0].in_addr;
207 RemotePort = RemoteAddressTa->
Address[0].Address[0].sin_port;
286 switch (IPPacket->
Type) {
289 IPv4Header = IPPacket->
Header;
290 DstAddress = &IPPacket->
DstAddr;
291 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)
NTSYSAPI VOID NTAPI RtlCopyMemory(VOID UNALIGNED *Destination, CONST VOID UNALIGNED *Source, ULONG Length)
_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
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)
#define LockObject(Object, Irql)
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)
#define UnlockObject(Object, OldIrql)
NTSTATUS IPSendDatagram(PIP_PACKET IPPacket, PNEIGHBOR_CACHE_ENTRY NCE)
#define AllocatePacketWithBuffer(x, y, z)
struct _TA_ADDRESS_IP::_AddrIp Address[1]
struct IPv4_HEADER IPv4_HEADER
#define IP_PACKET_FLAG_RAW
IN PVOID IN PVOID IN USHORT IN USHORT IN PINTERFACE Interface
#define NT_SUCCESS(StatCode)
VOID RawIpReceive(PIP_INTERFACE Interface, PIP_PACKET IPPacket)
#define STATUS_UNSUCCESSFUL
_Requires_lock_held_ Interrupt _Releases_lock_ Interrupt _In_ _IRQL_restores_ KIRQL OldIrql
#define TDI_ADDRESS_TYPE_IP
PADDRESS_FILE AddrSearchNext(PAF_SEARCH SearchContext)
NTSTATUS RawIPShutdown(VOID)
#define RtlZeroMemory(Destination, Length)
_Must_inspect_result_ _Out_writes_to_ DataLength PHIDP_DATA _Inout_ PULONG DataLength
#define STATUS_NETWORK_UNREACHABLE
struct IPv4_HEADER * PIPv4_HEADER
_In_ NDIS_STATUS _In_ ULONG _In_ USHORT _In_opt_ PVOID _In_ ULONG DataSize
union IP_ADDRESS::@990 Address
_Must_inspect_result_ _In_ ULONG _In_ PSOCKADDR _In_ PSOCKADDR RemoteAddress
PCHAR A2S(PIP_ADDRESS Address)
_Must_inspect_result_ _In_ ULONG _In_ PSOCKADDR LocalAddress