headers: Add new symbols in windot11.h

Signed-off-by: Biswapriyo Nath <nathbappai@gmail.com>
Signed-off-by: LIU Hao <lh_mouse@126.com>
diff --git a/mingw-w64-headers/include/windot11.h b/mingw-w64-headers/include/windot11.h
index c2c6c12..0b3e14f 100644
--- a/mingw-w64-headers/include/windot11.h
+++ b/mingw-w64-headers/include/windot11.h
@@ -16,12 +16,12 @@
 
 #include <wlantypes.h>
 
-#if NTDDI_VERSION >= 0x06010000 || NDIS_SUPPORT_NDIS620
+#if NTDDI_VERSION >= NTDDI_WIN7 || NDIS_SUPPORT_NDIS620
 #define NWF_EXTAP_SUPPORTED 1
 #define NWF_VWIFI_SUPPORTED 1
 #endif
 
-#if NTDDI_VERSION >= 0x06020000 || NDIS_SUPPORT_NDIS630
+#if NTDDI_VERSION >= NTDDI_WIN8 || NDIS_SUPPORT_NDIS630
 #define NWF_WFD_SUPPORTED 1
 #define NWF_POWER_SAVE_SUPPORTED 1
 #endif
@@ -30,6 +30,8 @@
 
 #define DOT11_BSSID_LIST_REVISION_1 1
 
+#define DOT11_HESSID_LENGTH 6
+
 #ifdef __WIDL__
 typedef struct _DOT11_MAC_ADDRESS {
   UCHAR ucDot11MacAddress[6];
@@ -50,6 +52,9 @@
 #endif
 } DOT11_BSSID_LIST, *PDOT11_BSSID_LIST;
 
+typedef UCHAR DOT11_HESSID[DOT11_HESSID_LENGTH];
+typedef DOT11_HESSID *PDOT11_HESSID;
+
 typedef
 #ifdef __WIDL__
   [v1_enum]
@@ -64,6 +69,10 @@
   dot11_phy_type_hrdsss = 5,
   dot11_phy_type_erp = 6,
   dot11_phy_type_ht = 7,
+  dot11_phy_type_vht = 8,
+  dot11_phy_type_dmg = 9,
+  dot11_phy_type_he = 10,
+  dot11_phy_type_eht = 11,
   dot11_phy_type_IHV_start = 0x80000000,
   dot11_phy_type_IHV_end = 0xffffffff
 } DOT11_PHY_TYPE, *PDOT11_PHY_TYPE;
@@ -78,8 +87,21 @@
 typedef UCHAR DOT11_DIALOG_TOKEN;
 typedef UCHAR DOT11_WFD_STATUS_CODE;
 typedef UCHAR DOT11_WFD_MINOR_REASON_CODE;
+typedef UCHAR DOT11_WFD_SERVICE_HASH[6];
 
-#if NTDDI_VERSION >= 0x06000000
+#define DOT11_WFD_SERVICE_NAME_MAX_LENGTH 255
+#define DOT11_WFD_APS2_SERVICE_TYPE_MAX_LENGTH 21
+#define DOT11_WFD_ASP2_INSTANCE_NAME_MAX_LENGTH 63
+#define DOT11_WFD_SERVICE_INFORMATION_MAX_LENGTH 65535
+#define DOT11_MAX_REQUESTED_SERVICE_INFORMATION_LENGTH 255
+#define DOT11_WFD_SESSION_INFO_MAX_LENGTH 144
+
+typedef struct _DOT11_WFD_SESSION_INFO {
+  USHORT uSessionInfoLength;
+  UCHAR ucSessionInfo[DOT11_WFD_SESSION_INFO_MAX_LENGTH];
+} DOT11_WFD_SESSION_INFO, *PDOT11_WFD_SESSION_INFO;
+
+#if NTDDI_VERSION >= NTDDI_VISTA
 #define NDIS_PACKET_TYPE_MEDIA_SPECIFIC_MASK (0x0fff0000U)
 
 #define NDIS_PACKET_TYPE_802_11_DIRECTED_DATA NDIS_PACKET_TYPE_DIRECTED
@@ -104,7 +126,7 @@
 #define DOT11_MIN_PDU_SIZE (256)
 
 #define DOT11_MAX_NUM_DEFAULT_KEY 4
-#if NTDDI_VERSION >= 0x06020000 || NDIS_SUPPORT_NDIS630
+#if NTDDI_VERSION >= NTDDI_WIN8 || NDIS_SUPPORT_NDIS630
 #define DOT11_MAX_NUM_DEFAULT_KEY_MFP DOT11_MAX_NUM_DEFAULT_KEY + 2
 #endif
 
