source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/nldef.h@ 1180

Last change on this file since 1180 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 4.6 KB
Line 
1/**
2 * This file is part of the mingw-w64 runtime package.
3 * No warranty is given; refer to the file DISCLAIMER within this package.
4 */
5
6#ifndef _NLDEF_
7#define _NLDEF_
8#include <winapifamily.h>
9
10#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) || _WIN32_WINNT >= 0x0A00
11
12typedef enum {
13 NldsInvalid,
14 NldsTentative,
15 NldsDuplicate,
16 NldsDeprecated,
17 NldsPreferred,
18 IpDadStateInvalid = 0,
19 IpDadStateTentative,
20 IpDadStateDuplicate,
21 IpDadStateDeprecated,
22 IpDadStatePreferred,
23} NL_DAD_STATE;
24
25#define MAKE_ROUTE_PROTOCOL(N, V) MIB_IPPROTO_ ## N = V, PROTO_IP_ ## N = V
26
27typedef enum {
28 RouteProtocolOther = 1,
29 RouteProtocolLocal = 2,
30 RouteProtocolNetMgmt = 3,
31 RouteProtocolIcmp = 4,
32 RouteProtocolEgp = 5,
33 RouteProtocolGgp = 6,
34 RouteProtocolHello = 7,
35 RouteProtocolRip = 8,
36 RouteProtocolIsIs = 9,
37 RouteProtocolEsIs = 10,
38 RouteProtocolCisco = 11,
39 RouteProtocolBbn = 12,
40 RouteProtocolOspf = 13,
41 RouteProtocolBgp = 14,
42
43 MAKE_ROUTE_PROTOCOL (OTHER, 1),
44 MAKE_ROUTE_PROTOCOL (LOCAL, 2),
45 MAKE_ROUTE_PROTOCOL (NETMGMT, 3),
46 MAKE_ROUTE_PROTOCOL (ICMP, 4),
47 MAKE_ROUTE_PROTOCOL (EGP, 5),
48 MAKE_ROUTE_PROTOCOL (GGP, 6),
49 MAKE_ROUTE_PROTOCOL (HELLO, 7),
50 MAKE_ROUTE_PROTOCOL (RIP, 8),
51 MAKE_ROUTE_PROTOCOL (IS_IS, 9),
52 MAKE_ROUTE_PROTOCOL (ES_IS, 10),
53 MAKE_ROUTE_PROTOCOL (CISCO, 11),
54 MAKE_ROUTE_PROTOCOL (BBN, 12),
55 MAKE_ROUTE_PROTOCOL (OSPF, 13),
56 MAKE_ROUTE_PROTOCOL (BGP, 14),
57 MAKE_ROUTE_PROTOCOL (NT_AUTOSTATIC, 10002),
58 MAKE_ROUTE_PROTOCOL (NT_STATIC, 10006),
59 MAKE_ROUTE_PROTOCOL (NT_STATIC_NON_DOD, 10007)
60} NL_ROUTE_PROTOCOL,*PNL_ROUTE_PROTOCOL;
61
62typedef enum {
63 IpPrefixOriginOther = 0,
64 IpPrefixOriginManual,
65 IpPrefixOriginWellKnown,
66 IpPrefixOriginDhcp,
67 IpPrefixOriginRouterAdvertisement,
68 IpPrefixOriginUnchanged = 16
69} NL_PREFIX_ORIGIN;
70
71typedef enum {
72 NlsoOther = 0,
73 NlsoManual,
74 NlsoWellKnown,
75 NlsoDhcp,
76 NlsoLinkLayerAddress,
77 NlsoRandom,
78 IpSuffixOriginOther = 0,
79 IpSuffixOriginManual,
80 IpSuffixOriginWellKnown,
81 IpSuffixOriginDhcp,
82 IpSuffixOriginLinkLayerAddress,
83 IpSuffixOriginRandom,
84 IpSuffixOriginUnchanged = 16
85} NL_SUFFIX_ORIGIN;
86
87typedef enum {
88 NlatUnspecified,
89 NlatUnicast,
90 NlatAnycast,
91 NlatMulticast,
92 NlatBroadcast,
93 NlatInvalid
94} NL_ADDRESS_TYPE, *PNL_ADDRESS_TYPE;
95
96typedef enum _NL_ROUTE_ORIGIN {
97 NlroManual,
98 NlroWellKnown,
99 NlroDHCP,
100 NlroRouterAdvertisement,
101 Nlro6to4,
102} NL_ROUTE_ORIGIN, *PNL_ROUTE_ORIGIN;
103
104typedef enum _NL_NEIGHBOR_STATE {
105 NlnsUnreachable,
106 NlnsIncomplete,
107 NlnsProbe,
108 NlnsDelay,
109 NlnsStale,
110 NlnsReachable,
111 NlnsPermanent,
112 NlnsMaximum,
113} NL_NEIGHBOR_STATE, *PNL_NEIGHBOR_STATE;
114
115typedef enum _NL_LINK_LOCAL_ADDRESS_BEHAVIOR {
116 LinkLocalAlwaysOff = 0,
117 LinkLocalDelayed,
118 LinkLocalAlwaysOn,
119 LinkLocalUnchanged = -1
120} NL_LINK_LOCAL_ADDRESS_BEHAVIOR;
121
122typedef enum _NL_ROUTER_DISCOVERY_BEHAVIOR {
123 RouterDiscoveryDisabled = 0,
124 RouterDiscoveryEnabled,
125 RouterDiscoveryDhcp,
126 RouterDiscoveryUnchanged = -1
127} NL_ROUTER_DISCOVERY_BEHAVIOR;
128
129typedef enum _NL_BANDWIDTH_FLAG {
130 NlbwDisabled = 0,
131 NlbwEnabled,
132 NlbwUnchanged = -1
133} NL_BANDWIDTH_FLAG, *PNL_BANDWIDTH_FLAG;
134
135typedef enum _NL_INTERFACE_NETWORK_CATEGORY_STATE {
136 NlincCategoryUnknown = 0,
137 NlincPublic = 1,
138 NlincPrivate = 2,
139 NlincDomainAuthenticated = 3,
140 NlincCategoryStateMax
141} NL_INTERFACE_NETWORK_CATEGORY_STATE, *PNL_INTERFACE_NETWORK_CATEGORY_STATE;
142
143typedef 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
154typedef struct _NL_PATH_BANDWIDTH_ROD {
155 ULONG64 Bandwidth;
156 ULONG64 Instability;
157 BOOLEAN BandwidthPeaked;
158} NL_PATH_BANDWIDTH_ROD, *PNL_PATH_BANDWIDTH_ROD;
159
160typedef enum _NL_NETWORK_CATEGORY {
161 NetworkCategoryPublic,
162 NetworkCategoryPrivate,
163 NetworkCategoryDomainAuthenticated,
164 NetworkCategoryUnchanged = -1,
165 NetworkCategoryUnknown = -1
166} NL_NETWORK_CATEGORY,*PNL_NETWORK_CATEGORY;
167
168typedef struct _NL_BANDWIDTH_INFORMATION {
169 ULONG64 Bandwidth;
170 ULONG64 Instability;
171 BOOLEAN BandwidthPeaked;
172} NL_BANDWIDTH_INFORMATION, *PNL_BANDWIDTH_INFORMATION;
173
174#define NlpoOther IpPrefixOriginOther
175#define NlpoManual IpPrefixOriginManual
176#define NlpoWellKnown IpPrefixOriginWellKnown
177#define NlpoDhcp IpPrefixOriginDhcp
178#define NlpoRouterAdvertisement IpPrefixOriginRouterAdvertisement
179
180#define NL_MAX_METRIC_COMPONENT ((((ULONG) 1) << 31) - 1)
181
182#define NET_IF_CURRENT_SESSION ((ULONG)-1)
183
184#endif
185
186#endif
Note: See TracBrowser for help on using the repository browser.