ReactOS 0.4.16-dev-297-gc569aee
netiodef.h File Reference
#include "ws2def.h"
#include "ws2ipdef.h"
#include "mswsockdef.h"
#include "mstcpip.h"
#include "nldef.h"
#include "ifdef.h"
Include dependency graph for netiodef.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

union  _DL_OUI
 
union  _DL_EI48
 
union  _DL_EUI48
 
union  _DL_EI64
 
union  _DL_EUI64
 
struct  _SNAP_HEADER
 
struct  _ETHERNET_HEADER
 
struct  _VLAN_TAG
 
struct  _TOKENRING_HEADER
 
struct  _SOURCEROUTE_HEADER
 
struct  _FDDI_HEADER
 
struct  _ARCNET_HEADER
 
struct  _ICMP_HEADER
 
struct  _ICMP_MESSAGE
 
struct  _IPV4_HEADER
 
struct  _IPV4_OPTION_HEADER
 
struct  _IPV4_TIMESTAMP_OPTION
 
struct  _IPV4_ROUTING_HEADER
 
struct  _ICMPV4_ROUTER_SOLICIT
 
struct  _ICMPV4_ROUTER_ADVERT_HEADER
 
struct  _ICMPV4_ROUTER_ADVERT_ENTRY
 
struct  _ICMPV4_TIMESTAMP_MESSAGE
 
struct  _ICMPV4_ADDRESS_MASK_MESSAGE
 
struct  _ARP_HEADER
 
struct  _IGMP_HEADER
 
struct  _IGMPV3_QUERY_HEADER
 
struct  _IGMPV3_REPORT_RECORD_HEADER
 
struct  _IGMPV3_REPORT_HEADER_
 
struct  _IPV6_HEADER
 
struct  _IPV6_FRAGMENT_HEADER
 
struct  _IPV6_EXTENSION_HEADER
 
struct  _IPV6_OPTION_HEADER
 
struct  _IPV6_OPTION_JUMBOGRAM
 
struct  _IPV6_OPTION_ROUTER_ALERT
 
struct  nd_router_solicit
 
struct  nd_router_advert
 
union  _IPV6_ROUTER_ADVERTISEMENT_FLAGS
 
struct  nd_neighbor_solicit
 
struct  nd_neighbor_advert
 
union  _IPV6_NEIGHBOR_ADVERTISEMENT_FLAGS
 
struct  nd_redirect
 
struct  nd_opt_hdr
 
struct  nd_opt_prefix_info
 
struct  nd_opt_rd_hdr
 
struct  nd_opt_mtu
 
struct  nd_opt_route_info
 
struct  _MLD_HEADER
 
struct  _MLDV2_QUERY_HEADER
 
struct  _MLDV2_REPORT_RECORD_HEADER
 
struct  _MLDV2_REPORT_HEADER
 
struct  tcp_hdr
 
struct  tcp_opt_mss
 
struct  tcp_opt_ws
 
struct  tcp_opt_sack_permitted
 
struct  tcp_opt_sack
 
struct  tcp_opt_sack::tcp_opt_sack_block
 
struct  tcp_opt_ts
 
struct  tcp_opt_unknown
 
struct  DL_TUNNEL_ADDRESS
 
struct  DL_TEREDO_ADDRESS
 
struct  _IPTLS_METADATA
 
struct  _NPI_MODULEID
 

Macros

#define NETIO_INLINE   __forceinline
 
#define IS_POWER_OF_TWO(x)   (((x) != 0) && (((x) & ((x) - 1)) == 0))
 
#define IS_VALID_IPV4_MASK(x)   ((x.S_un.S_addr == (ULONG)-1) || IS_POWER_OF_TWO(~RtlUlongByteSwap(x.S_un.S_addr)+1))
 
#define _LITTLE_ENDIAN   1234
 
#define _BIG_ENDIAN   4321
 
#define _PDP_ENDIAN   3412
 
#define MAKE_DD_DEVICE_NAME(x)   (L"\\Device\\" x)
 
#define MAKE_WIN_DEVICE_NAME(x)   (L"\\\\.\\" x)
 
#define DL_ADDRESS_LENGTH_MAXIMUM   IF_MAX_PHYS_ADDRESS_LENGTH
 
#define DL_HEADER_LENGTH_MAXIMUM   64
 
#define DL_ETHERNET_HEADER_LENGTH_MAXIMUM   (sizeof(ETHERNET_HEADER) + sizeof(SNAP_HEADER))
 
#define DL_TUNNEL_HEADER_LENGTH_MAXIMUM   max(sizeof(IPV4_HEADER), sizeof(IPV6_HEADER))
 
#define EUI48_BROADCAST_INIT   {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
 
#define SNAP_DSAP   0xaa
 
#define SNAP_SSAP   0xaa
 
#define SNAP_CONTROL   0x03
 
#define SNAP_OUI   0x00
 
#define SNAP_TYPE_ARP   ETHERNET_TYPE_ARP
 
#define SNAP_TYPE_IPV4   ETHERNET_TYPE_IPV4
 
#define SNAP_TYPE_IPV6   ETHERNET_TYPE_IPV6
 
#define ETH_LENGTH_OF_HEADER   14
 
#define ETH_LENGTH_OF_VLAN_HEADER   4
 
#define ETH_LENGTH_OF_SNAP_HEADER   8
 
#define ETHERNET_TYPE_MINIMUM   0x0600
 
#define ETHERNET_TYPE_IPV4   0x0800
 
#define ETHERNET_TYPE_ARP   0x0806
 
#define ETHERNET_TYPE_IPV6   0x86dd
 
#define ETHERNET_TYPE_802_1Q   0x8100
 
#define TOKENRING_ACCESSCONTROL   0x10
 
#define TOKENRING_FRAMECONTROL   0x40
 
#define SOURCEROUTE_RD_MAXIMUM   8
 
#define SOURCEROUTE_SIZE_MAXIMUM   (sizeof(SOURCEROUTE_HEADER) + 2 * SOURCEROUTE_RD_MAXIMUM)
 
#define SOURCEROUTE_UNSPECIFIED_INIT   {{sizeof(SOURCEROUTE_HEADER), TokenRingSpanningTreeExplorer}, {0}}
 
#define TOKENRING_MTU_DEFAULT   1500
 
#define TOKENRING_SOURCEROUTE_INDICATOR   0x80
 
#define FDDI_FRAMECODE   0x57
 
#define FDDI_MTU   4352
 
#define ARCNET_BROADCAST_MASK   0xff
 
#define ARCNET_BROADCAST_VALUE   0x00
 
#define ARCNET_PROTOCOL_ARP   0xd5
 
#define ARCNET_PROTOCOL_IPV4   0xd4
 
#define ARCNET_PROTOCOL_IPV6   0xc4
 
#define ip4_hdr   _IPV4_HEADER
 
#define ip4_ver_hlen   VersionAndHeaderLength
 
#define ip4_ver   Version
 
#define ip4_hlen   HeaderLength
 
#define ip4_tos   TypeOfService
 
#define ip4_len   TotalLength
 
#define ip4_id   Identification
 
#define ip4_flags_offset   FlagsAndOffset
 
#define ip4_flags   Flags
 
#define ip4_offset   FragmentOffset
 
#define ip4_ttl   TimeToLive
 
#define ip4_protocol   Protocol
 
#define ip4_xsum   HeaderChecksum
 
#define ip4_src   SourceAddress
 
#define ip4_dest   DestinationAddress
 
#define IP_VER_MASK   0xF0
 
#define IPV4_VERSION   4
 
#define IPV4_DEFAULT_VERHLEN   ((IPV4_VERSION << 4) | (sizeof(IPV4_HEADER) / sizeof(UINT32)))
 
#define IPV4_TOS_MASK   0xFC
 
#define MAX_IPV4_PACKET   65535
 
#define MAX_IPV4_PAYLOAD   (MAX_IPV4_PACKET - sizeof(IPV4_HEADER))
 
#define MAX_IPV4_HLEN   60
 
#define IPV4_MINIMUM_MTU   576
 
#define IPV4_MINIMUM_ULMTU   (IPV4_MINIMUM_MTU - sizeof(IPV4_HEADER))
 
#define MAX_IP_OPTIONS_LENGTH   ((0xF * sizeof(UINT32)) - sizeof(IPV4_HEADER))
 
#define SIZEOF_IP_OPT_ROUTING_HEADER   3
 
#define SIZEOF_IP_OPT_TIMESTAMP_HEADER   4
 
#define SIZEOF_IP_OPT_SECURITY   11
 
#define SIZEOF_IP_OPT_STREAMIDENTIFIER   4
 
#define SIZEOF_IP_OPT_ROUTERALERT   4
 
#define IP4_OFF_MASK   0xff1f
 
#define icmp4_hdr   _ICMPV4_MESSAGE
 
#define icmp4_type   Header.Type
 
#define icmp4_code   Header.Code
 
#define icmp4_cksum   Header.Checksum
 
#define icmp4_un_data32   Data32
 
#define icmp4_un_data16   Data16
 
#define icmp4_un_data8   Data8
 
#define icmp4_dataun   Data
 
#define icmp4_data32   icmp4_dataun.icmp4_un_data32
 
#define icmp4_data16   icmp4_dataun.icmp4_un_data16
 
#define icmp4_data8   icmp4_dataun.icmp4_un_data8
 
#define icmp4_pptr   icmp4_data32[0]
 
#define icmp4_mtu   icmp4_data32[0]
 
#define icmp4_id   icmp4_data16[0]
 
#define icmp4_seq   icmp4_data16[1]
 
#define icmp4_maxdelay   icmp4_data16[0]
 
#define RsType   RsHeader.icmp4_type
 
#define RsCode   RsHeader.icmp4_code
 
#define RsCksum   RsHeader.icmp4_cksum
 
#define RsReserved   RsHeader.icmp4_data32[0]
 
#define RaType   RaHeader.icmp4_type
 
#define RaCode   RaHeader.icmp4_code
 
#define RaCksum   RaHeader.icmp4_cksum
 
#define RaNumAddr   RaHeader.icmp4_data8[0]
 
#define RaAddrEntrySize   RaHeader.icmp4_data8[1]
 
#define RaAddrLifetime   RaHeader.icmp4_data16[1]
 
#define ICMPV4_INVALID_PREFERENCE_LEVEL   0x80000000
 
#define icmp4_ts_type   Header.icmp4_type
 
#define icmp4_ts_code   Header.icmp4_code
 
#define icmp4_ts_cksum   Header.icmp4_cksum
 
#define icmp4_ts_id   Header.icmp4_id
 
#define icmp4_ts_seq   Header.icmp4_seq
 
#define icmp4_ts_originate   OriginateTimestamp
 
#define icmp4_ts_receive   ReceiveTimestamp
 
#define icmp4_ts_transmit   TransmitTimestamp
 
#define IGMP_QUERY_TYPE   0x11
 
#define IGMP_VERSION1_REPORT_TYPE   0x12
 
#define IGMP_VERSION2_REPORT_TYPE   0x16
 
#define IGMP_LEAVE_GROUP_TYPE   0x17
 
#define IGMP_VERSION3_REPORT_TYPE   0x22
 
#define ip6_hdr   _IPV6_HEADER
 
#define ip6_flow   VersionClassFlow
 
#define ip6_plen   PayloadLength
 
#define ip6_nxt   NextHeader
 
#define ip6_hops   HopLimit
 
#define ip6_hlim   HopLimit
 
#define ip6_src   SourceAddress
 
#define ip6_dst   DestinationAddress
 
#define IP_VER_MASK   0xF0
 
#define IPV6_VERSION   0x60
 
#define IPV6_TRAFFIC_CLASS_MASK   0x0000C00F
 
#define IPV6_ECN_MASK   0x00003000
 
#define IPV6_FLOW_LABEL_MASK   0xFFFF0F00
 
#define MAX_IPV6_PAYLOAD   65535
 
#define MAX_IPV6_PACKET   (MAX_IPV6_PAYLOAD + sizeof(IPV6_HEADER))
 
#define IPV6_ECN_SHIFT   12
 
#define IPV6_MINIMUM_MTU   1280
 
#define IPV6_MINIMUM_ULMTU   (IPV6_MINIMUM_MTU - sizeof(IPV6_HEADER))
 
#define IPV6_TRAFFIC_CLASS(VersionClassFlow)
 
#define ip6_frag   _IPV6_FRAGMENT_HEADER
 
#define ip6f_nxt   NextHeader
 
#define ip6f_reserved   Reserved
 
#define ip6f_offlg   OffsetAndFlags
 
#define ip6f_ident   Id
 
#define IP6F_OFF_MASK   0xf8ff
 
#define IP6F_RESERVED_MASK   0x0600
 
#define IP6F_MORE_FRAG   0x0100
 
#define EXT_LEN_UNIT   8
 
#define IPV6_EXTENSION_HEADER_LENGTH(Blocks)   ((Blocks + 1) * EXT_LEN_UNIT)
 
#define MAX_IPV6_EXTENSION_HEADER_LENGTH   IPV6_EXTENSION_HEADER_LENGTH(0xFF)
 
#define IPV6_EXTENSION_HEADER_BLOCKS(Length)   ((Length / EXT_LEN_UNIT) - 1)
 
#define IP_AUTHENTICATION_HEADER_LENGTH(Blocks)   ((Blocks + 2) * 4)
 
#define IP_AUTHENTICATION_HEADER_BLOCKS(Length)   (((Length + sizeof(AUTHENTICATION_HEADER)) / 4) - 2)
 
#define IPV6_ROUTER_ALERT_LENGTH   IPV6_EXTENSION_HEADER_LENGTH(0)
 
#define ip6_hbh   _IPV6_EXTENSION_HEADER
 
#define ip6h_nxt   NextHeader
 
