12#define FOURCC(a,b,c,d) (((a)<<24)|((b)<<16)|((c)<<8)|(d))
32#define IP_ADDRESS_V4 0x04
33#define IP_ADDRESS_V6 0x06
65#define IPv4_FRAGOFS_MASK 0x1FFF
66#define IPv4_MF_MASK 0x2000
67#define IPv4_DF_MASK 0x4000
68#define IPv4_MAX_HEADER_SIZE 60
93#define IP_PACKET_FLAG_RAW 0x01
106#define PC(Packet) ((PPACKET_CONTEXT)(&Packet->ProtocolReserved))
110#define ADE_UNICAST 0x01
111#define ADE_BROADCAST 0x02
112#define ADE_ADDRMASK 0x04
113#define ADE_POINTOPOINT 0x10
114#define ADE_MULTICAST 0x8000
179#define IP_PROTOCOL_TABLE_SIZE 0x100
186#define LOOPBACK_ADDRESS_IPv4 ((IPv4_RAW_ADDRESS)DH2N(0x7F000001))
187#define LOOPBACK_BCASTADDR_IPv4 ((IPv4_RAW_ADDRESS)DH2N(0x7FFFFFFF))
188#define LOOPBACK_ADDRMASK_IPv4 ((IPv4_RAW_ADDRESS)DH2N(0xFF000000))
194#define IPPROTO_ICMP 1
195#define IPPROTO_IGMP 2
197#define IPPROTO_UDP 17
200#define IP_TIMEOUT 1000
201#define IP_DEFAULT_LINK_SPEED 10000
ACPI_PHYSICAL_ADDRESS ACPI_SIZE BOOLEAN Warn UINT32 *TableIdx UINT32 ACPI_TABLE_HEADER *OutTableHeader ACPI_TABLE_HEADER **OutTable ACPI_HANDLE UINT32 ACPI_WALK_CALLBACK ACPI_WALK_CALLBACK void void **ReturnValue UINT32 ACPI_BUFFER *RetPathPtr ACPI_OBJECT_HANDLER Handler
USHORT IPv6_RAW_ADDRESS[8]
VOID(* LL_TRANSMIT_ROUTINE)(PVOID Context, PNDIS_PACKET NdisPacket, UINT Offset, PVOID LinkAddress, USHORT Type)
VOID(* IP_PROTOCOL_HANDLER)(PIP_INTERFACE Interface, PIP_PACKET IPPacket)
IPv6_RAW_ADDRESS * PIPv6_RAW_ADDRESS
struct _IP_PACKET IP_PACKET
struct _PACKET_CONTEXT * PPACKET_CONTEXT
NTSTATUS IPStartup(PUNICODE_STRING RegistryPath)
VOID IPAddInterfaceRoute(PIP_INTERFACE IF)
VOID(* PACKET_COMPLETION_ROUTINE)(PVOID Context, PNDIS_PACKET NdisPacket, NDIS_STATUS NdisStatus)
struct _LLIP_BIND_INFO LLIP_BIND_INFO
union _IP_HEADER * PIP_HEADER
struct _IP_PACKET * PIP_PACKET
VOID(* OBJECT_FREE_ROUTINE)(PVOID Object)
LIST_ENTRY NetTableListHead
KSPIN_LOCK InterfaceListLock
struct IPv4_HEADER * PIPv4_HEADER
IPv4_RAW_ADDRESS * PIPv4_RAW_ADDRESS
VOID IPDestroyInterface(PIP_INTERFACE IF)
KSPIN_LOCK NetTableListLock
VOID IPRemoveInterfaceRoute(PIP_INTERFACE IF)
struct _IP_SET_ADDRESS * PIP_SET_ADDRESS
LIST_ENTRY InterfaceListHead
VOID IPUnregisterInterface(PIP_INTERFACE IF)
VOID IPDispatchProtocol(PIP_INTERFACE Interface, PIP_PACKET IPPacket)
struct _IP_INTERFACE * PIP_INTERFACE
union _IP_HEADER IP_HEADER
struct IPv6_HEADER * PIPv6_HEADER
NTSTATUS IPShutdown(VOID)
struct _PACKET_CONTEXT PACKET_CONTEXT
VOID NTAPI IPTimeoutDpcFn(PKDPC Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2)
PIP_PACKET IPCreatePacket(ULONG Type)
BOOLEAN IPRegisterInterface(PIP_INTERFACE IF)
struct _SEND_RECV_STATS * PSEND_RECV_STATS
struct _IP_SET_ADDRESS IP_SET_ADDRESS
struct IP_ADDRESS * PIP_ADDRESS
PIP_INTERFACE IPCreateInterface(PLLIP_BIND_INFO BindInfo)
VOID IPRegisterProtocol(UINT ProtocolNumber, IP_PROTOCOL_HANDLER Handler)
PIP_PACKET IPInitializePacket(PIP_PACKET IPPacket, ULONG Type)
struct _SEND_RECV_STATS SEND_RECV_STATS
struct _IP_INTERFACE IP_INTERFACE
struct _LLIP_BIND_INFO * PLLIP_BIND_INFO
_In_ ULONG _In_ ULONG Offset
union IP_ADDRESS::@1016 Address
IPv6_RAW_ADDRESS IPv6Address
IPv4_RAW_ADDRESS IPv4Address
UNICODE_STRING Description
LL_TRANSMIT_ROUTINE Transmit
LL_TRANSMIT_ROUTINE Transmit
PACKET_COMPLETION_ROUTINE DLComplete
UINT InDiscardedUnknownProto
_Must_inspect_result_ _In_ WDFCOLLECTION _In_ WDFOBJECT Object
_Must_inspect_result_ _In_ PWDF_DPC_CONFIG _In_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFDPC * Dpc
_Must_inspect_result_ _In_ PDRIVER_OBJECT _In_ PCUNICODE_STRING RegistryPath
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID _Out_ PINTERFACE Interface
_In_opt_ PVOID _In_opt_ PVOID SystemArgument1
_In_opt_ PVOID DeferredContext
_In_opt_ PVOID _In_opt_ PVOID _In_opt_ PVOID SystemArgument2