1 | /* WINE ifdef.h
|
---|
2 | * Copyright 2010 Juan Lang
|
---|
3 | *
|
---|
4 | * This library is free software; you can redistribute it and/or
|
---|
5 | * modify it under the terms of the GNU Lesser General Public
|
---|
6 | * License as published by the Free Software Foundation; either
|
---|
7 | * version 2.1 of the License, or (at your option) any later version.
|
---|
8 | *
|
---|
9 | * This library is distributed in the hope that it will be useful,
|
---|
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
---|
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
---|
12 | * Lesser General Public License for more details.
|
---|
13 | *
|
---|
14 | * You should have received a copy of the GNU Lesser General Public
|
---|
15 | * License along with this library; if not, write to the Free Software
|
---|
16 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
---|
17 | */
|
---|
18 |
|
---|
19 | /*
|
---|
20 | * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
|
---|
21 | * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
|
---|
22 | * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
|
---|
23 | * a choice of LGPL license versions is made available with the language indicating
|
---|
24 | * that LGPLv2 or any later version may be used, or where a choice of which version
|
---|
25 | * of the LGPL is applied is otherwise unspecified.
|
---|
26 | */
|
---|
27 |
|
---|
28 | #ifndef WINE_IFDEF_H
|
---|
29 | #define WINE_IFDEF_H
|
---|
30 |
|
---|
31 | #include <ipifcons.h>
|
---|
32 |
|
---|
33 | typedef ULONG32 NET_IF_OBJECT_ID, *PNET_IF_OBJECT_ID;
|
---|
34 | typedef UINT32 NET_IF_COMPARTMENT_ID, *PNET_IF_COMPARTMENT_ID;
|
---|
35 | typedef GUID NET_IF_NETWORK_GUID, *PNET_IF_NETWORK_GUID;
|
---|
36 | typedef ULONG NET_IFINDEX, *PNET_IFINDEX;
|
---|
37 | typedef NET_IFINDEX IF_INDEX, *PIF_INDEX;
|
---|
38 | typedef UINT16 NET_IFTYPE, *PNET_IFTYPE;
|
---|
39 |
|
---|
40 | #define NET_IF_OPER_STATUS_DOWN_NOT_AUTHENTICATED 0x00000001
|
---|
41 | #define NET_IF_OPER_STATUS_DOWN_NOT_MEDIA_CONNECTED 0x00000002
|
---|
42 | #define NET_IF_OPER_STATUS_DORMANT_PAUSED 0x00000004
|
---|
43 | #define NET_IF_OPER_STATUS_DORMANT_LOW_POWER 0x00000008
|
---|
44 |
|
---|
45 | #define NET_IF_COMPARTMENT_ID_UNSPECIFIED 0
|
---|
46 | #define NET_IF_COMPARTMENT_ID_PRIMARY 1
|
---|
47 |
|
---|
48 | #define NET_IF_OID_IF_ALIAS 0x00000001
|
---|
49 | #define NET_IF_OID_COMPARTMENT_ID 0x00000002
|
---|
50 | #define NET_IF_OID_NETWORK_GUID 0x00000003
|
---|
51 | #define NET_IF_OID_IF_ENTRY 0x00000004
|
---|
52 |
|
---|
53 | #define NET_SET_UNSPECIFIED_NETWORK_GUID(x)
|
---|
54 | #define NET_IS_UNSPECIFIED_NETWORK_GUID(x)
|
---|
55 |
|
---|
56 | #define NET_SITEID_UNSPECIFIED 0
|
---|
57 | #define NET_SITEID_MAXUSER 0x07ffffff
|
---|
58 | #define NET_SITEID_MAXSYSTEM 0x0fffffff
|
---|
59 |
|
---|
60 | #define NET_IFINDEX_UNSPECIFIED 0
|
---|
61 | #define IFI_UNSPECIFIED NET_IFINDEX_UNSPECIFIED
|
---|
62 |
|
---|
63 | #define NET_IFLUID_UNSPECIFIED 0
|
---|
64 |
|
---|
65 | #define NIIF_HARDWARE_INTERFACE 0x00000001
|
---|
66 | #define NIIF_FILTER_INTERFACE 0x00000002
|
---|
67 | #define NIIF_NDIS_WDM_INTERFACE 0x00000020
|
---|
68 | #define NIIF_NDIS_ENDPOINT_INTERFACE 0x00000040
|
---|
69 | #define NIIF_NDIS_ISCSI_INTERFACE 0x00000080
|
---|
70 | #define NIIF_WAN_TUNNEL_TYPE_UNKNOWN 0xffffffff
|
---|
71 |
|
---|
72 | #define NET_BUS_NUMBER_UNKNOWN 0xffffffff
|
---|
73 | #define NET_SLOT_NUMBER_UNKNOWN 0xffffffff
|
---|
74 | #define NET_FUNCTION_NUMBER_UNKNOWN 0xffffffff
|
---|
75 |
|
---|
76 | #define IF_MAX_STRING_SIZE 256
|
---|
77 | #define IF_MAX_PHYS_ADDRESS_LENGTH 32
|
---|
78 |
|
---|
79 | typedef enum _NET_IF_ADMIN_STATUS {
|
---|
80 | NET_IF_ADMIN_STATUS_UP = 1,
|
---|
81 | NET_IF_ADMIN_STATUS_DOWN = 2,
|
---|
82 | NET_IF_ADMIN_STATUS_TESTING = 3
|
---|
83 | } NET_IF_ADMIN_STATUS, *PNET_IF_ADMIN_STATUS;
|
---|
84 |
|
---|
85 | typedef enum _NET_IF_OPER_STATUS {
|
---|
86 | NET_IF_OPER_STATUS_UP = 1,
|
---|
87 | NET_IF_OPER_STATUS_DOWN = 2,
|
---|
88 | NET_IF_OPER_STATUS_TESTING = 3,
|
---|
89 | NET_IF_OPER_STATUS_UNKNOWN = 4,
|
---|
90 | NET_IF_OPER_STATUS_DORMANT = 5,
|
---|
91 | NET_IF_OPER_STATUS_NOT_PRESENT = 6,
|
---|
92 | NET_IF_OPER_STATUS_LOWER_LAYER_DOWN = 7
|
---|
93 | } NET_IF_OPER_STATUS, *PNET_IF_OPER_STATUS;
|
---|
94 |
|
---|
95 | typedef enum _NET_IF_RCV_ADDRESS_TYPE {
|
---|
96 | NET_IF_RCV_ADDRESS_TYPE_OTHER = 1,
|
---|
97 | NET_IF_RCV_ADDRESS_TYPE_VOLATILE = 2,
|
---|
98 | NET_IF_RCV_ADDRESS_TYPE_NON_VOLATILE = 3
|
---|
99 | } NET_IF_RCV_ADDRESS_TYPE, *PNET_IF_RCV_ADDRESS_TYPE;
|
---|
100 |
|
---|
101 | typedef struct _NET_IF_RCV_ADDRESS_LH {
|
---|
102 | NET_IF_RCV_ADDRESS_TYPE ifRcvAddressType;
|
---|
103 | USHORT ifRcvAddressLength;
|
---|
104 | USHORT ifRcvAddressOffset;
|
---|
105 | } NET_IF_RCV_ADDRESS_LH, *PNET_IF_RCV_ADDRESS_LH;
|
---|
106 | typedef NET_IF_RCV_ADDRESS_LH NET_IF_RCV_ADDRESS;
|
---|
107 | typedef NET_IF_RCV_ADDRESS_LH *PNET_IF_RCV_ADDRESS;
|
---|
108 |
|
---|
109 | typedef union _NET_LUID_LH {
|
---|
110 | ULONG64 Value;
|
---|
111 | struct {
|
---|
112 | ULONG64 Reserved : 24;
|
---|
113 | ULONG64 NetLuidIndex : 24;
|
---|
114 | ULONG64 IfType : 16;
|
---|
115 | } Info;
|
---|
116 | } NET_LUID_LH, *PNET_LUID_LH;
|
---|
117 | typedef NET_LUID_LH NET_LUID;
|
---|
118 | typedef NET_LUID *PNET_LUID;
|
---|
119 | typedef NET_LUID IF_LUID;
|
---|
120 | typedef NET_LUID *PIF_LUID;
|
---|
121 |
|
---|
122 | typedef enum _NET_IF_ACCESS_TYPE {
|
---|
123 | NET_IF_ACCESS_LOOPBACK = 1,
|
---|
124 | NET_IF_ACCESS_BROADCAST = 2,
|
---|
125 | NET_IF_ACCESS_POINT_TO_POINT = 2,
|
---|
126 | NET_IF_ACCESS_POINT_TO_MULTI_POINT = 4,
|
---|
127 | NET_IF_ACCESS_MAXIMUM = 5
|
---|
128 | } NET_IF_ACCESS_TYPE, *PNET_IF_ACCESS_TYPE;
|
---|
129 |
|
---|
130 | typedef enum _NET_IF_DIRECTION_TYPE {
|
---|
131 | NET_IF_DIRECTION_SENDRECEIVE = 0,
|
---|
132 | NET_IF_DIRECTION_SENDONLY = 1,
|
---|
133 | NET_IF_DIRECTION_RECEIVEONLY = 2,
|
---|
134 | NET_IF_DIRECTION_MAXIMUM = 3
|
---|
135 | } NET_IF_DIRECTION_TYPE, *PNET_IF_DIRECTION_TYPE;
|
---|
136 |
|
---|
137 | typedef enum _NET_IF_CONNECTION_TYPE {
|
---|
138 | NET_IF_CONNECTION_DEDICATED = 1,
|
---|
139 | NET_IF_CONNECTION_PASSIVE = 2,
|
---|
140 | NET_IF_CONNECTION_DEMAND = 3,
|
---|
141 | NET_IF_CONNECTION_MAXIMUM = 4,
|
---|
142 | } NET_IF_CONNECTION_TYPE, *PNET_IF_CONNECTION_TYPE;
|
---|
143 |
|
---|
144 | typedef enum _NET_IF_MEDIA_CONNECT_STATE {
|
---|
145 | MediaConnectStateUnknown = 0,
|
---|
146 | MediaConnectStateConnected = 1,
|
---|
147 | MediaConnectStateDisconnected = 2
|
---|
148 | } NET_IF_MEDIA_CONNECT_STATE, *PNET_IF_MEDIA_CONNECT_STATE;
|
---|
149 |
|
---|
150 | typedef enum _NET_IF_MEDIA_DUPLEX_STATE {
|
---|
151 | MediaDuplexStateUnknown = 0,
|
---|
152 | MediaDuplexStateHalf = 1,
|
---|
153 | MediaDuplexStateFull = 2
|
---|
154 | } NET_IF_MEDIA_DUPLEX_STATE, *PNET_IF_MEDIA_DUPLEX_STATE;
|
---|
155 |
|
---|
156 | typedef struct _NET_PHYSICAL_LOCATION_LH {
|
---|
157 | ULONG BusNumber;
|
---|
158 | ULONG SlotNumber;
|
---|
159 | ULONG FunctionNumber;
|
---|
160 | } NET_PHYSICAL_LOCATION_LH, *PNET_PHYSICAL_LOCATION_LH;
|
---|
161 | typedef NET_PHYSICAL_LOCATION_LH NET_PHYSICAL_LOCATION;
|
---|
162 | typedef NET_PHYSICAL_LOCATION *PNET_PHYSICAL_LOCATION;
|
---|
163 |
|
---|
164 | typedef struct _IF_COUNTED_STRING_LH {
|
---|
165 | USHORT Length;
|
---|
166 | WCHAR String[IF_MAX_STRING_SIZE + 1];
|
---|
167 | } IF_COUNTED_STRING_LH, *PIF_COUNTED_STRING_LH;
|
---|
168 | typedef IF_COUNTED_STRING_LH IF_COUNTED_STRING;
|
---|
169 | typedef IF_COUNTED_STRING *PIF_COUNTED_STRING;
|
---|
170 |
|
---|
171 | typedef struct _IF_PHYSICAL_ADDRESS_LH {
|
---|
172 | USHORT Length;
|
---|
173 | UCHAR Address[IF_MAX_PHYS_ADDRESS_LENGTH];
|
---|
174 | } IF_PHYSICAL_ADDRESS_LH, *PIF_PHYSICAL_ADDRESS_LH;
|
---|
175 | typedef IF_PHYSICAL_ADDRESS_LH IF_PHYSICAL_ADDRESS;
|
---|
176 | typedef IF_PHYSICAL_ADDRESS *PIF_PHYSICAL_ADDRESS;
|
---|
177 |
|
---|
178 | typedef enum {
|
---|
179 | TUNNEL_TYPE_NONE = 0,
|
---|
180 | TUNNEL_TYPE_OTHER = 1,
|
---|
181 | TUNNEL_TYPE_DIRECT = 2,
|
---|
182 | TUNNEL_TYPE_6TO4 = 11,
|
---|
183 | TUNNEL_TYPE_ISATAP = 13,
|
---|
184 | TUNNEL_TYPE_TEREDO = 14,
|
---|
185 | TUNNEL_TYPE_IPHTTPS = 15,
|
---|
186 | } TUNNEL_TYPE;
|
---|
187 |
|
---|
188 | typedef enum _IF_ADMINISTRATIVE_STATE {
|
---|
189 | IF_ADMINISTRATIVE_STATE_DISABLED = 0,
|
---|
190 | IF_ADMINISTRATIVE_STATE_ENABLED = 1,
|
---|
191 | IF_ADMINISTRATIVE_STATE_DEMANDDIAL = 2
|
---|
192 | } IF_ADMINISTRATIVE_STATE, *PIF_ADMINISTRATIVE_STATE;
|
---|
193 |
|
---|
194 | typedef enum {
|
---|
195 | IfOperStatusUp = 1,
|
---|
196 | IfOperStatusDown,
|
---|
197 | IfOperStatusTesting,
|
---|
198 | IfOperStatusUnknown,
|
---|
199 | IfOperStatusDormant,
|
---|
200 | IfOperStatusNotPresent,
|
---|
201 | IfOperStatusLowerLayerDown
|
---|
202 | } IF_OPER_STATUS;
|
---|
203 |
|
---|
204 | typedef struct _NDIS_INTERFACE_INFORMATION {
|
---|
205 | NET_IF_OPER_STATUS ifOperStatus;
|
---|
206 | ULONG ifOperStatusFlags;
|
---|
207 | NET_IF_MEDIA_CONNECT_STATE MediaConnectState;
|
---|
208 | NET_IF_MEDIA_DUPLEX_STATE MediaDuplexState;
|
---|
209 | ULONG ifMtu;
|
---|
210 | BOOLEAN ifPromiscuousMode;
|
---|
211 | BOOLEAN ifDeviceWakeUpEnable;
|
---|
212 | ULONG64 XmitLinkSpeed;
|
---|
213 | ULONG64 RcvLinkSpeed;
|
---|
214 | ULONG64 ifLastChange;
|
---|
215 | ULONG64 ifCounterDiscontinuityTime;
|
---|
216 | ULONG64 ifInUnknownProtos;
|
---|
217 | ULONG64 ifInDiscards;
|
---|
218 | ULONG64 ifInErrors;
|
---|
219 | ULONG64 ifHCInOctets;
|
---|
220 | ULONG64 ifHCInUcastPkts;
|
---|
221 | ULONG64 ifHCInMulticastPkts;
|
---|
222 | ULONG64 ifHCInBroadcastPkts;
|
---|
223 | ULONG64 ifHCOutOctets;
|
---|
224 | ULONG64 ifHCOutUcastPkts;
|
---|
225 | ULONG64 ifHCOutMulticastPkts;
|
---|
226 | ULONG64 ifHCOutBroadcastPkts;
|
---|
227 | ULONG64 ifOutErrors;
|
---|
228 | ULONG64 ifOutDiscards;
|
---|
229 | ULONG64 ifHCInUcastOctets;
|
---|
230 | ULONG64 ifHCInMulticastOctets;
|
---|
231 | ULONG64 ifHCInBroadcastOctets;
|
---|
232 | ULONG64 ifHCOutUcastOctets;
|
---|
233 | ULONG64 ifHCOutMulticastOctets;
|
---|
234 | ULONG64 ifHCOutBroadcastOctets;
|
---|
235 | NET_IF_COMPARTMENT_ID CompartmentId;
|
---|
236 | ULONG SupportedStatistics;
|
---|
237 | } NDIS_INTERFACE_INFORMATION, *PNDIS_INTERFACE_INFORMATION;
|
---|
238 |
|
---|
239 | #endif /* WINE_IFDEF_H*/
|
---|