#define ip6h_len   Length
 
#define ip6_dest   _IPV6_EXTENSION_HEADER
 
#define ip6d_nxt   NextHeader
 
#define ip6d_len   Length
 
#define IP6OPT_TYPE(Type)   ((Type) & 0xc0)
 
#define IP6OPT_TYPE_SKIP   0x00
 
#define IP6OPT_TYPE_DISCARD   0x40
 
#define IP6OPT_TYPE_FORCEICMP   0x80
 
#define IP6OPT_TYPE_ICMP   0xc0
 
#define IP6OPT_MUTABLE   0x20
 
#define IP6OPT_ISMUTABLE(Type)   (((Type) & IP6OPT_MUTABLE) != 0)
 
#define ip6_opt_jumbo   _IPV6_OPTION_JUMBOGRAM
 
#define ip6oj_type   Header.Type
 
#define ip6oj_len   Header.DataLength
 
#define ip6oj_jumbo_len   JumbogramLength
 
#define ip6_opt_router   _IPV6_OPTION_ROUTER_ALERT
 
#define ip6or_type   Header.Type
 
#define ip6or_len   Header.DataLength
 
#define ip6or_value   Value
 
#define SIZEOF_IPV6_ROUTERALERT   IPV6_EXTENSION_HEADER_LENGTH(0)
 
#define ip6_rthdr   _IPV6_ROUTING_HEADER
 
#define ip6r_nxt   NextHeader
 
#define ip6r_len   Length
 
#define ip6r_type   RoutingType
 
#define ip6r_segleft   SegmentsLeft
 
#define icmp6_hdr   _ICMPV6_MESSAGE
 
#define icmp6_type   Header.Type
 
#define icmp6_code   Header.Code
 
#define icmp6_cksum   Header.Checksum
 
#define icmp6_un_data32   Data32
 
#define icmp6_un_data16   Data16
 
#define icmp6_un_data8   Data8
 
#define icmp6_dataun   Data
 
#define icmp6_data32   icmp6_dataun.icmp6_un_data32
 
#define icmp6_data16   icmp6_dataun.icmp6_un_data16
 
#define icmp6_data8   icmp6_dataun.icmp6_un_data8
 
#define icmp6_pptr   icmp6_data32[0]
 
#define icmp6_mtu   icmp6_data32[0]
 
#define icmp6_id   icmp6_data16[0]
 
#define icmp6_seq   icmp6_data16[1]
 
#define icmp6_maxdelay   icmp6_data16[0]
 
#define ICMP6_INFOMSG_MASK   0x80
 
#define ICMP6_DST_UNREACH_NOROUTE   0
 
#define ICMP6_DST_UNREACH_ADMIN   1
 
#define ICMP6_DST_UNREACH_BEYONDSCOPE   2
 
#define ICMP6_DST_UNREACH_ADDR   3
 
#define ICMP6_DST_UNREACH_NOPORT   4
 
#define ICMP6_TIME_EXCEED_TRANSIT   0
 
#define ICMP6_TIME_EXCEED_REASSEMBLY   1
 
#define ICMP6_PARAMPROB_HEADER   0
 
#define ICMP6_PARAMPROB_NEXTHEADER   1
 
#define ICMP6_PARAMPROB_OPTION   2
 
#define ICMPV6_ECHO_REQUEST_FLAG_REVERSE   0x1
 
#define nd_rs_type   nd_rs_hdr.icmp6_type
 
#define nd_rs_code   nd_rs_hdr.icmp6_code
 
#define nd_rs_cksum   nd_rs_hdr.icmp6_cksum
 
#define nd_rs_reserved   nd_rs_hdr.icmp6_data32[0]
 
#define nd_ra_type   nd_ra_hdr.icmp6_type
 
#define nd_ra_code   nd_ra_hdr.icmp6_code
 
#define nd_ra_cksum   nd_ra_hdr.icmp6_cksum
 
#define nd_ra_curhoplimit   nd_ra_hdr.icmp6_data8[0]
 
#define nd_ra_flags_reserved   nd_ra_hdr.icmp6_data8[1]
 
#define ND_RA_FLAG_MANAGED   0x80
 
#define ND_RA_FLAG_OTHER   0x40
 
#define ND_RA_FLAG_HOME_AGENT   0x20
 
#define ND_RA_FLAG_PREFERENCE   0x18
 
#define nd_ra_router_lifetime   nd_ra_hdr.icmp6_data16[1]
 
#define nd_ns_type   nd_ns_hdr.icmp6_type
 
#define nd_ns_code   nd_ns_hdr.icmp6_code
 
#define nd_ns_cksum   nd_ns_hdr.icmp6_cksum
 
#define nd_ns_reserved   nd_ns_hdr.icmp6_data32[0]
 
#define nd_na_type   nd_na_hdr.icmp6_type
 
#define nd_na_code   nd_na_hdr.icmp6_code
 
#define nd_na_cksum   nd_na_hdr.icmp6_cksum
 
#define nd_na_flags_reserved   nd_na_hdr.icmp6_data32[0]
 
#define ND_NA_FLAG_ROUTER   0x00000080
 
#define ND_NA_FLAG_SOLICITED   0x00000040
 
#define ND_NA_FLAG_OVERRIDE   0x00000020
 
#define nd_rd_type   nd_rd_hdr.icmp6_type
 
#define nd_rd_code   nd_rd_hdr.icmp6_code
 
#define nd_rd_cksum   nd_rd_hdr.icmp6_cksum
 
#define nd_rd_reserved   nd_rd_hdr.icmp6_data32[0]
 
#define ND_OPT_PI_FLAG_ONLINK   0x80
 
#define ND_OPT_PI_FLAG_AUTO   0x40
 
#define ND_OPT_PI_FLAG_ROUTER_ADDR   0x20
 
#define ND_OPT_PI_FLAG_SITE_PREFIX   0x10
 
#define ND_OPT_PI_FLAG_ROUTE   0x01
 
#define ND_OPT_RI_FLAG_PREFERENCE   0x18
 
#define TH_MAX_LEN   (0x0F << 2)
 
#define TH_FIN   0x01
 
#define TH_SYN   0x02
 
#define TH_RST   0x04
 
#define TH_PSH   0x08
 
#define TH_ACK   0x10
 
#define TH_URG   0x20
 
#define TH_ECE   0x40
 
#define TH_CWR   0x80
 
#define TH_ALL   (TH_FIN | TH_SYN | TH_RST | TH_PSH | TH_ACK | TH_URG | TH_ECE | TH_CWR)
 
#define TH_SYN_ALL   (TH_FIN | TH_SYN | TH_RST | TH_ACK)
 
#define TH_OPT_EOL   0x00
 
#define TH_OPT_NOP   0x01
 
#define TH_OPT_MSS   0x02
 
#define TH_OPT_WS   0x03
 
#define TH_OPT_SACK_PERMITTED   0x04
 
#define TH_OPT_SACK   0x05
 
#define TH_OPT_TS   0x08
 
#define DL_SIZEOF_TUNNEL_ADDRESS(AddressBytes)   (FIELD_OFFSET(DL_TUNNEL_ADDRESS, IpAddress) + (AddressBytes))
 
#define DL_SIZEOF_IPV4_TUNNEL_ADDRESS   DL_SIZEOF_TUNNEL_ADDRESS(sizeof(IN_ADDR))
 
#define DL_SIZEOF_IPV6_TUNNEL_ADDRESS   DL_SIZEOF_TUNNEL_ADDRESS(sizeof(IN6_ADDR))
 
#define FL_PACKET_TYPE_FLAGS   (NDIS_PACKET_TYPE_ALL_MULTICAST | NDIS_PACKET_TYPE_PROMISCUOUS)
 
#define mld_type   IcmpHeader.Type
 
#define mld_checksum   IcmpHeader.Checksum
 
#define _DEFINE_DL_ADDRESS_TYPE_
 

Typedefs

typedef UINT8 HANDLE8
 
typedef UINT8PHANDLE8
 
typedef UINT16 HANDLE16
 
typedef UINT16PHANDLE16
 
typedef UINT32 HANDLE32
 
typedef UINT32PHANDLE32
 
typedef UINT64 HANDLE64
 
typedef UINT64PHANDLE64
 
typedef enum DL_ADDRESS_TYPEPDL_ADDRESS_TYPE
 
typedef union _DL_OUI DL_OUI
 
typedef union _DL_OUIPDL_OUI
 
typedef union _DL_EI48 DL_EI48
 
typedef union _DL_EI48PDL_EI48
 
typedef union _DL_EI64 DL_EI64
 
typedef union _DL_EI64PDL_EI64
 
typedef union _DL_EUI64 DL_EUI64
 
typedef union _DL_EUI64PDL_EUI64
 
typedef struct _SNAP_HEADER SNAP_HEADER
 
typedef struct _SNAP_HEADERPSNAP_HEADER
 
typedef struct _ETHERNET_HEADER ETHERNET_HEADER
 
typedef struct _ETHERNET_HEADERPETHERNET_HEADER
 
typedef struct _VLAN_TAG VLAN_TAG
 
typedef struct _TOKENRING_HEADER TOKENRING_HEADER
 
typedef struct _TOKENRING_HEADERPTOKENRING_HEADER
 
typedef struct _SOURCEROUTE_HEADER SOURCEROUTE_HEADER
 
typedef struct _SOURCEROUTE_HEADERPSOURCEROUTE_HEADER
 
typedef enum TOKENRING_BROADCAST_INDICATORPTOKENRING_BROADCAST_INDICATOR
 
typedef struct _FDDI_HEADER FDDI_HEADER
 
typedef struct _FDDI_HEADERPFDDI_HEADER
 
typedef struct _ARCNET_HEADER ARCNET_HEADER
 
typedef struct _ARCNET_HEADERPARCNET_HEADER
 
typedef struct _ICMP_HEADER ICMP_HEADER
 
typedef struct _ICMP_HEADERPICMP_HEADER
 
typedef struct _ICMP_MESSAGE ICMP_MESSAGE
 
typedef struct _ICMP_MESSAGEPICMP_MESSAGE
 
typedef ICMP_HEADER ICMPV6_HEADER
 
typedef ICMP_HEADERPICMPV6_HEADER
 
typedef ICMP_MESSAGE ICMPV6_MESSAGE
 
typedef ICMP_MESSAGEPICMPV6_MESSAGE
 
typedef struct _IPV4_HEADER IPV4_HEADER
 
typedef struct _IPV4_HEADERPIPV4_HEADER
 
typedef struct _IPV4_OPTION_HEADER IPV4_OPTION_HEADER
 
typedef struct _IPV4_OPTION_HEADERPIPV4_OPTION_HEADER
 
typedef struct _IPV4_TIMESTAMP_OPTION IPV4_TIMESTAMP_OPTION
 
typedef struct _IPV4_TIMESTAMP_OPTIONPIPV4_TIMESTAMP_OPTION
 
typedef struct _IPV4_ROUTING_HEADER IPV4_ROUTING_HEADER
 
typedef struct _IPV4_ROUTING_HEADERPIPV4_ROUTING_HEADER
 
typedef ICMP_HEADER ICMPV4_HEADER
 
typedef ICMP_HEADERPICMPV4_HEADER
 
typedef ICMP_MESSAGE ICMPV4_MESSAGE
 
typedef ICMP_MESSAGEPICMPV4_MESSAGE
 
typedef enum ICMP4_UNREACH_CODEPICMP4_UNREACH_CODE
 
typedef enum ICMP4_TIME_EXCEED_CODEPICMP4_TIME_EXCEED_CODE
 
typedef struct _ICMPV4_ROUTER_SOLICIT ICMPV4_ROUTER_SOLICIT
 
typedef struct _ICMPV4_ROUTER_SOLICITPICMPV4_ROUTER_SOLICIT
 
typedef struct _ICMPV4_ROUTER_ADVERT_HEADER ICMPV4_ROUTER_ADVERT_HEADER
 
typedef struct _ICMPV4_ROUTER_ADVERT_HEADERPICMPV4_ROUTER_ADVERT_HEADER
 
typedef struct _ICMPV4_ROUTER_ADVERT_ENTRY ICMPV4_ROUTER_ADVERT_ENTRY
 
typedef struct _ICMPV4_ROUTER_ADVERT_ENTRYPICMPV4_ROUTER_ADVERT_ENTRY
 
typedef struct _ICMPV4_TIMESTAMP_MESSAGE ICMPV4_TIMESTAMP_MESSAGE
 
typedef struct _ICMPV4_TIMESTAMP_MESSAGEPICMPV4_TIMESTAMP_MESSAGE
 
typedef struct _ICMPV4_ADDRESS_MASK_MESSAGE ICMPV4_ADDRESS_MASK_MESSAGE
 
typedef struct _ICMPV4_ADDRESS_MASK_MESSAGEPICMPV4_ADDRESS_MASK_MESSAGE
 
typedef struct _ARP_HEADER ARP_HEADER
 
typedef struct _ARP_HEADERPARP_HEADER
 
typedef struct _IGMP_HEADER IGMP_HEADER
 
typedef struct _IGMP_HEADERPIGMP_HEADER
 
typedef struct _IGMPV3_QUERY_HEADER IGMPV3_QUERY_HEADER
 
typedef struct _IGMPV3_QUERY_HEADERPIGMPV3_QUERY_HEADER
 
typedef struct _IGMPV3_REPORT_RECORD_HEADER IGMPV3_REPORT_RECORD_HEADER
 
typedef struct _IGMPV3_REPORT_RECORD_HEADERPIGMPV3_REPORT_RECORD_HEADER
 
typedef struct _IGMPV3_REPORT_HEADER_ IGMPV3_REPORT_HEADER
 
typedef struct _IGMPV3_REPORT_HEADER_PIGMPV3_REPORT_HEADER
 