@@ -385,7 +407,7 @@
 
 typedef enum _DOT11_UPDATE_IE_OP {
   dot11_update_ie_op_create_replace = 1,
-  dot11_update_ie_op_delete = 2,
+  dot11_update_ie_op_delete = 2
 } DOT11_UPDATE_IE_OP, *PDOT11_UPDATE_IE_OP;
 
 typedef struct _DOT11_UPDATE_IE {
@@ -1020,12 +1042,30 @@
   UCHAR ucCCMPKey[1];
 } DOT11_KEY_ALGO_CCMP, *PDOT11_KEY_ALGO_CCMP;
 
+typedef struct DOT11_KEY_ALGO_GCMP {
+  UCHAR ucIV48Counter[6];
+  ULONG ulGCMPKeyLength;
+  UCHAR ucGCMPKey[1];
+} DOT11_KEY_ALGO_GCMP, *PDOT11_KEY_ALGO_GCMP;
+
+typedef struct DOT11_KEY_ALGO_GCMP_256 {
+  UCHAR ucIV48Counter[6];
+  ULONG ulGCMP256KeyLength;
+  UCHAR ucGCMP256Key[1];
+} DOT11_KEY_ALGO_GCMP_256, *PDOT11_KEY_ALGO_GCMP_256;
+
 typedef struct DOT11_KEY_ALGO_BIP {
   UCHAR ucIPN[6];
   ULONG ulBIPKeyLength;
   UCHAR ucBIPKey[1];
 } DOT11_KEY_ALGO_BIP, *PDOT11_KEY_ALGO_BIP;
 
+typedef struct DOT11_KEY_ALGO_BIP_GMAC_256 {
+  UCHAR ucIPN[6];
+  ULONG ulBIPGmac256KeyLength;
+  UCHAR ucBIPGmac256Key[1];
+} DOT11_KEY_ALGO_BIP_GMAC_256, *PDOT11_KEY_ALGO_BIP_GMAC_256;
+
 #define DOT11_CIPHER_KEY_MAPPING_KEY_VALUE_BYTE_ARRAY_REVISION_1 1
 #define DOT11_ASSOCIATION_INFO_LIST_REVISION_1 1
 
@@ -1170,6 +1210,7 @@
 #define OID_DOT11_SAFE_MODE_ENABLED NWF_DEFINE_OID (157, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID)
 #define OID_DOT11_HIDDEN_NETWORK_ENABLED NWF_DEFINE_OID (158, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID)
 #define OID_DOT11_ASSOCIATION_PARAMS NWF_DEFINE_OID (159, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID)
+#define OID_DOT11_SAFE_MODE_HT_ENABLED NWF_DEFINE_OID(160,NWF_OPERATIONAL_OID,NWF_MANDATORY_OID)
 
 #define DOT11_DATA_RATE_MAPPING_TABLE_REVISION_1 1
 #define DOT11_COUNTRY_OR_REGION_STRING_LIST_REVISION_1 1
@@ -1298,6 +1339,7 @@
 #define DOT11_EXTSTA_ATTRIBUTES_REVISION_1 1
 #define DOT11_EXTSTA_ATTRIBUTES_REVISION_2 2
 #define DOT11_EXTSTA_ATTRIBUTES_REVISION_3 3
+#define DOT11_EXTSTA_ATTRIBUTES_REVISION_4 4
 
 typedef struct DOT11_EXTSTA_ATTRIBUTES DOT11_EXTSTA_ATTRIBUTES, *PDOT11_EXTSTA_ATTRIBUTES;
 
@@ -1608,7 +1650,7 @@
   UCHAR ucActiveQoSProtocol;
   DOT11_DS_INFO DSInfo;
   ULONG uEncapTableOffset, uEncapTableSize;
-#if NTDDI_VERSION >= 0x06020000
+#if NTDDI_VERSION >= NTDDI_WIN8
   DOT11_CIPHER_ALGORITHM MulticastMgmtCipher;
   ULONG uAssocComebackTime;
 #endif
@@ -2245,6 +2287,9 @@
 #define DOT11_WFD_STATUS_FAILED_MATCHING_MAX_INTENT 9
 #define DOT11_WFD_STATUS_FAILED_INCOMPATIBLE_PROVISIONING_METHOD 10
 #define DOT11_WFD_STATUS_FAILED_REJECTED_BY_USER 11
+#define DOT11_WFD_STATUS_SUCCESS_ACCEPTED_BY_USER 12
+#define WFD_STATUS_SUCCEEDED(status) (((DOT11_WFD_STATUS_CODE)(status)) == DOT11_WFD_STATUS_SUCCESS || ((DOT11_WFD_STATUS_CODE)(status)) == DOT11_WFD_STATUS_SUCCESS_ACCEPTED_BY_USER)
+#define WFD_STATUS_FAILED(status) (((DOT11_WFD_STATUS_CODE)(status)) != DOT11_WFD_STATUS_SUCCESS && ((DOT11_WFD_STATUS_CODE)(status)) != DOT11_WFD_STATUS_SUCCESS_ACCEPTED_BY_USER)
 
 #define DOT11_WFD_MINOR_REASON_SUCCESS 0
 #define DOT11_WFD_MINOR_REASON_DISASSOCIATED_FROM_WLAN_CROSS_CONNECTION_POLICY 1
