Write 11ax parameters in hostapd.conf

This commit writes the 802.11ax related softAp parameters in
hostapd.conf.

Bug: 141831296
Test: Manual
Change-Id: I1488ff610ca8655b0097242eec5e5e19dcaf32b7
diff --git a/hostapd/hidl/1.2/hostapd.cpp b/hostapd/hidl/1.2/hostapd.cpp
index 7149b72..71be483 100644
--- a/hostapd/hidl/1.2/hostapd.cpp
+++ b/hostapd/hidl/1.2/hostapd.cpp
@@ -184,6 +184,24 @@
 		}
 	}
 
+	std::string he_params_as_string;
+	if (iface_params.hwModeParams.enable80211AX) {
+		he_params_as_string = StringPrintf(
+		    "ieee80211ax=1\n"
+		    "he_su_beamformer=%d\n"
+		    "he_su_beamformee=%d\n"
+		    "he_mu_beamformer=%d\n"
+		    "he_bss_color=%d\n"
+		    "he_twt_required=%d\n",
+		    iface_params.hwModeParams.enableHeSingleUserBeamformer ? 1 : 0,
+		    iface_params.hwModeParams.enableHeSingleUserBeamformee ? 1 : 0,
+		    iface_params.hwModeParams.enableHeMultiUserBeamformer ? 1 : 0,
+		    iface_params.hwModeParams.heBssColor,
+		    iface_params.hwModeParams.enableHeTargetWakeTime ? 1 : 0);
+	} else {
+		he_params_as_string = "ieee80211ax=0";
+	}
+
 	return StringPrintf(
 	    "interface=%s\n"
 	    "driver=nl80211\n"
@@ -195,7 +213,7 @@
 	    "%s\n"
 	    "ieee80211n=%d\n"
 	    "ieee80211ac=%d\n"
-	    "ieee80211ax=%d\n"
+	    "%s\n"
 	    "%s\n"
 	    "%s\n"
 	    "ignore_broadcast_ssid=%d\n"
@@ -205,7 +223,7 @@
 	    channel_config_as_string.c_str(),
 	    iface_params.V1_1.V1_0.hwModeParams.enable80211N ? 1 : 0,
 	    iface_params.V1_1.V1_0.hwModeParams.enable80211AC ? 1 : 0,
-	    iface_params.hwModeParams.enable80211AX ? 1 : 0,
+	    he_params_as_string.c_str(),
 	    hw_mode_as_string.c_str(), ht_cap_vht_oper_chwidth_as_string.c_str(),
 	    nw_params.isHidden ? 1 : 0, encryption_config_as_string.c_str());
 }