wlanapi.h (43194B) - Raw
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_MAX_NAME_LENGTH L2_PROFILE_MAX_NAME_LENGTH 18 19 #define WLAN_SET_EAPHOST_DATA_ALL_USERS 0x00000001 20 21 #define WLAN_NOTIFICATION_SOURCE_NONE L2_NOTIFICATION_SOURCE_NONE 22 #define WLAN_NOTIFICATION_SOURCE_ALL L2_NOTIFICATION_SOURCE_ALL 23 #define WLAN_NOTIFICATION_SOURCE_ACM L2_NOTIFICATION_SOURCE_WLAN_ACM 24 #define WLAN_NOTIFICATION_SOURCE_MSM L2_NOTIFICATION_SOURCE_WLAN_MSM 25 #define WLAN_NOTIFICATION_SOURCE_SECURITY L2_NOTIFICATION_SOURCE_WLAN_SECURITY 26 #define WLAN_NOTIFICATION_SOURCE_IHV L2_NOTIFICATION_SOURCE_WLAN_IHV 27 #define WLAN_NOTIFICATION_SOURCE_HNWK L2_NOTIFICATION_SOURCE_WLAN_HNWK 28 #define WLAN_NOTIFICATION_SOURCE_ONEX L2_NOTIFICATION_SOURCE_ONEX 29 #define WLAN_NOTIFICATION_SOURCE_DEVICE_SERVICE L2_NOTIFICATION_SOURCE_WLAN_DEVICE_SERVICE 30 31 #define WLAN_REASON_CODE_SUCCESS L2_REASON_CODE_SUCCESS 32 #define WLAN_REASON_CODE_UNKNOWN L2_REASON_CODE_UNKNOWN 33 #define WLAN_REASON_CODE_RANGE_SIZE L2_REASON_CODE_GROUP_SIZE 34 #define WLAN_REASON_CODE_BASE L2_REASON_CODE_DOT11_AC_BASE 35 #define WLAN_REASON_CODE_AC_BASE L2_REASON_CODE_DOT11_AC_BASE 36 #define WLAN_REASON_CODE_AC_CONNECT_BASE (WLAN_REASON_CODE_AC_BASE + WLAN_REASON_CODE_RANGE_SIZE / 2) 37 #define WLAN_REASON_CODE_AC_END (WLAN_REASON_CODE_AC_BASE + WLAN_REASON_CODE_RANGE_SIZE - 1) 38 #define WLAN_REASON_CODE_PROFILE_BASE L2_REASON_CODE_PROFILE_BASE 39 #define WLAN_REASON_CODE_PROFILE_CONNECT_BASE (WLAN_REASON_CODE_PROFILE_BASE + WLAN_REASON_CODE_RANGE_SIZE / 2) 40 #define WLAN_REASON_CODE_PROFILE_END (WLAN_REASON_CODE_PROFILE_BASE + WLAN_REASON_CODE_RANGE_SIZE - 1) 41 #define WLAN_REASON_CODE_MSM_BASE L2_REASON_CODE_DOT11_MSM_BASE 42 #define WLAN_REASON_CODE_MSM_CONNECT_BASE (WLAN_REASON_CODE_MSM_BASE + WLAN_REASON_CODE_RANGE_SIZE / 2) 43 #define WLAN_REASON_CODE_MSM_END (WLAN_REASON_CODE_MSM_BASE + WLAN_REASON_CODE_RANGE_SIZE - 1) 44 #define WLAN_REASON_CODE_MSMSEC_BASE L2_REASON_CODE_DOT11_SECURITY_BASE 45 #define WLAN_REASON_CODE_MSMSEC_CONNECT_BASE (WLAN_REASON_CODE_MSMSEC_BASE + WLAN_REASON_CODE_RANGE_SIZE / 2) 46 #define WLAN_REASON_CODE_MSMSEC_END (WLAN_REASON_CODE_MSMSEC_BASE + WLAN_REASON_CODE_RANGE_SIZE - 1) 47 #define WLAN_REASON_CODE_RESERVED_BASE L2_REASON_CODE_RESERVED_BASE 48 #define WLAN_REASON_CODE_RESERVED_END (WLAN_REASON_CODE_RESERVED_BASE + WLAN_REASON_CODE_RANGE_SIZE - 1) 49 #define WLAN_REASON_CODE_NETWORK_NOT_COMPATIBLE (WLAN_REASON_CODE_AC_BASE +1) 50 #define WLAN_REASON_CODE_PROFILE_NOT_COMPATIBLE (WLAN_REASON_CODE_AC_BASE +2) 51 #define WLAN_REASON_CODE_NO_AUTO_CONNECTION (WLAN_REASON_CODE_AC_CONNECT_BASE +1) 52 #define WLAN_REASON_CODE_NOT_VISIBLE (WLAN_REASON_CODE_AC_CONNECT_BASE +2) 53 #define WLAN_REASON_CODE_GP_DENIED (WLAN_REASON_CODE_AC_CONNECT_BASE +3) 54 #define WLAN_REASON_CODE_USER_DENIED (WLAN_REASON_CODE_AC_CONNECT_BASE +4) 55 #define WLAN_REASON_CODE_BSS_TYPE_NOT_ALLOWED (WLAN_REASON_CODE_AC_CONNECT_BASE +5) 56 #define WLAN_REASON_CODE_IN_FAILED_LIST (WLAN_REASON_CODE_AC_CONNECT_BASE +6) 57 #define WLAN_REASON_CODE_IN_BLOCKED_LIST (WLAN_REASON_CODE_AC_CONNECT_BASE +7) 58 #define WLAN_REASON_CODE_SSID_LIST_TOO_LONG (WLAN_REASON_CODE_AC_CONNECT_BASE +8) 59 #define WLAN_REASON_CODE_CONNECT_CALL_FAIL (WLAN_REASON_CODE_AC_CONNECT_BASE +9) 60 #define WLAN_REASON_CODE_SCAN_CALL_FAIL (WLAN_REASON_CODE_AC_CONNECT_BASE +10) 61 #define WLAN_REASON_CODE_NETWORK_NOT_AVAILABLE (WLAN_REASON_CODE_AC_CONNECT_BASE +11) 62 #define WLAN_REASON_CODE_PROFILE_CHANGED_OR_DELETED (WLAN_REASON_CODE_AC_CONNECT_BASE +12) 63 #define WLAN_REASON_CODE_KEY_MISMATCH (WLAN_REASON_CODE_AC_CONNECT_BASE + 13) 64 #define WLAN_REASON_CODE_USER_NOT_RESPOND (WLAN_REASON_CODE_AC_CONNECT_BASE + 14) 65 #define WLAN_REASON_CODE_AP_PROFILE_NOT_ALLOWED_FOR_CLIENT (WLAN_REASON_CODE_AC_CONNECT_BASE + 15) 66 #define WLAN_REASON_CODE_AP_PROFILE_NOT_ALLOWED (WLAN_REASON_CODE_AC_CONNECT_BASE + 16) 67 #define WLAN_REASON_CODE_HOTSPOT2_PROFILE_DENIED (WLAN_REASON_CODE_AC_CONNECT_BASE + 17) 68 #define WLAN_REASON_CODE_INVALID_PROFILE_SCHEMA (WLAN_REASON_CODE_PROFILE_BASE +1) 69 #define WLAN_REASON_CODE_PROFILE_MISSING (WLAN_REASON_CODE_PROFILE_BASE +2) 70 #define WLAN_REASON_CODE_INVALID_PROFILE_NAME (WLAN_REASON_CODE_PROFILE_BASE +3) 71 #define WLAN_REASON_CODE_INVALID_PROFILE_TYPE (WLAN_REASON_CODE_PROFILE_BASE +4) 72 #define WLAN_REASON_CODE_INVALID_PHY_TYPE (WLAN_REASON_CODE_PROFILE_BASE +5) 73 #define WLAN_REASON_CODE_MSM_SECURITY_MISSING (WLAN_REASON_CODE_PROFILE_BASE +6) 74 #define WLAN_REASON_CODE_IHV_SECURITY_NOT_SUPPORTED (WLAN_REASON_CODE_PROFILE_BASE +7) 75 #define WLAN_REASON_CODE_IHV_OUI_MISMATCH (WLAN_REASON_CODE_PROFILE_BASE +8) 76 #define WLAN_REASON_CODE_IHV_OUI_MISSING (WLAN_REASON_CODE_PROFILE_BASE +9) 77 #define WLAN_REASON_CODE_IHV_SETTINGS_MISSING (WLAN_REASON_CODE_PROFILE_BASE +10) 78 #define WLAN_REASON_CODE_CONFLICT_SECURITY (WLAN_REASON_CODE_PROFILE_BASE +11) 79 #define WLAN_REASON_CODE_SECURITY_MISSING (WLAN_REASON_CODE_PROFILE_BASE +12) 80 #define WLAN_REASON_CODE_INVALID_BSS_TYPE (WLAN_REASON_CODE_PROFILE_BASE +13) 81 #define WLAN_REASON_CODE_INVALID_ADHOC_CONNECTION_MODE (WLAN_REASON_CODE_PROFILE_BASE +14) 82 #define WLAN_REASON_CODE_NON_BROADCAST_SET_FOR_ADHOC (WLAN_REASON_CODE_PROFILE_BASE +15) 83 #define WLAN_REASON_CODE_AUTO_SWITCH_SET_FOR_ADHOC (WLAN_REASON_CODE_PROFILE_BASE +16) 84 #define WLAN_REASON_CODE_AUTO_SWITCH_SET_FOR_MANUAL_CONNECTION (WLAN_REASON_CODE_PROFILE_BASE +17) 85 #define WLAN_REASON_CODE_IHV_SECURITY_ONEX_MISSING (WLAN_REASON_CODE_PROFILE_BASE +18) 86 #define WLAN_REASON_CODE_PROFILE_SSID_INVALID (WLAN_REASON_CODE_PROFILE_BASE +19) 87 #define WLAN_REASON_CODE_TOO_MANY_SSID (WLAN_REASON_CODE_PROFILE_BASE +20) 88 #define WLAN_REASON_CODE_IHV_CONNECTIVITY_NOT_SUPPORTED (WLAN_REASON_CODE_PROFILE_BASE +21) 89 #define WLAN_REASON_CODE_BAD_MAX_NUMBER_OF_CLIENTS_FOR_AP (WLAN_REASON_CODE_PROFILE_BASE +22) 90 #define WLAN_REASON_CODE_INVALID_CHANNEL (WLAN_REASON_CODE_PROFILE_BASE +23) 91 #define WLAN_REASON_CODE_OPERATION_MODE_NOT_SUPPORTED (WLAN_REASON_CODE_PROFILE_BASE +24) 92 #define WLAN_REASON_CODE_AUTO_AP_PROFILE_NOT_ALLOWED (WLAN_REASON_CODE_PROFILE_BASE +25) 93 #define WLAN_REASON_CODE_AUTO_CONNECTION_NOT_ALLOWED (WLAN_REASON_CODE_PROFILE_BASE +26) 94 #define WLAN_REASON_CODE_HOTSPOT2_PROFILE_NOT_ALLOWED (WLAN_REASON_CODE_PROFILE_BASE +27) 95 #define WLAN_REASON_CODE_UNSUPPORTED_SECURITY_SET_BY_OS (WLAN_REASON_CODE_MSM_BASE +1) 96 #define WLAN_REASON_CODE_UNSUPPORTED_SECURITY_SET (WLAN_REASON_CODE_MSM_BASE +2) 97 #define WLAN_REASON_CODE_BSS_TYPE_UNMATCH (WLAN_REASON_CODE_MSM_BASE +3) 98 #define WLAN_REASON_CODE_PHY_TYPE_UNMATCH (WLAN_REASON_CODE_MSM_BASE +4) 99 #define WLAN_REASON_CODE_DATARATE_UNMATCH (WLAN_REASON_CODE_MSM_BASE +5) 100 #define WLAN_REASON_CODE_USER_CANCELLED (WLAN_REASON_CODE_MSM_CONNECT_BASE+1) 101 #define WLAN_REASON_CODE_ASSOCIATION_FAILURE (WLAN_REASON_CODE_MSM_CONNECT_BASE+2) 102 #define WLAN_REASON_CODE_ASSOCIATION_TIMEOUT (WLAN_REASON_CODE_MSM_CONNECT_BASE+3) 103 #define WLAN_REASON_CODE_PRE_SECURITY_FAILURE (WLAN_REASON_CODE_MSM_CONNECT_BASE+4) 104 #define WLAN_REASON_CODE_START_SECURITY_FAILURE (WLAN_REASON_CODE_MSM_CONNECT_BASE+5) 105 #define WLAN_REASON_CODE_SECURITY_FAILURE (WLAN_REASON_CODE_MSM_CONNECT_BASE+6) 106 #define WLAN_REASON_CODE_SECURITY_TIMEOUT (WLAN_REASON_CODE_MSM_CONNECT_BASE+7) 107 #define WLAN_REASON_CODE_ROAMING_FAILURE (WLAN_REASON_CODE_MSM_CONNECT_BASE+8) 108 #define WLAN_REASON_CODE_ROAMING_SECURITY_FAILURE (WLAN_REASON_CODE_MSM_CONNECT_BASE+9) 109 #define WLAN_REASON_CODE_ADHOC_SECURITY_FAILURE (WLAN_REASON_CODE_MSM_CONNECT_BASE+10) 110 #define WLAN_REASON_CODE_DRIVER_DISCONNECTED (WLAN_REASON_CODE_MSM_CONNECT_BASE+11) 111 #define WLAN_REASON_CODE_DRIVER_OPERATION_FAILURE (WLAN_REASON_CODE_MSM_CONNECT_BASE+12) 112 #define WLAN_REASON_CODE_IHV_NOT_AVAILABLE (WLAN_REASON_CODE_MSM_CONNECT_BASE+13) 113 #define WLAN_REASON_CODE_IHV_NOT_RESPONDING (WLAN_REASON_CODE_MSM_CONNECT_BASE+14) 114 #define WLAN_REASON_CODE_DISCONNECT_TIMEOUT (WLAN_REASON_CODE_MSM_CONNECT_BASE+15) 115 #define WLAN_REASON_CODE_INTERNAL_FAILURE (WLAN_REASON_CODE_MSM_CONNECT_BASE+16) 116 #define WLAN_REASON_CODE_UI_REQUEST_TIMEOUT (WLAN_REASON_CODE_MSM_CONNECT_BASE+17) 117 #define WLAN_REASON_CODE_TOO_MANY_SECURITY_ATTEMPTS (WLAN_REASON_CODE_MSM_CONNECT_BASE+18) 118 #define WLAN_REASON_CODE_AP_STARTING_FAILURE (WLAN_REASON_CODE_MSM_CONNECT_BASE+19) 119 #define WLAN_REASON_CODE_NO_VISIBLE_AP (WLAN_REASON_CODE_MSM_CONNECT_BASE+20) 120 #define WLAN_REASON_CODE_MSMSEC_MIN WLAN_REASON_CODE_MSMSEC_BASE 121 #define WLAN_REASON_CODE_MSMSEC_PROFILE_INVALID_KEY_INDEX (WLAN_REASON_CODE_MSMSEC_BASE+1) 122 #define WLAN_REASON_CODE_MSMSEC_PROFILE_PSK_PRESENT (WLAN_REASON_CODE_MSMSEC_BASE+2) 123 #define WLAN_REASON_CODE_MSMSEC_PROFILE_KEY_LENGTH (WLAN_REASON_CODE_MSMSEC_BASE+3) 124 #define WLAN_REASON_CODE_MSMSEC_PROFILE_PSK_LENGTH (WLAN_REASON_CODE_MSMSEC_BASE+4) 125 #define WLAN_REASON_CODE_MSMSEC_PROFILE_NO_AUTH_CIPHER_SPECIFIED (WLAN_REASON_CODE_MSMSEC_BASE+5) 126 #define WLAN_REASON_CODE_MSMSEC_PROFILE_TOO_MANY_AUTH_CIPHER_SPECIFIED (WLAN_REASON_CODE_MSMSEC_BASE+6) 127 #define WLAN_REASON_CODE_MSMSEC_PROFILE_DUPLICATE_AUTH_CIPHER (WLAN_REASON_CODE_MSMSEC_BASE+7) 128 #define WLAN_REASON_CODE_MSMSEC_PROFILE_RAWDATA_INVALID (WLAN_REASON_CODE_MSMSEC_BASE+8) 129 #define WLAN_REASON_CODE_MSMSEC_PROFILE_INVALID_AUTH_CIPHER (WLAN_REASON_CODE_MSMSEC_BASE+9) 130 #define WLAN_REASON_CODE_MSMSEC_PROFILE_ONEX_DISABLED (WLAN_REASON_CODE_MSMSEC_BASE+10) 131 #define WLAN_REASON_CODE_MSMSEC_PROFILE_ONEX_ENABLED (WLAN_REASON_CODE_MSMSEC_BASE+11) 132 #define WLAN_REASON_CODE_MSMSEC_PROFILE_INVALID_PMKCACHE_MODE (WLAN_REASON_CODE_MSMSEC_BASE+12) 133 #define WLAN_REASON_CODE_MSMSEC_PROFILE_INVALID_PMKCACHE_SIZE (WLAN_REASON_CODE_MSMSEC_BASE+13) 134 #define WLAN_REASON_CODE_MSMSEC_PROFILE_INVALID_PMKCACHE_TTL (WLAN_REASON_CODE_MSMSEC_BASE+14) 135 #define WLAN_REASON_CODE_MSMSEC_PROFILE_INVALID_PREAUTH_MODE (WLAN_REASON_CODE_MSMSEC_BASE+15) 136 #define WLAN_REASON_CODE_MSMSEC_PROFILE_INVALID_PREAUTH_THROTTLE (WLAN_REASON_CODE_MSMSEC_BASE+16) 137 #define WLAN_REASON_CODE_MSMSEC_PROFILE_PREAUTH_ONLY_ENABLED (WLAN_REASON_CODE_MSMSEC_BASE+17) 138 #define WLAN_REASON_CODE_MSMSEC_CAPABILITY_NETWORK (WLAN_REASON_CODE_MSMSEC_BASE+18) 139 #define WLAN_REASON_CODE_MSMSEC_CAPABILITY_NIC (WLAN_REASON_CODE_MSMSEC_BASE+19) 140 #define WLAN_REASON_CODE_MSMSEC_CAPABILITY_PROFILE (WLAN_REASON_CODE_MSMSEC_BASE+20) 141 #define WLAN_REASON_CODE_MSMSEC_CAPABILITY_DISCOVERY (WLAN_REASON_CODE_MSMSEC_BASE+21) 142 #define WLAN_REASON_CODE_MSMSEC_PROFILE_PASSPHRASE_CHAR (WLAN_REASON_CODE_MSMSEC_BASE+22) 143 #define WLAN_REASON_CODE_MSMSEC_PROFILE_KEYMATERIAL_CHAR (WLAN_REASON_CODE_MSMSEC_BASE+23) 144 #define WLAN_REASON_CODE_MSMSEC_PROFILE_WRONG_KEYTYPE (WLAN_REASON_CODE_MSMSEC_BASE+24) 145 #define WLAN_REASON_CODE_MSMSEC_MIXED_CELL (WLAN_REASON_CODE_MSMSEC_BASE+25) 146 #define WLAN_REASON_CODE_MSMSEC_PROFILE_AUTH_TIMERS_INVALID (WLAN_REASON_CODE_MSMSEC_BASE+26) 147 #define WLAN_REASON_CODE_MSMSEC_PROFILE_INVALID_GKEY_INTV (WLAN_REASON_CODE_MSMSEC_BASE+27) 148 #define WLAN_REASON_CODE_MSMSEC_TRANSITION_NETWORK (WLAN_REASON_CODE_MSMSEC_BASE+28) 149 #define WLAN_REASON_CODE_MSMSEC_PROFILE_KEY_UNMAPPED_CHAR (WLAN_REASON_CODE_MSMSEC_BASE+29) 150 #define WLAN_REASON_CODE_MSMSEC_CAPABILITY_PROFILE_AUTH (WLAN_REASON_CODE_MSMSEC_BASE+30) 151 #define WLAN_REASON_CODE_MSMSEC_CAPABILITY_PROFILE_CIPHER (WLAN_REASON_CODE_MSMSEC_BASE+31) 152 #define WLAN_REASON_CODE_MSMSEC_PROFILE_SAFE_MODE (WLAN_REASON_CODE_MSMSEC_BASE+32) 153 #define WLAN_REASON_CODE_MSMSEC_CAPABILITY_PROFILE_SAFE_MODE_NIC (WLAN_REASON_CODE_MSMSEC_BASE+33) 154 #define WLAN_REASON_CODE_MSMSEC_CAPABILITY_PROFILE_SAFE_MODE_NW (WLAN_REASON_CODE_MSMSEC_BASE+34) 155 #define WLAN_REASON_CODE_MSMSEC_PROFILE_UNSUPPORTED_AUTH (WLAN_REASON_CODE_MSMSEC_BASE+35) 156 #define WLAN_REASON_CODE_MSMSEC_PROFILE_UNSUPPORTED_CIPHER (WLAN_REASON_CODE_MSMSEC_BASE+36) 157 #define WLAN_REASON_CODE_MSMSEC_CAPABILITY_MFP_NW_NIC (WLAN_REASON_CODE_MSMSEC_BASE+37) 158 #define WLAN_REASON_CODE_MSMSEC_UI_REQUEST_FAILURE (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+1) 159 #define WLAN_REASON_CODE_MSMSEC_AUTH_START_TIMEOUT (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+2) 160 #define WLAN_REASON_CODE_MSMSEC_AUTH_SUCCESS_TIMEOUT (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+3) 161 #define WLAN_REASON_CODE_MSMSEC_KEY_START_TIMEOUT (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+4) 162 #define WLAN_REASON_CODE_MSMSEC_KEY_SUCCESS_TIMEOUT (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+5) 163 #define WLAN_REASON_CODE_MSMSEC_M3_MISSING_KEY_DATA (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+6) 164 #define WLAN_REASON_CODE_MSMSEC_M3_MISSING_IE (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+7) 165 #define WLAN_REASON_CODE_MSMSEC_M3_MISSING_GRP_KEY (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+8) 166 #define WLAN_REASON_CODE_MSMSEC_PR_IE_MATCHING (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+9) 167 #define WLAN_REASON_CODE_MSMSEC_SEC_IE_MATCHING (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+10) 168 #define WLAN_REASON_CODE_MSMSEC_NO_PAIRWISE_KEY (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+11) 169 #define WLAN_REASON_CODE_MSMSEC_G1_MISSING_KEY_DATA (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+12) 170 #define WLAN_REASON_CODE_MSMSEC_G1_MISSING_GRP_KEY (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+13) 171 #define WLAN_REASON_CODE_MSMSEC_PEER_INDICATED_INSECURE (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+14) 172 #define WLAN_REASON_CODE_MSMSEC_NO_AUTHENTICATOR (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+15) 173 #define WLAN_REASON_CODE_MSMSEC_NIC_FAILURE (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+16) 174 #define WLAN_REASON_CODE_MSMSEC_CANCELLED (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+17) 175 #define WLAN_REASON_CODE_MSMSEC_KEY_FORMAT (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+18) 176 #define WLAN_REASON_CODE_MSMSEC_DOWNGRADE_DETECTED (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+19) 177 #define WLAN_REASON_CODE_MSMSEC_PSK_MISMATCH_SUSPECTED (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+20) 178 #define WLAN_REASON_CODE_MSMSEC_FORCED_FAILURE (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+21) 179 #define WLAN_REASON_CODE_MSMSEC_M3_TOO_MANY_RSNIE (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+22) 180 #define WLAN_REASON_CODE_MSMSEC_M2_MISSING_KEY_DATA (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+23) 181 #define WLAN_REASON_CODE_MSMSEC_M2_MISSING_IE (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+24) 182 #define WLAN_REASON_CODE_MSMSEC_AUTH_WCN_COMPLETED (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+25) 183 #define WLAN_REASON_CODE_MSMSEC_M3_MISSING_MGMT_GRP_KEY (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+26) 184 #define WLAN_REASON_CODE_MSMSEC_G1_MISSING_MGMT_GRP_KEY (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+27) 185 #define WLAN_REASON_CODE_MSMSEC_MAX WLAN_REASON_CODE_MSMSEC_END 186 187 #define WLAN_AVAILABLE_NETWORK_CONNECTED 0x00000001 188 #define WLAN_AVAILABLE_NETWORK_HAS_PROFILE 0x00000002 189 #define WLAN_AVAILABLE_NETWORK_CONSOLE_USER_PROFILE 0x00000004 190 #define WLAN_AVAILABLE_NETWORK_INTERWORKING_SUPPORTED 0x00000008 191 #define WLAN_AVAILABLE_NETWORK_HOTSPOT2_ENABLED 0x00000010 192 #define WLAN_AVAILABLE_NETWORK_ANQP_SUPPORTED 0x00000020 193 #define WLAN_AVAILABLE_NETWORK_HOTSPOT2_DOMAIN 0x00000040 194 #define WLAN_AVAILABLE_NETWORK_HOTSPOT2_ROAMING 0x00000080 195 #define WLAN_AVAILABLE_NETWORK_AUTO_CONNECT_FAILED 0x00000100 196 197 #define WLAN_AVAILABLE_NETWORK_INCLUDE_ALL_ADHOC_PROFILES 0x00000001 198 #define WLAN_AVAILABLE_NETWORK_INCLUDE_ALL_MANUAL_HIDDEN_PROFILES 0x00000002 199 200 #define WLAN_READ_ACCESS (STANDARD_RIGHTS_READ | FILE_READ_DATA) 201 #define WLAN_EXECUTE_ACCESS (WLAN_READ_ACCESS | STANDARD_RIGHTS_EXECUTE | FILE_EXECUTE) 202 #define WLAN_WRITE_ACCESS (WLAN_READ_ACCESS | WLAN_EXECUTE_ACCESS | STANDARD_RIGHTS_WRITE | FILE_WRITE_DATA | DELETE | WRITE_DAC) 203 204 typedef DWORD WLAN_REASON_CODE, *PWLAN_REASON_CODE; 205 typedef ULONG WLAN_SIGNAL_QUALITY, *PWLAN_SIGNAL_QUALITY; 206 207 typedef struct _DOT11_NETWORK { 208 DOT11_SSID dot11Ssid; 209 DOT11_BSS_TYPE dot11BssType; 210 } DOT11_NETWORK, *PDOT11_NETWORK; 211 212 typedef enum _DOT11_RADIO_STATE { 213 dot11_radio_state_unknown, 214 dot11_radio_state_on, 215 dot11_radio_state_off 216 } DOT11_RADIO_STATE, *PDOT11_RADIO_STATE; 217 218 typedef enum _WLAN_NOTIFICATION_ACM { 219 wlan_notification_acm_start = L2_NOTIFICATION_CODE_PUBLIC_BEGIN, 220 wlan_notification_acm_autoconf_enabled, 221 wlan_notification_acm_autoconf_disabled, 222 wlan_notification_acm_background_scan_enabled, 223 wlan_notification_acm_background_scan_disabled, 224 wlan_notification_acm_bss_type_change, 225 wlan_notification_acm_power_setting_change, 226 wlan_notification_acm_scan_complete, 227 wlan_notification_acm_scan_fail, 228 wlan_notification_acm_connection_start, 229 wlan_notification_acm_connection_complete, 230 wlan_notification_acm_connection_attempt_fail, 231 wlan_notification_acm_filter_list_change, 232 wlan_notification_acm_interface_arrival, 233 wlan_notification_acm_interface_removal, 234 wlan_notification_acm_profile_change, 235 wlan_notification_acm_profile_name_change, 236 wlan_notification_acm_profiles_exhausted, 237 wlan_notification_acm_network_not_available, 238 wlan_notification_acm_network_available, 239 wlan_notification_acm_disconnecting, 240 wlan_notification_acm_disconnected, 241 wlan_notification_acm_adhoc_network_state_change, 242 wlan_notification_acm_profile_unblocked, 243 wlan_notification_acm_screen_power_change, 244 wlan_notification_acm_profile_blocked, 245 wlan_notification_acm_scan_list_refresh, 246 wlan_notification_acm_operational_state_change, 247 wlan_notification_acm_end 248 } WLAN_NOTIFICATION_ACM, *PWLAN_NOTIFICATION_ACM; 249 250 typedef enum _WLAN_NOTIFICATION_MSM { 251 wlan_notification_msm_start = L2_NOTIFICATION_CODE_PUBLIC_BEGIN, 252 wlan_notification_msm_associating, 253 wlan_notification_msm_associated, 254 wlan_notification_msm_authenticating, 255 wlan_notification_msm_connected, 256 wlan_notification_msm_roaming_start, 257 wlan_notification_msm_roaming_end, 258 wlan_notification_msm_radio_state_change, 259 wlan_notification_msm_signal_quality_change, 260 wlan_notification_msm_disassociating, 261 wlan_notification_msm_disconnected, 262 wlan_notification_msm_peer_join, 263 wlan_notification_msm_peer_leave, 264 wlan_notification_msm_adapter_removal, 265 wlan_notification_msm_adapter_operation_mode_change, 266 wlan_notification_msm_link_degraded, 267 wlan_notification_msm_link_improved, 268 wlan_notification_msm_end 269 } WLAN_NOTIFICATION_MSM, *PWLAN_NOTIFICATION_MSM; 270 271 typedef enum _WLAN_NOTIFICATION_SECURITY { 272 wlan_notification_security_start = L2_NOTIFICATION_CODE_PUBLIC_BEGIN, 273 wlan_notification_security_end 274 } WLAN_NOTIFICATION_SECURITY, *PWLAN_NOTIFICATION_SECURITY; 275 276 typedef enum _WLAN_INTERFACE_STATE { 277 wlan_interface_state_not_ready = 0, 278 wlan_interface_state_connected = 1, 279 wlan_interface_state_ad_hoc_network_formed = 2, 280 wlan_interface_state_disconnecting = 3, 281 wlan_interface_state_disconnected = 4, 282 wlan_interface_state_associating = 5, 283 wlan_interface_state_discovering = 6, 284 wlan_interface_state_authenticating = 7 285 } WLAN_INTERFACE_STATE, *PWLAN_INTERFACE_STATE; 286 287 typedef enum _WLAN_CONNECTION_MODE { 288 wlan_connection_mode_profile, 289 wlan_connection_mode_temporary_profile, 290 wlan_connection_mode_discovery_secure, 291 wlan_connection_mode_discovery_unsecure, 292 wlan_connection_mode_auto, 293 wlan_connection_mode_invalid 294 } WLAN_CONNECTION_MODE, *PWLAN_CONNECTION_MODE; 295 296 typedef enum _WLAN_INTERFACE_TYPE { 297 wlan_interface_type_emulated_802_11 = 0, 298 wlan_interface_type_native_802_11, 299 wlan_interface_type_invalid 300 } WLAN_INTERFACE_TYPE, *PWLAN_INTERFACE_TYPE; 301 302 typedef enum _WLAN_INTF_OPCODE { 303 wlan_intf_opcode_autoconf_start = 0x000000000, 304 wlan_intf_opcode_autoconf_enabled, 305 wlan_intf_opcode_background_scan_enabled, 306 wlan_intf_opcode_media_streaming_mode, 307 wlan_intf_opcode_radio_state, 308 wlan_intf_opcode_bss_type, 309 wlan_intf_opcode_interface_state, 310 wlan_intf_opcode_current_connection, 311 wlan_intf_opcode_channel_number, 312 wlan_intf_opcode_supported_infrastructure_auth_cipher_pairs, 313 wlan_intf_opcode_supported_adhoc_auth_cipher_pairs, 314 wlan_intf_opcode_supported_country_or_region_string_list, 315 wlan_intf_opcode_current_operation_mode, 316 wlan_intf_opcode_supported_safe_mode, 317 wlan_intf_opcode_certified_safe_mode, 318 wlan_intf_opcode_hosted_network_capable, 319 wlan_intf_opcode_management_frame_protection_capable, 320 wlan_intf_opcode_secondary_sta_interfaces, 321 wlan_intf_opcode_secondary_sta_synchronized_connections, 322 wlan_intf_opcode_autoconf_end = 0x0fffffff, 323 wlan_intf_opcode_msm_start = 0x10000100, 324 wlan_intf_opcode_statistics, 325 wlan_intf_opcode_rssi, 326 wlan_intf_opcode_msm_end = 0x1fffffff, 327 wlan_intf_opcode_security_start = 0x20010000, 328 wlan_intf_opcode_security_end = 0x2fffffff, 329 wlan_intf_opcode_ihv_start = 0x30000000, 330 wlan_intf_opcode_ihv_end = 0x3fffffff 331 } WLAN_INTF_OPCODE, *PWLAN_INTF_OPCODE; 332 333 typedef enum _WLAN_OPCODE_VALUE_TYPE { 334 wlan_opcode_value_type_query_only = 0, 335 wlan_opcode_value_type_set_by_group_policy = 1, 336 wlan_opcode_value_type_set_by_user = 2, 337 wlan_opcode_value_type_invalid = 3 338 } WLAN_OPCODE_VALUE_TYPE, *PWLAN_OPCODE_VALUE_TYPE; 339 340 typedef enum _WLAN_POWER_SETTING { 341 wlan_power_setting_no_saving, 342 wlan_power_setting_low_saving, 343 wlan_power_setting_medium_saving, 344 wlan_power_setting_maximum_saving, 345 wlan_power_setting_invalid 346 } WLAN_POWER_SETTING, *PWLAN_POWER_SETTING; 347 348 typedef struct _WLAN_ASSOCIATION_ATTRIBUTES { 349 DOT11_SSID dot11Ssid; 350 DOT11_BSS_TYPE dot11BssType; 351 DOT11_MAC_ADDRESS dot11Bssid; 352 DOT11_PHY_TYPE dot11PhyType; 353 ULONG uDot11PhyIndex; 354 WLAN_SIGNAL_QUALITY wlanSignalQuality; 355 ULONG ulRxRate; 356 ULONG ulTxRate; 357 } WLAN_ASSOCIATION_ATTRIBUTES, *PWLAN_ASSOCIATION_ATTRIBUTES; 358 359 typedef struct _WLAN_AUTH_CIPHER_PAIR_LIST { 360 DWORD dwNumberOfItems; 361 DOT11_AUTH_CIPHER_PAIR pAuthCipherPairList[1]; 362 } WLAN_AUTH_CIPHER_PAIR_LIST, *PWLAN_AUTH_CIPHER_PAIR_LIST; 363 364 typedef struct _WLAN_NOTIFICATION_DATA { 365 DWORD NotificationSource; 366 DWORD NotificationCode; 367 GUID InterfaceGuid; 368 DWORD dwDataSize; 369 PVOID pData; 370 } WLAN_NOTIFICATION_DATA, *PWLAN_NOTIFICATION_DATA; 371 372 #define WLAN_MAX_PHY_TYPE_NUMBER 8 373 374 typedef struct _WLAN_AVAILABLE_NETWORK { 375 WCHAR strProfileName[WLAN_MAX_NAME_LENGTH]; 376 DOT11_SSID dot11Ssid; 377 DOT11_BSS_TYPE dot11BssType; 378 ULONG uNumberOfBssids; 379 WINBOOL bNetworkConnectable; 380 WLAN_REASON_CODE wlanNotConnectableReason; 381 ULONG uNumberOfPhyTypes; 382 DOT11_PHY_TYPE dot11PhyTypes[WLAN_MAX_PHY_TYPE_NUMBER]; 383 WINBOOL bMorePhyTypes; 384 WLAN_SIGNAL_QUALITY wlanSignalQuality; 385 WINBOOL bSecurityEnabled; 386 DOT11_AUTH_ALGORITHM dot11DefaultAuthAlgorithm; 387 DOT11_CIPHER_ALGORITHM dot11DefaultCipherAlgorithm; 388 DWORD dwFlags; 389 DWORD dwReserved; 390 } WLAN_AVAILABLE_NETWORK, *PWLAN_AVAILABLE_NETWORK; 391 392 typedef struct _WLAN_AVAILABLE_NETWORK_V2 { 393 WCHAR strProfileName[WLAN_MAX_NAME_LENGTH]; 394 DOT11_SSID dot11Ssid; 395 DOT11_BSS_TYPE dot11BssType; 396 ULONG uNumberOfBssids; 397 WINBOOL bNetworkConnectable; 398 WLAN_REASON_CODE wlanNotConnectableReason; 399 ULONG uNumberOfPhyTypes; 400 DOT11_PHY_TYPE dot11PhyTypes[WLAN_MAX_PHY_TYPE_NUMBER]; 401 WINBOOL bMorePhyTypes; 402 WLAN_SIGNAL_QUALITY wlanSignalQuality; 403 WINBOOL bSecurityEnabled; 404 DOT11_AUTH_ALGORITHM dot11DefaultAuthAlgorithm; 405 DOT11_CIPHER_ALGORITHM dot11DefaultCipherAlgorithm; 406 DWORD dwFlags; 407 DOT11_ACCESSNETWORKOPTIONS AccessNetworkOptions; 408 DOT11_HESSID dot11HESSID; 409 DOT11_VENUEINFO VenueInfo; 410 DWORD dwReserved; 411 } WLAN_AVAILABLE_NETWORK_V2, *PWLAN_AVAILABLE_NETWORK_V2; 412 413 typedef struct _WLAN_AVAILABLE_NETWORK_LIST { 414 DWORD dwNumberOfItems; 415 DWORD dwIndex; 416 WLAN_AVAILABLE_NETWORK Network[1]; 417 } WLAN_AVAILABLE_NETWORK_LIST, *PWLAN_AVAILABLE_NETWORK_LIST; 418 419 typedef struct _WLAN_AVAILABLE_NETWORK_LIST_V2 { 420 DWORD dwNumberOfItems; 421 DWORD dwIndex; 422 WLAN_AVAILABLE_NETWORK_V2 Network[1]; 423 } WLAN_AVAILABLE_NETWORK_LIST_V2, *PWLAN_AVAILABLE_NETWORK_LIST_V2; 424 425 typedef struct _WLAN_SECURITY_ATTRIBUTES { 426 WINBOOL bSecurityEnabled; 427 WINBOOL bOneXEnabled; 428 DOT11_AUTH_ALGORITHM dot11AuthAlgorithm; 429 DOT11_CIPHER_ALGORITHM dot11CipherAlgorithm; 430 } WLAN_SECURITY_ATTRIBUTES, *PWLAN_SECURITY_ATTRIBUTES; 431 432 typedef struct _WLAN_CONNECTION_ATTRIBUTES { 433 WLAN_INTERFACE_STATE isState; 434 WLAN_CONNECTION_MODE wlanConnectionMode; 435 WCHAR strProfileName[WLAN_MAX_NAME_LENGTH]; 436 WLAN_ASSOCIATION_ATTRIBUTES wlanAssociationAttributes; 437 WLAN_SECURITY_ATTRIBUTES wlanSecurityAttributes; 438 } WLAN_CONNECTION_ATTRIBUTES, *PWLAN_CONNECTION_ATTRIBUTES; 439 440 /* Assuming stdcall */ 441 typedef VOID (CALLBACK *WLAN_NOTIFICATION_CALLBACK)( 442 PWLAN_NOTIFICATION_DATA , 443 PVOID 444 ); 445 446 #define WLAN_CONNECTION_NOTIFICATION_ADHOC_NETWORK_FORMED 0x00000001 447 #define WLAN_CONNECTION_NOTIFICATION_CONSOLE_USER_PROFILE 0x00000004 448 449 typedef struct _WLAN_CONNECTION_NOTIFICATION_DATA { 450 WLAN_CONNECTION_MODE wlanConnectionMode; 451 WCHAR strProfileName[WLAN_MAX_NAME_LENGTH]; 452 DOT11_SSID dot11Ssid; 453 DOT11_BSS_TYPE dot11BssType; 454 WINBOOL bSecurityEnabled; 455 WLAN_REASON_CODE wlanReasonCode; 456 DWORD dwFlags; 457 WCHAR strProfileXml[1]; 458 } WLAN_CONNECTION_NOTIFICATION_DATA, *PWLAN_CONNECTION_NOTIFICATION_DATA; 459 460 typedef struct _WLAN_DEVICE_SERVICE_NOTIFICATION_DATA { 461 GUID DeviceService; 462 DWORD dwOpCode; 463 DWORD dwDataSize; 464 BYTE DataBlob[1]; 465 } WLAN_DEVICE_SERVICE_NOTIFICATION_DATA, *PWLAN_DEVICE_SERVICE_NOTIFICATION_DATA; 466 467 #define WLAN_CONNECTION_HIDDEN_NETWORK 0x00000001 468 #define WLAN_CONNECTION_ADHOC_JOIN_ONLY 0x00000002 469 #define WLAN_CONNECTION_IGNORE_PRIVACY_BIT 0x00000004 470 #define WLAN_CONNECTION_EAPOL_PASSTHROUGH 0x00000008 471 #define WLAN_CONNECTION_PERSIST_DISCOVERY_PROFILE 0x00000010 472 #define WLAN_CONNECTION_PERSIST_DISCOVERY_PROFILE_CONNECTION_MODE_AUTO 0x00000020 473 #define WLAN_CONNECTION_PERSIST_DISCOVERY_PROFILE_OVERWRITE_EXISTING 0x00000040 474 475 typedef struct _WLAN_CONNECTION_PARAMETERS { 476 WLAN_CONNECTION_MODE wlanConnectionMode; 477 LPCWSTR strProfile; 478 PDOT11_SSID pDot11Ssid; 479 PDOT11_BSSID_LIST pDesiredBssidList; 480 DOT11_BSS_TYPE dot11BssType; 481 DWORD dwFlags; 482 } WLAN_CONNECTION_PARAMETERS, *PWLAN_CONNECTION_PARAMETERS; 483 484 typedef struct _WLAN_CONNECTION_PARAMETERS_V2 { 485 WLAN_CONNECTION_MODE wlanConnectionMode; 486 LPCWSTR strProfile; 487 PDOT11_SSID pDot11Ssid; 488 PDOT11_HESSID pDot11Hessid; 489 PDOT11_BSSID_LIST pDesiredBssidList; 490 DOT11_BSS_TYPE dot11BssType; 491 DWORD dwFlags; 492 PDOT11_ACCESSNETWORKOPTIONS pDot11AccessNetworkOptions; 493 } WLAN_CONNECTION_PARAMETERS_V2, *PWLAN_CONNECTION_PARAMETERS_V2; 494 495 typedef struct _WLAN_INTERFACE_INFO { 496 GUID InterfaceGuid; 497 WCHAR strInterfaceDescription[WLAN_MAX_NAME_LENGTH]; 498 WLAN_INTERFACE_STATE isState; 499 } WLAN_INTERFACE_INFO, *PWLAN_INTERFACE_INFO; 500 501 typedef struct _WLAN_INTERFACE_INFO_LIST { 502 DWORD dwNumberOfItems; 503 DWORD dwIndex; 504 WLAN_INTERFACE_INFO InterfaceInfo[]; 505 } WLAN_INTERFACE_INFO_LIST, *PWLAN_INTERFACE_INFO_LIST; 506 507 typedef struct _WLAN_PROFILE_INFO { 508 WCHAR strProfileName[WLAN_MAX_NAME_LENGTH]; 509 DWORD dwFlags; 510 } WLAN_PROFILE_INFO, *PWLAN_PROFILE_INFO; 511 512 typedef struct _WLAN_PROFILE_INFO_LIST { 513 DWORD dwNumberOfItems; 514 DWORD dwIndex; 515 WLAN_PROFILE_INFO ProfileInfo[1]; 516 } WLAN_PROFILE_INFO_LIST, *PWLAN_PROFILE_INFO_LIST; 517 518 #define WFD_API_VERSION_1_0 0x00000001 519 520 #if _WIN32_WINNT >= _WIN32_WINNT_WIN8 521 #define WFD_API_SUPPORTED 522 #define WFD_API_VERSION WFD_API_VERSION_1_0 523 #endif 524 525 #ifdef WFD_API_SUPPORTED 526 typedef enum _WFD_ROLE_TYPE { 527 WFD_ROLE_TYPE_NONE = 0x00, 528 WFD_ROLE_TYPE_DEVICE = 0x01, 529 WFD_ROLE_TYPE_GROUP_OWNER = 0x02, 530 WFD_ROLE_TYPE_CLIENT = 0x04, 531 WFD_ROLE_TYPE_MAX = 0x05 532 } WFD_ROLE_TYPE, *PWFD_ROLE_TYPE; 533 #endif 534 535 typedef struct _WFD_GROUP_ID { 536 DOT11_MAC_ADDRESS DeviceAddress; 537 DOT11_SSID GroupSSID; 538 } WFD_GROUP_ID, *PWFD_GROUP_ID; 539 540 PVOID WINAPI WlanAllocateMemory( 541 DWORD dwMemorySize 542 ); 543 544 DWORD WINAPI WlanCloseHandle( 545 HANDLE hClientHandle, 546 PVOID pReserved 547 ); 548 549 DWORD WINAPI WlanConnect( 550 HANDLE hClientHandle, 551 const GUID *pInterfaceGuid, 552 const PWLAN_CONNECTION_PARAMETERS pConnectionParameters, 553 PVOID pReserved 554 ); 555 556 DWORD WINAPI WlanConnect2( 557 HANDLE hClientHandle, 558 const GUID *pInterfaceGuid, 559 const PWLAN_CONNECTION_PARAMETERS_V2 pConnectionParameters, 560 PVOID pReserved 561 ); 562 563 DWORD WINAPI WlanDeleteProfile( 564 HANDLE hClientHandle, 565 const GUID *pInterfaceGuid, 566 LPCWSTR strProfileName, 567 PVOID pReserved 568 ); 569 570 DWORD WINAPI WlanDeviceServiceCommand( 571 HANDLE hClientHandle, 572 const GUID *pInterfaceGuid, 573 LPGUID pDeviceServiceGuid, 574 DWORD dwOpCode, 575 DWORD dwInBufferSize, 576 PVOID pInBuffer, 577 DWORD dwOutBufferSize, 578 PVOID pOutBuffer, 579 PDWORD pdwBytesReturned 580 ); 581 582 DWORD WINAPI WlanDisconnect( 583 HANDLE hClientHandle, 584 const GUID *pInterfaceGuid, 585 PVOID pReserved 586 ); 587 588 DWORD WINAPI WlanEnumInterfaces( 589 HANDLE hClientHandle, 590 PVOID pReserved, 591 PWLAN_INTERFACE_INFO_LIST *ppInterfaceList 592 ); 593 594 VOID WINAPI WlanFreeMemory( 595 PVOID pMemory 596 ); 597 598 DWORD WINAPI WlanGetAvailableNetworkList( 599 HANDLE hClientHandle, 600 const GUID *pInterfaceGuid, 601 DWORD dwFlags, 602 PVOID pReserved, 603 PWLAN_AVAILABLE_NETWORK_LIST *ppAvailableNetworkList 604 ); 605 606 DWORD WINAPI WlanGetAvailableNetworkList2( 607 HANDLE hClientHandle, 608 const GUID *pInterfaceGuid, 609 DWORD dwFlags, 610 PVOID pReserved, 611 PWLAN_AVAILABLE_NETWORK_LIST_V2 *ppAvailableNetworkList 612 ); 613 614 DWORD WINAPI WlanGetProfile( 615 HANDLE hClientHandle, 616 const GUID *pInterfaceGuid, 617 LPCWSTR strProfileName, 618 PVOID pReserved, 619 LPWSTR *pstrProfileXml, 620 DWORD *pdwFlags, 621 PDWORD pdwGrantedAccess 622 ); 623 624 DWORD WINAPI WlanGetProfileList( 625 HANDLE hClientHandle, 626 const GUID *pInterfaceGuid, 627 PVOID pReserved, 628 PWLAN_PROFILE_INFO_LIST *ppProfileList 629 ); 630 631 DWORD WINAPI WlanOpenHandle( 632 DWORD dwClientVersion, 633 PVOID pReserved, 634 PDWORD pdwNegotiatedVersion, 635 PHANDLE phClientHandle 636 ); 637 638 DWORD WINAPI WlanQueryInterface( 639 HANDLE hClientHandle, 640 const GUID *pInterfaceGuid, 641 WLAN_INTF_OPCODE OpCode, 642 PVOID pReserved, 643 PDWORD pdwDataSize, 644 PVOID *ppData, 645 PWLAN_OPCODE_VALUE_TYPE pWlanOpcodeValueType 646 ); 647 648 DWORD WINAPI WlanReasonCodeToString( 649 DWORD dwReasonCode, 650 DWORD dwBufferSize, 651 PWCHAR pStringBuffer, 652 PVOID pReserved 653 ); 654 655 DWORD WINAPI WlanRegisterNotification( 656 HANDLE hClientHandle, 657 DWORD dwNotifSource, 658 WINBOOL bIgnoreDuplicate, 659 WLAN_NOTIFICATION_CALLBACK funcCallback, 660 PVOID pCallbackContext, 661 PVOID pReserved, 662 PDWORD pdwPrevNotifSource 663 ); 664 665 DWORD WINAPI WlanSetInterface( 666 HANDLE hClientHandle, 667 const GUID *pInterfaceGuid, 668 WLAN_INTF_OPCODE OpCode, 669 DWORD dwDataSize, 670 const PVOID pData, 671 PVOID pReserved 672 ); 673 674 DWORD WINAPI WlanSetProfile( 675 HANDLE hClientHandle, 676 const GUID *pInterfaceGuid, 677 DWORD dwFlags, 678 LPCWSTR strProfileXml, 679 LPCWSTR strAllUserProfileSecurity, 680 WINBOOL bOverwrite, 681 PVOID pReserved, 682 DWORD *pdwReasonCode 683 ); 684 685 DWORD WINAPI WlanSetProfileEapXmlUserData( 686 HANDLE hClientHandle, 687 const GUID *pInterfaceGuid, 688 LPCWSTR strProfileName, 689 DWORD dwFlags, 690 LPCWSTR strEapXmlUserData, 691 PVOID pReserved 692 ); 693 694 DWORD WINAPI WlanSetProfileList( 695 HANDLE hClientHandle, 696 const GUID *pInterfaceGuid, 697 DWORD dwItems, 698 LPCWSTR *strProfileNames, 699 PVOID pReserved 700 ); 701 702 DWORD WINAPI WlanSetProfilePosition( 703 HANDLE hClientHandle, 704 const GUID *pInterfaceGuid, 705 LPCWSTR strProfileName, 706 DWORD dwPosition, 707 PVOID pReserved 708 ); 709 710 typedef enum _WLAN_AUTOCONF_OPCODE { 711 wlan_autoconf_opcode_start = 0, 712 wlan_autoconf_opcode_show_denied_networks = 1, 713 wlan_autoconf_opcode_power_setting = 2, 714 wlan_autoconf_opcode_only_use_gp_profiles_for_allowed_networks = 3, 715 wlan_autoconf_opcode_allow_explicit_creds = 4, 716 wlan_autoconf_opcode_block_period = 5, 717 wlan_autoconf_opcode_allow_virtual_station_extensibility = 6, 718 wlan_autoconf_opcode_end = 7 719 } WLAN_AUTOCONF_OPCODE, *PWLAN_AUTOCONF_OPCODE; 720 721 typedef enum _WL_DISPLAY_PAGES { 722 WLConnectionPage, 723 WLSecurityPage 724 } WL_DISPLAY_PAGES, *PWL_DISPLAY_PAGES; 725 726 typedef enum _WLAN_ADHOC_NETWORK_STATE { 727 wlan_adhoc_network_state_formed = 0, 728 wlan_adhoc_network_state_connected = 1 729 } WLAN_ADHOC_NETWORK_STATE, *PWLAN_ADHOC_NETWORK_STATE; 730 731 typedef enum _WLAN_IHV_CONTROL_TYPE { 732 wlan_ihv_control_type_service, 733 wlan_ihv_control_type_driver 734 } WLAN_IHV_CONTROL_TYPE, *PWLAN_IHV_CONTROL_TYPE; 735 736 typedef enum _WLAN_FILTER_LIST_TYPE { 737 wlan_filter_list_type_gp_permit, 738 wlan_filter_list_type_gp_deny, 739 wlan_filter_list_type_user_permit, 740 wlan_filter_list_type_user_deny 741 } WLAN_FILTER_LIST_TYPE, *PWLAN_FILTER_LIST_TYPE; 742 743 typedef enum _WLAN_SECURABLE_OBJECT { 744 wlan_secure_permit_list = 0, 745 wlan_secure_deny_list = 1, 746 wlan_secure_ac_enabled = 2, 747 wlan_secure_bc_scan_enabled = 3, 748 wlan_secure_bss_type = 4, 749 wlan_secure_show_denied = 5, 750 wlan_secure_interface_properties = 6, 751 wlan_secure_ihv_control = 7, 752 wlan_secure_all_user_profiles_order = 8, 753 wlan_secure_add_new_all_user_profiles = 9, 754 wlan_secure_add_new_per_user_profiles = 10, 755 wlan_secure_media_streaming_mode_enabled = 11, 756 wlan_secure_current_operation_mode = 12, 757 wlan_secure_get_plaintext_key = 13, 758 wlan_secure_hosted_network_elevated_access = 14, 759 wlan_secure_virtual_station_extensibility = 15, 760 wlan_secure_wfd_elevated_access = 16, 761 WLAN_SECURABLE_OBJECT_COUNT = 17 762 } WLAN_SECURABLE_OBJECT, *PWLAN_SECURABLE_OBJECT; 763 764 typedef struct _WLAN_DEVICE_SERVICE_GUID_LIST { 765 DWORD dwNumberOfItems; 766 DWORD dwIndex; 767 GUID DeviceService[1]; 768 } WLAN_DEVICE_SERVICE_GUID_LIST, *PWLAN_DEVICE_SERVICE_GUID_LIST; 769 770 typedef struct _DOT11_NETWORK_LIST { 771 DWORD dwNumberOfItems; 772 DWORD dwIndex; 773 DOT11_NETWORK Network[1]; 774 } DOT11_NETWORK_LIST, *PDOT11_NETWORK_LIST; 775 776 #define DOT11_RATE_SET_MAX_LENGTH 126 777 778 typedef struct _WLAN_RATE_SET { 779 ULONG uRateSetLength; 780 USHORT usRateSet[DOT11_RATE_SET_MAX_LENGTH]; 781 } WLAN_RATE_SET, *PWLAN_RATE_SET; 782 783 typedef struct _WLAN_BSS_ENTRY { 784 DOT11_SSID dot11Ssid; 785 ULONG uPhyId; 786 DOT11_MAC_ADDRESS dot11Bssid; 787 DOT11_BSS_TYPE dot11BssType; 788 DOT11_PHY_TYPE dot11BssPhyType; 789 LONG lRssi; 790 ULONG uLinkQuality; 791 BOOLEAN bInRegDomain; 792 USHORT usBeaconPeriod; 793 ULONGLONG ullTimestamp; 794 ULONGLONG ullHostTimestamp; 795 USHORT usCapabilityInformation; 796 ULONG ulChCenterFrequency; 797 WLAN_RATE_SET wlanRateSet; 798 ULONG ulIeOffset; 799 ULONG ulIeSize; 800 } WLAN_BSS_ENTRY, *PWLAN_BSS_ENTRY; 801 802 typedef struct _WLAN_BSS_LIST { 803 DWORD dwTotalSize; 804 DWORD dwNumberOfItems; 805 WLAN_BSS_ENTRY wlanBssEntries[1]; 806 } WLAN_BSS_LIST, *PWLAN_BSS_LIST; 807 808 typedef struct _WLAN_COUNTRY_OR_REGION_STRING_LIST { 809 DWORD dwNumberOfItems; 810 DOT11_COUNTRY_OR_REGION_STRING pCountryOrRegionStringList[1]; 811 } WLAN_COUNTRY_OR_REGION_STRING_LIST, *PWLAN_COUNTRY_OR_REGION_STRING_LIST; 812 813 #define WLAN_MAX_PHY_INDEX 64 814 815 typedef struct _WLAN_INTERFACE_CAPABILITY { 816 WLAN_INTERFACE_TYPE interfaceType; 817 WINBOOL bDot11DSupported; 818 DWORD dwMaxDesiredSsidListSize; 819 DWORD dwMaxDesiredBssidListSize; 820 DWORD dwNumberOfSupportedPhys; 821 DOT11_PHY_TYPE dot11PhyTypes[WLAN_MAX_PHY_INDEX]; 822 } WLAN_INTERFACE_CAPABILITY, *PWLAN_INTERFACE_CAPABILITY; 823 824 typedef struct _WLAN_MAC_FRAME_STATISTICS { 825 ULONGLONG ullTransmittedFrameCount; 826 ULONGLONG ullReceivedFrameCount; 827 ULONGLONG ullWEPExcludedCount; 828 ULONGLONG ullTKIPLocalMICFailures; 829 ULONGLONG ullTKIPReplays; 830 ULONGLONG ullTKIPICVErrorCount; 831 ULONGLONG ullCCMPReplays; 832 ULONGLONG ullCCMPDecryptErrors; 833 ULONGLONG ullWEPUndecryptableCount; 834 ULONGLONG ullWEPICVErrorCount; 835 ULONGLONG ullDecryptSuccessCount; 836 ULONGLONG ullDecryptFailureCount; 837 } WLAN_MAC_FRAME_STATISTICS, *PWLAN_MAC_FRAME_STATISTICS; 838 839 typedef struct _WLAN_MSM_NOTIFICATION_DATA { 840 WLAN_CONNECTION_MODE wlanConnectionMode; 841 WCHAR strProfileName[WLAN_MAX_NAME_LENGTH]; 842 DOT11_SSID dot11Ssid; 843 DOT11_BSS_TYPE dot11BssType; 844 DOT11_MAC_ADDRESS dot11MacAddr; 845 WINBOOL bSecurityEnabled; 846 WINBOOL bFirstPeer; 847 WINBOOL bLastPeer; 848 WLAN_REASON_CODE wlanReasonCode; 849 } WLAN_MSM_NOTIFICATION_DATA, *PWLAN_MSM_NOTIFICATION_DATA; 850 851 typedef struct _WLAN_PHY_FRAME_STATISTICS { 852 ULONGLONG ullTransmittedFrameCount; 853 ULONGLONG ullMulticastTransmittedFrameCount; 854 ULONGLONG ullFailedCount; 855 ULONGLONG ullRetryCount; 856 ULONGLONG ullMultipleRetryCount; 857 ULONGLONG ullMaxTXLifetimeExceededCount; 858 ULONGLONG ullTransmittedFragmentCount; 859 ULONGLONG ullRTSSuccessCount; 860 ULONGLONG ullRTSFailureCount; 861 ULONGLONG ullACKFailureCount; 862 ULONGLONG ullReceivedFrameCount; 863 ULONGLONG ullMulticastReceivedFrameCount; 864 ULONGLONG ullPromiscuousReceivedFrameCount; 865 ULONGLONG ullMaxRXLifetimeExceededCount; 866 ULONGLONG ullFrameDuplicateCount; 867 ULONGLONG ullReceivedFragmentCount; 868 ULONGLONG ullPromiscuousReceivedFragmentCount; 869 ULONGLONG ullFCSErrorCount; 870 } WLAN_PHY_FRAME_STATISTICS, *PWLAN_PHY_FRAME_STATISTICS; 871 872 typedef struct _WLAN_PHY_RADIO_STATE { 873 DWORD dwPhyIndex; 874 DOT11_RADIO_STATE dot11SoftwareRadioState; 875 DOT11_RADIO_STATE dot11HardwareRadioState; 876 } WLAN_PHY_RADIO_STATE, *PWLAN_PHY_RADIO_STATE; 877 878 typedef struct _WLAN_RADIO_STATE { 879 DWORD dwNumberOfPhys; 880 WLAN_PHY_RADIO_STATE PhyRadioState[WLAN_MAX_PHY_INDEX]; 881 } WLAN_RADIO_STATE, *PWLAN_RADIO_STATE; 882 883 typedef enum _WLAN_OPERATIONAL_STATE { 884 wlan_operational_state_unknown = 0, 885 wlan_operational_state_off, 886 wlan_operational_state_on, 887 wlan_operational_state_going_off, 888 wlan_operational_state_going_on 889 } WLAN_OPERATIONAL_STATE, *PWLAN_OPERATIONAL_STATE; 890 891 #define DOT11_PSD_IE_MAX_DATA_SIZE 240 892 #define DOT11_PSD_IE_MAX_ENTRY_NUMBER 5 893 894 typedef struct _WLAN_RAW_DATA { 895 DWORD dwDataSize; 896 BYTE DataBlob[1]; 897 } WLAN_RAW_DATA, *PWLAN_RAW_DATA; 898 899 typedef struct _WLAN_RAW_DATA_LIST { 900 DWORD dwTotalSize; 901 DWORD dwNumberOfItems; 902 struct { 903 DWORD dwDataOffset; 904 DWORD dwDataSize; 905 } DataList[1]; 906 } WLAN_RAW_DATA_LIST, *PWLAN_RAW_DATA_LIST; 907 908 typedef struct _WLAN_STATISTICS { 909 ULONGLONG ullFourWayHandshakeFailures; 910 ULONGLONG ullTKIPCounterMeasuresInvoked; 911 ULONGLONG ullReserved; 912 WLAN_MAC_FRAME_STATISTICS MacUcastCounters; 913 WLAN_MAC_FRAME_STATISTICS MacMcastCounters; 914 DWORD dwNumberOfPhys; 915 WLAN_PHY_FRAME_STATISTICS PhyCounters[1]; 916 } WLAN_STATISTICS, *PWLAN_STATISTICS; 917 918 DWORD WINAPI WlanExtractPsdIEDataList( 919 HANDLE hClientHandle, 920 DWORD dwIeDataSize, 921 const PBYTE pRawIeData, 922 LPCWSTR strFormat, 923 PVOID pReserved, 924 PWLAN_RAW_DATA_LIST *ppPsdIEDataList 925 ); 926 927 DWORD WINAPI WlanGetFilterList( 928 HANDLE hClientHandle, 929 WLAN_FILTER_LIST_TYPE wlanFilterListType, 930 PVOID pReserved, 931 PDOT11_NETWORK_LIST *ppNetworkList 932 ); 933 934 DWORD WINAPI WlanGetInterfaceCapability( 935 HANDLE hClientHandle, 936 const GUID *pInterfaceGuid, 937 PVOID pReserved, 938 PWLAN_INTERFACE_CAPABILITY *ppCapability 939 ); 940 941 DWORD WINAPI WlanGetNetworkBssList( 942 HANDLE hClientHandle, 943 const GUID *pInterfaceGuid, 944 const PDOT11_SSID pDot11Ssid, 945 DOT11_BSS_TYPE dot11BssType, 946 WINBOOL bSecurityEnabled, 947 PVOID pReserved, 948 PWLAN_BSS_LIST *ppWlanBssList 949 ); 950 951 DWORD WINAPI WlanGetProfileCustomUserData( 952 HANDLE hClientHandle, 953 const GUID *pInterfaceGuid, 954 LPCWSTR strProfileName, 955 PVOID pReserved, 956 DWORD *pdwDataSize, 957 PBYTE *ppData 958 ); 959 960 DWORD WINAPI WlanGetSecuritySettings( 961 HANDLE hClientHandle, 962 WLAN_SECURABLE_OBJECT SecurableObject, 963 PWLAN_OPCODE_VALUE_TYPE pValueType, 964 LPWSTR *pstrCurrentSDDL, 965 PDWORD pdwGrantedAccess 966 ); 967 968 DWORD WINAPI WlanGetSupportedDeviceServices( 969 HANDLE hClientHandle, 970 const GUID *pInterfaceGuid, 971 PWLAN_DEVICE_SERVICE_GUID_LIST *ppDevSvcGuidList 972 ); 973 974 DWORD WINAPI WlanIhvControl( 975 HANDLE hClientHandle, 976 const GUID *pInterfaceGuid, 977 WLAN_IHV_CONTROL_TYPE Type, 978 DWORD dwInBufferSize, 979 PVOID pInBuffer, 980 DWORD dwOutBufferSize, 981 PVOID pOutBuffer, 982 PDWORD pdwBytesReturned 983 ); 984 985 DWORD WINAPI WlanQueryAutoConfigParameter( 986 HANDLE hClientHandle, 987 WLAN_AUTOCONF_OPCODE OpCode, 988 PVOID pReserved, 989 PDWORD pdwDataSize, 990 PVOID *ppData, 991 PWLAN_OPCODE_VALUE_TYPE pWlanOpcodeValueType 992 ); 993 994 DWORD WINAPI WlanRegisterDeviceServiceNotification( 995 HANDLE hClientHandle, 996 const PWLAN_DEVICE_SERVICE_GUID_LIST pDevSvcGuidList 997 ); 998 999 DWORD WINAPI WlanRenameProfile( 1000 HANDLE hClientHandle, 1001 const GUID *pInterfaceGuid, 1002 LPCWSTR strOldProfileName, 1003 LPCWSTR strNewProfileName, 1004 PVOID pReserved 1005 ); 1006 1007 #define WLAN_PROFILE_GROUP_POLICY 0x00000001 1008 #define WLAN_PROFILE_USER 0x00000002 1009 #define WLAN_PROFILE_GET_PLAINTEXT_KEY 0x00000004 1010 #define WLAN_PROFILE_CONNECTION_MODE_SET_BY_CLIENT 0x00010000 1011 #define WLAN_PROFILE_CONNECTION_MODE_AUTO 0x00020000 1012 1013 DWORD WINAPI WlanSaveTemporaryProfile( 1014 HANDLE hClientHandle, 1015 const GUID *pInterfaceGuid, 1016 LPCWSTR strProfileName, 1017 LPCWSTR strAllUserProfileSecurity, 1018 DWORD dwFlags, 1019 WINBOOL bOverWrite, 1020 PVOID pReserved 1021 ); 1022 1023 DWORD WINAPI WlanScan( 1024 HANDLE hClientHandle, 1025 const GUID *pInterfaceGuid, 1026 const PDOT11_SSID pDot11Ssid, 1027 const PWLAN_RAW_DATA pIeData, 1028 PVOID pReserved 1029 ); 1030 1031 DWORD WINAPI WlanSetAutoConfigParameter( 1032 HANDLE hClientHandle, 1033 WLAN_AUTOCONF_OPCODE OpCode, 1034 DWORD dwDataSize, 1035 const PVOID pData, 1036 PVOID pReserved 1037 ); 1038 1039 DWORD WINAPI WlanSetFilterList( 1040 HANDLE hClientHandle, 1041 WLAN_FILTER_LIST_TYPE wlanFilterListType, 1042 const PDOT11_NETWORK_LIST pNetworkList, 1043 PVOID pReserved 1044 ); 1045 1046 DWORD WINAPI WlanSetProfileCustomUserData( 1047 HANDLE hClientHandle, 1048 const GUID *pInterfaceGuid, 1049 LPCWSTR strProfileName, 1050 DWORD dwDataSize, 1051 const PBYTE pData, 1052 PVOID pReserved 1053 ); 1054 1055 DWORD WlanSetProfileEapUserData( 1056 HANDLE hClientHandle, 1057 const GUID *pInterfaceGuid, 1058 LPCWSTR strProfileName, 1059 EAP_METHOD_TYPE eapType, 1060 DWORD dwFlags, 1061 DWORD dwEapUserDataSize, 1062 const LPBYTE pbEapUserData, 1063 PVOID pReserved 1064 ); 1065 1066 DWORD WINAPI WlanSetPsdIEDataList( 1067 HANDLE hClientHandle, 1068 LPCWSTR strFormat, 1069 const PWLAN_RAW_DATA_LIST pPsdIEDataList, 1070 PVOID pReserved 1071 ); 1072 1073 DWORD WINAPI WlanSetSecuritySettings( 1074 HANDLE hClientHandle, 1075 WLAN_SECURABLE_OBJECT SecurableObject, 1076 LPCWSTR strModifiedSDDL 1077 ); 1078 1079 DWORD WINAPI WlanUIEditProfile( 1080 DWORD dwClientVersion, 1081 LPCWSTR wstrProfileName, 1082 GUID *pInterfaceGuid, 1083 HWND hWnd, 1084 WL_DISPLAY_PAGES wlStartPage, 1085 PVOID pReserved, 1086 PWLAN_REASON_CODE *pWlanReasonCode 1087 ); 1088 1089 #ifdef __cplusplus 1090 } 1091 #endif 1092 1093 #endif /*_INC_WLANAPI*/