typedef struct _IPV6_HEADER IPV6_HEADER
 
typedef struct _IPV6_HEADERPIPV6_HEADER
 
typedef struct _IPV6_FRAGMENT_HEADER IPV6_FRAGMENT_HEADER
 
typedef struct _IPV6_FRAGMENT_HEADERPIPV6_FRAGMENT_HEADER
 
typedef struct _IPV6_EXTENSION_HEADER IPV6_EXTENSION_HEADER
 
typedef struct _IPV6_EXTENSION_HEADERPIPV6_EXTENSION_HEADER
 
typedef struct _IPV6_OPTION_HEADER IPV6_OPTION_HEADER
 
typedef struct _IPV6_OPTION_HEADERPIPV6_OPTION_HEADER
 
typedef enum IPV6_OPTION_TYPEPIPV6_OPTION_TYPE
 
typedef struct _IPV6_OPTION_JUMBOGRAM IPV6_OPTION_JUMBOGRAM
 
typedef struct _IPV6_OPTION_JUMBOGRAMPIPV6_OPTION_JUMBOGRAM
 
typedef struct _IPV6_OPTION_ROUTER_ALERT IPV6_OPTION_ROUTER_ALERT
 
typedef struct _IPV6_OPTION_ROUTER_ALERTPIPV6_OPTION_ROUTER_ALERT
 
typedef struct nd_router_solicit ND_ROUTER_SOLICIT_HEADER
 
typedef struct nd_router_solicitPND_ROUTER_SOLICIT_HEADER
 
typedef struct nd_router_advert ND_ROUTER_ADVERT_HEADER
 
typedef struct nd_router_advertPND_ROUTER_ADVERT_HEADER
 
typedef union _IPV6_ROUTER_ADVERTISEMENT_FLAGS IPV6_ROUTER_ADVERTISEMENT_FLAGS
 
typedef union _IPV6_ROUTER_ADVERTISEMENT_FLAGSPIPV6_ROUTER_ADVERTISEMENT_FLAGS
 
typedef struct nd_neighbor_solicit ND_NEIGHBOR_SOLICIT_HEADER
 
typedef struct nd_neighbor_solicitPND_NEIGHBOR_SOLICIT_HEADER
 
typedef struct nd_neighbor_advert ND_NEIGHBOR_ADVERT_HEADER
 
typedef struct nd_neighbor_advertPND_NEIGHBOR_ADVERT_HEADER
 
typedef union _IPV6_NEIGHBOR_ADVERTISEMENT_FLAGS IPV6_NEIGHBOR_ADVERTISEMENT_FLAGS
 
typedef union _IPV6_NEIGHBOR_ADVERTISEMENT_FLAGSPIPV6_NEIGHBOR_ADVERTISEMENT_FLAGS
 
typedef struct nd_redirect ND_REDIRECT_HEADER
 
typedef struct nd_redirectPND_REDIRECT_HEADER
 
typedef struct nd_opt_hdr ND_OPTION_HDR
 
typedef struct nd_opt_hdrPND_OPTION_HDR
 
typedef enum ND_OPTION_TYPEPND_OPTION_TYPE
 
typedef struct nd_opt_prefix_info ND_OPTION_PREFIX_INFO
 
typedef struct nd_opt_prefix_infoPND_OPTION_PREFIX_INFO
 
typedef struct nd_opt_rd_hdr ND_OPTION_RD_HDR
 
typedef struct nd_opt_rd_hdrPND_OPTION_RD_HDR
 
typedef struct nd_opt_mtu ND_OPTION_MTU
 
typedef struct nd_opt_mtuPND_OPTION_MTU
 
typedef struct nd_opt_route_info ND_OPTION_ROUTE_INFO
 
typedef struct nd_opt_route_infoPND_OPTION_ROUTE_INFO
 
typedef struct _MLD_HEADER MLD_HEADER
 
typedef struct _MLD_HEADERPMLD_HEADER
 
typedef struct _MLDV2_QUERY_HEADER MLDV2_QUERY_HEADER
 
typedef struct _MLDV2_QUERY_HEADERPMLDV2_QUERY_HEADER
 
typedef struct _MLDV2_REPORT_RECORD_HEADER MLDV2_REPORT_RECORD_HEADER
 
typedef struct _MLDV2_REPORT_RECORD_HEADERPMLDV2_REPORT_RECORD_HEADER
 
typedef struct _MLDV2_REPORT_HEADER MLDV2_REPORT_HEADER
 
typedef struct _MLDV2_REPORT_HEADERPMLDV2_REPORT_HEADER
 
typedef UINT32 SEQ_NUM
 
typedef UINT32PSEQ_NUM
 
typedef struct tcp_hdr TCP_HDR
 
typedef TCP_HDRPTCP_HDR
 
typedef struct tcp_opt_mss TCP_OPT_MSS
 
typedef struct tcp_opt_ws TCP_OPT_WS
 
typedef struct tcp_opt_sack_permitted TCP_OPT_SACK_PERMITTED
 
typedef struct tcp_opt_sack TCP_OPT_SACK
 
typedef struct tcp_opt_ts TCP_OPT_TS
 
typedef struct tcp_opt_unknown TCP_OPT_UNKNOWN
 
typedef struct DL_TUNNEL_ADDRESS DL_TUNNEL_ADDRESS
 
typedef struct DL_TUNNEL_ADDRESSPDL_TUNNEL_ADDRESS
 
typedef enum _TUNNEL_SUB_TYPE TUNNEL_SUB_TYPE
 
typedef enum _TUNNEL_SUB_TYPEPTUNNEL_SUB_TYPE
 
typedef struct DL_TEREDO_ADDRESS DL_TEREDO_ADDRESS
 
typedef struct DL_TEREDO_ADDRESSPDL_TEREDO_ADDRESS
 
typedef struct _IPTLS_METADATA IPTLS_METADATA
 
typedef struct _IPTLS_METADATAPIPTLS_METADATA
 
typedef enum _NPI_MODULEID_TYPE NPI_MODULEID_TYPE
 
typedef struct _NPI_MODULEID NPI_MODULEID
 
typedef CONST NPI_MODULEIDPNPI_MODULEID
 
typedef GUID NPIID
 
typedef CONST NPIIDPNPIID
 

Enumerations

enum  DL_ADDRESS_TYPE { DlUnicast , DlMulticast , DlBroadcast }
 
enum  TOKENRING_BROADCAST_INDICATOR { TokenRingSpecificallyRoutedFrame = 0 , TokenRingAllRoutesExplorer = 4 , TokenRingSpanningTreeExplorer = 6 }
 
enum  IPV4_OPTION_TYPE {
  IP_OPT_EOL = 0x00 , IP_OPT_NOP = 0x01 , IP_OPT_SECURITY = 0x82 , IP_OPT_LSRR = 0x83 ,
  IP_OPT_TS = 0x44 , IP_OPT_RR = 0x07 , IP_OPT_SSRR = 0x89 , IP_OPT_SID = 0x88 ,
  IP_OPT_ROUTER_ALERT = 0x94 , IP_OPT_MULTIDEST = 0x95
}
 
enum  IP_OPTION_TIMESTAMP_FLAGS { IP_OPTION_TIMESTAMP_ONLY = 0 , IP_OPTION_TIMESTAMP_ADDRESS = 1 , IP_OPTION_TIMESTAMP_SPECIFIC_ADDRESS = 3 }
 
enum  ICMP4_UNREACH_CODE {
  ICMP4_UNREACH_NET = 0 , ICMP4_UNREACH_HOST = 1 , ICMP4_UNREACH_PROTOCOL = 2 , ICMP4_UNREACH_PORT = 3 ,
  ICMP4_UNREACH_FRAG_NEEDED = 4 , ICMP4_UNREACH_SOURCEROUTE_FAILED = 5 , ICMP4_UNREACH_NET_UNKNOWN = 6 , ICMP4_UNREACH_HOST_UNKNOWN = 7 ,
  ICMP4_UNREACH_ISOLATED = 8 , ICMP4_UNREACH_NET_ADMIN = 9 , ICMP4_UNREACH_HOST_ADMIN = 10 , ICMP4_UNREACH_NET_TOS = 11 ,
  ICMP4_UNREACH_HOST_TOS = 12 , ICMP4_UNREACH_ADMIN = 13
}
 
enum  ICMP4_TIME_EXCEED_CODE { ICMP4_TIME_EXCEED_TRANSIT = 0 , ICMP4_TIME_EXCEED_REASSEMBLY = 1 }
 
enum  ARP_OPCODE { ARP_REQUEST = 1 , ARP_RESPONSE = 2 }
 
enum  ARP_HARDWARE_TYPE { ARP_HW_ENET = 1 , ARP_HW_802 = 6 }
 
enum  IGMP_MAX_RESP_CODE_TYPE { IGMP_MAX_RESP_CODE_TYPE_NORMAL = 0 , IGMP_MAX_RESP_CODE_TYPE_FLOAT }
 
enum  IPV6_OPTION_TYPE {
  IP6OPT_PAD1 = 0x00 , IP6OPT_PADN = 0x01 , IP6OPT_TUNNEL_LIMIT = 0x04 , IP6OPT_ROUTER_ALERT = 0x05 ,
  IP6OPT_JUMBO = 0xc2 , IP6OPT_NSAP_ADDR = 0xc3
}
 
enum  ND_OPTION_TYPE {
  ND_OPT_SOURCE_LINKADDR = 1 , ND_OPT_TARGET_LINKADDR = 2 , ND_OPT_PREFIX_INFORMATION = 3 , ND_OPT_REDIRECTED_HEADER = 4 ,
  ND_OPT_MTU = 5 , ND_OPT_NBMA_SHORTCUT_LIMIT = 6 , ND_OPT_ADVERTISEMENT_INTERVAL = 7 , ND_OPT_HOME_AGENT_INFORMATION = 8 ,
  ND_OPT_SOURCE_ADDR_LIST = 9 , ND_OPT_TARGET_ADDR_LIST = 10 , ND_OPT_ROUTE_INFO = 24
}
 
enum  MLD_MAX_RESP_CODE_TYPE { MLD_MAX_RESP_CODE_TYPE_NORMAL = 0 , MLD_MAX_RESP_CODE_TYPE_FLOAT }
 
enum  _TUNNEL_SUB_TYPE { TUNNEL_SUB_TYPE_NONE = 0 , TUNNEL_SUB_TYPE_CP = 1 , TUNNEL_SUB_TYPE_IPTLS = 2 }
 
enum  _NPI_MODULEID_TYPE { MIT_GUID = 1 , MIT_IF_LUID }
 

Functions

 C_ASSERT (DL_ADDRESS_LENGTH_MAXIMUM >=sizeof(DL_EUI48))
 
 C_ASSERT (ETH_LENGTH_OF_HEADER==sizeof(ETHERNET_HEADER))
 
 C_ASSERT (ETH_LENGTH_OF_SNAP_HEADER==sizeof(SNAP_HEADER))
 
 C_ASSERT (ETH_LENGTH_OF_VLAN_HEADER==sizeof(VLAN_TAG))
 
NETIO_INLINE DL_ADDRESS_TYPE EthernetAddressType (_In_reads_(sizeof(DL_EUI48)) CONST UCHAR *Address)
 
 C_ASSERT ((sizeof(TOKENRING_HEADER)+sizeof(SNAP_HEADER)+SOURCEROUTE_SIZE_MAXIMUM)< DL_HEADER_LENGTH_MAXIMUM)
 
__inline BOOLEAN TokenRingGetSourceRouteIndicator (_In_ CONST UNALIGNED DL_EUI48 *Source)
 
__inline VOID TokenRingSetSourceRouteIndicator (_Out_ UNALIGNED DL_EUI48 *Source)
 
__inline VOID TokenRingResetSourceRouteIndicator (_Out_ UNALIGNED DL_EUI48 *Source)
 
NETIO_INLINE DL_ADDRESS_TYPE TokenRingAddressType (_In_ CONST UCHAR *Address)
 
 C_ASSERT (sizeof(IPV4_HEADER)==20)
 
__inline UCHAR Ip4HeaderLengthInBytes (_In_ CONST UNALIGNED IPV4_HEADER *Header)
 
 C_ASSERT (sizeof(IPV4_OPTION_HEADER)==2)
 
 C_ASSERT (sizeof(IPV6_FRAGMENT_HEADER)==8)
 
typedef _Struct_size_bytes_ (_Inexpressible_(Length)) struct _IPV6_ROUTING_HEADER
 
 C_ASSERT (DL_ADDRESS_LENGTH_MAXIMUM >=DL_SIZEOF_IPV4_TUNNEL_ADDRESS)
 
 C_ASSERT (DL_ADDRESS_LENGTH_MAXIMUM >=sizeof(DL_TEREDO_ADDRESS))
 
__inline BOOLEAN NmrIsEqualNpiModuleId (_In_ PNPI_MODULEID ModuleId1, _In_ PNPI_MODULEID ModuleId2)
 

Variables

CONST DL_EUI48 eui48_broadcast
 
CONST SOURCEROUTE_HEADER sourceroute_unspecified
 
 IPV6_ROUTING_HEADER
 
PIPV6_ROUTING_HEADER
 
CONST NPI_MODULEID NPI_MS_NMR_MODULEID
 
CONST NPIID NPI_FRAMING_LAYER_ID
 
CONST NPI_MODULEID NPI_MS_TUN_MODULEID
 
CONST NPI_MODULEID NPI_MS_FL48_MODULEID
 
CONST NPI_MODULEID NPI_MS_FL68_MODULEID
 
CONST NPI_MODULEID NPI_MS_FL4L_MODULEID
 
CONST NPI_MODULEID NPI_MS_FL6L_MODULEID
 
CONST NPI_MODULEID NPI_MS_FL4T_MODULEID
 
