ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/Daodan/MSYS2/mingw32/i686-w64-mingw32/include/wlanapi.h
Revision: 1166
Committed: Tue Oct 26 14:22:36 2021 UTC (4 years ago) by rossy
Content type: text/x-chdr
File size: 23120 byte(s)
Log Message:
Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File Contents

# Content
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_WLANAPI
7 #define _INC_WLANAPI
8
9 #include <l2cmn.h>
10 #include <windot11.h>
11 #include <eaptypes.h>
12
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16
17 #define WLAN_NOTIFICATION_SOURCE_NONE L2_NOTIFICATION_SOURCE_NONE
18 #define WLAN_NOTIFICATION_SOURCE_ALL L2_NOTIFICATION_SOURCE_ALL
19 #define WLAN_NOTIFICATION_SOURCE_ACM L2_NOTIFICATION_SOURCE_WLAN_ACM
20 #define WLAN_NOTIFICATION_SOURCE_MSM L2_NOTIFICATION_SOURCE_WLAN_MSM
21 #define WLAN_NOTIFICATION_SOURCE_SECURITY L2_NOTIFICATION_SOURCE_WLAN_SECURITY
22 #define WLAN_NOTIFICATION_SOURCE_IHV L2_NOTIFICATION_SOURCE_WLAN_IHV
23 #define WLAN_NOTIFICATION_SOURCE_HNWK L2_NOTIFICATION_SOURCE_WLAN_HNWK
24 #define WLAN_NOTIFICATION_SOURCE_ONEX L2_NOTIFICATION_SOURCE_ONEX
25
26 typedef DWORD WLAN_REASON_CODE, *PWLAN_REASON_CODE;
27 typedef ULONG WLAN_SIGNAL_QUALITY, *PWLAN_SIGNAL_QUALITY;
28
29 typedef struct _DOT11_NETWORK {
30 DOT11_SSID dot11Ssid;
31 DOT11_BSS_TYPE dot11BssType;
32 } DOT11_NETWORK, *PDOT11_NETWORK;
33
34 typedef enum _DOT11_RADIO_STATE {
35 dot11_radio_state_unknown,
36 dot11_radio_state_on,
37 dot11_radio_state_off
38 } DOT11_RADIO_STATE, *PDOT11_RADIO_STATE;
39
40 typedef enum _WLAN_NOTIFICATION_ACM {
41 wlan_notification_acm_start = 0,
42 wlan_notification_acm_autoconf_enabled,
43 wlan_notification_acm_autoconf_disabled,
44 wlan_notification_acm_background_scan_enabled,
45 wlan_notification_acm_background_scan_disabled,
46 wlan_notification_acm_bss_type_change,
47 wlan_notification_acm_power_setting_change,
48 wlan_notification_acm_scan_complete,
49 wlan_notification_acm_scan_fail,
50 wlan_notification_acm_connection_start,
51 wlan_notification_acm_connection_complete,
52 wlan_notification_acm_connection_attempt_fail,
53 wlan_notification_acm_filter_list_change,
54 wlan_notification_acm_interface_arrival,
55 wlan_notification_acm_interface_removal,
56 wlan_notification_acm_profile_change,
57 wlan_notification_acm_profile_name_change,
58 wlan_notification_acm_profiles_exhausted,
59 wlan_notification_acm_network_not_available,
60 wlan_notification_acm_network_available,
61 wlan_notification_acm_disconnecting,
62 wlan_notification_acm_disconnected,
63 wlan_notification_acm_adhoc_network_state_change,
64 wlan_notification_acm_end
65 } WLAN_NOTIFICATION_ACM, *PWLAN_NOTIFICATION_ACM;
66
67 typedef enum _WLAN_INTERFACE_STATE {
68 wlan_interface_state_not_ready = 0,
69 wlan_interface_state_connected = 1,
70 wlan_interface_state_ad_hoc_network_formed = 2,
71 wlan_interface_state_disconnecting = 3,
72 wlan_interface_state_disconnected = 4,
73 wlan_interface_state_associating = 5,
74 wlan_interface_state_discovering = 6,
75 wlan_interface_state_authenticating = 7
76 } WLAN_INTERFACE_STATE, *PWLAN_INTERFACE_STATE;
77
78 typedef enum _WLAN_CONNECTION_MODE {
79 wlan_connection_mode_profile,
80 wlan_connection_mode_temporary_profile,
81 wlan_connection_mode_discovery_secure,
82 wlan_connection_mode_discovery_unsecure,
83 wlan_connection_mode_auto,
84 wlan_connection_mode_invalid
85 } WLAN_CONNECTION_MODE, *PWLAN_CONNECTION_MODE;
86
87 typedef enum _WLAN_INTERFACE_TYPE {
88 wlan_interface_type_emulated_802_11 = 0,
89 wlan_interface_type_native_802_11,
90 wlan_interface_type_invalid
91 } WLAN_INTERFACE_TYPE, *PWLAN_INTERFACE_TYPE;
92
93 typedef enum _WLAN_INTF_OPCODE {
94 wlan_intf_opcode_autoconf_start = 0x000000000,
95 wlan_intf_opcode_autoconf_enabled,
96 wlan_intf_opcode_background_scan_enabled,
97 wlan_intf_opcode_media_streaming_mode,
98 wlan_intf_opcode_radio_state,
99 wlan_intf_opcode_bss_type,
100 wlan_intf_opcode_interface_state,
101 wlan_intf_opcode_current_connection,
102 wlan_intf_opcode_channel_number,
103 wlan_intf_opcode_supported_infrastructure_auth_cipher_pairs,
104 wlan_intf_opcode_supported_adhoc_auth_cipher_pairs,
105 wlan_intf_opcode_supported_country_or_region_string_list,
106 wlan_intf_opcode_current_operation_mode,
107 wlan_intf_opcode_supported_safe_mode,
108 wlan_intf_opcode_certified_safe_mode,
109 wlan_intf_opcode_hosted_network_capable,
110 wlan_intf_opcode_autoconf_end = 0x0fffffff,
111 wlan_intf_opcode_msm_start = 0x10000100,
112 wlan_intf_opcode_statistics,
113 wlan_intf_opcode_rssi,
114 wlan_intf_opcode_msm_end = 0x1fffffff,
115 wlan_intf_opcode_security_start = 0x20010000,
116 wlan_intf_opcode_security_end = 0x2fffffff,
117 wlan_intf_opcode_ihv_start = 0x30000000,
118 wlan_intf_opcode_ihv_end = 0x3fffffff
119 } WLAN_INTF_OPCODE, *PWLAN_INTF_OPCODE;
120
121 typedef enum _WLAN_OPCODE_VALUE_TYPE {
122 wlan_opcode_value_type_query_only = 0,
123 wlan_opcode_value_type_set_by_group_policy = 1,
124 wlan_opcode_value_type_set_by_user = 2,
125 wlan_opcode_value_type_invalid = 3
126 } WLAN_OPCODE_VALUE_TYPE, *PWLAN_OPCODE_VALUE_TYPE;
127
128 typedef enum _WLAN_POWER_SETTING {
129 wlan_power_setting_no_saving,
130 wlan_power_setting_low_saving,
131 wlan_power_setting_medium_saving,
132 wlan_power_setting_maximum_saving,
133 wlan_power_setting_invalid
134 } WLAN_POWER_SETTING, *PWLAN_POWER_SETTING;
135
136 typedef struct _WLAN_ASSOCIATION_ATTRIBUTES {
137 DOT11_SSID dot11Ssid;
138 DOT11_BSS_TYPE dot11BssType;
139 DOT11_MAC_ADDRESS dot11Bssid;
140 DOT11_PHY_TYPE dot11PhyType;
141 ULONG uDot11PhyIndex;
142 WLAN_SIGNAL_QUALITY wlanSignalQuality;
143 ULONG ulRxRate;
144 ULONG ulTxRate;
145 } WLAN_ASSOCIATION_ATTRIBUTES, *PWLAN_ASSOCIATION_ATTRIBUTES;
146
147 typedef struct _WLAN_AUTH_CIPHER_PAIR_LIST {
148 DWORD dwNumberOfItems;
149 DOT11_AUTH_CIPHER_PAIR pAuthCipherPairList;
150 } WLAN_AUTH_CIPHER_PAIR_LIST, *PWLAN_AUTH_CIPHER_PAIR_LIST;
151
152 typedef struct _WLAN_NOTIFICATION_DATA {
153 DWORD NotificationSource;
154 DWORD NotificationCode;
155 GUID InterfaceGuid;
156 DWORD dwDataSize;
157 PVOID pData;
158 } WLAN_NOTIFICATION_DATA, *PWLAN_NOTIFICATION_DATA;
159
160 #define WLAN_MAX_PHY_TYPE_NUMBER 8
161
162 typedef struct _WLAN_AVAILABLE_NETWORK {
163 WCHAR strProfileName[256];
164 DOT11_SSID dot11Ssid;
165 DOT11_BSS_TYPE dot11BssType;
166 ULONG uNumberOfBssids;
167 WINBOOL bNetworkConnectable;
168 WLAN_REASON_CODE wlanNotConnectableReason;
169 ULONG uNumberOfPhyTypes;
170 DOT11_PHY_TYPE dot11PhyTypes[WLAN_MAX_PHY_TYPE_NUMBER];
171 WINBOOL bMorePhyTypes;
172 WLAN_SIGNAL_QUALITY wlanSignalQuality;
173 WINBOOL bSecurityEnabled;
174 DOT11_AUTH_ALGORITHM dot11DefaultAuthAlgorithm;
175 DOT11_CIPHER_ALGORITHM dot11DefaultCipherAlgorithm;
176 DWORD dwFlags;
177 DWORD dwReserved;
178 } WLAN_AVAILABLE_NETWORK, *PWLAN_AVAILABLE_NETWORK;
179
180 typedef struct _WLAN_AVAILABLE_NETWORK_LIST {
181 DWORD dwNumberOfItems;
182 DWORD dwIndex;
183 WLAN_AVAILABLE_NETWORK Network[1];
184 } WLAN_AVAILABLE_NETWORK_LIST, *PWLAN_AVAILABLE_NETWORK_LIST;
185
186 typedef struct _WLAN_SECURITY_ATTRIBUTES {
187 WINBOOL bSecurityEnabled;
188 WINBOOL bOneXEnabled;
189 DOT11_AUTH_ALGORITHM dot11AuthAlgorithm;
190 DOT11_CIPHER_ALGORITHM dot11CipherAlgorithm;
191 } WLAN_SECURITY_ATTRIBUTES, *PWLAN_SECURITY_ATTRIBUTES;
192
193 typedef struct _WLAN_CONNECTION_ATTRIBUTES {
194 WLAN_INTERFACE_STATE isState;
195 WLAN_CONNECTION_MODE wlanConnectionMode;
196 WCHAR strProfileName[256];
197 WLAN_ASSOCIATION_ATTRIBUTES wlanAssociationAttributes;
198 WLAN_SECURITY_ATTRIBUTES wlanSecurityAttributes;
199 } WLAN_CONNECTION_ATTRIBUTES, *PWLAN_CONNECTION_ATTRIBUTES;
200
201 /* Assuming stdcall */
202 typedef VOID (CALLBACK *WLAN_NOTIFICATION_CALLBACK)(
203 PWLAN_NOTIFICATION_DATA ,
204 PVOID
205 );
206
207 #define WLAN_MAX_NAME_LENGTH 256
208
209 typedef struct _WLAN_CONNECTION_NOTIFICATION_DATA {
210 WLAN_CONNECTION_MODE wlanConnectionMode;
211 WCHAR strProfileName[WLAN_MAX_NAME_LENGTH];
212 DOT11_SSID dot11Ssid;
213 DOT11_BSS_TYPE dot11BssType;
214 BOOL bSecurityEnabled;
215 WLAN_REASON_CODE wlanReasonCode;
216 DWORD dwFlags;
217 WCHAR strProfileXml[1];
218 } WLAN_CONNECTION_NOTIFICATION_DATA, *PWLAN_CONNECTION_NOTIFICATION_DATA;
219
220 #define WLAN_CONNECTION_HIDDEN_NETWORK 0x00000001
221 #define WLAN_CONNECTION_ADHOC_JOIN_ONLY 0x00000002
222 #define WLAN_CONNECTION_IGNORE_PRIVACY_BIT 0x00000004
223 #define WLAN_CONNECTION_EAPOL_PASSTHROUGH 0x00000008
224
225 typedef struct _WLAN_CONNECTION_PARAMETERS {
226 WLAN_CONNECTION_MODE wlanConnectionMode;
227 LPCWSTR strProfile;
228 PDOT11_SSID pDot11Ssid;
229 PDOT11_BSSID_LIST pDesiredBssidList;
230 DOT11_BSS_TYPE dot11BssType;
231 DWORD dwFlags;
232 } WLAN_CONNECTION_PARAMETERS, *PWLAN_CONNECTION_PARAMETERS;
233
234 typedef struct _WLAN_INTERFACE_INFO {
235 GUID InterfaceGuid;
236 WCHAR strInterfaceDescription[256];
237 WLAN_INTERFACE_STATE isState;
238 } WLAN_INTERFACE_INFO, *PWLAN_INTERFACE_INFO;
239
240 typedef struct _WLAN_INTERFACE_INFO_LIST {
241 DWORD dwNumberOfItems;
242 DWORD dwIndex;
243 WLAN_INTERFACE_INFO InterfaceInfo[];
244 } WLAN_INTERFACE_INFO_LIST, *PWLAN_INTERFACE_INFO_LIST;
245
246 typedef struct _WLAN_PROFILE_INFO {
247 WCHAR strProfileName[256];
248 DWORD dwFlags;
249 } WLAN_PROFILE_INFO, *PWLAN_PROFILE_INFO;
250
251 typedef struct _WLAN_PROFILE_INFO_LIST {
252 DWORD dwNumberOfItems;
253 DWORD dwIndex;
254 WLAN_PROFILE_INFO ProfileInfo[1];
255 } WLAN_PROFILE_INFO_LIST, *PWLAN_PROFILE_INFO_LIST;
256
257 PVOID WINAPI WlanAllocateMemory(
258 DWORD dwMemorySize
259 );
260
261 DWORD WINAPI WlanCloseHandle(
262 HANDLE hClientHandle,
263 PVOID pReserved
264 );
265
266 DWORD WINAPI WlanConnect(
267 HANDLE hClientHandle,
268 const GUID *pInterfaceGuid,
269 const PWLAN_CONNECTION_PARAMETERS pConnectionParameters,
270 PVOID pReserved
271 );
272
273 DWORD WINAPI WlanDeleteProfile(
274 HANDLE hClientHandle,
275 const GUID *pInterfaceGuid,
276 LPCWSTR strProfileName,
277 PVOID pReserved
278 );
279
280 DWORD WINAPI WlanDisconnect(
281 HANDLE hClientHandle,
282 const GUID *pInterfaceGuid,
283 PVOID pReserved
284 );
285
286 DWORD WINAPI WlanEnumInterfaces(
287 HANDLE hClientHandle,
288 PVOID pReserved,
289 PWLAN_INTERFACE_INFO_LIST *ppInterfaceList
290 );
291
292 VOID WINAPI WlanFreeMemory(
293 PVOID pMemory
294 );
295
296 DWORD WINAPI WlanGetAvailableNetworkList(
297 HANDLE hClientHandle,
298 const GUID *pInterfaceGuid,
299 DWORD dwFlags,
300 PVOID pReserved,
301 PWLAN_AVAILABLE_NETWORK_LIST *ppAvailableNetworkList
302 );
303
304 DWORD WINAPI WlanGetProfile(
305 HANDLE hClientHandle,
306 const GUID *pInterfaceGuid,
307 LPCWSTR strProfileName,
308 PVOID pReserved,
309 LPWSTR *pstrProfileXml,
310 DWORD *pdwFlags,
311 PDWORD pdwGrantedAccess
312 );
313
314 DWORD WINAPI WlanGetProfileList(
315 HANDLE hClientHandle,
316 const GUID *pInterfaceGuid,
317 PVOID pReserved,
318 PWLAN_PROFILE_INFO_LIST *ppProfileList
319 );
320
321 DWORD WINAPI WlanOpenHandle(
322 DWORD dwClientVersion,
323 PVOID pReserved,
324 PDWORD pdwNegotiatedVersion,
325 PHANDLE phClientHandle
326 );
327
328 DWORD WINAPI WlanQueryInterface(
329 HANDLE hClientHandle,
330 const GUID *pInterfaceGuid,
331 WLAN_INTF_OPCODE OpCode,
332 PVOID pReserved,
333 PDWORD pdwDataSize,
334 PVOID *ppData,
335 PWLAN_OPCODE_VALUE_TYPE pWlanOpcodeValueType
336 );
337
338 DWORD WINAPI WlanReasonCodeToString(
339 DWORD dwReasonCode,
340 DWORD dwBufferSize,
341 PWCHAR pStringBuffer,
342 PVOID pReserved
343 );
344
345 DWORD WINAPI WlanRegisterNotification(
346 HANDLE hClientHandle,
347 DWORD dwNotifSource,
348 WINBOOL bIgnoreDuplicate,
349 WLAN_NOTIFICATION_CALLBACK funcCallback,
350 PVOID pCallbackContext,
351 PVOID pReserved,
352 PDWORD pdwPrevNotifSource
353 );
354
355 DWORD WINAPI WlanSetInterface(
356 HANDLE hClientHandle,
357 const GUID *pInterfaceGuid,
358 WLAN_INTF_OPCODE OpCode,
359 DWORD dwDataSize,
360 const PVOID pData,
361 PVOID pReserved
362 );
363
364 DWORD WINAPI WlanSetProfile(
365 HANDLE hClientHandle,
366 const GUID *pInterfaceGuid,
367 DWORD dwFlags,
368 LPCWSTR strProfileXml,
369 LPCWSTR strAllUserProfileSecurity,
370 WINBOOL bOverwrite,
371 PVOID pReserved,
372 DWORD *pdwReasonCode
373 );
374
375 DWORD WINAPI WlanSetProfileEapXmlUserData(
376 HANDLE hClientHandle,
377 const GUID *pInterfaceGuid,
378 LPCWSTR strProfileName,
379 DWORD dwFlags,
380 LPCWSTR strEapXmlUserData,
381 PVOID pReserved
382 );
383
384 DWORD WINAPI WlanSetProfileList(
385 HANDLE hClientHandle,
386 const GUID *pInterfaceGuid,
387 DWORD dwItems,
388 LPCWSTR *strProfileNames,
389 PVOID pReserved
390 );
391
392 DWORD WINAPI WlanSetProfilePosition(
393 HANDLE hClientHandle,
394 const GUID *pInterfaceGuid,
395 LPCWSTR strProfileName,
396 DWORD dwPosition,
397 PVOID pReserved
398 );
399
400 typedef enum _WLAN_AUTOCONF_OPCODE {
401 wlan_autoconf_opcode_start = 0,
402 wlan_autoconf_opcode_show_denied_networks = 1,
403 wlan_autoconf_opcode_power_setting = 2,
404 wlan_autoconf_opcode_only_use_gp_profiles_for_allowed_networks = 3,
405 wlan_autoconf_opcode_allow_explicit_creds = 4,
406 wlan_autoconf_opcode_block_period = 5,
407 wlan_autoconf_opcode_allow_virtual_station_extensibility = 6,
408 wlan_autoconf_opcode_end = 7
409 } WLAN_AUTOCONF_OPCODE, *PWLAN_AUTOCONF_OPCODE;
410
411 typedef enum _WL_DISPLAY_PAGES {
412 WLConnectionPage,
413 WLSecurityPage
414 } WL_DISPLAY_PAGES, *PWL_DISPLAY_PAGES;
415
416 typedef enum _WLAN_ADHOC_NETWORK_STATE {
417 wlan_adhoc_network_state_formed = 0,
418 wlan_adhoc_network_state_connected = 1
419 } WLAN_ADHOC_NETWORK_STATE;
420
421 typedef enum _WLAN_IHV_CONTROL_TYPE {
422 wlan_ihv_control_type_service,
423 wlan_ihv_control_type_driver
424 } WLAN_IHV_CONTROL_TYPE, *PWLAN_IHV_CONTROL_TYPE;
425
426 typedef enum _WLAN_FILTER_LIST_TYPE {
427 wlan_filter_list_type_gp_permit,
428 wlan_filter_list_type_gp_deny,
429 wlan_filter_list_type_user_permit,
430 wlan_filter_list_type_user_deny
431 } WLAN_FILTER_LIST_TYPE, *PWLAN_FILTER_LIST_TYPE;
432
433 typedef enum _WLAN_SECURABLE_OBJECT {
434 wlan_secure_permit_list = 0,
435 wlan_secure_deny_list = 1,
436 wlan_secure_ac_enabled = 2,
437 wlan_secure_bc_scan_enabled = 3,
438 wlan_secure_bss_type = 4,
439 wlan_secure_show_denied = 5,
440 wlan_secure_interface_properties = 6,
441 wlan_secure_ihv_control = 7,
442 wlan_secure_all_user_profiles_order = 8,
443 wlan_secure_add_new_all_user_profiles = 9,
444 wlan_secure_add_new_per_user_profiles = 10,
445 wlan_secure_media_streaming_mode_enabled = 11,
446 wlan_secure_current_operation_mode = 12,
447 wlan_secure_get_plaintext_key = 13,
448 wlan_secure_hosted_network_elevated_access = 14
449 } WLAN_SECURABLE_OBJECT, *PWLAN_SECURABLE_OBJECT;
450
451 typedef struct _DOT11_NETWORK_LIST {
452 DWORD dwNumberOfItems;
453 DWORD dwIndex;
454 DOT11_NETWORK Network[1];
455 } DOT11_NETWORK_LIST, *PDOT11_NETWORK_LIST;
456
457 #define DOT11_RATE_SET_MAX_LENGTH 126
458
459 typedef struct _WLAN_RATE_SET {
460 ULONG uRateSetLength;
461 USHORT usRateSet[DOT11_RATE_SET_MAX_LENGTH];
462 } WLAN_RATE_SET, *PWLAN_RATE_SET;
463
464 typedef struct _WLAN_BSS_ENTRY {
465 DOT11_SSID dot11Ssid;
466 ULONG uPhyId;
467 DOT11_MAC_ADDRESS dot11Bssid;
468 DOT11_BSS_TYPE dot11BssType;
469 DOT11_PHY_TYPE dot11BssPhyType;
470 LONG lRssi;
471 ULONG uLinkQuality;
472 BOOLEAN bInRegDomain;
473 USHORT usBeaconPeriod;
474 ULONGLONG ullTimestamp;
475 ULONGLONG ullHostTimestamp;
476 USHORT usCapabilityInformation;
477 ULONG ulChCenterFrequency;
478 WLAN_RATE_SET wlanRateSet;
479 ULONG ulIeOffset;
480 ULONG ulIeSize;
481 } WLAN_BSS_ENTRY, *PWLAN_BSS_ENTRY;
482
483 typedef struct _WLAN_BSS_LIST {
484 DWORD dwTotalSize;
485 DWORD dwNumberOfItems;
486 WLAN_BSS_ENTRY wlanBssEntries[1];
487 } WLAN_BSS_LIST, *PWLAN_BSS_LIST;
488
489 typedef struct _WLAN_COUNTRY_OR_REGION_STRING_LIST {
490 DWORD dwNumberOfItems;
491 DOT11_COUNTRY_OR_REGION_STRING pCountryOrRegionStringList[1];
492 } WLAN_COUNTRY_OR_REGION_STRING_LIST, *PWLAN_COUNTRY_OR_REGION_STRING_LIST;
493
494 #define WLAN_MAX_PHY_INDEX 64
495
496 typedef struct _WLAN_INTERFACE_CAPABILITY {
497 WLAN_INTERFACE_TYPE interfaceType;
498 WINBOOL bDot11DSupported;
499 DWORD dwMaxDesiredSsidListSize;
500 DWORD dwMaxDesiredBssidListSize;
501 DWORD dwNumberOfSupportedPhys;
502 DOT11_PHY_TYPE dot11PhyTypes[WLAN_MAX_PHY_INDEX];
503 } WLAN_INTERFACE_CAPABILITY, *PWLAN_INTERFACE_CAPABILITY;
504
505 typedef struct _WLAN_MAC_FRAME_STATISTICS {
506 ULONGLONG ullTransmittedFrameCount;
507 ULONGLONG ullReceivedFrameCount;
508 ULONGLONG ullWEPExcludedCount;
509 ULONGLONG ullTKIPLocalMICFailures;
510 ULONGLONG ullTKIPReplays;
511 ULONGLONG ullTKIPICVErrorCount;
512 ULONGLONG ullCCMPReplays;
513 ULONGLONG ullCCMPDecryptErrors;
514 ULONGLONG ullWEPUndecryptableCount;
515 ULONGLONG ullWEPICVErrorCount;
516 ULONGLONG ullDecryptSuccessCount;
517 ULONGLONG ullDecryptFailureCount;
518 } WLAN_MAC_FRAME_STATISTICS, *PWLAN_MAC_FRAME_STATISTICS;
519
520 typedef struct _WLAN_MSM_NOTIFICATION_DATA {
521 WLAN_CONNECTION_MODE wlanConnectionMode;
522 WCHAR strProfileName[WLAN_MAX_NAME_LENGTH];
523 DOT11_SSID dot11Ssid;
524 DOT11_BSS_TYPE dot11BssType;
525 DOT11_MAC_ADDRESS dot11MacAddr;
526 BOOL bSecurityEnabled;
527 BOOL bFirstPeer;
528 BOOL bLastPeer;
529 WLAN_REASON_CODE wlanReasonCode;
530 } WLAN_MSM_NOTIFICATION_DATA, *PWLAN_MSM_NOTIFICATION_DATA;
531
532 typedef struct _WLAN_PHY_FRAME_STATISTICS {
533 ULONGLONG ullTransmittedFrameCount;
534 ULONGLONG ullMulticastTransmittedFrameCount;
535 ULONGLONG ullFailedCount;
536 ULONGLONG ullRetryCount;
537 ULONGLONG ullMultipleRetryCount;
538 ULONGLONG ullMaxTXLifetimeExceededCount;
539 ULONGLONG ullTransmittedFragmentCount;
540 ULONGLONG ullRTSSuccessCount;
541 ULONGLONG ullRTSFailureCount;
542 ULONGLONG ullACKFailureCount;
543 ULONGLONG ullReceivedFrameCount;
544 ULONGLONG ullMulticastReceivedFrameCount;
545 ULONGLONG ullPromiscuousReceivedFrameCount;
546 ULONGLONG ullMaxRXLifetimeExceededCount;
547 ULONGLONG ullFrameDuplicateCount;
548 ULONGLONG ullReceivedFragmentCount;
549 ULONGLONG ullPromiscuousReceivedFragmentCount;
550 ULONGLONG ullFCSErrorCount;
551 } WLAN_PHY_FRAME_STATISTICS, *PWLAN_PHY_FRAME_STATISTICS;
552
553 typedef struct _WLAN_PHY_RADIO_STATE {
554 DWORD dwPhyIndex;
555 DOT11_RADIO_STATE dot11SoftwareRadioState;
556 DOT11_RADIO_STATE dot11HardwareRadioState;
557 } WLAN_PHY_RADIO_STATE, *PWLAN_PHY_RADIO_STATE;
558
559 typedef struct _WLAN_RADIO_STATE {
560 DWORD dwNumberOfPhys;
561 WLAN_PHY_RADIO_STATE PhyRadioState[64];
562 } WLAN_RADIO_STATE, *PWLAN_RADIO_STATE;
563
564 #define DOT11_PSD_IE_MAX_DATA_SIZE 240
565 #define DOT11_PSD_IE_MAX_ENTRY_NUMBER 5
566
567 typedef struct _WLAN_RAW_DATA {
568 DWORD dwDataSize;
569 BYTE DataBlob[1];
570 } WLAN_RAW_DATA, *PWLAN_RAW_DATA;
571
572 typedef struct _WLAN_RAW_DATA_LIST {
573 DWORD dwTotalSize;
574 DWORD dwNumberOfItems;
575 struct {
576 DWORD dwDataOffset;
577 DWORD dwDataSize;
578 } DataList[1];
579 } WLAN_RAW_DATA_LIST, *PWLAN_RAW_DATA_LIST;
580
581 typedef struct _WLAN_STATISTICS {
582 ULONGLONG ullFourWayHandshakeFailures;
583 ULONGLONG ullTKIPCounterMeasuresInvoked;
584 ULONGLONG ullReserved;
585 WLAN_MAC_FRAME_STATISTICS MacUcastCounters;
586 WLAN_MAC_FRAME_STATISTICS MacMcastCounters;
587 DWORD dwNumberOfPhys;
588 WLAN_PHY_FRAME_STATISTICS PhyCounters[1];
589 } WLAN_STATISTICS, *PWLAN_STATISTICS;
590
591 DWORD WINAPI WlanExtractPsdIEDataList(
592 HANDLE hClientHandle,
593 DWORD dwIeDataSize,
594 const PBYTE pRawIeData,
595 LPCWSTR strFormat,
596 PVOID pReserved,
597 PWLAN_RAW_DATA_LIST *ppPsdIEDataList
598 );
599
600 DWORD WINAPI WlanGetFilterList(
601 HANDLE hClientHandle,
602 WLAN_FILTER_LIST_TYPE wlanFilterListType,
603 PVOID pReserved,
604 PDOT11_NETWORK_LIST *ppNetworkList
605 );
606
607 DWORD WINAPI WlanGetInterfaceCapability(
608 HANDLE hClientHandle,
609 const GUID *pInterfaceGuid,
610 PVOID pReserved,
611 PWLAN_INTERFACE_CAPABILITY *ppCapability
612 );
613
614 DWORD WINAPI WlanGetNetworkBssList(
615 HANDLE hClientHandle,
616 const GUID *pInterfaceGuid,
617 const PDOT11_SSID pDot11Ssid,
618 DOT11_BSS_TYPE dot11BssType,
619 WINBOOL bSecurityEnabled,
620 PVOID pReserved,
621 PWLAN_BSS_LIST *ppWlanBssList
622 );
623
624 DWORD WINAPI WlanGetProfileCustomUserData(
625 HANDLE hClientHandle,
626 const GUID *pInterfaceGuid,
627 LPCWSTR strProfileName,
628 PVOID pReserved,
629 DWORD *pdwDataSize,
630 PBYTE *ppData
631 );
632
633 DWORD WINAPI WlanGetSecuritySettings(
634 HANDLE hClientHandle,
635 WLAN_SECURABLE_OBJECT SecurableObject,
636 PWLAN_OPCODE_VALUE_TYPE pValueType,
637 LPWSTR *pstrCurrentSDDL,
638 PDWORD pdwGrantedAccess
639 );
640
641 DWORD WINAPI WlanIhvControl(
642 HANDLE hClientHandle,
643 const GUID *pInterfaceGuid,
644 WLAN_IHV_CONTROL_TYPE Type,
645 DWORD dwInBufferSize,
646 PVOID pInBuffer,
647 DWORD dwOutBufferSize,
648 PVOID pOutBuffer,
649 PDWORD pdwBytesReturned
650 );
651
652 DWORD WINAPI WlanQueryAutoConfigParameter(
653 HANDLE hClientHandle,
654 WLAN_AUTOCONF_OPCODE OpCode,
655 PVOID pReserved,
656 PDWORD pdwDataSize,
657 PVOID ppData,
658 PWLAN_OPCODE_VALUE_TYPE pWlanOpcodeValueType
659 );
660
661 DWORD WINAPI WlanRenameProfile(
662 HANDLE hClientHandle,
663 const GUID *pInterfaceGuid,
664 LPCWSTR strOldProfileName,
665 LPCWSTR strNewProfileName,
666 PVOID pReserved
667 );
668
669 #define WLAN_PROFILE_USER 0x00000002
670 #define WLAN_PROFILE_CONNECTION_MODE_SET_BY_CLIENT 0x00010000
671 #define WLAN_PROFILE_CONNECTION_MODE_AUTO 0x00020000
672
673 DWORD WINAPI WlanSaveTemporaryProfile(
674 HANDLE hClientHandle,
675 const GUID *pInterfaceGuid,
676 LPCWSTR strProfileName,
677 LPCWSTR strAllUserProfileSecurity,
678 DWORD dwFlags,
679 WINBOOL bOverWrite,
680 PVOID pReserved
681 );
682
683 DWORD WINAPI WlanScan(
684 HANDLE hClientHandle,
685 const GUID *pInterfaceGuid,
686 const PDOT11_SSID pDot11Ssid,
687 const PWLAN_RAW_DATA pIeData,
688 PVOID pReserved
689 );
690
691 DWORD WINAPI WlanSetAutoConfigParameter(
692 HANDLE hClientHandle,
693 WLAN_AUTOCONF_OPCODE OpCode,
694 DWORD dwDataSize,
695 const PVOID pData,
696 PVOID pReserved
697 );
698
699 DWORD WINAPI WlanSetFilterList(
700 HANDLE hClientHandle,
701 WLAN_FILTER_LIST_TYPE wlanFilterListType,
702 const PDOT11_NETWORK_LIST pNetworkList,
703 PVOID pReserved
704 );
705
706 DWORD WINAPI WlanSetProfileCustomUserData(
707 HANDLE hClientHandle,
708 const GUID *pInterfaceGuid,
709 LPCWSTR strProfileName,
710 DWORD dwDataSize,
711 const PBYTE pData,
712 PVOID pReserved
713 );
714
715 DWORD WlanSetProfileEapUserData(
716 HANDLE hClientHandle,
717 const GUID *pInterfaceGuid,
718 LPCWSTR strProfileName,
719 EAP_METHOD_TYPE eapType,
720 DWORD dwFlags,
721 DWORD dwEapUserDataSize,
722 const LPBYTE pbEapUserData,
723 PVOID pReserved
724 );
725
726 DWORD WINAPI WlanSetPsdIEDataList(
727 HANDLE hClientHandle,
728 LPCWSTR strFormat,
729 const PWLAN_RAW_DATA_LIST pPsdIEDataList,
730 PVOID pReserved
731 );
732
733 DWORD WINAPI WlanSetSecuritySettings(
734 HANDLE hClientHandle,
735 WLAN_SECURABLE_OBJECT SecurableObject,
736 LPCWSTR strModifiedSDDL
737 );
738
739 DWORD WINAPI WlanUIEditProfile(
740 DWORD dwClientVersion,
741 LPCWSTR wstrProfileName,
742 GUID *pInterfaceGuid,
743 HWND hWnd,
744 WL_DISPLAY_PAGES wlStartPage,
745 PVOID pReserved,
746 PWLAN_REASON_CODE *pWlanReasonCode
747 );
748
749 #ifdef __cplusplus
750 }
751 #endif
752
753 #endif /*_INC_WLANAPI*/