source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/wlanapi.h@ 1194

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

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

File size: 22.6 KB
RevLine 
[1166]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
14extern "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
26typedef DWORD WLAN_REASON_CODE, *PWLAN_REASON_CODE;
27typedef ULONG WLAN_SIGNAL_QUALITY, *PWLAN_SIGNAL_QUALITY;
28
29typedef struct _DOT11_NETWORK {
30 DOT11_SSID dot11Ssid;
31 DOT11_BSS_TYPE dot11BssType;
32} DOT11_NETWORK, *PDOT11_NETWORK;
33
34typedef 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
40typedef 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
67typedef 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
78typedef 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
87typedef 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
93typedef 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
121typedef 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
128typedef 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
136typedef 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
147typedef 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
152typedef 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
162typedef 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
180typedef 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
186typedef 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
193typedef 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 */
202typedef VOID (CALLBACK *WLAN_NOTIFICATION_CALLBACK)(
203 PWLAN_NOTIFICATION_DATA ,
204 PVOID
205);
206
207#define WLAN_MAX_NAME_LENGTH 256
208
209typedef 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
225typedef 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
234typedef struct _WLAN_INTERFACE_INFO {
235 GUID InterfaceGuid;
236 WCHAR strInterfaceDescription[256];
237 WLAN_INTERFACE_STATE isState;
238} WLAN_INTERFACE_INFO, *PWLAN_INTERFACE_INFO;
239
240typedef 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
246typedef struct _WLAN_PROFILE_INFO {
247 WCHAR strProfileName[256];
248 DWORD dwFlags;
249} WLAN_PROFILE_INFO, *PWLAN_PROFILE_INFO;
250
251typedef 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
257PVOID WINAPI WlanAllocateMemory(
258 DWORD dwMemorySize
259);
260
261DWORD WINAPI WlanCloseHandle(
262 HANDLE hClientHandle,
263 PVOID pReserved
264);
265
266DWORD WINAPI WlanConnect(
267 HANDLE hClientHandle,
268 const GUID *pInterfaceGuid,
269 const PWLAN_CONNECTION_PARAMETERS pConnectionParameters,
270 PVOID pReserved
271);
272
273DWORD WINAPI WlanDeleteProfile(
274 HANDLE hClientHandle,
275 const GUID *pInterfaceGuid,
276 LPCWSTR strProfileName,
277 PVOID pReserved
278);
279
280DWORD WINAPI WlanDisconnect(
281 HANDLE hClientHandle,
282 const GUID *pInterfaceGuid,
283 PVOID pReserved
284);
285
286DWORD WINAPI WlanEnumInterfaces(
287 HANDLE hClientHandle,
288 PVOID pReserved,
289 PWLAN_INTERFACE_INFO_LIST *ppInterfaceList
290);
291
292VOID WINAPI WlanFreeMemory(
293 PVOID pMemory
294);
295
296DWORD WINAPI WlanGetAvailableNetworkList(
297 HANDLE hClientHandle,
298 const GUID *pInterfaceGuid,
299 DWORD dwFlags,
300 PVOID pReserved,
301 PWLAN_AVAILABLE_NETWORK_LIST *ppAvailableNetworkList
302);
303
304DWORD 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
314DWORD WINAPI WlanGetProfileList(
315 HANDLE hClientHandle,
316 const GUID *pInterfaceGuid,
317 PVOID pReserved,
318 PWLAN_PROFILE_INFO_LIST *ppProfileList
319);
320
321DWORD WINAPI WlanOpenHandle(
322 DWORD dwClientVersion,
323 PVOID pReserved,
324 PDWORD pdwNegotiatedVersion,
325 PHANDLE phClientHandle
326);
327
328DWORD 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
338DWORD WINAPI WlanReasonCodeToString(
339 DWORD dwReasonCode,
340 DWORD dwBufferSize,
341 PWCHAR pStringBuffer,
342 PVOID pReserved
343);
344
345DWORD 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
355DWORD 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
364DWORD 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
375DWORD WINAPI WlanSetProfileEapXmlUserData(
376 HANDLE hClientHandle,
377 const GUID *pInterfaceGuid,
378 LPCWSTR strProfileName,
379 DWORD dwFlags,
380 LPCWSTR strEapXmlUserData,
381 PVOID pReserved
382);
383
384DWORD WINAPI WlanSetProfileList(
385 HANDLE hClientHandle,
386 const GUID *pInterfaceGuid,
387 DWORD dwItems,
388 LPCWSTR *strProfileNames,
389 PVOID pReserved
390);
391
392DWORD WINAPI WlanSetProfilePosition(
393 HANDLE hClientHandle,
394 const GUID *pInterfaceGuid,
395 LPCWSTR strProfileName,
396 DWORD dwPosition,
397 PVOID pReserved
398);
399
400typedef 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
411typedef enum _WL_DISPLAY_PAGES {
412 WLConnectionPage,
413 WLSecurityPage
414} WL_DISPLAY_PAGES, *PWL_DISPLAY_PAGES;
415
416typedef 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
421typedef 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
426typedef 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
433typedef 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
451typedef 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
459typedef struct _WLAN_RATE_SET {
460 ULONG uRateSetLength;
461 USHORT usRateSet[DOT11_RATE_SET_MAX_LENGTH];
462} WLAN_RATE_SET, *PWLAN_RATE_SET;
463
464typedef 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
483typedef struct _WLAN_BSS_LIST {
484 DWORD dwTotalSize;
485 DWORD dwNumberOfItems;
486 WLAN_BSS_ENTRY wlanBssEntries[1];
487} WLAN_BSS_LIST, *PWLAN_BSS_LIST;
488
489typedef 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
496typedef 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
505typedef 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
520typedef 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
532typedef 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
553typedef 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
559typedef 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
567typedef struct _WLAN_RAW_DATA {
568 DWORD dwDataSize;
569 BYTE DataBlob[1];
570} WLAN_RAW_DATA, *PWLAN_RAW_DATA;
571
572typedef 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
581typedef 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
591DWORD 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
600DWORD WINAPI WlanGetFilterList(
601 HANDLE hClientHandle,
602 WLAN_FILTER_LIST_TYPE wlanFilterListType,
603 PVOID pReserved,
604 PDOT11_NETWORK_LIST *ppNetworkList
605);
606
607DWORD WINAPI WlanGetInterfaceCapability(
608 HANDLE hClientHandle,
609 const GUID *pInterfaceGuid,
610 PVOID pReserved,
611 PWLAN_INTERFACE_CAPABILITY *ppCapability
612);
613
614DWORD 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
624DWORD WINAPI WlanGetProfileCustomUserData(
625 HANDLE hClientHandle,
626 const GUID *pInterfaceGuid,
627 LPCWSTR strProfileName,
628 PVOID pReserved,
629 DWORD *pdwDataSize,
630 PBYTE *ppData
631);
632
633DWORD WINAPI WlanGetSecuritySettings(
634 HANDLE hClientHandle,
635 WLAN_SECURABLE_OBJECT SecurableObject,
636 PWLAN_OPCODE_VALUE_TYPE pValueType,
637 LPWSTR *pstrCurrentSDDL,
638 PDWORD pdwGrantedAccess
639);
640
641DWORD 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
652DWORD 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
661DWORD 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
673DWORD 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
683DWORD 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
691DWORD WINAPI WlanSetAutoConfigParameter(
692 HANDLE hClientHandle,
693 WLAN_AUTOCONF_OPCODE OpCode,
694 DWORD dwDataSize,
695 const PVOID pData,
696 PVOID pReserved
697);
698
699DWORD WINAPI WlanSetFilterList(
700 HANDLE hClientHandle,
701 WLAN_FILTER_LIST_TYPE wlanFilterListType,
702 const PDOT11_NETWORK_LIST pNetworkList,
703 PVOID pReserved
704);
705
706DWORD WINAPI WlanSetProfileCustomUserData(
707 HANDLE hClientHandle,
708 const GUID *pInterfaceGuid,
709 LPCWSTR strProfileName,
710 DWORD dwDataSize,
711 const PBYTE pData,
712 PVOID pReserved
713);
714
715DWORD 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
726DWORD WINAPI WlanSetPsdIEDataList(
727 HANDLE hClientHandle,
728 LPCWSTR strFormat,
729 const PWLAN_RAW_DATA_LIST pPsdIEDataList,
730 PVOID pReserved
731);
732
733DWORD WINAPI WlanSetSecuritySettings(
734 HANDLE hClientHandle,
735 WLAN_SECURABLE_OBJECT SecurableObject,
736 LPCWSTR strModifiedSDDL
737);
738
739DWORD 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*/
Note: See TracBrowser for help on using the repository browser.