diff --git a/mingw-w64-headers/include/wlanapi.h b/mingw-w64-headers/include/wlanapi.h
index 7e1640a..5764cf0 100644
--- a/mingw-w64-headers/include/wlanapi.h
+++ b/mingw-w64-headers/include/wlanapi.h
@@ -14,6 +14,10 @@
 extern "C" {
 #endif
 
+#define WLAN_MAX_NAME_LENGTH L2_PROFILE_MAX_NAME_LENGTH
+
+#define WLAN_SET_EAPHOST_DATA_ALL_USERS 0x00000001
+
 #define WLAN_NOTIFICATION_SOURCE_NONE      L2_NOTIFICATION_SOURCE_NONE
 #define WLAN_NOTIFICATION_SOURCE_ALL       L2_NOTIFICATION_SOURCE_ALL
 #define WLAN_NOTIFICATION_SOURCE_ACM       L2_NOTIFICATION_SOURCE_WLAN_ACM
@@ -22,6 +26,180 @@
 #define WLAN_NOTIFICATION_SOURCE_IHV       L2_NOTIFICATION_SOURCE_WLAN_IHV
 #define WLAN_NOTIFICATION_SOURCE_HNWK      L2_NOTIFICATION_SOURCE_WLAN_HNWK
 #define WLAN_NOTIFICATION_SOURCE_ONEX      L2_NOTIFICATION_SOURCE_ONEX
+#define WLAN_NOTIFICATION_SOURCE_DEVICE_SERVICE L2_NOTIFICATION_SOURCE_WLAN_DEVICE_SERVICE
+
+#define WLAN_REASON_CODE_SUCCESS L2_REASON_CODE_SUCCESS
+#define WLAN_REASON_CODE_UNKNOWN L2_REASON_CODE_UNKNOWN
+#define WLAN_REASON_CODE_RANGE_SIZE L2_REASON_CODE_GROUP_SIZE
+#define WLAN_REASON_CODE_BASE L2_REASON_CODE_DOT11_AC_BASE
+#define WLAN_REASON_CODE_AC_BASE L2_REASON_CODE_DOT11_AC_BASE
+#define WLAN_REASON_CODE_AC_CONNECT_BASE (WLAN_REASON_CODE_AC_BASE + WLAN_REASON_CODE_RANGE_SIZE / 2)
+#define WLAN_REASON_CODE_AC_END (WLAN_REASON_CODE_AC_BASE + WLAN_REASON_CODE_RANGE_SIZE - 1)
+#define WLAN_REASON_CODE_PROFILE_BASE L2_REASON_CODE_PROFILE_BASE
+#define WLAN_REASON_CODE_PROFILE_CONNECT_BASE (WLAN_REASON_CODE_PROFILE_BASE + WLAN_REASON_CODE_RANGE_SIZE / 2)
+#define WLAN_REASON_CODE_PROFILE_END (WLAN_REASON_CODE_PROFILE_BASE + WLAN_REASON_CODE_RANGE_SIZE - 1)
+#define WLAN_REASON_CODE_MSM_BASE L2_REASON_CODE_DOT11_MSM_BASE
+#define WLAN_REASON_CODE_MSM_CONNECT_BASE (WLAN_REASON_CODE_MSM_BASE + WLAN_REASON_CODE_RANGE_SIZE / 2)
+#define WLAN_REASON_CODE_MSM_END (WLAN_REASON_CODE_MSM_BASE + WLAN_REASON_CODE_RANGE_SIZE - 1)
+#define WLAN_REASON_CODE_MSMSEC_BASE L2_REASON_CODE_DOT11_SECURITY_BASE
+#define WLAN_REASON_CODE_MSMSEC_CONNECT_BASE (WLAN_REASON_CODE_MSMSEC_BASE + WLAN_REASON_CODE_RANGE_SIZE / 2)
+#define WLAN_REASON_CODE_MSMSEC_END (WLAN_REASON_CODE_MSMSEC_BASE + WLAN_REASON_CODE_RANGE_SIZE - 1)
+#define WLAN_REASON_CODE_RESERVED_BASE L2_REASON_CODE_RESERVED_BASE
+#define WLAN_REASON_CODE_RESERVED_END (WLAN_REASON_CODE_RESERVED_BASE + WLAN_REASON_CODE_RANGE_SIZE - 1)
+#define WLAN_REASON_CODE_NETWORK_NOT_COMPATIBLE (WLAN_REASON_CODE_AC_BASE +1)
+#define WLAN_REASON_CODE_PROFILE_NOT_COMPATIBLE (WLAN_REASON_CODE_AC_BASE +2)
+#define WLAN_REASON_CODE_NO_AUTO_CONNECTION (WLAN_REASON_CODE_AC_CONNECT_BASE +1)
+#define WLAN_REASON_CODE_NOT_VISIBLE (WLAN_REASON_CODE_AC_CONNECT_BASE +2)
+#define WLAN_REASON_CODE_GP_DENIED (WLAN_REASON_CODE_AC_CONNECT_BASE +3)
+#define WLAN_REASON_CODE_USER_DENIED (WLAN_REASON_CODE_AC_CONNECT_BASE +4)
+#define WLAN_REASON_CODE_BSS_TYPE_NOT_ALLOWED (WLAN_REASON_CODE_AC_CONNECT_BASE +5)
+#define WLAN_REASON_CODE_IN_FAILED_LIST (WLAN_REASON_CODE_AC_CONNECT_BASE +6)
+#define WLAN_REASON_CODE_IN_BLOCKED_LIST (WLAN_REASON_CODE_AC_CONNECT_BASE +7)
+#define WLAN_REASON_CODE_SSID_LIST_TOO_LONG (WLAN_REASON_CODE_AC_CONNECT_BASE +8)
+#define WLAN_REASON_CODE_CONNECT_CALL_FAIL (WLAN_REASON_CODE_AC_CONNECT_BASE +9)
+#define WLAN_REASON_CODE_SCAN_CALL_FAIL (WLAN_REASON_CODE_AC_CONNECT_BASE +10)
+#define WLAN_REASON_CODE_NETWORK_NOT_AVAILABLE (WLAN_REASON_CODE_AC_CONNECT_BASE +11)
+#define WLAN_REASON_CODE_PROFILE_CHANGED_OR_DELETED (WLAN_REASON_CODE_AC_CONNECT_BASE +12)
+#define WLAN_REASON_CODE_KEY_MISMATCH (WLAN_REASON_CODE_AC_CONNECT_BASE + 13)
+#define WLAN_REASON_CODE_USER_NOT_RESPOND (WLAN_REASON_CODE_AC_CONNECT_BASE + 14)
+#define WLAN_REASON_CODE_AP_PROFILE_NOT_ALLOWED_FOR_CLIENT (WLAN_REASON_CODE_AC_CONNECT_BASE + 15)
+#define WLAN_REASON_CODE_AP_PROFILE_NOT_ALLOWED (WLAN_REASON_CODE_AC_CONNECT_BASE + 16)
+#define WLAN_REASON_CODE_HOTSPOT2_PROFILE_DENIED (WLAN_REASON_CODE_AC_CONNECT_BASE + 17)
+#define WLAN_REASON_CODE_INVALID_PROFILE_SCHEMA (WLAN_REASON_CODE_PROFILE_BASE +1)
+#define WLAN_REASON_CODE_PROFILE_MISSING (WLAN_REASON_CODE_PROFILE_BASE +2)
+#define WLAN_REASON_CODE_INVALID_PROFILE_NAME (WLAN_REASON_CODE_PROFILE_BASE +3)
+#define WLAN_REASON_CODE_INVALID_PROFILE_TYPE (WLAN_REASON_CODE_PROFILE_BASE +4)
+#define WLAN_REASON_CODE_INVALID_PHY_TYPE (WLAN_REASON_CODE_PROFILE_BASE +5)
+#define WLAN_REASON_CODE_MSM_SECURITY_MISSING (WLAN_REASON_CODE_PROFILE_BASE +6)
+#define WLAN_REASON_CODE_IHV_SECURITY_NOT_SUPPORTED (WLAN_REASON_CODE_PROFILE_BASE +7)
+#define WLAN_REASON_CODE_IHV_OUI_MISMATCH (WLAN_REASON_CODE_PROFILE_BASE +8)
+#define WLAN_REASON_CODE_IHV_OUI_MISSING (WLAN_REASON_CODE_PROFILE_BASE +9)
+#define WLAN_REASON_CODE_IHV_SETTINGS_MISSING (WLAN_REASON_CODE_PROFILE_BASE +10)
+#define WLAN_REASON_CODE_CONFLICT_SECURITY (WLAN_REASON_CODE_PROFILE_BASE +11)
+#define WLAN_REASON_CODE_SECURITY_MISSING (WLAN_REASON_CODE_PROFILE_BASE +12)
+#define WLAN_REASON_CODE_INVALID_BSS_TYPE (WLAN_REASON_CODE_PROFILE_BASE +13)
+#define WLAN_REASON_CODE_INVALID_ADHOC_CONNECTION_MODE (WLAN_REASON_CODE_PROFILE_BASE +14)
+#define WLAN_REASON_CODE_NON_BROADCAST_SET_FOR_ADHOC (WLAN_REASON_CODE_PROFILE_BASE +15)
+#define WLAN_REASON_CODE_AUTO_SWITCH_SET_FOR_ADHOC (WLAN_REASON_CODE_PROFILE_BASE +16)
+#define WLAN_REASON_CODE_AUTO_SWITCH_SET_FOR_MANUAL_CONNECTION (WLAN_REASON_CODE_PROFILE_BASE +17)
+#define WLAN_REASON_CODE_IHV_SECURITY_ONEX_MISSING (WLAN_REASON_CODE_PROFILE_BASE +18)
+#define WLAN_REASON_CODE_PROFILE_SSID_INVALID (WLAN_REASON_CODE_PROFILE_BASE +19)
+#define WLAN_REASON_CODE_TOO_MANY_SSID (WLAN_REASON_CODE_PROFILE_BASE +20)
+#define WLAN_REASON_CODE_IHV_CONNECTIVITY_NOT_SUPPORTED (WLAN_REASON_CODE_PROFILE_BASE +21)
+#define WLAN_REASON_CODE_BAD_MAX_NUMBER_OF_CLIENTS_FOR_AP (WLAN_REASON_CODE_PROFILE_BASE +22)
+#define WLAN_REASON_CODE_INVALID_CHANNEL (WLAN_REASON_CODE_PROFILE_BASE +23)
+#define WLAN_REASON_CODE_OPERATION_MODE_NOT_SUPPORTED (WLAN_REASON_CODE_PROFILE_BASE +24)
+#define WLAN_REASON_CODE_AUTO_AP_PROFILE_NOT_ALLOWED (WLAN_REASON_CODE_PROFILE_BASE +25)
+#define WLAN_REASON_CODE_AUTO_CONNECTION_NOT_ALLOWED (WLAN_REASON_CODE_PROFILE_BASE +26)
+#define WLAN_REASON_CODE_HOTSPOT2_PROFILE_NOT_ALLOWED (WLAN_REASON_CODE_PROFILE_BASE +27)
+#define WLAN_REASON_CODE_UNSUPPORTED_SECURITY_SET_BY_OS (WLAN_REASON_CODE_MSM_BASE +1)
+#define WLAN_REASON_CODE_UNSUPPORTED_SECURITY_SET (WLAN_REASON_CODE_MSM_BASE +2)
+#define WLAN_REASON_CODE_BSS_TYPE_UNMATCH (WLAN_REASON_CODE_MSM_BASE +3)
+#define WLAN_REASON_CODE_PHY_TYPE_UNMATCH (WLAN_REASON_CODE_MSM_BASE +4)
+#define WLAN_REASON_CODE_DATARATE_UNMATCH (WLAN_REASON_CODE_MSM_BASE +5)
+#define WLAN_REASON_CODE_USER_CANCELLED (WLAN_REASON_CODE_MSM_CONNECT_BASE+1)
+#define WLAN_REASON_CODE_ASSOCIATION_FAILURE (WLAN_REASON_CODE_MSM_CONNECT_BASE+2)
+#define WLAN_REASON_CODE_ASSOCIATION_TIMEOUT (WLAN_REASON_CODE_MSM_CONNECT_BASE+3)
+#define WLAN_REASON_CODE_PRE_SECURITY_FAILURE (WLAN_REASON_CODE_MSM_CONNECT_BASE+4)
+#define WLAN_REASON_CODE_START_SECURITY_FAILURE (WLAN_REASON_CODE_MSM_CONNECT_BASE+5)
+#define WLAN_REASON_CODE_SECURITY_FAILURE (WLAN_REASON_CODE_MSM_CONNECT_BASE+6)
+#define WLAN_REASON_CODE_SECURITY_TIMEOUT (WLAN_REASON_CODE_MSM_CONNECT_BASE+7)
+#define WLAN_REASON_CODE_ROAMING_FAILURE (WLAN_REASON_CODE_MSM_CONNECT_BASE+8)
+#define WLAN_REASON_CODE_ROAMING_SECURITY_FAILURE (WLAN_REASON_CODE_MSM_CONNECT_BASE+9)
+#define WLAN_REASON_CODE_ADHOC_SECURITY_FAILURE (WLAN_REASON_CODE_MSM_CONNECT_BASE+10)
+#define WLAN_REASON_CODE_DRIVER_DISCONNECTED (WLAN_REASON_CODE_MSM_CONNECT_BASE+11)
+#define WLAN_REASON_CODE_DRIVER_OPERATION_FAILURE (WLAN_REASON_CODE_MSM_CONNECT_BASE+12)
+#define WLAN_REASON_CODE_IHV_NOT_AVAILABLE (WLAN_REASON_CODE_MSM_CONNECT_BASE+13)
+#define WLAN_REASON_CODE_IHV_NOT_RESPONDING (WLAN_REASON_CODE_MSM_CONNECT_BASE+14)
+#define WLAN_REASON_CODE_DISCONNECT_TIMEOUT (WLAN_REASON_CODE_MSM_CONNECT_BASE+15)
+#define WLAN_REASON_CODE_INTERNAL_FAILURE (WLAN_REASON_CODE_MSM_CONNECT_BASE+16)
+#define WLAN_REASON_CODE_UI_REQUEST_TIMEOUT (WLAN_REASON_CODE_MSM_CONNECT_BASE+17)
+#define WLAN_REASON_CODE_TOO_MANY_SECURITY_ATTEMPTS (WLAN_REASON_CODE_MSM_CONNECT_BASE+18)
+#define WLAN_REASON_CODE_AP_STARTING_FAILURE (WLAN_REASON_CODE_MSM_CONNECT_BASE+19)
+#define WLAN_REASON_CODE_NO_VISIBLE_AP (WLAN_REASON_CODE_MSM_CONNECT_BASE+20)
+#define WLAN_REASON_CODE_MSMSEC_MIN WLAN_REASON_CODE_MSMSEC_BASE
+#define WLAN_REASON_CODE_MSMSEC_PROFILE_INVALID_KEY_INDEX (WLAN_REASON_CODE_MSMSEC_BASE+1)
+#define WLAN_REASON_CODE_MSMSEC_PROFILE_PSK_PRESENT (WLAN_REASON_CODE_MSMSEC_BASE+2)
+#define WLAN_REASON_CODE_MSMSEC_PROFILE_KEY_LENGTH (WLAN_REASON_CODE_MSMSEC_BASE+3)
+#define WLAN_REASON_CODE_MSMSEC_PROFILE_PSK_LENGTH (WLAN_REASON_CODE_MSMSEC_BASE+4)
+#define WLAN_REASON_CODE_MSMSEC_PROFILE_NO_AUTH_CIPHER_SPECIFIED (WLAN_REASON_CODE_MSMSEC_BASE+5)
+#define WLAN_REASON_CODE_MSMSEC_PROFILE_TOO_MANY_AUTH_CIPHER_SPECIFIED (WLAN_REASON_CODE_MSMSEC_BASE+6)
+#define WLAN_REASON_CODE_MSMSEC_PROFILE_DUPLICATE_AUTH_CIPHER (WLAN_REASON_CODE_MSMSEC_BASE+7)
+#define WLAN_REASON_CODE_MSMSEC_PROFILE_RAWDATA_INVALID (WLAN_REASON_CODE_MSMSEC_BASE+8)
+#define WLAN_REASON_CODE_MSMSEC_PROFILE_INVALID_AUTH_CIPHER (WLAN_REASON_CODE_MSMSEC_BASE+9)
+#define WLAN_REASON_CODE_MSMSEC_PROFILE_ONEX_DISABLED (WLAN_REASON_CODE_MSMSEC_BASE+10)
+#define WLAN_REASON_CODE_MSMSEC_PROFILE_ONEX_ENABLED (WLAN_REASON_CODE_MSMSEC_BASE+11)
+#define WLAN_REASON_CODE_MSMSEC_PROFILE_INVALID_PMKCACHE_MODE (WLAN_REASON_CODE_MSMSEC_BASE+12)
+#define WLAN_REASON_CODE_MSMSEC_PROFILE_INVALID_PMKCACHE_SIZE (WLAN_REASON_CODE_MSMSEC_BASE+13)
+#define WLAN_REASON_CODE_MSMSEC_PROFILE_INVALID_PMKCACHE_TTL (WLAN_REASON_CODE_MSMSEC_BASE+14)
+#define WLAN_REASON_CODE_MSMSEC_PROFILE_INVALID_PREAUTH_MODE (WLAN_REASON_CODE_MSMSEC_BASE+15)
+#define WLAN_REASON_CODE_MSMSEC_PROFILE_INVALID_PREAUTH_THROTTLE (WLAN_REASON_CODE_MSMSEC_BASE+16)
+#define WLAN_REASON_CODE_MSMSEC_PROFILE_PREAUTH_ONLY_ENABLED (WLAN_REASON_CODE_MSMSEC_BASE+17)
+#define WLAN_REASON_CODE_MSMSEC_CAPABILITY_NETWORK (WLAN_REASON_CODE_MSMSEC_BASE+18)
+#define WLAN_REASON_CODE_MSMSEC_CAPABILITY_NIC (WLAN_REASON_CODE_MSMSEC_BASE+19)
+#define WLAN_REASON_CODE_MSMSEC_CAPABILITY_PROFILE (WLAN_REASON_CODE_MSMSEC_BASE+20)
+#define WLAN_REASON_CODE_MSMSEC_CAPABILITY_DISCOVERY (WLAN_REASON_CODE_MSMSEC_BASE+21)
+#define WLAN_REASON_CODE_MSMSEC_PROFILE_PASSPHRASE_CHAR (WLAN_REASON_CODE_MSMSEC_BASE+22)
+#define WLAN_REASON_CODE_MSMSEC_PROFILE_KEYMATERIAL_CHAR (WLAN_REASON_CODE_MSMSEC_BASE+23)
+#define WLAN_REASON_CODE_MSMSEC_PROFILE_WRONG_KEYTYPE (WLAN_REASON_CODE_MSMSEC_BASE+24)
+#define WLAN_REASON_CODE_MSMSEC_MIXED_CELL (WLAN_REASON_CODE_MSMSEC_BASE+25)
+#define WLAN_REASON_CODE_MSMSEC_PROFILE_AUTH_TIMERS_INVALID (WLAN_REASON_CODE_MSMSEC_BASE+26)
+#define WLAN_REASON_CODE_MSMSEC_PROFILE_INVALID_GKEY_INTV (WLAN_REASON_CODE_MSMSEC_BASE+27)
+#define WLAN_REASON_CODE_MSMSEC_TRANSITION_NETWORK (WLAN_REASON_CODE_MSMSEC_BASE+28)
+#define WLAN_REASON_CODE_MSMSEC_PROFILE_KEY_UNMAPPED_CHAR (WLAN_REASON_CODE_MSMSEC_BASE+29)
+#define WLAN_REASON_CODE_MSMSEC_CAPABILITY_PROFILE_AUTH (WLAN_REASON_CODE_MSMSEC_BASE+30)
+#define WLAN_REASON_CODE_MSMSEC_CAPABILITY_PROFILE_CIPHER (WLAN_REASON_CODE_MSMSEC_BASE+31)
+#define WLAN_REASON_CODE_MSMSEC_PROFILE_SAFE_MODE (WLAN_REASON_CODE_MSMSEC_BASE+32)
+#define WLAN_REASON_CODE_MSMSEC_CAPABILITY_PROFILE_SAFE_MODE_NIC (WLAN_REASON_CODE_MSMSEC_BASE+33)
+#define WLAN_REASON_CODE_MSMSEC_CAPABILITY_PROFILE_SAFE_MODE_NW (WLAN_REASON_CODE_MSMSEC_BASE+34)
+#define WLAN_REASON_CODE_MSMSEC_PROFILE_UNSUPPORTED_AUTH (WLAN_REASON_CODE_MSMSEC_BASE+35)
+#define WLAN_REASON_CODE_MSMSEC_PROFILE_UNSUPPORTED_CIPHER (WLAN_REASON_CODE_MSMSEC_BASE+36)
+#define WLAN_REASON_CODE_MSMSEC_CAPABILITY_MFP_NW_NIC (WLAN_REASON_CODE_MSMSEC_BASE+37)
+#define WLAN_REASON_CODE_MSMSEC_UI_REQUEST_FAILURE (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+1)
+#define WLAN_REASON_CODE_MSMSEC_AUTH_START_TIMEOUT (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+2)
+#define WLAN_REASON_CODE_MSMSEC_AUTH_SUCCESS_TIMEOUT (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+3)
+#define WLAN_REASON_CODE_MSMSEC_KEY_START_TIMEOUT (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+4)
+#define WLAN_REASON_CODE_MSMSEC_KEY_SUCCESS_TIMEOUT (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+5)
+#define WLAN_REASON_CODE_MSMSEC_M3_MISSING_KEY_DATA (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+6)
+#define WLAN_REASON_CODE_MSMSEC_M3_MISSING_IE (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+7)
+#define WLAN_REASON_CODE_MSMSEC_M3_MISSING_GRP_KEY (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+8)
+#define WLAN_REASON_CODE_MSMSEC_PR_IE_MATCHING (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+9)
+#define WLAN_REASON_CODE_MSMSEC_SEC_IE_MATCHING (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+10)
+#define WLAN_REASON_CODE_MSMSEC_NO_PAIRWISE_KEY (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+11)
+#define WLAN_REASON_CODE_MSMSEC_G1_MISSING_KEY_DATA (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+12)
+#define WLAN_REASON_CODE_MSMSEC_G1_MISSING_GRP_KEY (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+13)
+#define WLAN_REASON_CODE_MSMSEC_PEER_INDICATED_INSECURE (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+14)
+#define WLAN_REASON_CODE_MSMSEC_NO_AUTHENTICATOR (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+15)
+#define WLAN_REASON_CODE_MSMSEC_NIC_FAILURE (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+16)
+#define WLAN_REASON_CODE_MSMSEC_CANCELLED (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+17)
+#define WLAN_REASON_CODE_MSMSEC_KEY_FORMAT (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+18)
+#define WLAN_REASON_CODE_MSMSEC_DOWNGRADE_DETECTED (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+19)
+#define WLAN_REASON_CODE_MSMSEC_PSK_MISMATCH_SUSPECTED (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+20)
+#define WLAN_REASON_CODE_MSMSEC_FORCED_FAILURE (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+21)
+#define WLAN_REASON_CODE_MSMSEC_M3_TOO_MANY_RSNIE (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+22)
+#define WLAN_REASON_CODE_MSMSEC_M2_MISSING_KEY_DATA (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+23)
+#define WLAN_REASON_CODE_MSMSEC_M2_MISSING_IE (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+24)
+#define WLAN_REASON_CODE_MSMSEC_AUTH_WCN_COMPLETED (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+25)
+#define WLAN_REASON_CODE_MSMSEC_M3_MISSING_MGMT_GRP_KEY (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+26)
+#define WLAN_REASON_CODE_MSMSEC_G1_MISSING_MGMT_GRP_KEY (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+27)
+#define WLAN_REASON_CODE_MSMSEC_MAX WLAN_REASON_CODE_MSMSEC_END
+
+#define WLAN_AVAILABLE_NETWORK_CONNECTED 0x00000001
+#define WLAN_AVAILABLE_NETWORK_HAS_PROFILE 0x00000002
+#define WLAN_AVAILABLE_NETWORK_CONSOLE_USER_PROFILE 0x00000004
+#define WLAN_AVAILABLE_NETWORK_INTERWORKING_SUPPORTED 0x00000008
+#define WLAN_AVAILABLE_NETWORK_HOTSPOT2_ENABLED 0x00000010
+#define WLAN_AVAILABLE_NETWORK_ANQP_SUPPORTED 0x00000020
+#define WLAN_AVAILABLE_NETWORK_HOTSPOT2_DOMAIN 0x00000040
+#define WLAN_AVAILABLE_NETWORK_HOTSPOT2_ROAMING 0x00000080
+#define WLAN_AVAILABLE_NETWORK_AUTO_CONNECT_FAILED 0x00000100
+
+#define WLAN_AVAILABLE_NETWORK_INCLUDE_ALL_ADHOC_PROFILES 0x00000001
+#define WLAN_AVAILABLE_NETWORK_INCLUDE_ALL_MANUAL_HIDDEN_PROFILES 0x00000002
+
+#define WLAN_READ_ACCESS (STANDARD_RIGHTS_READ | FILE_READ_DATA)
+#define WLAN_EXECUTE_ACCESS (WLAN_READ_ACCESS | STANDARD_RIGHTS_EXECUTE | FILE_EXECUTE)
+#define WLAN_WRITE_ACCESS (WLAN_READ_ACCESS | WLAN_EXECUTE_ACCESS | STANDARD_RIGHTS_WRITE | FILE_WRITE_DATA | DELETE | WRITE_DAC)
 
 typedef DWORD WLAN_REASON_CODE, *PWLAN_REASON_CODE;
 typedef ULONG WLAN_SIGNAL_QUALITY, *PWLAN_SIGNAL_QUALITY;
@@ -38,7 +216,7 @@
 } DOT11_RADIO_STATE, *PDOT11_RADIO_STATE;
 
 typedef enum _WLAN_NOTIFICATION_ACM {
-    wlan_notification_acm_start = 0,
+    wlan_notification_acm_start = L2_NOTIFICATION_CODE_PUBLIC_BEGIN,
     wlan_notification_acm_autoconf_enabled,
     wlan_notification_acm_autoconf_disabled,
     wlan_notification_acm_background_scan_enabled,
@@ -61,9 +239,40 @@
     wlan_notification_acm_disconnecting,
     wlan_notification_acm_disconnected,
     wlan_notification_acm_adhoc_network_state_change,
+    wlan_notification_acm_profile_unblocked,
+    wlan_notification_acm_screen_power_change,
+    wlan_notification_acm_profile_blocked,
+    wlan_notification_acm_scan_list_refresh,
+    wlan_notification_acm_operational_state_change,
     wlan_notification_acm_end
 } WLAN_NOTIFICATION_ACM, *PWLAN_NOTIFICATION_ACM;
 