CONST NPI_MODULEID NPI_MS_FL6T_MODULEID
 
CONST NPI_MODULEID NPI_MS_WANARPV4_MODULEID
 
CONST NPI_MODULEID NPI_MS_WANARPV6_MODULEID
 
CONST NPI_MODULEID NPI_MS_FL_WANARP_MODULEID
 
CONST NPI_MODULEID NPI_MS_NDIS_MODULEID
 
CONST NPIID NPI_NETWORK_LAYER_ID
 
CONST NPI_MODULEID NPI_MS_IPV6_MODULEID
 
CONST NPI_MODULEID NPI_MS_IPV4_MODULEID
 

Macro Definition Documentation

◆ _BIG_ENDIAN

#define _BIG_ENDIAN   4321

Definition at line 37 of file netiodef.h.

◆ _DEFINE_DL_ADDRESS_TYPE_

#define _DEFINE_DL_ADDRESS_TYPE_

Definition at line 378 of file netiodef.h.

◆ _LITTLE_ENDIAN

#define _LITTLE_ENDIAN   1234

Definition at line 36 of file netiodef.h.

◆ _PDP_ENDIAN

#define _PDP_ENDIAN   3412

Definition at line 38 of file netiodef.h.

◆ ARCNET_BROADCAST_MASK

#define ARCNET_BROADCAST_MASK   0xff

Definition at line 94 of file netiodef.h.

◆ ARCNET_BROADCAST_VALUE

#define ARCNET_BROADCAST_VALUE   0x00

Definition at line 95 of file netiodef.h.

◆ ARCNET_PROTOCOL_ARP

#define ARCNET_PROTOCOL_ARP   0xd5

Definition at line 96 of file netiodef.h.

◆ ARCNET_PROTOCOL_IPV4

#define ARCNET_PROTOCOL_IPV4   0xd4

Definition at line 97 of file netiodef.h.

◆ ARCNET_PROTOCOL_IPV6

#define ARCNET_PROTOCOL_IPV6   0xc4

Definition at line 98 of file netiodef.h.

◆ DL_ADDRESS_LENGTH_MAXIMUM

#define DL_ADDRESS_LENGTH_MAXIMUM   IF_MAX_PHYS_ADDRESS_LENGTH

Definition at line 54 of file netiodef.h.

◆ DL_ETHERNET_HEADER_LENGTH_MAXIMUM

#define DL_ETHERNET_HEADER_LENGTH_MAXIMUM   (sizeof(ETHERNET_HEADER) + sizeof(SNAP_HEADER))

Definition at line 56 of file netiodef.h.

◆ DL_HEADER_LENGTH_MAXIMUM

#define DL_HEADER_LENGTH_MAXIMUM   64

Definition at line 55 of file netiodef.h.

◆ DL_SIZEOF_IPV4_TUNNEL_ADDRESS

#define DL_SIZEOF_IPV4_TUNNEL_ADDRESS   DL_SIZEOF_TUNNEL_ADDRESS(sizeof(IN_ADDR))

Definition at line 369 of file netiodef.h.

◆ DL_SIZEOF_IPV6_TUNNEL_ADDRESS

#define DL_SIZEOF_IPV6_TUNNEL_ADDRESS   DL_SIZEOF_TUNNEL_ADDRESS(sizeof(IN6_ADDR))

Definition at line 370 of file netiodef.h.

◆ DL_SIZEOF_TUNNEL_ADDRESS

#define DL_SIZEOF_TUNNEL_ADDRESS (   AddressBytes)    (FIELD_OFFSET(DL_TUNNEL_ADDRESS, IpAddress) + (AddressBytes))

Definition at line 368 of file netiodef.h.

◆ DL_TUNNEL_HEADER_LENGTH_MAXIMUM

#define DL_TUNNEL_HEADER_LENGTH_MAXIMUM   max(sizeof(IPV4_HEADER), sizeof(IPV6_HEADER))

Definition at line 57 of file netiodef.h.

◆ ETH_LENGTH_OF_HEADER

#define ETH_LENGTH_OF_HEADER   14

Definition at line 70 of file netiodef.h.

◆ ETH_LENGTH_OF_SNAP_HEADER

#define ETH_LENGTH_OF_SNAP_HEADER   8

Definition at line 72 of file netiodef.h.

◆ ETH_LENGTH_OF_VLAN_HEADER

#define ETH_LENGTH_OF_VLAN_HEADER   4

Definition at line 71 of file netiodef.h.

◆ ETHERNET_TYPE_802_1Q

#define ETHERNET_TYPE_802_1Q   0x8100

Definition at line 78 of file netiodef.h.

◆ ETHERNET_TYPE_ARP

#define ETHERNET_TYPE_ARP   0x0806

Definition at line 76 of file netiodef.h.

◆ ETHERNET_TYPE_IPV4

#define ETHERNET_TYPE_IPV4   0x0800

Definition at line 75 of file netiodef.h.

◆ ETHERNET_TYPE_IPV6

#define ETHERNET_TYPE_IPV6   0x86dd

Definition at line 77 of file netiodef.h.

◆ ETHERNET_TYPE_MINIMUM

#define ETHERNET_TYPE_MINIMUM   0x0600

Definition at line 74 of file netiodef.h.

◆ EUI48_BROADCAST_INIT

#define EUI48_BROADCAST_INIT   {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}

Definition at line 59 of file netiodef.h.

◆ EXT_LEN_UNIT

#define EXT_LEN_UNIT   8

Definition at line 220 of file netiodef.h.

◆ FDDI_FRAMECODE

#define FDDI_FRAMECODE   0x57

Definition at line 91 of file netiodef.h.

◆ FDDI_MTU

#define FDDI_MTU   4352

Definition at line 92 of file netiodef.h.

◆ FL_PACKET_TYPE_FLAGS

Definition at line 372 of file netiodef.h.

◆ icmp4_cksum

#define icmp4_cksum   Header.Checksum

Definition at line 140 of file netiodef.h.

◆ icmp4_code

#define icmp4_code   Header.Code

Definition at line 139 of file netiodef.h.

◆ icmp4_data16

Definition at line 146 of file netiodef.h.

◆ icmp4_data32

Definition at line 145 of file netiodef.h.

◆ icmp4_data8

Definition at line 147 of file netiodef.h.

◆ icmp4_dataun

#define icmp4_dataun   Data

Definition at line 144 of file netiodef.h.

◆ icmp4_hdr

#define icmp4_hdr   _ICMPV4_MESSAGE

Definition at line 137 of file netiodef.h.

◆ icmp4_id

#define icmp4_id   icmp4_data16[0]

Definition at line 150 of file netiodef.h.

◆ icmp4_maxdelay

#define icmp4_maxdelay   icmp4_data16[0]

Definition at line 152 of file netiodef.h.

◆ icmp4_mtu

#define icmp4_mtu   icmp4_data32[0]

Definition at line 149 of file netiodef.h.

◆ icmp4_pptr

#define icmp4_pptr   icmp4_data32[0]

Definition at line 148 of file netiodef.h.

◆ icmp4_seq

#define icmp4_seq   icmp4_data16[1]

Definition at line 151 of file netiodef.h.

◆ icmp4_ts_cksum

#define icmp4_ts_cksum   Header.icmp4_cksum

Definition at line 170 of file netiodef.h.

◆ icmp4_ts_code

#define icmp4_ts_code   Header.icmp4_code

Definition at line 169 of file netiodef.h.

◆ icmp4_ts_id

#define icmp4_ts_id   Header.icmp4_id

Definition at line 171 of file netiodef.h.

◆ icmp4_ts_originate

#define icmp4_ts_originate   OriginateTimestamp

Definition at line 173 of file netiodef.h.

◆ icmp4_ts_receive

#define icmp4_ts_receive   ReceiveTimestamp

Definition at line 174 of file netiodef.h.

◆ icmp4_ts_seq

#define icmp4_ts_seq   Header.icmp4_seq

Definition at line 172 of file netiodef.h.

◆ icmp4_ts_transmit

#define icmp4_ts_transmit   TransmitTimestamp

Definition at line 175 of file netiodef.h.

◆ icmp4_ts_type

#define icmp4_ts_type   Header.icmp4_type

Definition at line 168 of file netiodef.h.

◆ icmp4_type

#define icmp4_type   Header.Type

Definition at line 138 of file netiodef.h.

◆ icmp4_un_data16

#define icmp4_un_data16   Data16

Definition at line 142 of file netiodef.h.

◆ icmp4_un_data32

#define icmp4_un_data32   Data32

Definition at line 141 of file netiodef.h.

◆ icmp4_un_data8

#define icmp4_un_data8   Data8

Definition at line 143 of file netiodef.h.

◆ icmp6_cksum

#define icmp6_cksum   Header.Checksum

Definition at line 267 of file netiodef.h.

◆ icmp6_code

#define icmp6_code   Header.Code

Definition at line 266 of file netiodef.h.

◆ icmp6_data16

Definition at line 274 of file netiodef.h.

◆ icmp6_data32

Definition at line 273 of file netiodef.h.

◆ icmp6_data8

Definition at line 275 of file netiodef.h.

◆ icmp6_dataun

#define icmp6_dataun   Data

Definition at line 271 of file netiodef.h.

◆ ICMP6_DST_UNREACH_ADDR

#define ICMP6_DST_UNREACH_ADDR   3

Definition at line 287 of file netiodef.h.

◆ ICMP6_DST_UNREACH_ADMIN

#define ICMP6_DST_UNREACH_ADMIN   1

Definition at line 285 of file netiodef.h.

◆ ICMP6_DST_UNREACH_BEYONDSCOPE

#define ICMP6_DST_UNREACH_BEYONDSCOPE   2

Definition at line 286 of file netiodef.h.

◆ ICMP6_DST_UNREACH_NOPORT

#define ICMP6_DST_UNREACH_NOPORT   4

Definition at line 288 of file netiodef.h.

◆ ICMP6_DST_UNREACH_NOROUTE

#define ICMP6_DST_UNREACH_NOROUTE   0

Definition at line 284 of file netiodef.h.

◆ icmp6_hdr

#define icmp6_hdr   _ICMPV6_MESSAGE

Definition at line 264 of file netiodef.h.

◆ icmp6_id

#define icmp6_id   icmp6_data16[0]

Definition at line 278 of file netiodef.h.

◆ ICMP6_INFOMSG_MASK

#define ICMP6_INFOMSG_MASK   0x80

Definition at line 282 of file netiodef.h.

◆ icmp6_maxdelay

#define icmp6_maxdelay   icmp6_data16[0]

Definition at line 280 of file netiodef.h.

◆ icmp6_mtu

#define icmp6_mtu   icmp6_data32[0]

Definition at line 277 of file netiodef.h.

◆ ICMP6_PARAMPROB_HEADER

#define ICMP6_PARAMPROB_HEADER   0

Definition at line 293 of file netiodef.h.

◆ ICMP6_PARAMPROB_NEXTHEADER

#define ICMP6_PARAMPROB_NEXTHEADER   1

Definition at line 294 of file netiodef.h.

◆ ICMP6_PARAMPROB_OPTION

#define ICMP6_PARAMPROB_OPTION   2

Definition at line 295 of file netiodef.h.

◆ icmp6_pptr

#define icmp6_pptr   icmp6_data32[0]

Definition at line 276 of file netiodef.h.

◆ icmp6_seq

#define icmp6_seq   icmp6_data16[1]

Definition at line 279 of file netiodef.h.

◆ ICMP6_TIME_EXCEED_REASSEMBLY

#define ICMP6_TIME_EXCEED_REASSEMBLY   1

Definition at line 291 of file netiodef.h.

◆ ICMP6_TIME_EXCEED_TRANSIT

#define ICMP6_TIME_EXCEED_TRANSIT   0

Definition at line 290 of file netiodef.h.

◆ icmp6_type

Definition at line 265 of file netiodef.h.

◆ icmp6_un_data16

#define icmp6_un_data16   Data16

Definition at line 269 of file netiodef.h.

◆ icmp6_un_data32

#define icmp6_un_data32   Data32

Definition at line 268 of file netiodef.h.

◆ icmp6_un_data8

#define icmp6_un_data8   Data8

Definition at line 270 of file netiodef.h.

◆ ICMPV4_INVALID_PREFERENCE_LEVEL

#define ICMPV4_INVALID_PREFERENCE_LEVEL   0x80000000

Definition at line 166 of file netiodef.h.

◆ ICMPV6_ECHO_REQUEST_FLAG_REVERSE

#define ICMPV6_ECHO_REQUEST_FLAG_REVERSE   0x1

Definition at line 297 of file netiodef.h.

◆ IGMP_LEAVE_GROUP_TYPE

#define IGMP_LEAVE_GROUP_TYPE   0x17

Definition at line 180 of file netiodef.h.

◆ IGMP_QUERY_TYPE

#define IGMP_QUERY_TYPE   0x11

Definition at line 177 of file netiodef.h.

◆ IGMP_VERSION1_REPORT_TYPE

#define IGMP_VERSION1_REPORT_TYPE   0x12

Definition at line 178 of file netiodef.h.

◆ IGMP_VERSION2_REPORT_TYPE

#define IGMP_VERSION2_REPORT_TYPE   0x16

Definition at line 179 of file netiodef.h.

◆ IGMP_VERSION3_REPORT_TYPE

#define IGMP_VERSION3_REPORT_TYPE   0x22

Definition at line 181 of file netiodef.h.

◆ ip4_dest

#define ip4_dest   DestinationAddress

Definition at line 114 of file netiodef.h.

◆ ip4_flags

#define ip4_flags   Flags

Definition at line 108 of file netiodef.h.

◆ ip4_flags_offset

#define ip4_flags_offset   FlagsAndOffset

