wifi: add enable SAE PK only mode API

Bug: 160642415
Test: atest VtsHalWifiSupplicantV1_4TargetTest
Change-Id: I9e9fe69bf5ebc1127085b568f02f44a2ab1b08af
diff --git a/wifi/supplicant/1.4/ISupplicantStaNetwork.hal b/wifi/supplicant/1.4/ISupplicantStaNetwork.hal
index 4295879..80beedf 100644
--- a/wifi/supplicant/1.4/ISupplicantStaNetwork.hal
+++ b/wifi/supplicant/1.4/ISupplicantStaNetwork.hal
@@ -25,6 +25,16 @@
  */
 interface ISupplicantStaNetwork extends @1.3::ISupplicantStaNetwork {
     /**
+     * Possible mask of values for KeyMgmt param.
+     */
+    enum KeyMgmtMask : @1.3::ISupplicantStaNetwork.KeyMgmtMask {
+        /**
+         * SAE PK mode
+         */
+        SAE_PK,
+    };
+
+    /**
      * Possible mask of values for PairwiseCipher param.
      */
     enum PairwiseCipherMask : @1.3::ISupplicantStaNetwork.PairwiseCipherMask {
@@ -160,4 +170,22 @@
      *         |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
      */
     enableSaeH2eOnlyMode(bool enable) generates (SupplicantStatus status);
+
+    /**
+     * Set whether to enable SAE PK (Public Key) only mode to enable public AP validation.
+     * When enabled, only SAE PK network is allowed; otherwise PK is optional.
+     * If this API is not called before connecting to an SAE
+     * network, SAE PK mode depends on SAE PK config in wpa_supplicant configuration.
+     * If SAE PK config of wpa_supplicant configuration is not set,
+     * the default mode is optional (support for both PK and standard mode).
+     *
+     * @param enable true to set, false otherwise.
+     * @return status Status of the operation.
+     *         Possible status codes:
+     *         |SupplicantStatusCode.SUCCESS|,
+     *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
+     *         |SupplicantStatusCode.FAILURE_NETWORK_INVALID|,
+     *         |SupplicantStatusCode.FAILURE_UNSUPPORTED|
+     */
+    enableSaePkOnlyMode(bool enable) generates (SupplicantStatus status);
 };