@@ -2255,6 +2300,15 @@
 #define DOT11_WPS_VERSION_1_0 0x01
 #define DOT11_WPS_VERSION_2_0 0x02
 
+#define DOT11_WFD_DEVICE_CAPABILITY_SERVICE_DISCOVERY 0x01
+#define DOT11_WFD_DEVICE_CAPABILITY_P2P_CLIENT_DISCOVERABILITY 0x02
+#define DOT11_WFD_DEVICE_CAPABILITY_CONCURRENT_OPERATION 0x04
+#define DOT11_WFD_DEVICE_CAPABILITY_P2P_INFRASTRUCTURE_MANAGED 0x08
+#define DOT11_WFD_DEVICE_CAPABILITY_P2P_DEVICE_LIMIT 0x10
+#define DOT11_WFD_DEVICE_CAPABILITY_P2P_INVITATION_PROCEDURE 0x20
+#define DOT11_WFD_DEVICE_CAPABILITY_RESERVED_6 0x40
+#define DOT11_WFD_DEVICE_CAPABILITY_RESERVED_7 0x80
+
 #define DOT11_WFD_GROUP_CAPABILITY_NONE 0x00
 #define DOT11_WFD_GROUP_CAPABILITY_GROUP_OWNER 0x01
 #define DOT11_WFD_GROUP_CAPABILITY_PERSISTENT_GROUP 0x02
@@ -2264,8 +2318,12 @@
 #define DOT11_WFD_GROUP_CAPABILITY_PERSISTENT_RECONNECT_SUPPORTED 0x20
 #define DOT11_WFD_GROUP_CAPABILITY_IN_GROUP_FORMATION 0x40
 #define DOT11_WFD_GROUP_CAPABILITY_RESERVED_7 0x80
+#define DOT11_WFD_GROUP_CAPABILITY_EAPOL_KEY_IP_ADDRESS_ALLOCATION_SUPPORTED 0x80
 
 #define DOT11_WPS_DEVICE_NAME_MAX_LENGTH 32
+#define DOT11_WPS_MAX_PASSKEY_LENGTH 8
+#define DOT11_WPS_MAX_MODEL_NAME_LENGTH 32
+#define DOT11_WPS_MAX_MODEL_NUMBER_LENGTH 32
 
 typedef struct _DOT11_WFD_DEVICE_TYPE {
   USHORT CategoryID;
@@ -2302,8 +2360,11 @@
 typedef enum _DOT11_WPS_CONFIG_METHOD {
   DOT11_WPS_CONFIG_METHOD_NULL = 0,
   DOT11_WPS_CONFIG_METHOD_DISPLAY = 0x0008,
+  DOT11_WPS_CONFIG_METHOD_NFC_TAG = 0x0020,
+  DOT11_WPS_CONFIG_METHOD_NFC_INTERFACE = 0x0040,
   DOT11_WPS_CONFIG_METHOD_PUSHBUTTON = 0x0080,
-  DOT11_WPS_CONFIG_METHOD_KEYPAD = 0x0100
+  DOT11_WPS_CONFIG_METHOD_KEYPAD = 0x0100,
+  DOT11_WPS_CONFIG_METHOD_WFDS_DEFAULT = 0x1000
 } DOT11_WPS_CONFIG_METHOD, *PDOT11_WPS_CONFIG_METHOD;
 
 typedef enum _DOT11_WPS_DEVICE_PASSWORD_ID {
@@ -2313,6 +2374,10 @@
   DOT11_WPS_PASSWORD_ID_REKEY = 0x0003,
   DOT11_WPS_PASSWORD_ID_PUSHBUTTON = 0x0004,
   DOT11_WPS_PASSWORD_ID_REGISTRAR_SPECIFIED = 0x0005,
+  DOT11_WPS_PASSWORD_ID_NFC_CONNECTION_HANDOVER = 0x0007,
+  DOT11_WPS_PASSWORD_ID_WFD_SERVICES = 0x0008,
+  DOT11_WPS_PASSWORD_ID_OOB_RANGE_MIN = 0x0010,
+  DOT11_WPS_PASSWORD_ID_OOB_RANGE_MAX = 0xffff
 } DOT11_WPS_DEVICE_PASSWORD_ID, *PDOT11_WPS_DEVICE_PASSWORD_ID;
 
 #define DOT11_WFD_DISCOVER_COMPLETE_PARAMETERS_REVISION_1 1