19#define ASSERT(x) ((void)0)
20#define NETIODEF_DEFINED_ASSERT
25#define NETIO_INLINE __inline
27#define NETIO_INLINE __forceinline
31#define IS_POWER_OF_TWO(x) (((x) != 0) && (((x) & ((x) - 1)) == 0))
32#define IS_VALID_IPV4_MASK(x) ((x.S_un.S_addr == (ULONG)-1) || IS_POWER_OF_TWO(~RtlUlongByteSwap(x.S_un.S_addr)+1))
36#define _LITTLE_ENDIAN 1234
37#define _BIG_ENDIAN 4321
38#define _PDP_ENDIAN 3412
40#if defined(i286) || defined(i386) || defined(_AMD64_) || defined(_IA64_)
41#define BYTE_ORDER _LITTLE_ENDIAN
51#define MAKE_DD_DEVICE_NAME(x) (L"\\Device\\" x)
52#define MAKE_WIN_DEVICE_NAME(x) (L"\\\\.\\" x)
54#define DL_ADDRESS_LENGTH_MAXIMUM IF_MAX_PHYS_ADDRESS_LENGTH
55#define DL_HEADER_LENGTH_MAXIMUM 64
56#define DL_ETHERNET_HEADER_LENGTH_MAXIMUM (sizeof(ETHERNET_HEADER) + sizeof(SNAP_HEADER))
57#define DL_TUNNEL_HEADER_LENGTH_MAXIMUM max(sizeof(IPV4_HEADER), sizeof(IPV6_HEADER))
59#define EUI48_BROADCAST_INIT {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
63#define SNAP_CONTROL 0x03
66#define SNAP_TYPE_ARP ETHERNET_TYPE_ARP
67#define SNAP_TYPE_IPV4 ETHERNET_TYPE_IPV4
68#define SNAP_TYPE_IPV6 ETHERNET_TYPE_IPV6
70#define ETH_LENGTH_OF_HEADER 14
71#define ETH_LENGTH_OF_VLAN_HEADER 4
72#define ETH_LENGTH_OF_SNAP_HEADER 8
74#define ETHERNET_TYPE_MINIMUM 0x0600
75#define ETHERNET_TYPE_IPV4 0x0800
76#define ETHERNET_TYPE_ARP 0x0806
77#define ETHERNET_TYPE_IPV6 0x86dd
78#define ETHERNET_TYPE_802_1Q 0x8100
80#define TOKENRING_ACCESSCONTROL 0x10
81#define TOKENRING_FRAMECONTROL 0x40
83#define SOURCEROUTE_RD_MAXIMUM 8
84#define SOURCEROUTE_SIZE_MAXIMUM (sizeof(SOURCEROUTE_HEADER) + 2 * SOURCEROUTE_RD_MAXIMUM)
86#define SOURCEROUTE_UNSPECIFIED_INIT {{sizeof(SOURCEROUTE_HEADER), TokenRingSpanningTreeExplorer}, {0}}
88#define TOKENRING_MTU_DEFAULT 1500
89#define TOKENRING_SOURCEROUTE_INDICATOR 0x80
91#define FDDI_FRAMECODE 0x57
94#define ARCNET_BROADCAST_MASK 0xff
95#define ARCNET_BROADCAST_VALUE 0x00
96#define ARCNET_PROTOCOL_ARP 0xd5
97#define ARCNET_PROTOCOL_IPV4 0xd4
98#define ARCNET_PROTOCOL_IPV6 0xc4
100#define ip4_hdr _IPV4_HEADER
101#define ip4_ver_hlen VersionAndHeaderLength
102#define ip4_ver Version
103#define ip4_hlen HeaderLength
104#define ip4_tos TypeOfService
105#define ip4_len TotalLength
106#define ip4_id Identification
107#define ip4_flags_offset FlagsAndOffset
108#define ip4_flags Flags
109#define ip4_offset FragmentOffset
110#define ip4_ttl TimeToLive
111#define ip4_protocol Protocol
112#define ip4_xsum HeaderChecksum
113#define ip4_src SourceAddress
114#define ip4_dest DestinationAddress
116#define IP_VER_MASK 0xF0
117#define IPV4_VERSION 4
118#define IPV4_DEFAULT_VERHLEN ((IPV4_VERSION << 4) | (sizeof(IPV4_HEADER) / sizeof(UINT32)))
119#define IPV4_TOS_MASK 0xFC
121#define MAX_IPV4_PACKET 65535
122#define MAX_IPV4_PAYLOAD (MAX_IPV4_PACKET - sizeof(IPV4_HEADER))
124#define MAX_IPV4_HLEN 60
126#define IPV4_MINIMUM_MTU 576
127#define IPV4_MINIMUM_ULMTU (IPV4_MINIMUM_MTU - sizeof(IPV4_HEADER))
129#define MAX_IP_OPTIONS_LENGTH ((0xF * sizeof(UINT32)) - sizeof(IPV4_HEADER))
130#define SIZEOF_IP_OPT_ROUTING_HEADER 3
131#define SIZEOF_IP_OPT_TIMESTAMP_HEADER 4
132#define SIZEOF_IP_OPT_SECURITY 11
133#define SIZEOF_IP_OPT_STREAMIDENTIFIER 4
134#define SIZEOF_IP_OPT_ROUTERALERT 4
135#define IP4_OFF_MASK 0xff1f
137#define icmp4_hdr _ICMPV4_MESSAGE
138#define icmp4_type Header.Type
139#define icmp4_code Header.Code
140#define icmp4_cksum Header.Checksum
141#define icmp4_un_data32 Data32
142#define icmp4_un_data16 Data16
143#define icmp4_un_data8 Data8
144#define icmp4_dataun Data
145#define icmp4_data32 icmp4_dataun.icmp4_un_data32
146#define icmp4_data16 icmp4_dataun.icmp4_un_data16
147#define icmp4_data8 icmp4_dataun.icmp4_un_data8
148#define icmp4_pptr icmp4_data32[0]
149#define icmp4_mtu icmp4_data32[0]
150#define icmp4_id icmp4_data16[0]
151#define icmp4_seq icmp4_data16[1]
152#define icmp4_maxdelay icmp4_data16[0]
154#define RsType RsHeader.icmp4_type
155#define RsCode RsHeader.icmp4_code
156#define RsCksum RsHeader.icmp4_cksum
157#define RsReserved RsHeader.icmp4_data32[0]
159#define RaType RaHeader.icmp4_type
160#define RaCode RaHeader.icmp4_code
161#define RaCksum RaHeader.icmp4_cksum
162#define RaNumAddr RaHeader.icmp4_data8[0]
163#define RaAddrEntrySize RaHeader.icmp4_data8[1]
164#define RaAddrLifetime RaHeader.icmp4_data16[1]
166#define ICMPV4_INVALID_PREFERENCE_LEVEL 0x80000000
168#define icmp4_ts_type Header.icmp4_type
169#define icmp4_ts_code Header.icmp4_code
170#define icmp4_ts_cksum Header.icmp4_cksum
171#define icmp4_ts_id Header.icmp4_id
172#define icmp4_ts_seq Header.icmp4_seq
173#define icmp4_ts_originate OriginateTimestamp
174#define icmp4_ts_receive ReceiveTimestamp
175#define icmp4_ts_transmit TransmitTimestamp
177#define IGMP_QUERY_TYPE 0x11
178#define IGMP_VERSION1_REPORT_TYPE 0x12
179#define IGMP_VERSION2_REPORT_TYPE 0x16
180#define IGMP_LEAVE_GROUP_TYPE 0x17
181#define IGMP_VERSION3_REPORT_TYPE 0x22
183#define ip6_hdr _IPV6_HEADER
184#define ip6_flow VersionClassFlow
185#define ip6_plen PayloadLength
186#define ip6_nxt NextHeader
187#define ip6_hops HopLimit
188#define ip6_hlim HopLimit
189#define ip6_src SourceAddress
190#define ip6_dst DestinationAddress
192#define IP_VER_MASK 0xF0
193#define IPV6_VERSION 0x60
195#define IPV6_TRAFFIC_CLASS_MASK 0x0000C00F
196#define IPV6_ECN_MASK 0x00003000
197#define IPV6_FLOW_LABEL_MASK 0xFFFF0F00
198#define MAX_IPV6_PAYLOAD 65535
199#define MAX_IPV6_PACKET (MAX_IPV6_PAYLOAD + sizeof(IPV6_HEADER))
201#define IPV6_ECN_SHIFT 12
203#define IPV6_MINIMUM_MTU 1280
204#define IPV6_MINIMUM_ULMTU (IPV6_MINIMUM_MTU - sizeof(IPV6_HEADER))
206#define IPV6_TRAFFIC_CLASS(VersionClassFlow) \
207 ((UCHAR)((((VersionClassFlow) & IPV6_TRAFFIC_CLASS_MASK) >> 12) + \
208 (((VersionClassFlow) & IPV6_TRAFFIC_CLASS_MASK) << 4)))
210#define ip6_frag _IPV6_FRAGMENT_HEADER
211#define ip6f_nxt NextHeader
212#define ip6f_reserved Reserved
213#define ip6f_offlg OffsetAndFlags
216#define IP6F_OFF_MASK 0xf8ff
217#define IP6F_RESERVED_MASK 0x0600
218#define IP6F_MORE_FRAG 0x0100
220#define EXT_LEN_UNIT 8
222#define IPV6_EXTENSION_HEADER_LENGTH(Blocks) ((Blocks + 1) * EXT_LEN_UNIT)
223#define MAX_IPV6_EXTENSION_HEADER_LENGTH IPV6_EXTENSION_HEADER_LENGTH(0xFF)
224#define IPV6_EXTENSION_HEADER_BLOCKS(Length) ((Length / EXT_LEN_UNIT) - 1)
225#define IP_AUTHENTICATION_HEADER_LENGTH(Blocks) ((Blocks + 2) * 4)
226#define IP_AUTHENTICATION_HEADER_BLOCKS(Length) (((Length + sizeof(AUTHENTICATION_HEADER)) / 4) - 2)
228#define IPV6_ROUTER_ALERT_LENGTH IPV6_EXTENSION_HEADER_LENGTH(0)
230#define ip6_hbh _IPV6_EXTENSION_HEADER
231#define ip6h_nxt NextHeader
232#define ip6h_len Length
233#define ip6_dest _IPV6_EXTENSION_HEADER
234#define ip6d_nxt NextHeader
235#define ip6d_len Length
237#define IP6OPT_TYPE(Type) ((Type) & 0xc0)
238#define IP6OPT_TYPE_SKIP 0x00
239#define IP6OPT_TYPE_DISCARD 0x40
240#define IP6OPT_TYPE_FORCEICMP 0x80
241#define IP6OPT_TYPE_ICMP 0xc0
243#define IP6OPT_MUTABLE 0x20
244#define IP6OPT_ISMUTABLE(Type) (((Type) & IP6OPT_MUTABLE) != 0)
246#define ip6_opt_jumbo _IPV6_OPTION_JUMBOGRAM
247#define ip6oj_type Header.Type
248#define ip6oj_len Header.DataLength
249#define ip6oj_jumbo_len JumbogramLength
251#define ip6_opt_router _IPV6_OPTION_ROUTER_ALERT
252#define ip6or_type Header.Type
253#define ip6or_len Header.DataLength
254#define ip6or_value Value
256#define SIZEOF_IPV6_ROUTERALERT IPV6_EXTENSION_HEADER_LENGTH(0)
258#define ip6_rthdr _IPV6_ROUTING_HEADER
259#define ip6r_nxt NextHeader
260#define ip6r_len Length
261#define ip6r_type RoutingType
262#define ip6r_segleft SegmentsLeft
264#define icmp6_hdr _ICMPV6_MESSAGE
265#define icmp6_type Header.Type
266#define icmp6_code Header.Code
267#define icmp6_cksum Header.Checksum
268#define icmp6_un_data32 Data32
269#define icmp6_un_data16 Data16
270#define icmp6_un_data8 Data8
271#define icmp6_dataun Data
273#define icmp6_data32 icmp6_dataun.icmp6_un_data32
274#define icmp6_data16 icmp6_dataun.icmp6_un_data16
275#define icmp6_data8 icmp6_dataun.icmp6_un_data8
276#define icmp6_pptr icmp6_data32[0]
277#define icmp6_mtu icmp6_data32[0]
278#define icmp6_id icmp6_data16[0]
279#define icmp6_seq icmp6_data16[1]
280#define icmp6_maxdelay icmp6_data16[0]
282#define ICMP6_INFOMSG_MASK 0x80
284#define ICMP6_DST_UNREACH_NOROUTE 0
285#define ICMP6_DST_UNREACH_ADMIN 1
286#define ICMP6_DST_UNREACH_BEYONDSCOPE 2
287#define ICMP6_DST_UNREACH_ADDR 3
288#define ICMP6_DST_UNREACH_NOPORT 4
290#define ICMP6_TIME_EXCEED_TRANSIT 0
291#define ICMP6_TIME_EXCEED_REASSEMBLY 1
293#define ICMP6_PARAMPROB_HEADER 0
294#define ICMP6_PARAMPROB_NEXTHEADER 1
295#define ICMP6_PARAMPROB_OPTION 2
297#define ICMPV6_ECHO_REQUEST_FLAG_REVERSE 0x1
299#define nd_rs_type nd_rs_hdr.icmp6_type
300#define nd_rs_code nd_rs_hdr.icmp6_code
301#define nd_rs_cksum nd_rs_hdr.icmp6_cksum
302#define nd_rs_reserved nd_rs_hdr.icmp6_data32[0]
304#define nd_ra_type nd_ra_hdr.icmp6_type
305#define nd_ra_code nd_ra_hdr.icmp6_code
306#define nd_ra_cksum nd_ra_hdr.icmp6_cksum
307#define nd_ra_curhoplimit nd_ra_hdr.icmp6_data8[0]
308#define nd_ra_flags_reserved nd_ra_hdr.icmp6_data8[1]
309#define ND_RA_FLAG_MANAGED 0x80
310#define ND_RA_FLAG_OTHER 0x40
311#define ND_RA_FLAG_HOME_AGENT 0x20
312#define ND_RA_FLAG_PREFERENCE 0x18
313#define nd_ra_router_lifetime nd_ra_hdr.icmp6_data16[1]
315#define nd_ns_type nd_ns_hdr.icmp6_type
316#define nd_ns_code nd_ns_hdr.icmp6_code
317#define nd_ns_cksum nd_ns_hdr.icmp6_cksum
318#define nd_ns_reserved nd_ns_hdr.icmp6_data32[0]
320#define nd_na_type nd_na_hdr.icmp6_type
321#define nd_na_code nd_na_hdr.icmp6_code
322#define nd_na_cksum nd_na_hdr.icmp6_cksum
323#define nd_na_flags_reserved nd_na_hdr.icmp6_data32[0]
325#if (BYTE_ORDER == _BIG_ENDIAN)
326#define ND_NA_FLAG_ROUTER 0x80000000
327#define ND_NA_FLAG_SOLICITED 0x40000000
328#define ND_NA_FLAG_OVERRIDE 0x20000000
330#define ND_NA_FLAG_ROUTER 0x00000080
331#define ND_NA_FLAG_SOLICITED 0x00000040
332#define ND_NA_FLAG_OVERRIDE 0x00000020
335#define nd_rd_type nd_rd_hdr.icmp6_type
336#define nd_rd_code nd_rd_hdr.icmp6_code
337#define nd_rd_cksum nd_rd_hdr.icmp6_cksum
338#define nd_rd_reserved nd_rd_hdr.icmp6_data32[0]
340#define ND_OPT_PI_FLAG_ONLINK 0x80
341#define ND_OPT_PI_FLAG_AUTO 0x40
342#define ND_OPT_PI_FLAG_ROUTER_ADDR 0x20
343#define ND_OPT_PI_FLAG_SITE_PREFIX 0x10
344#define ND_OPT_PI_FLAG_ROUTE 0x01
346#define ND_OPT_RI_FLAG_PREFERENCE 0x18
348#define TH_MAX_LEN (0x0F << 2)
357#define TH_ALL (TH_FIN | TH_SYN | TH_RST | TH_PSH | TH_ACK | TH_URG | TH_ECE | TH_CWR)
358#define TH_SYN_ALL (TH_FIN | TH_SYN | TH_RST | TH_ACK)
360#define TH_OPT_EOL 0x00
361#define TH_OPT_NOP 0x01
362#define TH_OPT_MSS 0x02
363#define TH_OPT_WS 0x03
364#define TH_OPT_SACK_PERMITTED 0x04
365#define TH_OPT_SACK 0x05
366#define TH_OPT_TS 0x08
368#define DL_SIZEOF_TUNNEL_ADDRESS(AddressBytes) (FIELD_OFFSET(DL_TUNNEL_ADDRESS, IpAddress) + (AddressBytes))
369#define DL_SIZEOF_IPV4_TUNNEL_ADDRESS DL_SIZEOF_TUNNEL_ADDRESS(sizeof(IN_ADDR))
370#define DL_SIZEOF_IPV6_TUNNEL_ADDRESS DL_SIZEOF_TUNNEL_ADDRESS(sizeof(IN6_ADDR))
372#define FL_PACKET_TYPE_FLAGS (NDIS_PACKET_TYPE_ALL_MULTICAST | NDIS_PACKET_TYPE_PROMISCUOUS)
374#define mld_type IcmpHeader.Type
375#define mld_checksum IcmpHeader.Checksum
377#ifndef _DEFINE_DL_ADDRESS_TYPE_
378#define _DEFINE_DL_ADDRESS_TYPE_
473 if (((PDL_EUI48)
Address)->Oui.Group)
544 Source->Byte[0] &= ~TOKENRING_SOURCEROUTE_INDICATOR;
637 return (
Header->HeaderLength << 2);
640#if defined(_NTDDK_) || defined(_NTRTL_)
664#if !defined(IP_EXPORT_INCLUDED)
870#if defined(_NTDDK_) || defined(_NTRTL_)
1094#pragma pack(push, 1)
1108#if NDIS_RECEIVE_UNALIGNED
1169#pragma pack(push, 1)
1225 if (ModuleId1->Type == ModuleId2->Type)
1267#ifdef NETIODEF_DEFINED_ASSERT
unsigned long long UINT64
#define RtlEqualMemory(dst, src, len)
_In_ UINT _In_ UINT _In_ PNDIS_PACKET Source
#define ETH_LENGTH_OF_SNAP_HEADER
struct _ICMPV4_TIMESTAMP_MESSAGE ICMPV4_TIMESTAMP_MESSAGE
struct _IPV4_TIMESTAMP_OPTION * PIPV4_TIMESTAMP_OPTION
CONST NPI_MODULEID NPI_MS_FL_WANARP_MODULEID
struct nd_router_advert ND_ROUTER_ADVERT_HEADER
struct _IPV6_HEADER * PIPV6_HEADER
struct nd_neighbor_solicit ND_NEIGHBOR_SOLICIT_HEADER
struct _TOKENRING_HEADER * PTOKENRING_HEADER
enum DL_ADDRESS_TYPE * PDL_ADDRESS_TYPE
IP_OPTION_TIMESTAMP_FLAGS
@ IP_OPTION_TIMESTAMP_ADDRESS
@ IP_OPTION_TIMESTAMP_ONLY
@ IP_OPTION_TIMESTAMP_SPECIFIC_ADDRESS
struct _IPV6_FRAGMENT_HEADER IPV6_FRAGMENT_HEADER
struct _IPV6_FRAGMENT_HEADER * PIPV6_FRAGMENT_HEADER
struct _IPTLS_METADATA * PIPTLS_METADATA
union _DL_EI64 * PDL_EI64
struct _ETHERNET_HEADER ETHERNET_HEADER
struct _ICMPV4_ROUTER_ADVERT_ENTRY * PICMPV4_ROUTER_ADVERT_ENTRY
struct _ARP_HEADER * PARP_HEADER
struct _IGMPV3_QUERY_HEADER IGMPV3_QUERY_HEADER
struct _IPV4_TIMESTAMP_OPTION IPV4_TIMESTAMP_OPTION
struct nd_router_advert * PND_ROUTER_ADVERT_HEADER
struct _IPV6_HEADER IPV6_HEADER
struct _NPI_MODULEID NPI_MODULEID
ICMP_HEADER ICMPV4_HEADER
struct nd_opt_mtu ND_OPTION_MTU
struct _IPV6_EXTENSION_HEADER * PIPV6_EXTENSION_HEADER
union _IPV6_ROUTER_ADVERTISEMENT_FLAGS IPV6_ROUTER_ADVERTISEMENT_FLAGS
__inline BOOLEAN NmrIsEqualNpiModuleId(_In_ PNPI_MODULEID ModuleId1, _In_ PNPI_MODULEID ModuleId2)
ICMP_HEADER * PICMPV4_HEADER
struct _IPV6_OPTION_JUMBOGRAM IPV6_OPTION_JUMBOGRAM
struct tcp_opt_ws TCP_OPT_WS
struct nd_opt_hdr * PND_OPTION_HDR
struct nd_neighbor_solicit * PND_NEIGHBOR_SOLICIT_HEADER
struct nd_opt_prefix_info ND_OPTION_PREFIX_INFO
struct _IGMPV3_REPORT_RECORD_HEADER IGMPV3_REPORT_RECORD_HEADER
@ IGMP_MAX_RESP_CODE_TYPE_NORMAL
@ IGMP_MAX_RESP_CODE_TYPE_FLOAT
struct _IPV6_OPTION_ROUTER_ALERT * PIPV6_OPTION_ROUTER_ALERT
__inline BOOLEAN TokenRingGetSourceRouteIndicator(_In_ CONST UNALIGNED DL_EUI48 *Source)
ICMP_HEADER * PICMPV6_HEADER
@ ND_OPT_ADVERTISEMENT_INTERVAL
@ ND_OPT_TARGET_ADDR_LIST
@ ND_OPT_NBMA_SHORTCUT_LIMIT
@ ND_OPT_REDIRECTED_HEADER
@ ND_OPT_SOURCE_ADDR_LIST
@ ND_OPT_HOME_AGENT_INFORMATION
@ ND_OPT_PREFIX_INFORMATION
__inline VOID TokenRingResetSourceRouteIndicator(_Out_ UNALIGNED DL_EUI48 *Source)
struct _ICMPV4_ADDRESS_MASK_MESSAGE ICMPV4_ADDRESS_MASK_MESSAGE
struct _SNAP_HEADER SNAP_HEADER
struct nd_opt_route_info * PND_OPTION_ROUTE_INFO
__inline UCHAR Ip4HeaderLengthInBytes(_In_ CONST UNALIGNED IPV4_HEADER *Header)
struct _IPTLS_METADATA IPTLS_METADATA
CONST NPI_MODULEID NPI_MS_FL4T_MODULEID
struct _IPV6_OPTION_JUMBOGRAM * PIPV6_OPTION_JUMBOGRAM
enum _NPI_MODULEID_TYPE NPI_MODULEID_TYPE
struct _MLDV2_REPORT_HEADER * PMLDV2_REPORT_HEADER
struct _MLD_HEADER * PMLD_HEADER
struct tcp_opt_sack TCP_OPT_SACK
struct _ICMP_HEADER ICMP_HEADER
struct _MLDV2_REPORT_RECORD_HEADER * PMLDV2_REPORT_RECORD_HEADER
struct _ICMPV4_ROUTER_ADVERT_HEADER ICMPV4_ROUTER_ADVERT_HEADER
struct _ETHERNET_HEADER * PETHERNET_HEADER
struct _IPV4_ROUTING_HEADER IPV4_ROUTING_HEADER
struct nd_opt_route_info ND_OPTION_ROUTE_INFO
struct _ARCNET_HEADER * PARCNET_HEADER
#define TOKENRING_SOURCEROUTE_INDICATOR
struct _MLDV2_REPORT_HEADER MLDV2_REPORT_HEADER
struct _IPV6_EXTENSION_HEADER IPV6_EXTENSION_HEADER
struct nd_redirect ND_REDIRECT_HEADER
ICMP_MESSAGE * PICMPV4_MESSAGE
struct _ICMPV4_ROUTER_ADVERT_ENTRY ICMPV4_ROUTER_ADVERT_ENTRY
C_ASSERT((sizeof(TOKENRING_HEADER)+sizeof(SNAP_HEADER)+SOURCEROUTE_SIZE_MAXIMUM)< DL_HEADER_LENGTH_MAXIMUM)
CONST NPIID NPI_NETWORK_LAYER_ID
struct _SOURCEROUTE_HEADER SOURCEROUTE_HEADER
#define ETH_LENGTH_OF_HEADER
struct tcp_opt_unknown TCP_OPT_UNKNOWN
enum _TUNNEL_SUB_TYPE TUNNEL_SUB_TYPE
struct nd_opt_hdr ND_OPTION_HDR
struct tcp_opt_sack_permitted TCP_OPT_SACK_PERMITTED
struct _SOURCEROUTE_HEADER * PSOURCEROUTE_HEADER
union _DL_EI48 * PDL_EI48
enum ICMP4_TIME_EXCEED_CODE * PICMP4_TIME_EXCEED_CODE
struct _ICMPV4_ROUTER_ADVERT_HEADER * PICMPV4_ROUTER_ADVERT_HEADER
struct _MLD_HEADER MLD_HEADER
struct _MLDV2_QUERY_HEADER * PMLDV2_QUERY_HEADER
ICMP_MESSAGE ICMPV6_MESSAGE
#define DL_ADDRESS_LENGTH_MAXIMUM
struct DL_TEREDO_ADDRESS * PDL_TEREDO_ADDRESS
enum ICMP4_UNREACH_CODE * PICMP4_UNREACH_CODE
struct nd_neighbor_advert ND_NEIGHBOR_ADVERT_HEADER
struct nd_neighbor_advert * PND_NEIGHBOR_ADVERT_HEADER
struct DL_TUNNEL_ADDRESS * PDL_TUNNEL_ADDRESS
CONST NPI_MODULEID NPI_MS_WANARPV6_MODULEID
CONST NPIID NPI_FRAMING_LAYER_ID
struct _ARCNET_HEADER ARCNET_HEADER
struct nd_opt_prefix_info * PND_OPTION_PREFIX_INFO
union _DL_EUI64 * PDL_EUI64
struct _IPV6_OPTION_HEADER * PIPV6_OPTION_HEADER
CONST NPI_MODULEID NPI_MS_FL48_MODULEID
struct tcp_opt_ts TCP_OPT_TS
struct _ICMPV4_TIMESTAMP_MESSAGE * PICMPV4_TIMESTAMP_MESSAGE
struct _TOKENRING_HEADER TOKENRING_HEADER
struct _IGMPV3_QUERY_HEADER * PIGMPV3_QUERY_HEADER
CONST NPI_MODULEID NPI_MS_FL4L_MODULEID
struct _IPV4_OPTION_HEADER * PIPV4_OPTION_HEADER
struct _IPV6_OPTION_ROUTER_ALERT IPV6_OPTION_ROUTER_ALERT
CONST NPI_MODULEID NPI_MS_TUN_MODULEID
#define ETH_LENGTH_OF_VLAN_HEADER
@ ICMP4_UNREACH_HOST_UNKNOWN
@ ICMP4_UNREACH_FRAG_NEEDED
@ ICMP4_UNREACH_SOURCEROUTE_FAILED
@ ICMP4_UNREACH_HOST_ADMIN
@ ICMP4_UNREACH_NET_UNKNOWN
@ ICMP4_UNREACH_NET_ADMIN
struct _IPV4_ROUTING_HEADER * PIPV4_ROUTING_HEADER
CONST NPI_MODULEID NPI_MS_FL6L_MODULEID
CONST NPI_MODULEID NPI_MS_IPV6_MODULEID
@ ICMP4_TIME_EXCEED_TRANSIT
@ ICMP4_TIME_EXCEED_REASSEMBLY
struct _MLDV2_QUERY_HEADER MLDV2_QUERY_HEADER
struct _ARP_HEADER ARP_HEADER
struct nd_opt_rd_hdr ND_OPTION_RD_HDR
CONST NPI_MODULEID NPI_MS_NDIS_MODULEID
enum IPV6_OPTION_TYPE * PIPV6_OPTION_TYPE
enum ND_OPTION_TYPE * PND_OPTION_TYPE
enum _TUNNEL_SUB_TYPE * PTUNNEL_SUB_TYPE
struct _IPV6_OPTION_HEADER IPV6_OPTION_HEADER
struct tcp_opt_mss TCP_OPT_MSS
struct _SNAP_HEADER * PSNAP_HEADER
#define DL_SIZEOF_IPV4_TUNNEL_ADDRESS
ICMP_MESSAGE ICMPV4_MESSAGE
struct _IGMPV3_REPORT_HEADER_ * PIGMPV3_REPORT_HEADER
struct _MLDV2_REPORT_RECORD_HEADER MLDV2_REPORT_RECORD_HEADER
struct nd_opt_mtu * PND_OPTION_MTU
CONST SOURCEROUTE_HEADER sourceroute_unspecified
CONST NPI_MODULEID NPI_MS_WANARPV4_MODULEID
#define SOURCEROUTE_SIZE_MAXIMUM
struct nd_opt_rd_hdr * PND_OPTION_RD_HDR
CONST NPI_MODULEID * PNPI_MODULEID
struct nd_redirect * PND_REDIRECT_HEADER
struct _ICMP_MESSAGE ICMP_MESSAGE
CONST NPI_MODULEID NPI_MS_FL68_MODULEID
struct _FDDI_HEADER * PFDDI_HEADER
@ MLD_MAX_RESP_CODE_TYPE_NORMAL
@ MLD_MAX_RESP_CODE_TYPE_FLOAT
struct _IGMP_HEADER IGMP_HEADER
NETIO_INLINE DL_ADDRESS_TYPE EthernetAddressType(_In_reads_(sizeof(DL_EUI48)) CONST UCHAR *Address)
struct nd_router_solicit * PND_ROUTER_SOLICIT_HEADER
CONST NPI_MODULEID NPI_MS_FL6T_MODULEID
ICMP_MESSAGE * PICMPV6_MESSAGE
struct nd_router_solicit ND_ROUTER_SOLICIT_HEADER
union _IPV6_NEIGHBOR_ADVERTISEMENT_FLAGS IPV6_NEIGHBOR_ADVERTISEMENT_FLAGS
CONST DL_EUI48 eui48_broadcast
struct _IPV4_OPTION_HEADER IPV4_OPTION_HEADER
#define DL_SIZEOF_IPV6_TUNNEL_ADDRESS
struct _IGMPV3_REPORT_HEADER_ IGMPV3_REPORT_HEADER
struct _ICMPV4_ROUTER_SOLICIT ICMPV4_ROUTER_SOLICIT
ICMP_HEADER ICMPV6_HEADER
struct _IPV4_HEADER IPV4_HEADER
#define DL_HEADER_LENGTH_MAXIMUM
struct _ICMP_HEADER * PICMP_HEADER
struct _ICMP_MESSAGE * PICMP_MESSAGE
struct _ICMPV4_ADDRESS_MASK_MESSAGE * PICMPV4_ADDRESS_MASK_MESSAGE
TOKENRING_BROADCAST_INDICATOR
@ TokenRingAllRoutesExplorer
@ TokenRingSpecificallyRoutedFrame
@ TokenRingSpanningTreeExplorer
struct _IGMP_HEADER * PIGMP_HEADER
struct _FDDI_HEADER FDDI_HEADER
struct _VLAN_TAG VLAN_TAG
__inline VOID TokenRingSetSourceRouteIndicator(_Out_ UNALIGNED DL_EUI48 *Source)
union _IPV6_ROUTER_ADVERTISEMENT_FLAGS * PIPV6_ROUTER_ADVERTISEMENT_FLAGS
CONST NPI_MODULEID NPI_MS_IPV4_MODULEID
CONST NPI_MODULEID NPI_MS_NMR_MODULEID
union _IPV6_NEIGHBOR_ADVERTISEMENT_FLAGS * PIPV6_NEIGHBOR_ADVERTISEMENT_FLAGS
struct _IGMPV3_REPORT_RECORD_HEADER * PIGMPV3_REPORT_RECORD_HEADER
struct _IPV4_HEADER * PIPV4_HEADER
struct _ICMPV4_ROUTER_SOLICIT * PICMPV4_ROUTER_SOLICIT
NETIO_INLINE DL_ADDRESS_TYPE TokenRingAddressType(_In_ CONST UCHAR *Address)
enum TOKENRING_BROADCAST_INDICATOR * PTOKENRING_BROADCAST_INDICATOR
#define _Struct_size_bytes_(s)
_In_ ULONG _In_ ULONG _In_ ULONG Length
#define InlineIsEqualGUID(rguid1, rguid2)
COMPARTMENT_ID CompartmentId
UINT32 OriginateTimestamp
union _ICMP_MESSAGE::@3080 Data
IPV6_OPTION_HEADER Header
IPV6_OPTION_HEADER Header
UINT16 nd_opt_mtu_reserved
UINT8 nd_opt_pi_site_prefix_len
UINT8 nd_opt_pi_prefix_len
UINT32 nd_opt_pi_valid_time
UINT32 nd_opt_pi_preferred_time
UINT8 nd_opt_pi_reserved3[3]
struct nd_opt_prefix_info::@3123::@3127 Flags
UINT8 nd_opt_pi_flags_reserved
IN6_ADDR nd_opt_pi_prefix
UINT32 nd_opt_pi_reserved2
UINT16 nd_opt_rh_reserved1
UINT32 nd_opt_rh_reserved2
UINT8 nd_opt_ri_flags_reserved
struct nd_opt_route_info::@3130::@3132 Flags
IN6_ADDR nd_opt_ri_prefix
UINT32 nd_opt_ri_route_lifetime
UINT8 nd_opt_ri_prefix_len
struct tcp_opt_sack::tcp_opt_sack_block Block[0]
UINT8 ManagedAddressConfiguration
UINT8 OtherStatefulConfiguration
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
_Reserved_ PVOID Reserved
#define RtlUshortByteSwap(_x)