MOXA linux-2.6.x / linux-2.6.9-uc0 from sdlinux-moxaart.tgz
[linux-2.6.9-moxart.git] / drivers / net / wireless / rtlink / oid.h
blobec30d5138e3164fea6a9f80ec91e7910c7d107e2
1 /*************************************************************************
2 * Ralink Tech Inc. *
3 * 4F, No. 2 Technology 5th Rd. *
4 * Science-based Industrial Park *
5 * Hsin-chu, Taiwan, R.O.C. *
6 * *
7 * (c) Copyright 2002, Ralink Technology, Inc. *
8 * *
9 * This program is free software; you can redistribute it and/or modify *
10 * it under the terms of the GNU General Public License as published by *
11 * the Free Software Foundation; either version 2 of the License, or *
12 * (at your option) any later version. *
13 * *
14 * This program is distributed in the hope that it will be useful, *
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
17 * GNU General Public License for more details. *
18 * *
19 * You should have received a copy of the GNU General Public License *
20 * along with this program; if not, write to the *
21 * Free Software Foundation, Inc., *
22 * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
23 * *
24 ************************************************************************/
26 #ifndef _OID_H_
27 #define _OID_H_
29 #if WIRELESS_EXT <= 11
30 #ifndef SIOCDEVPRIVATE
31 #define SIOCDEVPRIVATE 0x8BE0
32 #endif
33 #define SIOCIWFIRSTPRIV SIOCDEVPRIVATE
34 #endif
36 #define RT_PRIV_IOCTL SIOCIWFIRSTPRIV + 0x01
37 #define RTPRIV_IOCTL_SET SIOCIWFIRSTPRIV + 0x02
40 // IEEE 802.11 OIDs
43 // Ralink defined OIDs
44 #define RT_PRIV_IOCTL SIOCIWFIRSTPRIV + 0x01
45 #define RTPRIV_IOCTL_SET SIOCIWFIRSTPRIV + 0x02
47 #define RTPRIV_IOCTL_BBP SIOCIWFIRSTPRIV + 0x03
48 #define RTPRIV_IOCTL_MAC SIOCIWFIRSTPRIV + 0x05
49 #define RTPRIV_IOCTL_E2P SIOCIWFIRSTPRIV + 0x07
51 #define OID_GET_SET_TOGGLE 0x8000
53 #define OID_802_11_BSSID 0x0101
54 #define OID_802_11_SSID 0x0102
55 #define OID_802_11_NETWORK_TYPES_SUPPORTED 0x0103
56 #define OID_802_11_NETWORK_TYPE_IN_USE 0x0104
57 #define OID_802_11_TX_POWER_LEVEL 0x0105
58 #define OID_802_11_RSSI 0x0106
59 #define OID_802_11_RSSI_TRIGGER 0x0107
60 #define OID_802_11_INFRASTRUCTURE_MODE 0x0108
61 #define OID_802_11_FRAGMENTATION_THRESHOLD 0x0109
62 #define OID_802_11_RTS_THRESHOLD 0x010A
63 #define OID_802_11_NUMBER_OF_ANTENNAS 0x010B
64 #define OID_802_11_RX_ANTENNA_SELECTED 0x010C
65 #define OID_802_11_TX_ANTENNA_SELECTED 0x010D
66 #define OID_802_11_SUPPORTED_RATES 0x010E
67 #define OID_802_11_DESIRED_RATES 0x010F
68 #define OID_802_11_CONFIGURATION 0x0110
69 #define OID_802_11_STATISTICS 0x0111
70 #define OID_802_11_ADD_WEP 0x0112
71 #define OID_802_11_REMOVE_WEP 0x0113
72 #define OID_802_11_DISASSOCIATE 0x0114
73 #define OID_802_11_POWER_MODE 0x0115
74 #define OID_802_11_BSSID_LIST 0x0116
75 #define OID_802_11_AUTHENTICATION_MODE 0x0117
76 #define OID_802_11_PRIVACY_FILTER 0x0118
77 #define OID_802_11_BSSID_LIST_SCAN 0x0119
78 #define OID_802_11_WEP_STATUS 0x011A
79 // Renamed to reflect better the extended set of encryption status
80 #define OID_802_11_ENCRYPTION_STATUS OID_802_11_WEP_STATUS
81 #define OID_802_11_RELOAD_DEFAULTS 0x011B
82 // Added to allow key mapping and default keys
83 #define OID_802_11_ADD_KEY 0x011C
84 #define OID_802_11_REMOVE_KEY 0x011D
85 #define OID_802_11_ASSOCIATION_INFORMATION 0x011E
86 #define OID_802_11_TEST 0x011F
88 #define OID_802_3_CURRENT_ADDRESS 0x0120
89 #define OID_GEN_RCV_OK 0x0121
90 #define OID_GEN_RCV_NO_BUFFER 0x0122
91 #define OID_GEN_MEDIA_CONNECT_STATUS 0x0123
93 #define RT_OID_DEVICE_NAME 0x0200
94 #define RT_OID_802_11_PREAMBLE 0x0201
95 #define RT_OID_802_11_LINK_STATUS 0x0202
96 #define RT_OID_802_11_RESET_COUNTERS 0x0203
97 #define RT_OID_802_11_AC_CAM 0x0204
98 #ifdef RT2500_DBG
99 #define RT_OID_802_11_HARDWARE_REGISTER 0x0205
100 #endif
101 #define RT_OID_802_11_RACONFIG 0x0206
102 #define RT_OID_802_11_COUNTRY_REGION 0x0207
103 #define RT_OID_802_11_RADIO 0x0208
104 #define RT_OID_802_11_RX_AGC_VGC_TUNING 0x0209
105 #define RT_OID_802_11_EVENT_TABLE 0x0210
106 #define RT_OID_802_11_MAC_TABLE 0x0211
107 #define RT_OID_802_11_PHY_MODE 0x0212
108 #define RT_OID_802_11_TX_PACKET_BURST 0x0213
109 #define RT_OID_802_11_TURBO_MODE 0x0214
110 #define RT_OID_802_11_AP_CONFIG 0x0215
111 #define RT_OID_802_11_ACL 0x0216
112 #define RT_OID_802_11_STA_CONFIG 0x0217
113 #define RT_OID_VERSION_INFO 0x0218
115 #define RT_OID_802_11_WDS 0x0219
116 #define RT_OID_802_11_RADIUS_DATA 0x0220
117 #define RT_OID_802_11_WPA_REKEY 0x0221
119 #define RT_OID_802_11_ADD_WPA 0x0222
121 #define RT_OID_802_11_QUERY_EEPROM_VERSION 0x0223
124 // IEEE 802.11 Structures and definitions
126 // new types for Media Specific Indications
128 #define NDIS_802_11_LENGTH_SSID 32
129 #define NDIS_802_11_LENGTH_RATES 8
130 #define NDIS_802_11_LENGTH_RATES_EX 16
132 typedef enum _NDIS_802_11_STATUS_TYPE
134 Ndis802_11StatusType_Authentication,
135 Ndis802_11StatusTypeMax // not a real type, defined as an upper bound
136 } NDIS_802_11_STATUS_TYPE, *PNDIS_802_11_STATUS_TYPE;
138 typedef UCHAR NDIS_802_11_MAC_ADDRESS[6];
140 typedef struct _NDIS_802_11_STATUS_INDICATION
142 NDIS_802_11_STATUS_TYPE StatusType;
143 } NDIS_802_11_STATUS_INDICATION, *PNDIS_802_11_STATUS_INDICATION;
145 // mask for authentication/integrity fields
146 #define NDIS_802_11_AUTH_REQUEST_AUTH_FIELDS 0x0f
148 #define NDIS_802_11_AUTH_REQUEST_REAUTH 0x01
149 #define NDIS_802_11_AUTH_REQUEST_KEYUPDATE 0x02
150 #define NDIS_802_11_AUTH_REQUEST_PAIRWISE_ERROR 0x06
151 #define NDIS_802_11_AUTH_REQUEST_GROUP_ERROR 0x0E
153 typedef struct _NDIS_802_11_AUTHENTICATION_REQUEST
155 ULONG Length; // Length of structure
156 NDIS_802_11_MAC_ADDRESS Bssid;
157 ULONG Flags;
158 } NDIS_802_11_AUTHENTICATION_REQUEST, *PNDIS_802_11_AUTHENTICATION_REQUEST;
160 // Added new types for OFDM 5G and 2.4G
161 typedef enum _NDIS_802_11_NETWORK_TYPE
163 Ndis802_11FH,
164 Ndis802_11DS,
165 Ndis802_11OFDM5,
166 Ndis802_11OFDM24,
167 Ndis802_11NetworkTypeMax // not a real type, defined as an upper bound
168 } NDIS_802_11_NETWORK_TYPE, *PNDIS_802_11_NETWORK_TYPE;
170 typedef struct PACKED _NDIS_802_11_NETWORK_TYPE_LIST
172 ULONG NumberOfItems; // in list below, at least 1
173 NDIS_802_11_NETWORK_TYPE NetworkType [1];
174 } NDIS_802_11_NETWORK_TYPE_LIST, *PNDIS_802_11_NETWORK_TYPE_LIST;
176 typedef enum _NDIS_802_11_POWER_MODE
178 Ndis802_11PowerModeCAM,
179 Ndis802_11PowerModeMAX_PSP,
180 Ndis802_11PowerModeFast_PSP,
181 Ndis802_11PowerModeMax // not a real mode, defined as an upper bound
182 } NDIS_802_11_POWER_MODE, *PNDIS_802_11_POWER_MODE;
184 typedef ULONG NDIS_802_11_TX_POWER_LEVEL; // in milliwatts
187 // Received Signal Strength Indication
189 typedef LONG NDIS_802_11_RSSI; // in dBm
191 typedef struct _NDIS_802_11_CONFIGURATION_FH
193 ULONG Length; // Length of structure
194 ULONG HopPattern; // As defined by 802.11, MSB set
195 ULONG HopSet; // to one if non-802.11
196 ULONG DwellTime; // units are Kusec
197 } NDIS_802_11_CONFIGURATION_FH, *PNDIS_802_11_CONFIGURATION_FH;
199 typedef struct _NDIS_802_11_CONFIGURATION
201 ULONG Length; // Length of structure
202 ULONG BeaconPeriod; // units are Kusec
203 ULONG ATIMWindow; // units are Kusec
204 ULONG DSConfig; // Frequency, units are kHz
205 NDIS_802_11_CONFIGURATION_FH FHConfig;
206 } NDIS_802_11_CONFIGURATION, *PNDIS_802_11_CONFIGURATION;
208 typedef struct _NDIS_802_11_STATISTICS
210 ULONG Length; // Length of structure
211 LARGE_INTEGER TransmittedFragmentCount;
212 LARGE_INTEGER MulticastTransmittedFrameCount;
213 LARGE_INTEGER FailedCount;
214 LARGE_INTEGER RetryCount;
215 LARGE_INTEGER MultipleRetryCount;
216 LARGE_INTEGER RTSSuccessCount;
217 LARGE_INTEGER RTSFailureCount;
218 LARGE_INTEGER ACKFailureCount;
219 LARGE_INTEGER FrameDuplicateCount;
220 LARGE_INTEGER ReceivedFragmentCount;
221 LARGE_INTEGER MulticastReceivedFrameCount;
222 LARGE_INTEGER FCSErrorCount;
223 } NDIS_802_11_STATISTICS, *PNDIS_802_11_STATISTICS;
225 typedef ULONG NDIS_802_11_KEY_INDEX;
226 typedef ULONGLONG NDIS_802_11_KEY_RSC;
228 // Key mapping keys require a BSSID
229 typedef struct _NDIS_802_11_KEY
231 ULONG Length; // Length of this structure
232 ULONG KeyIndex;
233 ULONG KeyLength; // length of key in bytes
234 NDIS_802_11_MAC_ADDRESS BSSID;
235 NDIS_802_11_KEY_RSC KeyRSC;
236 UCHAR KeyMaterial[1]; // variable length depending on above field
237 } NDIS_802_11_KEY, *PNDIS_802_11_KEY;
239 typedef struct _NDIS_802_11_REMOVE_KEY
241 ULONG Length; // Length of this structure
242 ULONG KeyIndex;
243 NDIS_802_11_MAC_ADDRESS BSSID;
244 } NDIS_802_11_REMOVE_KEY, *PNDIS_802_11_REMOVE_KEY;
246 typedef struct PACKED _NDIS_802_11_WEP
248 ULONG Length; // Length of this structure
249 ULONG KeyIndex; // 0 is the per-client key, 1-N are the
250 // global keys
251 ULONG KeyLength; // length of key in bytes
252 UCHAR KeyMaterial[1];// variable length depending on above field
253 } NDIS_802_11_WEP, *PNDIS_802_11_WEP;
256 typedef enum _NDIS_802_11_NETWORK_INFRASTRUCTURE
258 Ndis802_11IBSS,
259 Ndis802_11Infrastructure,
260 Ndis802_11AutoUnknown,
261 Ndis802_11InfrastructureMax // Not a real value, defined as upper bound
262 } NDIS_802_11_NETWORK_INFRASTRUCTURE, *PNDIS_802_11_NETWORK_INFRASTRUCTURE;
264 // Add new authentication modes
265 typedef enum _NDIS_802_11_AUTHENTICATION_MODE
267 Ndis802_11AuthModeOpen,
268 Ndis802_11AuthModeShared,
269 Ndis802_11AuthModeAutoSwitch,
270 Ndis802_11AuthModeWPA,
271 Ndis802_11AuthModeWPAPSK,
272 Ndis802_11AuthModeWPANone,
273 Ndis802_11AuthModeMax // Not a real mode, defined as upper bound
274 } NDIS_802_11_AUTHENTICATION_MODE, *PNDIS_802_11_AUTHENTICATION_MODE;
276 typedef UCHAR NDIS_802_11_RATES[NDIS_802_11_LENGTH_RATES]; // Set of 8 data rates
277 typedef UCHAR NDIS_802_11_RATES_EX[NDIS_802_11_LENGTH_RATES_EX]; // Set of 16 data rates
279 typedef struct PACKED _NDIS_802_11_SSID
281 ULONG SsidLength; // length of SSID field below, in bytes;
282 // this can be zero.
283 UCHAR Ssid[NDIS_802_11_LENGTH_SSID]; // SSID information field
284 } NDIS_802_11_SSID, *PNDIS_802_11_SSID;
287 typedef struct PACKED _NDIS_WLAN_BSSID
289 ULONG Length; // Length of this structure
290 NDIS_802_11_MAC_ADDRESS MacAddress; // BSSID
291 UCHAR Reserved[2];
292 NDIS_802_11_SSID Ssid; // SSID
293 ULONG Privacy; // WEP encryption requirement
294 NDIS_802_11_RSSI Rssi; // receive signal
295 // strength in dBm
296 NDIS_802_11_NETWORK_TYPE NetworkTypeInUse;
297 NDIS_802_11_CONFIGURATION Configuration;
298 NDIS_802_11_NETWORK_INFRASTRUCTURE InfrastructureMode;
299 NDIS_802_11_RATES SupportedRates;
300 } NDIS_WLAN_BSSID, *PNDIS_WLAN_BSSID;
302 typedef struct PACKED _NDIS_802_11_BSSID_LIST
304 ULONG NumberOfItems; // in list below, at least 1
305 NDIS_WLAN_BSSID Bssid[1];
306 } NDIS_802_11_BSSID_LIST, *PNDIS_802_11_BSSID_LIST;
308 // Added Capabilities, IELength and IEs for each BSSID
309 typedef struct _NDIS_WLAN_BSSID_EX
311 ULONG Length; // Length of this structure
312 NDIS_802_11_MAC_ADDRESS MacAddress; // BSSID
313 UCHAR Reserved[2];
314 NDIS_802_11_SSID Ssid; // SSID
315 ULONG Privacy; // WEP encryption requirement
316 NDIS_802_11_RSSI Rssi; // receive signal
317 // strength in dBm
318 NDIS_802_11_NETWORK_TYPE NetworkTypeInUse;
319 NDIS_802_11_CONFIGURATION Configuration;
320 NDIS_802_11_NETWORK_INFRASTRUCTURE InfrastructureMode;
321 NDIS_802_11_RATES_EX SupportedRates;
322 ULONG IELength;
323 UCHAR IEs[1];
324 } NDIS_WLAN_BSSID_EX, *PNDIS_WLAN_BSSID_EX;
326 typedef struct _NDIS_802_11_BSSID_LIST_EX
328 ULONG NumberOfItems; // in list below, at least 1
329 NDIS_WLAN_BSSID_EX Bssid[1];
330 } NDIS_802_11_BSSID_LIST_EX, *PNDIS_802_11_BSSID_LIST_EX;
332 typedef struct _NDIS_802_11_FIXED_IEs
334 UCHAR Timestamp[8];
335 USHORT BeaconInterval;
336 USHORT Capabilities;
337 } NDIS_802_11_FIXED_IEs, *PNDIS_802_11_FIXED_IEs;
339 typedef struct _NDIS_802_11_VARIABLE_IEs
341 UCHAR ElementID;
342 UCHAR Length; // Number of bytes in data field
343 UCHAR data[1];
344 } NDIS_802_11_VARIABLE_IEs, *PNDIS_802_11_VARIABLE_IEs;
346 typedef ULONG NDIS_802_11_FRAGMENTATION_THRESHOLD;
348 typedef ULONG NDIS_802_11_RTS_THRESHOLD;
350 typedef ULONG NDIS_802_11_ANTENNA;
352 typedef enum _NDIS_802_11_PRIVACY_FILTER
354 Ndis802_11PrivFilterAcceptAll,
355 Ndis802_11PrivFilter8021xWEP
356 } NDIS_802_11_PRIVACY_FILTER, *PNDIS_802_11_PRIVACY_FILTER;
358 // Added new encryption types
359 // Also aliased typedef to new name
360 typedef enum _NDIS_802_11_WEP_STATUS
362 Ndis802_11WEPEnabled,
363 Ndis802_11Encryption1Enabled = Ndis802_11WEPEnabled,
364 Ndis802_11WEPDisabled,
365 Ndis802_11EncryptionDisabled = Ndis802_11WEPDisabled,
366 Ndis802_11WEPKeyAbsent,
367 Ndis802_11Encryption1KeyAbsent = Ndis802_11WEPKeyAbsent,
368 Ndis802_11WEPNotSupported,
369 Ndis802_11EncryptionNotSupported = Ndis802_11WEPNotSupported,
370 Ndis802_11Encryption2Enabled,
371 Ndis802_11Encryption2KeyAbsent,
372 Ndis802_11Encryption3Enabled,
373 Ndis802_11Encryption3KeyAbsent
374 } NDIS_802_11_WEP_STATUS, *PNDIS_802_11_WEP_STATUS,
375 NDIS_802_11_ENCRYPTION_STATUS, *PNDIS_802_11_ENCRYPTION_STATUS;
377 typedef enum _NDIS_802_11_RELOAD_DEFAULTS
379 Ndis802_11ReloadWEPKeys
380 } NDIS_802_11_RELOAD_DEFAULTS, *PNDIS_802_11_RELOAD_DEFAULTS;
382 #define NDIS_802_11_AI_REQFI_CAPABILITIES 1
383 #define NDIS_802_11_AI_REQFI_LISTENINTERVAL 2
384 #define NDIS_802_11_AI_REQFI_CURRENTAPADDRESS 4
386 #define NDIS_802_11_AI_RESFI_CAPABILITIES 1
387 #define NDIS_802_11_AI_RESFI_STATUSCODE 2
388 #define NDIS_802_11_AI_RESFI_ASSOCIATIONID 4
390 typedef struct _NDIS_802_11_AI_REQFI
392 USHORT Capabilities;
393 USHORT ListenInterval;
394 NDIS_802_11_MAC_ADDRESS CurrentAPAddress;
395 } NDIS_802_11_AI_REQFI, *PNDIS_802_11_AI_REQFI;
397 typedef struct _NDIS_802_11_AI_RESFI
399 USHORT Capabilities;
400 USHORT StatusCode;
401 USHORT AssociationId;
402 } NDIS_802_11_AI_RESFI, *PNDIS_802_11_AI_RESFI;
404 typedef struct _NDIS_802_11_ASSOCIATION_INFORMATION
406 ULONG Length;
407 USHORT AvailableRequestFixedIEs;
408 NDIS_802_11_AI_REQFI RequestFixedIEs;
409 ULONG RequestIELength;
410 ULONG OffsetRequestIEs;
411 USHORT AvailableResponseFixedIEs;
412 NDIS_802_11_AI_RESFI ResponseFixedIEs;
413 ULONG ResponseIELength;
414 ULONG OffsetResponseIEs;
415 } NDIS_802_11_ASSOCIATION_INFORMATION, *PNDIS_802_11_ASSOCIATION_INFORMATION;
417 typedef struct _NDIS_802_11_AUTHENTICATION_EVENT
419 NDIS_802_11_STATUS_INDICATION Status;
420 NDIS_802_11_AUTHENTICATION_REQUEST Request[1];
421 } NDIS_802_11_AUTHENTICATION_EVENT, *PNDIS_802_11_AUTHENTICATION_EVENT;
423 typedef struct _NDIS_802_11_TEST
425 ULONG Length;
426 ULONG Type;
427 union
429 NDIS_802_11_AUTHENTICATION_EVENT AuthenticationEvent;
430 NDIS_802_11_RSSI RssiTrigger;
431 }tt;
432 } NDIS_802_11_TEST, *PNDIS_802_11_TEST;
434 typedef enum _RT_802_11_PREAMBLE {
435 Rt802_11PreambleLong,
436 Rt802_11PreambleShort,
437 Rt802_11PreambleAuto
438 } RT_802_11_PREAMBLE, *PRT_802_11_PREAMBLE;
440 typedef enum _RT_802_11_PHY_MODE {
441 PHY_11BG_MIXED,
442 PHY_11B,
443 PHY_11A,
444 PHY_11ABG_MIXED
445 } RT_802_11_PHY_MODE;
447 // put all proprietery for-query objects here to reduce # of Query_OID
448 typedef struct _RT_802_11_LINK_STATUS {
449 ULONG CurrTxRate; // in units of 0.5Mbps
450 ULONG ChannelQuality; // 0..100 %
451 ULONG TxByteCount; // both ok and fail
452 ULONG RxByteCount; // both ok and fail
453 } RT_802_11_LINK_STATUS, *PRT_802_11_LINK_STATUS;
455 // structure for query/set hardware register - MAC, BBP, RF register
456 typedef struct _RT_802_11_HARDWARE_REGISTER {
457 ULONG HardwareType; // 0:MAC, 1:BBP, 2:RF register
458 ULONG Offset; // Q/S register offset addr
459 ULONG Data; // R/W data buffer
460 } RT_802_11_HARDWARE_REGISTER, *PRT_802_11_HARDWARE_REGISTER;
462 // structure to tune BBP R17 "RX AGC VGC init"
463 typedef struct _RT_802_11_RX_AGC_VGC_TUNING {
464 UCHAR FalseCcaLowerThreshold; // 0-255, def 10
465 UCHAR FalseCcaUpperThreshold; // 0-255, def 100
466 UCHAR VgcDelta; // R17 +-= VgcDelta whenever flase CCA over UpprThreshold
467 // or lower than LowerThresholdupper threshold
468 UCHAR VgcUpperBound; // max value of R17
469 } RT_802_11_RX_AGC_VGC_TUNING, *PRT_802_11_RX_AGC_VGC_TUNING;
471 // structure to query/set STA_CONFIG
472 typedef struct _RT_802_11_STA_CONFIG {
473 ULONG EnableTxBurst; // 0-disable, 1-enable
474 ULONG EnableTurboRate; // 0-disable, 1-enable 72/100mbps turbo rate
475 ULONG UseBGProtection; // 0-AUTO, 1-always ON, 2-always OFF
476 ULONG UseShortSlotTime; // 0-no use, 1-use 9-us short slot time when applicable
477 ULONG AdhocMode; // 0-11b rates only (WIFI spec), 1 - allow OFDM rates
478 ULONG HwRadioStatus; // 0-OFF, 1-ON, default is 1, Read-Only
479 ULONG Rsv1; // must be 0
480 ULONG SystemErrorBitmap; // ignore upon SET, return system error upon QUERY
481 } RT_802_11_STA_CONFIG, *PRT_802_11_STA_CONFIG;
483 typedef struct PACKED _RT_VERSION_INFO{
484 UCHAR DriverVersionW;
485 UCHAR DriverVersionX;
486 UCHAR DriverVersionY;
487 UCHAR DriverVersionZ;
488 UINT DriverBuildYear;
489 UINT DriverBuildMonth;
490 UINT DriverBuildDay;
491 } RT_VERSION_INFO, *PRT_VERSION_INFO;
493 #endif