+typedef enum _WLAN_NOTIFICATION_MSM {
+  wlan_notification_msm_start = L2_NOTIFICATION_CODE_PUBLIC_BEGIN,
+  wlan_notification_msm_associating,
+  wlan_notification_msm_associated,
+  wlan_notification_msm_authenticating,
+  wlan_notification_msm_connected,
+  wlan_notification_msm_roaming_start,
+  wlan_notification_msm_roaming_end,
+  wlan_notification_msm_radio_state_change,
+  wlan_notification_msm_signal_quality_change,
+  wlan_notification_msm_disassociating,
+  wlan_notification_msm_disconnected,
+  wlan_notification_msm_peer_join,
+  wlan_notification_msm_peer_leave,
+  wlan_notification_msm_adapter_removal,
+  wlan_notification_msm_adapter_operation_mode_change,
+  wlan_notification_msm_link_degraded,
+  wlan_notification_msm_link_improved,
+  wlan_notification_msm_end
+} WLAN_NOTIFICATION_MSM, *PWLAN_NOTIFICATION_MSM;
+
+typedef enum _WLAN_NOTIFICATION_SECURITY {
+  wlan_notification_security_start = L2_NOTIFICATION_CODE_PUBLIC_BEGIN,
+  wlan_notification_security_end
+} WLAN_NOTIFICATION_SECURITY, *PWLAN_NOTIFICATION_SECURITY;
+
 typedef enum _WLAN_INTERFACE_STATE {
   wlan_interface_state_not_ready               = 0,
   wlan_interface_state_connected               = 1,
@@ -107,6 +316,9 @@
   wlan_intf_opcode_supported_safe_mode,
   wlan_intf_opcode_certified_safe_mode,
   wlan_intf_opcode_hosted_network_capable,
+  wlan_intf_opcode_management_frame_protection_capable,
+  wlan_intf_opcode_secondary_sta_interfaces,
+  wlan_intf_opcode_secondary_sta_synchronized_connections,
   wlan_intf_opcode_autoconf_end                                 = 0x0fffffff,
   wlan_intf_opcode_msm_start                                    = 0x10000100,
   wlan_intf_opcode_statistics,
@@ -146,7 +358,7 @@
 
 typedef struct _WLAN_AUTH_CIPHER_PAIR_LIST {
   DWORD                  dwNumberOfItems;
-  DOT11_AUTH_CIPHER_PAIR pAuthCipherPairList;
+  DOT11_AUTH_CIPHER_PAIR pAuthCipherPairList[1];
 } WLAN_AUTH_CIPHER_PAIR_LIST, *PWLAN_AUTH_CIPHER_PAIR_LIST;
 
 typedef struct _WLAN_NOTIFICATION_DATA {
@@ -160,7 +372,7 @@
 #define WLAN_MAX_PHY_TYPE_NUMBER 8
 
 typedef struct _WLAN_AVAILABLE_NETWORK {
-  WCHAR                  strProfileName[256];
+  WCHAR                  strProfileName[WLAN_MAX_NAME_LENGTH];
   DOT11_SSID             dot11Ssid;
   DOT11_BSS_TYPE         dot11BssType;
   ULONG                  uNumberOfBssids;
@@ -177,12 +389,39 @@
   DWORD                  dwReserved;
 } WLAN_AVAILABLE_NETWORK, *PWLAN_AVAILABLE_NETWORK;
 
+typedef struct _WLAN_AVAILABLE_NETWORK_V2 {
+  WCHAR strProfileName[WLAN_MAX_NAME_LENGTH];
+  DOT11_SSID dot11Ssid;
+  DOT11_BSS_TYPE dot11BssType;
+  ULONG uNumberOfBssids;
+  WINBOOL bNetworkConnectable;
+  WLAN_REASON_CODE wlanNotConnectableReason;
+  ULONG uNumberOfPhyTypes;
+  DOT11_PHY_TYPE dot11PhyTypes[WLAN_MAX_PHY_TYPE_NUMBER];
+  WINBOOL bMorePhyTypes;
+  WLAN_SIGNAL_QUALITY wlanSignalQuality;
+  WINBOOL bSecurityEnabled;
+  DOT11_AUTH_ALGORITHM dot11DefaultAuthAlgorithm;
+  DOT11_CIPHER_ALGORITHM dot11DefaultCipherAlgorithm;
+  DWORD dwFlags;
+  DOT11_ACCESSNETWORKOPTIONS AccessNetworkOptions;
+  DOT11_HESSID dot11HESSID;
+  DOT11_VENUEINFO VenueInfo;
+  DWORD dwReserved;
+} WLAN_AVAILABLE_NETWORK_V2, *PWLAN_AVAILABLE_NETWORK_V2;
+
 typedef struct _WLAN_AVAILABLE_NETWORK_LIST {
   DWORD                  dwNumberOfItems;
   DWORD                  dwIndex;
   WLAN_AVAILABLE_NETWORK Network[1];
 } WLAN_AVAILABLE_NETWORK_LIST, *PWLAN_AVAILABLE_NETWORK_LIST;
 
+typedef struct _WLAN_AVAILABLE_NETWORK_LIST_V2 {
+  DWORD dwNumberOfItems;
+  DWORD dwIndex;
+  WLAN_AVAILABLE_NETWORK_V2 Network[1];
+} WLAN_AVAILABLE_NETWORK_LIST_V2, *PWLAN_AVAILABLE_NETWORK_LIST_V2;
+
 typedef struct _WLAN_SECURITY_ATTRIBUTES {
   WINBOOL                bSecurityEnabled;
   WINBOOL                bOneXEnabled;
@@ -193,7 +432,7 @@
 typedef struct _WLAN_CONNECTION_ATTRIBUTES {
   WLAN_INTERFACE_STATE        isState;
   WLAN_CONNECTION_MODE        wlanConnectionMode;
-  WCHAR                       strProfileName[256];
+  WCHAR                       strProfileName[WLAN_MAX_NAME_LENGTH];
   WLAN_ASSOCIATION_ATTRIBUTES wlanAssociationAttributes;
   WLAN_SECURITY_ATTRIBUTES    wlanSecurityAttributes;
 } WLAN_CONNECTION_ATTRIBUTES, *PWLAN_CONNECTION_ATTRIBUTES;
@@ -206,21 +445,34 @@
 
 #define WLAN_MAX_NAME_LENGTH 256
 
+#define WLAN_CONNECTION_NOTIFICATION_ADHOC_NETWORK_FORMED 0x00000001
+#define WLAN_CONNECTION_NOTIFICATION_CONSOLE_USER_PROFILE 0x00000004
+
 typedef struct _WLAN_CONNECTION_NOTIFICATION_DATA {
   WLAN_CONNECTION_MODE wlanConnectionMode;
   WCHAR                strProfileName[WLAN_MAX_NAME_LENGTH];
   DOT11_SSID           dot11Ssid;
   DOT11_BSS_TYPE       dot11BssType;
-  BOOL                 bSecurityEnabled;
+  WINBOOL              bSecurityEnabled;
   WLAN_REASON_CODE     wlanReasonCode;
   DWORD                dwFlags;
   WCHAR                strProfileXml[1];
 } WLAN_CONNECTION_NOTIFICATION_DATA, *PWLAN_CONNECTION_NOTIFICATION_DATA;
 
+typedef struct _WLAN_DEVICE_SERVICE_NOTIFICATION_DATA {
+  GUID DeviceService;
+  DWORD dwOpCode;
+  DWORD dwDataSize;
+  BYTE DataBlob[1];
+} WLAN_DEVICE_SERVICE_NOTIFICATION_DATA, *PWLAN_DEVICE_SERVICE_NOTIFICATION_DATA;
+
 #define WLAN_CONNECTION_HIDDEN_NETWORK 0x00000001
 #define WLAN_CONNECTION_ADHOC_JOIN_ONLY 0x00000002
 #define WLAN_CONNECTION_IGNORE_PRIVACY_BIT 0x00000004
 #define WLAN_CONNECTION_EAPOL_PASSTHROUGH 0x00000008
+#define WLAN_CONNECTION_PERSIST_DISCOVERY_PROFILE 0x00000010
+#define WLAN_CONNECTION_PERSIST_DISCOVERY_PROFILE_CONNECTION_MODE_AUTO 0x00000020
+#define WLAN_CONNECTION_PERSIST_DISCOVERY_PROFILE_OVERWRITE_EXISTING 0x00000040
 
 typedef struct _WLAN_CONNECTION_PARAMETERS {
   WLAN_CONNECTION_MODE wlanConnectionMode;
@@ -231,9 +483,20 @@
   DWORD                dwFlags;
 } WLAN_CONNECTION_PARAMETERS, *PWLAN_CONNECTION_PARAMETERS;
 
+typedef struct _WLAN_CONNECTION_PARAMETERS_V2 {
+  WLAN_CONNECTION_MODE wlanConnectionMode;
+  LPCWSTR strProfile;
+  PDOT11_SSID pDot11Ssid;
+  PDOT11_HESSID pDot11Hessid;
+  PDOT11_BSSID_LIST pDesiredBssidList;
+  DOT11_BSS_TYPE dot11BssType;
+  DWORD dwFlags;
+  PDOT11_ACCESSNETWORKOPTIONS pDot11AccessNetworkOptions;
+} WLAN_CONNECTION_PARAMETERS_V2, *PWLAN_CONNECTION_PARAMETERS_V2;
+
 typedef struct _WLAN_INTERFACE_INFO {
   GUID                 InterfaceGuid;
-  WCHAR                strInterfaceDescription[256];
+  WCHAR                strInterfaceDescription[WLAN_MAX_NAME_LENGTH];
   WLAN_INTERFACE_STATE isState;
 } WLAN_INTERFACE_INFO, *PWLAN_INTERFACE_INFO;
 
@@ -244,7 +507,7 @@
 } WLAN_INTERFACE_INFO_LIST, *PWLAN_INTERFACE_INFO_LIST;
 
 typedef struct _WLAN_PROFILE_INFO {
-  WCHAR strProfileName[256];
+  WCHAR strProfileName[WLAN_MAX_NAME_LENGTH];
   DWORD dwFlags;
 } WLAN_PROFILE_INFO, *PWLAN_PROFILE_INFO;
 
@@ -254,6 +517,28 @@
   WLAN_PROFILE_INFO ProfileInfo[1];
 } WLAN_PROFILE_INFO_LIST, *PWLAN_PROFILE_INFO_LIST;
 
+#define WFD_API_VERSION_1_0 0x00000001
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN8
+#define WFD_API_SUPPORTED
+#define WFD_API_VERSION WFD_API_VERSION_1_0
+#endif
+
+#ifdef WFD_API_SUPPORTED
+  typedef enum _WFD_ROLE_TYPE {
+    WFD_ROLE_TYPE_NONE = 0x00,
+    WFD_ROLE_TYPE_DEVICE = 0x01,
+    WFD_ROLE_TYPE_GROUP_OWNER = 0x02,
+    WFD_ROLE_TYPE_CLIENT = 0x04,
+    WFD_ROLE_TYPE_MAX = 0x05
+  } WFD_ROLE_TYPE, *PWFD_ROLE_TYPE;
+#endif
+
+  typedef struct _WFD_GROUP_ID {
+    DOT11_MAC_ADDRESS DeviceAddress;
+    DOT11_SSID GroupSSID;
+  } WFD_GROUP_ID, *PWFD_GROUP_ID;
+
 PVOID WINAPI WlanAllocateMemory(
   DWORD dwMemorySize
 );
@@ -270,6 +555,13 @@
   PVOID pReserved
 );
 