Definition at line 107 of file netiodef.h.

◆ ip4_hdr

#define ip4_hdr   _IPV4_HEADER

Definition at line 100 of file netiodef.h.

◆ ip4_hlen

#define ip4_hlen   HeaderLength

Definition at line 103 of file netiodef.h.

◆ ip4_id

#define ip4_id   Identification

Definition at line 106 of file netiodef.h.

◆ ip4_len

#define ip4_len   TotalLength

Definition at line 105 of file netiodef.h.

◆ IP4_OFF_MASK

#define IP4_OFF_MASK   0xff1f

Definition at line 135 of file netiodef.h.

◆ ip4_offset

#define ip4_offset   FragmentOffset

Definition at line 109 of file netiodef.h.

◆ ip4_protocol

#define ip4_protocol   Protocol

Definition at line 111 of file netiodef.h.

◆ ip4_src

#define ip4_src   SourceAddress

Definition at line 113 of file netiodef.h.

◆ ip4_tos

#define ip4_tos   TypeOfService

Definition at line 104 of file netiodef.h.

◆ ip4_ttl

#define ip4_ttl   TimeToLive

Definition at line 110 of file netiodef.h.

◆ ip4_ver

#define ip4_ver   Version

Definition at line 102 of file netiodef.h.

◆ ip4_ver_hlen

#define ip4_ver_hlen   VersionAndHeaderLength

Definition at line 101 of file netiodef.h.

◆ ip4_xsum

#define ip4_xsum   HeaderChecksum

Definition at line 112 of file netiodef.h.

◆ ip6_dest

Definition at line 233 of file netiodef.h.

◆ ip6_dst

#define ip6_dst   DestinationAddress

Definition at line 190 of file netiodef.h.

◆ ip6_flow

#define ip6_flow   VersionClassFlow

Definition at line 184 of file netiodef.h.

◆ ip6_frag

#define ip6_frag   _IPV6_FRAGMENT_HEADER

Definition at line 210 of file netiodef.h.

◆ ip6_hbh

Definition at line 230 of file netiodef.h.

◆ ip6_hdr

Definition at line 183 of file netiodef.h.

◆ ip6_hlim

#define ip6_hlim   HopLimit

Definition at line 188 of file netiodef.h.

◆ ip6_hops

#define ip6_hops   HopLimit

Definition at line 187 of file netiodef.h.

◆ ip6_nxt

#define ip6_nxt   NextHeader

Definition at line 186 of file netiodef.h.

◆ ip6_opt_jumbo

#define ip6_opt_jumbo   _IPV6_OPTION_JUMBOGRAM

Definition at line 246 of file netiodef.h.

◆ ip6_opt_router

#define ip6_opt_router   _IPV6_OPTION_ROUTER_ALERT

Definition at line 251 of file netiodef.h.

◆ ip6_plen

#define ip6_plen   PayloadLength

Definition at line 185 of file netiodef.h.

◆ ip6_rthdr

#define ip6_rthdr   _IPV6_ROUTING_HEADER

Definition at line 258 of file netiodef.h.

◆ ip6_src

#define ip6_src   SourceAddress

Definition at line 189 of file netiodef.h.

◆ ip6d_len

#define ip6d_len   Length

Definition at line 235 of file netiodef.h.

◆ ip6d_nxt

#define ip6d_nxt   NextHeader

Definition at line 234 of file netiodef.h.

◆ ip6f_ident

#define ip6f_ident   Id

Definition at line 214 of file netiodef.h.

◆ IP6F_MORE_FRAG

#define IP6F_MORE_FRAG   0x0100

Definition at line 218 of file netiodef.h.

◆ ip6f_nxt

#define ip6f_nxt   NextHeader

Definition at line 211 of file netiodef.h.

◆ IP6F_OFF_MASK

#define IP6F_OFF_MASK   0xf8ff

Definition at line 216 of file netiodef.h.

◆ ip6f_offlg

#define ip6f_offlg   OffsetAndFlags

Definition at line 213 of file netiodef.h.

◆ ip6f_reserved

#define ip6f_reserved   Reserved

Definition at line 212 of file netiodef.h.

◆ IP6F_RESERVED_MASK

#define IP6F_RESERVED_MASK   0x0600

Definition at line 217 of file netiodef.h.

◆ ip6h_len

#define ip6h_len   Length

Definition at line 232 of file netiodef.h.

◆ ip6h_nxt

#define ip6h_nxt   NextHeader

Definition at line 231 of file netiodef.h.

◆ ip6oj_jumbo_len

#define ip6oj_jumbo_len   JumbogramLength

Definition at line 249 of file netiodef.h.

◆ ip6oj_len

#define ip6oj_len   Header.DataLength

Definition at line 248 of file netiodef.h.

◆ ip6oj_type

#define ip6oj_type   Header.Type

Definition at line 247 of file netiodef.h.

◆ IP6OPT_ISMUTABLE

#define IP6OPT_ISMUTABLE (   Type)    (((Type) & IP6OPT_MUTABLE) != 0)

Definition at line 244 of file netiodef.h.

◆ IP6OPT_MUTABLE

#define IP6OPT_MUTABLE   0x20

Definition at line 243 of file netiodef.h.

◆ IP6OPT_TYPE

#define IP6OPT_TYPE (   Type)    ((Type) & 0xc0)

Definition at line 237 of file netiodef.h.

◆ IP6OPT_TYPE_DISCARD

#define IP6OPT_TYPE_DISCARD   0x40

Definition at line 239 of file netiodef.h.

◆ IP6OPT_TYPE_FORCEICMP

#define IP6OPT_TYPE_FORCEICMP   0x80

Definition at line 240 of file netiodef.h.

◆ IP6OPT_TYPE_ICMP

#define IP6OPT_TYPE_ICMP   0xc0

Definition at line 241 of file netiodef.h.

◆ IP6OPT_TYPE_SKIP

#define IP6OPT_TYPE_SKIP   0x00

Definition at line 238 of file netiodef.h.

◆ ip6or_len

#define ip6or_len   Header.DataLength

Definition at line 253 of file netiodef.h.

◆ ip6or_type

#define ip6or_type   Header.Type

Definition at line 252 of file netiodef.h.

◆ ip6or_value

#define ip6or_value   Value

Definition at line 254 of file netiodef.h.

◆ ip6r_len

#define ip6r_len   Length

Definition at line 260 of file netiodef.h.

◆ ip6r_nxt

#define ip6r_nxt   NextHeader

Definition at line 259 of file netiodef.h.

◆ ip6r_segleft

#define ip6r_segleft   SegmentsLeft

Definition at line 262 of file netiodef.h.

◆ ip6r_type

#define ip6r_type   RoutingType

Definition at line 261 of file netiodef.h.

◆ IP_AUTHENTICATION_HEADER_BLOCKS

#define IP_AUTHENTICATION_HEADER_BLOCKS (   Length)    (((Length + sizeof(AUTHENTICATION_HEADER)) / 4) - 2)

Definition at line 226 of file netiodef.h.

◆ IP_AUTHENTICATION_HEADER_LENGTH

#define IP_AUTHENTICATION_HEADER_LENGTH (   Blocks)    ((Blocks + 2) * 4)

Definition at line 225 of file netiodef.h.

◆ IP_VER_MASK [1/2]

#define IP_VER_MASK   0xF0

Definition at line 192 of file netiodef.h.

◆ IP_VER_MASK [2/2]

#define IP_VER_MASK   0xF0

Definition at line 192 of file netiodef.h.

◆ IPV4_DEFAULT_VERHLEN

#define IPV4_DEFAULT_VERHLEN   ((IPV4_VERSION << 4) | (sizeof(IPV4_HEADER) / sizeof(UINT32)))

Definition at line 118 of file netiodef.h.

◆ IPV4_MINIMUM_MTU

#define IPV4_MINIMUM_MTU   576

Definition at line 126 of file netiodef.h.

◆ IPV4_MINIMUM_ULMTU

#define IPV4_MINIMUM_ULMTU   (IPV4_MINIMUM_MTU - sizeof(IPV4_HEADER))

Definition at line 127 of file netiodef.h.

◆ IPV4_TOS_MASK

#define IPV4_TOS_MASK   0xFC

Definition at line 119 of file netiodef.h.

◆ IPV4_VERSION

#define IPV4_VERSION   4

Definition at line 117 of file netiodef.h.

◆ IPV6_ECN_MASK

#define IPV6_ECN_MASK   0x00003000

Definition at line 196 of file netiodef.h.

◆ IPV6_ECN_SHIFT

#define IPV6_ECN_SHIFT   12

Definition at line 201 of file netiodef.h.

◆ IPV6_EXTENSION_HEADER_BLOCKS

#define IPV6_EXTENSION_HEADER_BLOCKS (   Length)    ((Length / EXT_LEN_UNIT) - 1)

Definition at line 224 of file netiodef.h.

◆ IPV6_EXTENSION_HEADER_LENGTH

#define IPV6_EXTENSION_HEADER_LENGTH (   Blocks)    ((Blocks + 1) * EXT_LEN_UNIT)

Definition at line 222 of file netiodef.h.

◆ IPV6_FLOW_LABEL_MASK

#define IPV6_FLOW_LABEL_MASK   0xFFFF0F00

Definition at line 197 of file netiodef.h.

◆ IPV6_MINIMUM_MTU

#define IPV6_MINIMUM_MTU   1280

Definition at line 203 of file netiodef.h.

◆ IPV6_MINIMUM_ULMTU

#define IPV6_MINIMUM_ULMTU   (IPV6_MINIMUM_MTU - sizeof(IPV6_HEADER))

Definition at line 204 of file netiodef.h.

◆ IPV6_ROUTER_ALERT_LENGTH

#define IPV6_ROUTER_ALERT_LENGTH   IPV6_EXTENSION_HEADER_LENGTH(0)

Definition at line 228 of file netiodef.h.

◆ IPV6_TRAFFIC_CLASS

#define IPV6_TRAFFIC_CLASS (   VersionClassFlow)
Value:
((UCHAR)((((VersionClassFlow) & IPV6_TRAFFIC_CLASS_MASK) >> 12) + \
(((VersionClassFlow) & IPV6_TRAFFIC_CLASS_MASK) << 4)))
#define IPV6_TRAFFIC_CLASS_MASK
Definition: netiodef.h:195
unsigned char UCHAR
Definition: xmlstorage.h:181

Definition at line 206 of file netiodef.h.

◆ IPV6_TRAFFIC_CLASS_MASK

#define IPV6_TRAFFIC_CLASS_MASK   0x0000C00F

Definition at line 195 of file netiodef.h.

◆ IPV6_VERSION

#define IPV6_VERSION   0x60

Definition at line 193 of file netiodef.h.

◆ IS_POWER_OF_TWO

#define IS_POWER_OF_TWO (   x)    (((x) != 0) && (((x) & ((x) - 1)) == 0))

Definition at line 31 of file netiodef.h.

◆ IS_VALID_IPV4_MASK

#define IS_VALID_IPV4_MASK (   x)    ((x.S_un.S_addr == (ULONG)-1) || IS_POWER_OF_TWO(~RtlUlongByteSwap(x.S_un.S_addr)+1))

Definition at line 32 of file netiodef.h.

◆ MAKE_DD_DEVICE_NAME

#define MAKE_DD_DEVICE_NAME (   x)    (L"\\Device\\" x)

Definition at line 51 of file netiodef.h.

◆ MAKE_WIN_DEVICE_NAME

#define MAKE_WIN_DEVICE_NAME (   x)    (L"\\\\.\\" x)

Definition at line 52 of file netiodef.h.

◆ MAX_IP_OPTIONS_LENGTH

#define MAX_IP_OPTIONS_LENGTH   ((0xF * sizeof(UINT32)) - sizeof(IPV4_HEADER))

Definition at line 129 of file netiodef.h.

◆ MAX_IPV4_HLEN

#define MAX_IPV4_HLEN   60

Definition at line 124 of file netiodef.h.

◆ MAX_IPV4_PACKET

#define MAX_IPV4_PACKET   65535

Definition at line 121 of file netiodef.h.

◆ MAX_IPV4_PAYLOAD

#define MAX_IPV4_PAYLOAD   (MAX_IPV4_PACKET - sizeof(IPV4_HEADER))

Definition at line 122 of file netiodef.h.

◆ MAX_IPV6_EXTENSION_HEADER_LENGTH

#define MAX_IPV6_EXTENSION_HEADER_LENGTH   IPV6_EXTENSION_HEADER_LENGTH(0xFF)

Definition at line 223 of file netiodef.h.

◆ MAX_IPV6_PACKET

#define MAX_IPV6_PACKET   (MAX_IPV6_PAYLOAD + sizeof(IPV6_HEADER))

Definition at line 199 of file netiodef.h.

◆ MAX_IPV6_PAYLOAD

#define MAX_IPV6_PAYLOAD   65535

Definition at line 198 of file netiodef.h.

◆ mld_checksum

#define mld_checksum   IcmpHeader.Checksum

Definition at line 375 of file netiodef.h.

◆ mld_type

#define mld_type   IcmpHeader.Type

Definition at line 374 of file netiodef.h.

◆ nd_na_cksum

#define nd_na_cksum   nd_na_hdr.icmp6_cksum

Definition at line 322 of file netiodef.h.

◆ nd_na_code

#define nd_na_code   nd_na_hdr.icmp6_code

Definition at line 321 of file netiodef.h.

◆ ND_NA_FLAG_OVERRIDE

#define ND_NA_FLAG_OVERRIDE   0x00000020

Definition at line 332 of file netiodef.h.

◆ ND_NA_FLAG_ROUTER

#define ND_NA_FLAG_ROUTER   0x00000080

Definition at line 330 of file netiodef.h.

◆ ND_NA_FLAG_SOLICITED

