1 /** 2 * This file has no copyright assigned and is placed in the Public Domain. 3 * This file is part of the mingw-w64 runtime package. 4 * No warranty is given; refer to the file DISCLAIMER.PD within this package. 5 */ 6 #ifndef _INC_NLDEF 7 #define _INC_NLDEF 8 9 typedef enum _NL_ADDRESS_TYPE { 10 NlatUnspecified, 11 NlatUnicast, 12 NlatAnycast, 13 NlatMulticast, 14 NlatBroadcast, 15 NlatInvalid 16 } NL_ADDRESS_TYPE, *PNL_ADDRESS_TYPE; 17 18 typedef enum _NL_DAD_STATE { 19 NldsInvalid = 0, 20 NldsTentative, 21 NldsDuplicate, 22 NldsDeprecated, 23 NldsPreferred, 24 25 IpDadStateInvalid = 0, 26 IpDadStateTentative, 27 IpDadStateDuplicate, 28 IpDadStateDeprecated, 29 IpDadStatePreferred 30 } NL_DAD_STATE; 31 32 typedef enum _NL_LINK_LOCAL_ADDRESS_BEHAVIOR { 33 LinkLocalAlwaysOff = 0, 34 LinkLocalDelayed, 35 LinkLocalAlwaysOn, 36 LinkLocalUnchanged = -1 37 } NL_LINK_LOCAL_ADDRESS_BEHAVIOR; 38 39 typedef enum _NL_NEIGHBOR_STATE { 40 NlnsUnreachable, 41 NlnsIncomplete, 42 NlnsProbe, 43 NlnsDelay, 44 NlnsStale, 45 NlnsReachable, 46 NlnsPermanent, 47 NlnsMaximum 48 } NL_NEIGHBOR_STATE, *PNL_NEIGHBOR_STATE; 49 50 typedef enum _tag_NL_PREFIX_ORIGIN { 51 IpPrefixOriginOther = 0, 52 IpPrefixOriginManual, 53 IpPrefixOriginWellKnown, 54 IpPrefixOriginDhcp, 55 IpPrefixOriginRouterAdvertisement, 56 IpPrefixOriginUnchanged = 1 << 4 57 } NL_PREFIX_ORIGIN; 58 59 typedef enum _NL_ROUTE_ORIGIN { 60 NlroManual, 61 NlroWellKnown, 62 NlroDHCP, 63 NlroRouterAdvertisement, 64 Nlro6to4 65 } NL_ROUTE_ORIGIN, *PNL_ROUTE_ORIGIN; 66 67 typedef enum _NL_ROUTE_PROTOCOL { 68 RouteProtocolOther = 1, 69 RouteProtocolLocal, 70 RouteProtocolNetMgmt, 71 RouteProtocolIcmp, 72 RouteProtocolEgp, 73 RouteProtocolGgp, 74 RouteProtocolHello, 75 RouteProtocolRip, 76 RouteProtocolIsIs, 77 RouteProtocolEsIs, 78 RouteProtocolCisco, 79 RouteProtocolBbn, 80 RouteProtocolOspf, 81 RouteProtocolBgp, 82 83 MIB_IPPROTO_OTHER = 1, 84 PROTO_IP_OTHER = 1, 85 MIB_IPPROTO_LOCAL = 2, 86 PROTO_IP_LOCAL = 2, 87 MIB_IPPROTO_NETMGMT = 3, 88 PROTO_IP_NETMGMT = 3, 89 MIB_IPPROTO_ICMP = 4, 90 PROTO_IP_ICMP = 4, 91 MIB_IPPROTO_EGP = 5, 92 PROTO_IP_EGP = 5, 93 MIB_IPPROTO_GGP = 6, 94 PROTO_IP_GGP = 6, 95 MIB_IPPROTO_HELLO = 7, 96 PROTO_IP_HELLO = 7, 97 MIB_IPPROTO_RIP = 8, 98 PROTO_IP_RIP = 8, 99 MIB_IPPROTO_IS_IS = 9, 100 PROTO_IP_IS_IS = 9, 101 MIB_IPPROTO_ES_IS = 10, 102 PROTO_IP_ES_IS = 10, 103 MIB_IPPROTO_CISCO = 11, 104 PROTO_IP_CISCO = 11, 105 MIB_IPPROTO_BBN = 12, 106 PROTO_IP_BBN = 12, 107 MIB_IPPROTO_OSPF = 13, 108 PROTO_IP_OSPF = 13, 109 MIB_IPPROTO_BGP = 14, 110 PROTO_IP_BGP = 14, 111 MIB_IPPROTO_NT_AUTOSTATIC = 10002, 112 PROTO_IP_NT_AUTOSTATIC = 10002, 113 MIB_IPPROTO_NT_STATIC = 10006, 114 PROTO_IP_NT_STATIC = 10006, 115 MIB_IPPROTO_NT_STATIC_NON_DOD = 10007, 116 PROTO_IP_NT_STATIC_NON_DOD = 10007 117 } NL_ROUTE_PROTOCOL, *PNL_ROUTE_PROTOCOL; 118 119 typedef enum _NL_ROUTER_DISCOVERY_BEHAVIOR { 120 RouterDiscoveryDisabled = 0, 121 RouterDiscoveryEnabled, 122 RouterDiscoveryDhcp, 123 RouterDiscoveryUnchanged = -1 124 } NL_ROUTER_DISCOVERY_BEHAVIOR; 125 126 typedef enum _tag_NL_SUFFIX_ORIGIN { 127 NlsoOther = 0, 128 NlsoManual, 129 NlsoWellKnown, 130 NlsoDhcp, 131 NlsoLinkLayerAddress, 132 NlsoRandom, 133 134 IpSuffixOriginOther = 0, 135 IpSuffixOriginManual, 136 IpSuffixOriginWellKnown, 137 IpSuffixOriginDhcp, 138 IpSuffixOriginLinkLayerAddress, 139 IpSuffixOriginRandom, 140 IpSuffixOriginUnchanged = 1 << 4 141 } NL_SUFFIX_ORIGIN; 142 143 typedef struct _NL_INTERFACE_OFFLOAD_ROD { 144 BOOLEAN NlChecksumSupported :1; 145 BOOLEAN NlOptionsSupported :1; 146 BOOLEAN TlDatagramChecksumSupported :1; 147 BOOLEAN TlStreamChecksumSupported :1; 148 BOOLEAN TlStreamOptionsSupported :1; 149 BOOLEAN FastPathCompatible : 1; 150 BOOLEAN TlLargeSendOffloadSupported :1; 151 BOOLEAN TlGiantSendOffloadSupported :1; 152 } NL_INTERFACE_OFFLOAD_ROD, *PNL_INTERFACE_OFFLOAD_ROD; 153 154 #endif /*_INC_NLDEF*/ 155 156