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)) 192 #define IPPROTO_RAW 0 194 #define IPPROTO_ICMP 1 195 #define IPPROTO_IGMP 2 196 #define IPPROTO_TCP 6 197 #define IPPROTO_UDP 17 200 #define IP_TIMEOUT 1000 201 #define IP_DEFAULT_LINK_SPEED 10000
VOID(* LL_TRANSMIT_ROUTINE)(PVOID Context, PNDIS_PACKET NdisPacket, UINT Offset, PVOID LinkAddress, USHORT Type)
VOID IPDestroyInterface(PIP_INTERFACE IF)
VOID NTAPI IPTimeoutDpcFn(PKDPC Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2)
struct _SEND_RECV_STATS * PSEND_RECV_STATS
VOID IPDispatchProtocol(PIP_INTERFACE Interface, PIP_PACKET IPPacket)
IPv4_RAW_ADDRESS IPv4Address
NTSTATUS IPShutdown(VOID)
struct _LLIP_BIND_INFO LLIP_BIND_INFO
_Must_inspect_result_ _In_ PWDF_DPC_CONFIG _In_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFDPC * Dpc
LIST_ENTRY NetTableListHead
UINT InDiscardedUnknownProto
IPv6_RAW_ADDRESS IPv6Address
UNICODE_STRING Description
struct IP_ADDRESS * PIP_ADDRESS
VOID IPUnregisterInterface(PIP_INTERFACE IF)
struct _IP_SET_ADDRESS * PIP_SET_ADDRESS
KSPIN_LOCK InterfaceListLock
struct _IP_INTERFACE * PIP_INTERFACE
_Must_inspect_result_ _In_ PDRIVER_OBJECT _In_ PCUNICODE_STRING RegistryPath
PIP_PACKET IPCreatePacket(ULONG Type)
union _IP_HEADER IP_HEADER
PIP_INTERFACE IPCreateInterface(PLLIP_BIND_INFO BindInfo)
VOID IPRegisterProtocol(UINT ProtocolNumber, IP_PROTOCOL_HANDLER Handler)
LL_TRANSMIT_ROUTINE Transmit
struct IPv6_HEADER * PIPv6_HEADER
struct _PACKET_CONTEXT PACKET_CONTEXT
VOID(* IP_PROTOCOL_HANDLER)(PIP_INTERFACE Interface, PIP_PACKET IPPacket)
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
VOID(* PACKET_COMPLETION_ROUTINE)(PVOID Context, PNDIS_PACKET NdisPacket, NDIS_STATUS NdisStatus)
struct _IP_PACKET * PIP_PACKET
PIP_PACKET IPInitializePacket(PIP_PACKET IPPacket, ULONG Type)
struct _IP_INTERFACE IP_INTERFACE
BOOLEAN IPRegisterInterface(PIP_INTERFACE IF)
struct IPv4_HEADER IPv4_HEADER
_In_opt_ PVOID _In_opt_ PVOID SystemArgument1
PACKET_COMPLETION_ROUTINE DLComplete
LL_TRANSMIT_ROUTINE Transmit
IPv6_RAW_ADDRESS * PIPv6_RAW_ADDRESS
struct _SEND_RECV_STATS SEND_RECV_STATS
KSPIN_LOCK NetTableListLock
VOID IPAddInterfaceRoute(PIP_INTERFACE IF)
struct _IP_SET_ADDRESS IP_SET_ADDRESS
VOID(* OBJECT_FREE_ROUTINE)(PVOID Object)
struct IP_ADDRESS IP_ADDRESS
ACPI_PHYSICAL_ADDRESS ACPI_SIZE BOOLEAN Warn BOOLEAN Physical 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
_Must_inspect_result_ _In_ WDFCOLLECTION _In_ WDFOBJECT Object
IPv4_RAW_ADDRESS * PIPv4_RAW_ADDRESS
_In_opt_ PVOID _In_opt_ PVOID _In_opt_ PVOID SystemArgument2
_In_ ULONG _In_ ULONG Offset
LIST_ENTRY InterfaceListHead
IN PVOID IN PVOID IN USHORT IN USHORT IN PINTERFACE Interface
NTSTATUS IPStartup(PUNICODE_STRING RegistryPath)
struct _LLIP_BIND_INFO * PLLIP_BIND_INFO
VOID IPRemoveInterfaceRoute(PIP_INTERFACE IF)
union _IP_HEADER * PIP_HEADER
union IP_ADDRESS::@995 Address
USHORT IPv6_RAW_ADDRESS[8]
struct _IP_PACKET IP_PACKET
struct tagContext Context
struct _PACKET_CONTEXT * PPACKET_CONTEXT
struct IPv4_HEADER * PIPv4_HEADER
struct IPv6_HEADER IPv6_HEADER
_In_opt_ PVOID DeferredContext