+DWORD WINAPI WlanConnect2(
+  HANDLE hClientHandle,
+  const GUID *pInterfaceGuid,
+  const PWLAN_CONNECTION_PARAMETERS_V2 pConnectionParameters,
+  PVOID pReserved
+);
+
 DWORD WINAPI WlanDeleteProfile(
   HANDLE hClientHandle,
   const GUID *pInterfaceGuid,
@@ -277,6 +569,18 @@
   PVOID pReserved
 );
 
+DWORD WINAPI WlanDeviceServiceCommand(
+  HANDLE hClientHandle,
+  const GUID *pInterfaceGuid,
+  LPGUID pDeviceServiceGuid,
+  DWORD dwOpCode,
+  DWORD dwInBufferSize,
+  PVOID pInBuffer,
+  DWORD dwOutBufferSize,
+  PVOID pOutBuffer,
+  PDWORD pdwBytesReturned
+);
+
 DWORD WINAPI WlanDisconnect(
   HANDLE hClientHandle,
   const GUID *pInterfaceGuid,
@@ -301,6 +605,14 @@
   PWLAN_AVAILABLE_NETWORK_LIST *ppAvailableNetworkList
 );
 
+DWORD WINAPI WlanGetAvailableNetworkList2(
+  HANDLE hClientHandle,
+  const GUID *pInterfaceGuid,
+  DWORD dwFlags,
+  PVOID pReserved,
+  PWLAN_AVAILABLE_NETWORK_LIST_V2 *ppAvailableNetworkList
+);
+
 DWORD WINAPI WlanGetProfile(
   HANDLE hClientHandle,
   const GUID *pInterfaceGuid,
@@ -416,7 +728,7 @@
 typedef enum _WLAN_ADHOC_NETWORK_STATE {
   wlan_adhoc_network_state_formed      = 0,
   wlan_adhoc_network_state_connected   = 1 
-} WLAN_ADHOC_NETWORK_STATE;
+} WLAN_ADHOC_NETWORK_STATE, *PWLAN_ADHOC_NETWORK_STATE;
 
 typedef enum _WLAN_IHV_CONTROL_TYPE {
   wlan_ihv_control_type_service,
@@ -445,9 +757,18 @@
   wlan_secure_media_streaming_mode_enabled     = 11,
   wlan_secure_current_operation_mode           = 12,
   wlan_secure_get_plaintext_key                = 13,
-  wlan_secure_hosted_network_elevated_access   = 14 
+  wlan_secure_hosted_network_elevated_access   = 14,
+  wlan_secure_virtual_station_extensibility    = 15,
+  wlan_secure_wfd_elevated_access              = 16,
+  WLAN_SECURABLE_OBJECT_COUNT                  = 17
 } WLAN_SECURABLE_OBJECT, *PWLAN_SECURABLE_OBJECT;
 