#define ND_NA_FLAG_SOLICITED   0x00000040

Definition at line 331 of file netiodef.h.

◆ nd_na_flags_reserved

#define nd_na_flags_reserved   nd_na_hdr.icmp6_data32[0]

Definition at line 323 of file netiodef.h.

◆ nd_na_type

#define nd_na_type   nd_na_hdr.icmp6_type

Definition at line 320 of file netiodef.h.

◆ nd_ns_cksum

#define nd_ns_cksum   nd_ns_hdr.icmp6_cksum

Definition at line 317 of file netiodef.h.

◆ nd_ns_code

#define nd_ns_code   nd_ns_hdr.icmp6_code

Definition at line 316 of file netiodef.h.

◆ nd_ns_reserved

#define nd_ns_reserved   nd_ns_hdr.icmp6_data32[0]

Definition at line 318 of file netiodef.h.

◆ nd_ns_type

#define nd_ns_type   nd_ns_hdr.icmp6_type

Definition at line 315 of file netiodef.h.

◆ ND_OPT_PI_FLAG_AUTO

#define ND_OPT_PI_FLAG_AUTO   0x40

Definition at line 341 of file netiodef.h.

◆ ND_OPT_PI_FLAG_ONLINK

#define ND_OPT_PI_FLAG_ONLINK   0x80

Definition at line 340 of file netiodef.h.

◆ ND_OPT_PI_FLAG_ROUTE

#define ND_OPT_PI_FLAG_ROUTE   0x01

Definition at line 344 of file netiodef.h.

◆ ND_OPT_PI_FLAG_ROUTER_ADDR

#define ND_OPT_PI_FLAG_ROUTER_ADDR   0x20

Definition at line 342 of file netiodef.h.

◆ ND_OPT_PI_FLAG_SITE_PREFIX

#define ND_OPT_PI_FLAG_SITE_PREFIX   0x10

Definition at line 343 of file netiodef.h.

◆ ND_OPT_RI_FLAG_PREFERENCE

#define ND_OPT_RI_FLAG_PREFERENCE   0x18

Definition at line 346 of file netiodef.h.

◆ nd_ra_cksum

#define nd_ra_cksum   nd_ra_hdr.icmp6_cksum

Definition at line 306 of file netiodef.h.

◆ nd_ra_code

#define nd_ra_code   nd_ra_hdr.icmp6_code

Definition at line 305 of file netiodef.h.

◆ nd_ra_curhoplimit

#define nd_ra_curhoplimit   nd_ra_hdr.icmp6_data8[0]

Definition at line 307 of file netiodef.h.

◆ ND_RA_FLAG_HOME_AGENT

#define ND_RA_FLAG_HOME_AGENT   0x20

Definition at line 311 of file netiodef.h.

◆ ND_RA_FLAG_MANAGED

#define ND_RA_FLAG_MANAGED   0x80

Definition at line 309 of file netiodef.h.

◆ ND_RA_FLAG_OTHER

#define ND_RA_FLAG_OTHER   0x40

Definition at line 310 of file netiodef.h.

◆ ND_RA_FLAG_PREFERENCE

#define ND_RA_FLAG_PREFERENCE   0x18

Definition at line 312 of file netiodef.h.

◆ nd_ra_flags_reserved

#define nd_ra_flags_reserved   nd_ra_hdr.icmp6_data8[1]

Definition at line 308 of file netiodef.h.

◆ nd_ra_router_lifetime

#define nd_ra_router_lifetime   nd_ra_hdr.icmp6_data16[1]

Definition at line 313 of file netiodef.h.

◆ nd_ra_type

#define nd_ra_type   nd_ra_hdr.icmp6_type

Definition at line 304 of file netiodef.h.

◆ nd_rd_cksum

#define nd_rd_cksum   nd_rd_hdr.icmp6_cksum

Definition at line 337 of file netiodef.h.

◆ nd_rd_code

#define nd_rd_code   nd_rd_hdr.icmp6_code

Definition at line 336 of file netiodef.h.

◆ nd_rd_reserved

#define nd_rd_reserved   nd_rd_hdr.icmp6_data32[0]

Definition at line 338 of file netiodef.h.

◆ nd_rd_type

#define nd_rd_type   nd_rd_hdr.icmp6_type

Definition at line 335 of file netiodef.h.

◆ nd_rs_cksum

#define nd_rs_cksum   nd_rs_hdr.icmp6_cksum

Definition at line 301 of file netiodef.h.

◆ nd_rs_code

#define nd_rs_code   nd_rs_hdr.icmp6_code

Definition at line 300 of file netiodef.h.

◆ nd_rs_reserved

#define nd_rs_reserved   nd_rs_hdr.icmp6_data32[0]

Definition at line 302 of file netiodef.h.

◆ nd_rs_type

#define nd_rs_type   nd_rs_hdr.icmp6_type

Definition at line 299 of file netiodef.h.

◆ NETIO_INLINE

#define NETIO_INLINE   __forceinline

Definition at line 27 of file netiodef.h.

◆ RaAddrEntrySize

#define RaAddrEntrySize   RaHeader.icmp4_data8[1]

Definition at line 163 of file netiodef.h.

◆ RaAddrLifetime

#define RaAddrLifetime   RaHeader.icmp4_data16[1]

Definition at line 164 of file netiodef.h.

◆ RaCksum

Definition at line 161 of file netiodef.h.

◆ RaCode

Definition at line 160 of file netiodef.h.

◆ RaNumAddr

#define RaNumAddr   RaHeader.icmp4_data8[0]

Definition at line 162 of file netiodef.h.

◆ RaType

Definition at line 159 of file netiodef.h.

◆ RsCksum

Definition at line 156 of file netiodef.h.

◆ RsCode

Definition at line 155 of file netiodef.h.

◆ RsReserved

#define RsReserved   RsHeader.icmp4_data32[0]

Definition at line 157 of file netiodef.h.

◆ RsType

Definition at line 154 of file netiodef.h.

◆ SIZEOF_IP_OPT_ROUTERALERT

#define SIZEOF_IP_OPT_ROUTERALERT   4

Definition at line 134 of file netiodef.h.

◆ SIZEOF_IP_OPT_ROUTING_HEADER

#define SIZEOF_IP_OPT_ROUTING_HEADER   3

Definition at line 130 of file netiodef.h.

◆ SIZEOF_IP_OPT_SECURITY

#define SIZEOF_IP_OPT_SECURITY   11

Definition at line 132 of file netiodef.h.

◆ SIZEOF_IP_OPT_STREAMIDENTIFIER

#define SIZEOF_IP_OPT_STREAMIDENTIFIER   4

Definition at line 133 of file netiodef.h.

◆ SIZEOF_IP_OPT_TIMESTAMP_HEADER

#define SIZEOF_IP_OPT_TIMESTAMP_HEADER   4

Definition at line 131 of file netiodef.h.

◆ SIZEOF_IPV6_ROUTERALERT

#define SIZEOF_IPV6_ROUTERALERT   IPV6_EXTENSION_HEADER_LENGTH(0)

Definition at line 256 of file netiodef.h.

◆ SNAP_CONTROL

#define SNAP_CONTROL   0x03

Definition at line 63 of file netiodef.h.

◆ SNAP_DSAP

#define SNAP_DSAP   0xaa

Definition at line 61 of file netiodef.h.

◆ SNAP_OUI

#define SNAP_OUI   0x00

Definition at line 64 of file netiodef.h.

◆ SNAP_SSAP

#define SNAP_SSAP   0xaa

Definition at line 62 of file netiodef.h.

◆ SNAP_TYPE_ARP

#define SNAP_TYPE_ARP   ETHERNET_TYPE_ARP

Definition at line 66 of file netiodef.h.

◆ SNAP_TYPE_IPV4

#define SNAP_TYPE_IPV4   ETHERNET_TYPE_IPV4

Definition at line 67 of file netiodef.h.

◆ SNAP_TYPE_IPV6

#define SNAP_TYPE_IPV6   ETHERNET_TYPE_IPV6

Definition at line 68 of file netiodef.h.

◆ SOURCEROUTE_RD_MAXIMUM

#define SOURCEROUTE_RD_MAXIMUM   8

Definition at line 83 of file netiodef.h.

◆ SOURCEROUTE_SIZE_MAXIMUM

#define SOURCEROUTE_SIZE_MAXIMUM   (sizeof(SOURCEROUTE_HEADER) + 2 * SOURCEROUTE_RD_MAXIMUM)

Definition at line 84 of file netiodef.h.

◆ SOURCEROUTE_UNSPECIFIED_INIT

#define SOURCEROUTE_UNSPECIFIED_INIT   {{sizeof(SOURCEROUTE_HEADER), TokenRingSpanningTreeExplorer}, {0}}

Definition at line 86 of file netiodef.h.

◆ TH_ACK

#define TH_ACK   0x10

Definition at line 353 of file netiodef.h.

◆ TH_ALL

#define TH_ALL   (TH_FIN | TH_SYN | TH_RST | TH_PSH | TH_ACK | TH_URG | TH_ECE | TH_CWR)

Definition at line 357 of file netiodef.h.

◆ TH_CWR

#define TH_CWR   0x80

Definition at line 356 of file netiodef.h.

◆ TH_ECE

#define TH_ECE   0x40

Definition at line 355 of file netiodef.h.

◆ TH_FIN

#define TH_FIN   0x01

Definition at line 349 of file netiodef.h.

◆ TH_MAX_LEN

#define TH_MAX_LEN   (0x0F << 2)

Definition at line 348 of file netiodef.h.

◆ TH_OPT_EOL

#define TH_OPT_EOL   0x00

Definition at line 360 of file netiodef.h.

◆ TH_OPT_MSS

#define TH_OPT_MSS   0x02

Definition at line 362 of file netiodef.h.

◆ TH_OPT_NOP

#define TH_OPT_NOP   0x01

Definition at line 361 of file netiodef.h.

◆ TH_OPT_SACK

#define TH_OPT_SACK   0x05

Definition at line 365 of file netiodef.h.

◆ TH_OPT_SACK_PERMITTED

#define TH_OPT_SACK_PERMITTED   0x04

Definition at line 364 of file netiodef.h.

◆ TH_OPT_TS

#define TH_OPT_TS   0x08

Definition at line 366 of file netiodef.h.

◆ TH_OPT_WS

#define TH_OPT_WS   0x03

Definition at line 363 of file netiodef.h.

◆ TH_PSH

#define TH_PSH   0x08

Definition at line 352 of file netiodef.h.

◆ TH_RST

#define TH_RST   0x04

Definition at line 351 of file netiodef.h.

◆ TH_SYN

#define TH_SYN   0x02

Definition at line 350 of file netiodef.h.

◆ TH_SYN_ALL

#define TH_SYN_ALL   (TH_FIN | TH_SYN | TH_RST | TH_ACK)

Definition at line 358 of file netiodef.h.

◆ TH_URG

#define TH_URG   0x20

Definition at line 354 of file netiodef.h.

◆ TOKENRING_ACCESSCONTROL

#define TOKENRING_ACCESSCONTROL   0x10

Definition at line 80 of file netiodef.h.

◆ TOKENRING_FRAMECONTROL

#define TOKENRING_FRAMECONTROL   0x40

Definition at line 81 of file netiodef.h.

◆ TOKENRING_MTU_DEFAULT

#define TOKENRING_MTU_DEFAULT   1500

Definition at line 88 of file netiodef.h.

◆ TOKENRING_SOURCEROUTE_INDICATOR

#define TOKENRING_SOURCEROUTE_INDICATOR   0x80

Definition at line 89 of file netiodef.h.

Typedef Documentation

◆ ARCNET_HEADER

◆ ARP_HEADER

◆ DL_EI48

typedef union _DL_EI48 DL_EI48

Definition at line 398 of file netiodef.h.

◆ DL_EI64

typedef union _DL_EI64 DL_EI64

Definition at line 415 of file netiodef.h.

◆ DL_EUI64

typedef union _DL_EUI64 DL_EUI64

Definition at line 432 of file netiodef.h.

◆ DL_OUI

typedef union _DL_OUI DL_OUI

Definition at line 393 of file netiodef.h.

◆ DL_TEREDO_ADDRESS

◆ DL_TUNNEL_ADDRESS

◆ ETHERNET_HEADER

◆ FDDI_HEADER

◆ HANDLE16

typedef UINT16 HANDLE16

Definition at line 47 of file netiodef.h.

◆ HANDLE32

typedef UINT32 HANDLE32

Definition at line 48 of file netiodef.h.

◆ HANDLE64

typedef UINT64 HANDLE64

Definition at line 49 of file netiodef.h.

◆ HANDLE8

typedef UINT8 HANDLE8

Definition at line 46 of file netiodef.h.

◆ ICMP_HEADER

◆ ICMP_MESSAGE

◆ ICMPV4_ADDRESS_MASK_MESSAGE

◆ ICMPV4_HEADER

Definition at line 712 of file netiodef.h.

◆ ICMPV4_MESSAGE

Definition at line 713 of file netiodef.h.

◆ ICMPV4_ROUTER_ADVERT_ENTRY

◆ ICMPV4_ROUTER_ADVERT_HEADER

◆ ICMPV4_ROUTER_SOLICIT

◆ ICMPV4_TIMESTAMP_MESSAGE

◆ ICMPV6_HEADER

Definition at line 593 of file netiodef.h.

◆ ICMPV6_MESSAGE

Definition at line 594 of file netiodef.h.

◆ IGMP_HEADER

◆ IGMPV3_QUERY_HEADER

◆ IGMPV3_REPORT_HEADER

◆ IGMPV3_REPORT_RECORD_HEADER

◆ IPTLS_METADATA

◆ IPV4_HEADER

◆ IPV4_OPTION_HEADER

◆ IPV4_ROUTING_HEADER

◆ IPV4_TIMESTAMP_OPTION

◆ IPV6_EXTENSION_HEADER

◆ IPV6_FRAGMENT_HEADER

◆ IPV6_HEADER

◆ IPV6_NEIGHBOR_ADVERTISEMENT_FLAGS

◆ IPV6_OPTION_HEADER

◆ IPV6_OPTION_JUMBOGRAM

◆ IPV6_OPTION_ROUTER_ALERT

◆ IPV6_ROUTER_ADVERTISEMENT_FLAGS

◆ MLD_HEADER

◆ MLDV2_QUERY_HEADER

◆ MLDV2_REPORT_HEADER

◆ MLDV2_REPORT_RECORD_HEADER

◆ ND_NEIGHBOR_ADVERT_HEADER

◆ ND_NEIGHBOR_SOLICIT_HEADER

◆ ND_OPTION_HDR

◆ ND_OPTION_MTU

◆ ND_OPTION_PREFIX_INFO

◆ ND_OPTION_RD_HDR

◆ ND_OPTION_ROUTE_INFO

◆ ND_REDIRECT_HEADER

◆ ND_ROUTER_ADVERT_HEADER

◆ ND_ROUTER_SOLICIT_HEADER

◆ NPI_MODULEID

◆ NPI_MODULEID_TYPE

◆ NPIID

typedef GUID NPIID

Definition at line 1247 of file netiodef.h.

◆ PARCNET_HEADER

◆ PARP_HEADER

◆ PDL_ADDRESS_TYPE

◆ PDL_EI48

typedef union _DL_EI48 * PDL_EI48

Definition at line 398 of file netiodef.h.

◆ PDL_EI64

typedef union _DL_EI64 * PDL_EI64

Definition at line 415 of file netiodef.h.

◆ PDL_EUI64

typedef union _DL_EUI64 * PDL_EUI64

Definition at line 432 of file netiodef.h.

◆ PDL_OUI

typedef union _DL_OUI * PDL_OUI

Definition at line 393 of file netiodef.h.

◆ PDL_TEREDO_ADDRESS

◆ PDL_TUNNEL_ADDRESS

◆ PETHERNET_HEADER

◆ PFDDI_HEADER

◆ PHANDLE16

typedef UINT16 * PHANDLE16

Definition at line 47 of file netiodef.h.

◆ PHANDLE32

typedef UINT32 * PHANDLE32

Definition at line 48 of file netiodef.h.

◆ PHANDLE64

typedef UINT64 * PHANDLE64

Definition at line 49 of file netiodef.h.

◆ PHANDLE8

typedef UINT8 * PHANDLE8

Definition at line 46 of file netiodef.h.

◆ PICMP4_TIME_EXCEED_CODE

◆ PICMP4_UNREACH_CODE

◆ PICMP_HEADER

◆ PICMP_MESSAGE

◆ PICMPV4_ADDRESS_MASK_MESSAGE

◆ PICMPV4_HEADER

Definition at line 712 of file netiodef.h.

◆ PICMPV4_MESSAGE

Definition at line 713 of file netiodef.h.

◆ PICMPV4_ROUTER_ADVERT_ENTRY

◆ PICMPV4_ROUTER_ADVERT_HEADER

◆ PICMPV4_ROUTER_SOLICIT

◆ PICMPV4_TIMESTAMP_MESSAGE

◆ PICMPV6_HEADER

Definition at line 593 of file netiodef.h.

◆ PICMPV6_MESSAGE

Definition at line 594 of file netiodef.h.

◆ PIGMP_HEADER

◆ PIGMPV3_QUERY_HEADER

◆ PIGMPV3_REPORT_HEADER

◆ PIGMPV3_REPORT_RECORD_HEADER

◆ PIPTLS_METADATA

◆ PIPV4_HEADER

◆ PIPV4_OPTION_HEADER

◆ PIPV4_ROUTING_HEADER

◆ PIPV4_TIMESTAMP_OPTION

◆ PIPV6_EXTENSION_HEADER

◆ PIPV6_FRAGMENT_HEADER

◆ PIPV6_HEADER

◆ PIPV6_NEIGHBOR_ADVERTISEMENT_FLAGS

◆ PIPV6_OPTION_HEADER

◆ PIPV6_OPTION_JUMBOGRAM

◆ PIPV6_OPTION_ROUTER_ALERT

◆ PIPV6_OPTION_TYPE

◆ PIPV6_ROUTER_ADVERTISEMENT_FLAGS

◆ PMLD_HEADER

◆ PMLDV2_QUERY_HEADER

◆ PMLDV2_REPORT_HEADER

◆ PMLDV2_REPORT_RECORD_HEADER

◆ PND_NEIGHBOR_ADVERT_HEADER

◆ PND_NEIGHBOR_SOLICIT_HEADER

◆ PND_OPTION_HDR

◆ PND_OPTION_MTU

◆ PND_OPTION_PREFIX_INFO

◆ PND_OPTION_RD_HDR

◆ PND_OPTION_ROUTE_INFO

◆ PND_OPTION_TYPE

◆ PND_REDIRECT_HEADER

◆ PND_ROUTER_ADVERT_HEADER

◆ PND_ROUTER_SOLICIT_HEADER

◆ PNPI_MODULEID

Definition at line 1216 of file netiodef.h.

◆ PNPIID

typedef CONST NPIID* PNPIID

Definition at line 1248 of file netiodef.h.

◆ PSEQ_NUM

typedef UINT32 * PSEQ_NUM

Definition at line 1092 of file netiodef.h.

◆ PSNAP_HEADER

◆ PSOURCEROUTE_HEADER

◆ PTCP_HDR

typedef TCP_HDR* PTCP_HDR

Definition at line 1111 of file netiodef.h.

◆ PTOKENRING_BROADCAST_INDICATOR

◆ PTOKENRING_HEADER

◆ PTUNNEL_SUB_TYPE

◆ SEQ_NUM

typedef UINT32 SEQ_NUM

Definition at line 1092 of file netiodef.h.

◆ SNAP_HEADER

◆ SOURCEROUTE_HEADER

◆ TCP_HDR

◆ TCP_OPT_MSS

◆ TCP_OPT_SACK

◆ TCP_OPT_SACK_PERMITTED

◆ TCP_OPT_TS

◆ TCP_OPT_UNKNOWN

◆ TCP_OPT_WS

◆ TOKENRING_HEADER

◆ TUNNEL_SUB_TYPE

◆ VLAN_TAG

Enumeration Type Documentation

◆ _NPI_MODULEID_TYPE

Enumerator
MIT_GUID 
MIT_IF_LUID 

Definition at line 1191 of file netiodef.h.