+typedef struct _WLAN_DEVICE_SERVICE_GUID_LIST {
+  DWORD dwNumberOfItems;
+  DWORD dwIndex;
+  GUID DeviceService[1];
+} WLAN_DEVICE_SERVICE_GUID_LIST, *PWLAN_DEVICE_SERVICE_GUID_LIST;
+
 typedef struct _DOT11_NETWORK_LIST {
   DWORD         dwNumberOfItems;
   DWORD         dwIndex;
@@ -523,9 +844,9 @@
   DOT11_SSID           dot11Ssid;
   DOT11_BSS_TYPE       dot11BssType;
   DOT11_MAC_ADDRESS    dot11MacAddr;
-  BOOL                 bSecurityEnabled;
-  BOOL                 bFirstPeer;
-  BOOL                 bLastPeer;
+  WINBOOL              bSecurityEnabled;
+  WINBOOL              bFirstPeer;
+  WINBOOL              bLastPeer;
   WLAN_REASON_CODE     wlanReasonCode;
 } WLAN_MSM_NOTIFICATION_DATA, *PWLAN_MSM_NOTIFICATION_DATA;
 
@@ -558,9 +879,17 @@
 
 typedef struct _WLAN_RADIO_STATE {
   DWORD                dwNumberOfPhys;
-  WLAN_PHY_RADIO_STATE PhyRadioState[64];
+  WLAN_PHY_RADIO_STATE PhyRadioState[WLAN_MAX_PHY_INDEX];
 } WLAN_RADIO_STATE, *PWLAN_RADIO_STATE;
 