1191 {
1192 MIT_GUID = 1,
enum _NPI_MODULEID_TYPE NPI_MODULEID_TYPE
@ MIT_IF_LUID
Definition: netiodef.h:1193
@ MIT_GUID
Definition: netiodef.h:1192

◆ _TUNNEL_SUB_TYPE

Enumerator
TUNNEL_SUB_TYPE_NONE 
TUNNEL_SUB_TYPE_CP 
TUNNEL_SUB_TYPE_IPTLS 

Definition at line 1163 of file netiodef.h.

1163 {
@ TUNNEL_SUB_TYPE_NONE
Definition: netiodef.h:1164
@ TUNNEL_SUB_TYPE_IPTLS
Definition: netiodef.h:1166
@ TUNNEL_SUB_TYPE_CP
Definition: netiodef.h:1165
enum _TUNNEL_SUB_TYPE TUNNEL_SUB_TYPE
enum _TUNNEL_SUB_TYPE * PTUNNEL_SUB_TYPE

◆ ARP_HARDWARE_TYPE

Enumerator
ARP_HW_ENET 
ARP_HW_802 

Definition at line 776 of file netiodef.h.

776 {
777 ARP_HW_ENET = 1,
778 ARP_HW_802 = 6
ARP_HARDWARE_TYPE
Definition: netiodef.h:776
@ ARP_HW_802
Definition: netiodef.h:778
@ ARP_HW_ENET
Definition: netiodef.h:777

◆ ARP_OPCODE

Enumerator
ARP_REQUEST 
ARP_RESPONSE 

Definition at line 771 of file netiodef.h.

771 {
772 ARP_REQUEST = 1,
773 ARP_RESPONSE = 2
774} ARP_OPCODE;
ARP_OPCODE
Definition: netiodef.h:771
@ ARP_RESPONSE
Definition: netiodef.h:773
@ ARP_REQUEST
Definition: netiodef.h:772

◆ DL_ADDRESS_TYPE

Enumerator
DlUnicast 
DlMulticast 
DlBroadcast 

Definition at line 379 of file netiodef.h.

379 {
380 DlUnicast,
DL_ADDRESS_TYPE
Definition: netiodef.h:379
@ DlBroadcast
Definition: netiodef.h:382
@ DlUnicast
Definition: netiodef.h:380
@ DlMulticast
Definition: netiodef.h:381
enum DL_ADDRESS_TYPE * PDL_ADDRESS_TYPE

◆ ICMP4_TIME_EXCEED_CODE

Enumerator
ICMP4_TIME_EXCEED_TRANSIT 
ICMP4_TIME_EXCEED_REASSEMBLY 

Definition at line 732 of file netiodef.h.

732 {
enum ICMP4_TIME_EXCEED_CODE * PICMP4_TIME_EXCEED_CODE
ICMP4_TIME_EXCEED_CODE
Definition: netiodef.h:732
@ ICMP4_TIME_EXCEED_TRANSIT
Definition: netiodef.h:733
@ ICMP4_TIME_EXCEED_REASSEMBLY
Definition: netiodef.h:734

◆ ICMP4_UNREACH_CODE

Enumerator
ICMP4_UNREACH_NET 
ICMP4_UNREACH_HOST 
ICMP4_UNREACH_PROTOCOL 
ICMP4_UNREACH_PORT 
ICMP4_UNREACH_FRAG_NEEDED 
ICMP4_UNREACH_SOURCEROUTE_FAILED 
ICMP4_UNREACH_NET_UNKNOWN 
ICMP4_UNREACH_HOST_UNKNOWN 
ICMP4_UNREACH_ISOLATED 
ICMP4_UNREACH_NET_ADMIN 
ICMP4_UNREACH_HOST_ADMIN 
ICMP4_UNREACH_NET_TOS 
ICMP4_UNREACH_HOST_TOS 
ICMP4_UNREACH_ADMIN 

Definition at line 715 of file netiodef.h.

715 {
enum ICMP4_UNREACH_CODE * PICMP4_UNREACH_CODE
ICMP4_UNREACH_CODE
Definition: netiodef.h:715
@ ICMP4_UNREACH_HOST_TOS
Definition: netiodef.h:728
@ ICMP4_UNREACH_HOST_UNKNOWN
Definition: netiodef.h:723
@ ICMP4_UNREACH_FRAG_NEEDED
Definition: netiodef.h:720
@ ICMP4_UNREACH_SOURCEROUTE_FAILED
Definition: netiodef.h:721
@ ICMP4_UNREACH_ISOLATED
Definition: netiodef.h:724
@ ICMP4_UNREACH_NET
Definition: netiodef.h:716
@ ICMP4_UNREACH_HOST_ADMIN
Definition: netiodef.h:726
@ ICMP4_UNREACH_NET_UNKNOWN
Definition: netiodef.h:722
@ ICMP4_UNREACH_PROTOCOL
Definition: netiodef.h:718
@ ICMP4_UNREACH_ADMIN
Definition: netiodef.h:729
@ ICMP4_UNREACH_NET_TOS
Definition: netiodef.h:727
@ ICMP4_UNREACH_PORT
Definition: netiodef.h:719
@ ICMP4_UNREACH_NET_ADMIN
Definition: netiodef.h:725
@ ICMP4_UNREACH_HOST
Definition: netiodef.h:717

◆ IGMP_MAX_RESP_CODE_TYPE

Enumerator
IGMP_MAX_RESP_CODE_TYPE_NORMAL 
IGMP_MAX_RESP_CODE_TYPE_FLOAT 

Definition at line 798 of file netiodef.h.

798 {
IGMP_MAX_RESP_CODE_TYPE
Definition: netiodef.h:798
@ IGMP_MAX_RESP_CODE_TYPE_NORMAL
Definition: netiodef.h:799
@ IGMP_MAX_RESP_CODE_TYPE_FLOAT
Definition: netiodef.h:800

◆ IP_OPTION_TIMESTAMP_FLAGS

Enumerator
IP_OPTION_TIMESTAMP_ONLY 
IP_OPTION_TIMESTAMP_ADDRESS 
IP_OPTION_TIMESTAMP_SPECIFIC_ADDRESS 

Definition at line 697 of file netiodef.h.

697 {
IP_OPTION_TIMESTAMP_FLAGS
Definition: netiodef.h:697
@ IP_OPTION_TIMESTAMP_ADDRESS
Definition: netiodef.h:699
@ IP_OPTION_TIMESTAMP_ONLY
Definition: netiodef.h:698
@ IP_OPTION_TIMESTAMP_SPECIFIC_ADDRESS
Definition: netiodef.h:700

◆ IPV4_OPTION_TYPE

Enumerator
IP_OPT_EOL 
IP_OPT_NOP 
IP_OPT_SECURITY 
IP_OPT_LSRR 
IP_OPT_TS 
IP_OPT_RR 
IP_OPT_SSRR 
IP_OPT_SID 
IP_OPT_ROUTER_ALERT 
IP_OPT_MULTIDEST 

Definition at line 665 of file netiodef.h.

665 {
666 IP_OPT_EOL = 0x00,
667 IP_OPT_NOP = 0x01,
668 IP_OPT_SECURITY = 0x82,
669 IP_OPT_LSRR = 0x83,
670 IP_OPT_TS = 0x44,
671 IP_OPT_RR = 0x07,
672 IP_OPT_SSRR = 0x89,
673 IP_OPT_SID = 0x88,
674 IP_OPT_ROUTER_ALERT = 0x94,
675 IP_OPT_MULTIDEST = 0x95,
IPV4_OPTION_TYPE
Definition: netiodef.h:665
@ IP_OPT_TS
Definition: netiodef.h:670
@ IP_OPT_SSRR
Definition: netiodef.h:672
@ IP_OPT_SID
Definition: netiodef.h:673
@ IP_OPT_ROUTER_ALERT
Definition: netiodef.h:674
@ IP_OPT_RR
Definition: netiodef.h:671
@ IP_OPT_NOP
Definition: netiodef.h:667
@ IP_OPT_LSRR
Definition: netiodef.h:669
@ IP_OPT_SECURITY
Definition: netiodef.h:668
@ IP_OPT_MULTIDEST
Definition: netiodef.h:675
@ IP_OPT_EOL
Definition: netiodef.h:666

◆ IPV6_OPTION_TYPE

Enumerator
IP6OPT_PAD1 
IP6OPT_PADN 
IP6OPT_TUNNEL_LIMIT 
IP6OPT_ROUTER_ALERT 
IP6OPT_JUMBO 
IP6OPT_NSAP_ADDR 

Definition at line 890 of file netiodef.h.

890 {
891 IP6OPT_PAD1 = 0x00,
892 IP6OPT_PADN = 0x01,
893 IP6OPT_TUNNEL_LIMIT = 0x04,
894 IP6OPT_ROUTER_ALERT = 0x05,
895 IP6OPT_JUMBO = 0xc2,
896 IP6OPT_NSAP_ADDR = 0xc3,
IPV6_OPTION_TYPE
Definition: netiodef.h:890
@ IP6OPT_NSAP_ADDR
Definition: netiodef.h:896
@ IP6OPT_ROUTER_ALERT
Definition: netiodef.h:894
@ IP6OPT_PAD1
Definition: netiodef.h:891
@ IP6OPT_PADN
Definition: netiodef.h:892
@ IP6OPT_JUMBO
Definition: netiodef.h:895
@ IP6OPT_TUNNEL_LIMIT
Definition: netiodef.h:893
enum IPV6_OPTION_TYPE * PIPV6_OPTION_TYPE

◆ MLD_MAX_RESP_CODE_TYPE

Enumerator
MLD_MAX_RESP_CODE_TYPE_NORMAL 
MLD_MAX_RESP_CODE_TYPE_FLOAT 

Definition at line 1047 of file netiodef.h.

1047 {
MLD_MAX_RESP_CODE_TYPE
Definition: netiodef.h:1047
@ MLD_MAX_RESP_CODE_TYPE_NORMAL
Definition: netiodef.h:1048
@ MLD_MAX_RESP_CODE_TYPE_FLOAT
Definition: netiodef.h:1049

◆ ND_OPTION_TYPE

Enumerator
ND_OPT_SOURCE_LINKADDR 
ND_OPT_TARGET_LINKADDR 
ND_OPT_PREFIX_INFORMATION 
ND_OPT_REDIRECTED_HEADER 
ND_OPT_MTU 
ND_OPT_NBMA_SHORTCUT_LIMIT 
ND_OPT_ADVERTISEMENT_INTERVAL 
ND_OPT_HOME_AGENT_INFORMATION 
ND_OPT_SOURCE_ADDR_LIST 
ND_OPT_TARGET_ADDR_LIST 
ND_OPT_ROUTE_INFO 

Definition at line 970 of file netiodef.h.

970 {
975 ND_OPT_MTU = 5,
ND_OPTION_TYPE
Definition: netiodef.h:970
@ ND_OPT_ADVERTISEMENT_INTERVAL
Definition: netiodef.h:977
@ ND_OPT_TARGET_ADDR_LIST
Definition: netiodef.h:980
@ ND_OPT_NBMA_SHORTCUT_LIMIT
Definition: netiodef.h:976
@ ND_OPT_REDIRECTED_HEADER
Definition: netiodef.h:974
@ ND_OPT_SOURCE_ADDR_LIST
Definition: netiodef.h:979
@ ND_OPT_MTU
Definition: netiodef.h:975
@ ND_OPT_TARGET_LINKADDR
Definition: netiodef.h:972
@ ND_OPT_HOME_AGENT_INFORMATION
Definition: netiodef.h:978
@ ND_OPT_PREFIX_INFORMATION
Definition: netiodef.h:973
@ ND_OPT_ROUTE_INFO
Definition: netiodef.h:981
@ ND_OPT_SOURCE_LINKADDR
Definition: netiodef.h:971
enum ND_OPTION_TYPE * PND_OPTION_TYPE

◆ TOKENRING_BROADCAST_INDICATOR

Enumerator
TokenRingSpecificallyRoutedFrame 
TokenRingAllRoutesExplorer 
TokenRingSpanningTreeExplorer 

Definition at line 513 of file netiodef.h.

513 {
TOKENRING_BROADCAST_INDICATOR
Definition: netiodef.h:513
@ TokenRingAllRoutesExplorer
Definition: netiodef.h:515
@ TokenRingSpecificallyRoutedFrame
Definition: netiodef.h:514
@ TokenRingSpanningTreeExplorer
Definition: netiodef.h:516
enum TOKENRING_BROADCAST_INDICATOR * PTOKENRING_BROADCAST_INDICATOR

Function Documentation

◆ _Struct_size_bytes_()

typedef _Struct_size_bytes_ ( _Inexpressible_(Length )

Definition at line 909 of file netiodef.h.

909 {
910 UCHAR NextHeader;
912 UCHAR RoutingType;
913 UCHAR SegmentsLeft;
914 UCHAR Reserved[4];
* PIPV6_ROUTING_HEADER
Definition: netiodef.h:915
IPV6_ROUTING_HEADER
Definition: netiodef.h:915
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:102
_Reserved_ PVOID Reserved
Definition: winddi.h:3974

◆ C_ASSERT() [1/10]

C_ASSERT ( )

◆ C_ASSERT() [2/10]

C_ASSERT ( DL_ADDRESS_LENGTH_MAXIMUM >=  DL_SIZEOF_IPV4_TUNNEL_ADDRESS)

◆ C_ASSERT() [3/10]

C_ASSERT ( DL_ADDRESS_LENGTH_MAXIMUM >=  sizeofDL_EUI48)

◆ C_ASSERT() [4/10]

C_ASSERT ( DL_ADDRESS_LENGTH_MAXIMUM >=  sizeofDL_TEREDO_ADDRESS)

◆ C_ASSERT() [5/10]

◆ C_ASSERT() [6/10]

◆ C_ASSERT() [7/10]

◆ C_ASSERT() [8/10]

C_ASSERT ( sizeof(IPV4_HEADER = =20)

◆ C_ASSERT() [9/10]

C_ASSERT ( sizeof(IPV4_OPTION_HEADER = =2)

◆ C_ASSERT() [10/10]

C_ASSERT ( sizeof(IPV6_FRAGMENT_HEADER = =8)

◆ EthernetAddressType()

NETIO_INLINE DL_ADDRESS_TYPE EthernetAddressType ( _In_reads_(sizeof(DL_EUI48)) CONST UCHAR Address)

Definition at line 470 of file netiodef.h.

472{
473 if (((PDL_EUI48) Address)->Oui.Group)
474 {
475 if (RtlEqualMemory(Address, &eui48_broadcast, sizeof(DL_EUI48)))
476 {
477 return DlBroadcast;
478 }
479 return DlMulticast;
480 }
481 else
482 {
483 return DlUnicast;
484 }
485}
#define RtlEqualMemory(dst, src, len)
Definition: kdvm.h:18
CONST DL_EUI48 eui48_broadcast
static WCHAR Address[46]
Definition: ping.c:68

◆ Ip4HeaderLengthInBytes()

__inline UCHAR Ip4HeaderLengthInBytes ( _In_ CONST UNALIGNED IPV4_HEADER Header)

Definition at line 634 of file netiodef.h.

636{
637 return (Header->HeaderLength << 2);
638}
Definition: Header.h:9

◆ NmrIsEqualNpiModuleId()

__inline BOOLEAN NmrIsEqualNpiModuleId ( _In_ PNPI_MODULEID  ModuleId1,
_In_ PNPI_MODULEID  ModuleId2 
)

Definition at line 1221 of file netiodef.h.

1224{
1225 if (ModuleId1->Type == ModuleId2->Type)
1226 {
1227 if (ModuleId1->Type == MIT_GUID)
1228 {
1229#ifdef __cplusplus
1230 return !!InlineIsEqualGUID(ModuleId1->Guid, ModuleId2->Guid);
1231#else
1232 return (BOOLEAN)InlineIsEqualGUID(&ModuleId1->Guid,
1233 &ModuleId2->Guid);
1234#endif
1235 }
1236 else if (ModuleId1->Type == MIT_IF_LUID)
1237 {
1238 return (BOOLEAN)RtlEqualMemory(&ModuleId1->IfLuid,
1239 &ModuleId2->IfLuid,
1240 sizeof(LUID));
1241 }
1242 }
1243 return FALSE;
1244}
unsigned char BOOLEAN
#define FALSE
Definition: types.h:117
#define InlineIsEqualGUID(rguid1, rguid2)
Definition: guiddef.h:142

◆ TokenRingAddressType()

NETIO_INLINE DL_ADDRESS_TYPE TokenRingAddressType ( _In_ CONST UCHAR Address)

Definition at line 549 of file netiodef.h.

551{
553 {
554 if (RtlEqualMemory(Address, &eui48_broadcast, sizeof(DL_EUI48)))
555 {
556 return DlBroadcast;
557 }
558 return DlMulticast;
559 }
560 else
561 {
562 return DlUnicast;
563 }
564}
__inline BOOLEAN TokenRingGetSourceRouteIndicator(_In_ CONST UNALIGNED DL_EUI48 *Source)
Definition: netiodef.h:525

◆ TokenRingGetSourceRouteIndicator()

__inline BOOLEAN TokenRingGetSourceRouteIndicator ( _In_ CONST UNALIGNED DL_EUI48 *  Source)

Definition at line 525 of file netiodef.h.

527{
528 return ((Source->Byte[0] & TOKENRING_SOURCEROUTE_INDICATOR) != 0);
529}
_In_ UINT _In_ UINT _In_ PNDIS_PACKET Source
Definition: ndis.h:3169
#define TOKENRING_SOURCEROUTE_INDICATOR
Definition: netiodef.h:89

Referenced by TokenRingAddressType().

◆ TokenRingResetSourceRouteIndicator()

__inline VOID TokenRingResetSourceRouteIndicator ( _Out_ UNALIGNED DL_EUI48 *  Source)

Definition at line 541 of file netiodef.h.

543{
544 Source->Byte[0] &= ~TOKENRING_SOURCEROUTE_INDICATOR;
545}

◆ TokenRingSetSourceRouteIndicator()

__inline VOID TokenRingSetSourceRouteIndicator ( _Out_ UNALIGNED DL_EUI48 *  Source)

Definition at line 533 of file netiodef.h.

535{
537}

Variable Documentation

◆ eui48_broadcast

CONST DL_EUI48 eui48_broadcast
extern

◆ IPV6_ROUTING_HEADER

IPV6_ROUTING_HEADER

Definition at line 915 of file netiodef.h.

◆ NPI_FRAMING_LAYER_ID

CONST NPIID NPI_FRAMING_LAYER_ID
extern

◆ NPI_MS_FL48_MODULEID

CONST NPI_MODULEID NPI_MS_FL48_MODULEID
extern

◆ NPI_MS_FL4L_MODULEID

CONST NPI_MODULEID NPI_MS_FL4L_MODULEID
extern

◆ NPI_MS_FL4T_MODULEID

CONST NPI_MODULEID NPI_MS_FL4T_MODULEID
extern

◆ NPI_MS_FL68_MODULEID

CONST NPI_MODULEID NPI_MS_FL68_MODULEID
extern

◆ NPI_MS_FL6L_MODULEID

CONST NPI_MODULEID NPI_MS_FL6L_MODULEID
extern

◆ NPI_MS_FL6T_MODULEID

CONST NPI_MODULEID NPI_MS_FL6T_MODULEID
extern

◆ NPI_MS_FL_WANARP_MODULEID

CONST NPI_MODULEID NPI_MS_FL_WANARP_MODULEID
extern

◆ NPI_MS_IPV4_MODULEID

CONST NPI_MODULEID NPI_MS_IPV4_MODULEID
extern

◆ NPI_MS_IPV6_MODULEID

CONST NPI_MODULEID NPI_MS_IPV6_MODULEID
extern

◆ NPI_MS_NDIS_MODULEID

CONST NPI_MODULEID NPI_MS_NDIS_MODULEID
extern

◆ NPI_MS_NMR_MODULEID

CONST NPI_MODULEID NPI_MS_NMR_MODULEID
extern

◆ NPI_MS_TUN_MODULEID

CONST NPI_MODULEID NPI_MS_TUN_MODULEID
extern

◆ NPI_MS_WANARPV4_MODULEID

CONST NPI_MODULEID NPI_MS_WANARPV4_MODULEID
extern

◆ NPI_MS_WANARPV6_MODULEID

CONST NPI_MODULEID NPI_MS_WANARPV6_MODULEID
extern

◆ NPI_NETWORK_LAYER_ID

CONST NPIID NPI_NETWORK_LAYER_ID
extern

◆ PIPV6_ROUTING_HEADER

* PIPV6_ROUTING_HEADER

Definition at line 915 of file netiodef.h.

◆ sourceroute_unspecified

CONST SOURCEROUTE_HEADER sourceroute_unspecified
extern