+typedef enum _WLAN_OPERATIONAL_STATE {
+  wlan_operational_state_unknown = 0,
+  wlan_operational_state_off,
+  wlan_operational_state_on,
+  wlan_operational_state_going_off,
+  wlan_operational_state_going_on
+} WLAN_OPERATIONAL_STATE, *PWLAN_OPERATIONAL_STATE;
+
 #define DOT11_PSD_IE_MAX_DATA_SIZE 240
 #define DOT11_PSD_IE_MAX_ENTRY_NUMBER 5
 
@@ -638,6 +967,12 @@
   PDWORD pdwGrantedAccess
 );
 
+DWORD WINAPI WlanGetSupportedDeviceServices(
+  HANDLE hClientHandle,
+  const GUID *pInterfaceGuid,
+  PWLAN_DEVICE_SERVICE_GUID_LIST *ppDevSvcGuidList
+);
+
 DWORD WINAPI WlanIhvControl(
   HANDLE hClientHandle,
   const GUID *pInterfaceGuid,
@@ -654,10 +989,15 @@
   WLAN_AUTOCONF_OPCODE OpCode,
   PVOID pReserved,
   PDWORD pdwDataSize,
-  PVOID ppData,
+  PVOID *ppData,
   PWLAN_OPCODE_VALUE_TYPE pWlanOpcodeValueType
 );
 
+DWORD WINAPI WlanRegisterDeviceServiceNotification(
+  HANDLE hClientHandle,
+  const PWLAN_DEVICE_SERVICE_GUID_LIST pDevSvcGuidList
+);
+
 DWORD WINAPI WlanRenameProfile(
   HANDLE hClientHandle,
   const GUID *pInterfaceGuid,
@@ -666,7 +1006,9 @@
   PVOID pReserved
 );
 
+#define WLAN_PROFILE_GROUP_POLICY 0x00000001
 #define WLAN_PROFILE_USER 0x00000002
+#define WLAN_PROFILE_GET_PLAINTEXT_KEY 0x00000004
 #define WLAN_PROFILE_CONNECTION_MODE_SET_BY_CLIENT 0x00010000
 #define WLAN_PROFILE_CONNECTION_MODE_AUTO 0x00020000
 
