wifi(interface): Add status for every method

Add a status parameter for every HIDL interface object method which can
possibly become invalid. This should help inform the caller that the
object being used is stale/invalid now.

While there,
Rename |CommandFailureReson| to |FailureReasonCode|.

NOTE: |FailureReason| will continue to indicate any errors during the
processing of the command via the corresponding |onFailure| callback.

Bug: 32056230
Test: Compiles
Change-Id: I2ec5af3075221e483579410f344bcedd6bf17a93
diff --git a/wifi/1.0/IWifiStaIface.hal b/wifi/1.0/IWifiStaIface.hal
index a738ebe..402385b 100644
--- a/wifi/1.0/IWifiStaIface.hal
+++ b/wifi/1.0/IWifiStaIface.hal
@@ -213,24 +213,37 @@
    *
    * @param callback An instance of the |IWifiStaIfaceEventCallback| HIDL interface
    *        object.
+   * @return status Status of the operation.
+   *         Possible status codes:
+   *         |StatusCode.SUCCESS|,
+   *         |StatusCode.ERROR_WIFI_IFACE_INVALID|
    */
-  oneway registerEventCallback(IWifiStaIfaceEventCallback callback);
+  registerEventCallback(IWifiStaIfaceEventCallback callback)
+      generates (StatusCode status);
 
   /**
    * Get the capabilities supported by this STA iface.
    *
+   * @return status Status of the operation.
+   *         Possible status codes:
+   *         |StatusCode.SUCCESS|,
+   *         |StatusCode.ERROR_WIFI_IFACE_INVALID|
    * @return capabilities Bitset of |StaIfaceCapabilityMask| values.
    */
-  getCapabilities() generates (uint64_t capabilities);
+  getCapabilities() generates (StatusCode status, uint64_t capabilities);
 
   /**
    * Used to query additional information about the chip's APF capabilities.
    * Will fail if |StaIfaceCapabilityMask.APF| is not set.
    *
+   * @return status Status of the operation.
+   *         Possible status codes:
+   *         |StatusCode.SUCCESS|,
+   *         |StatusCode.ERROR_WIFI_IFACE_INVALID|
    * @return capabilities Instance of |ApfPacketFilterCapabilities|.
    */
   getApfPacketFilterCapabilities()
-      generates (ApfPacketFilterCapabilities capabilities);
+      generates (StatusCode status, ApfPacketFilterCapabilities capabilities);
 
   /**
    * Installs an APF program on this iface, replacing an existing
@@ -238,18 +251,27 @@
    * Will fail if |StaIfaceCapabilityMask.APF| is not set.
    *
    * @param cmdId command Id to use for this invocation.
-   * @param program APF Program to be set.
+   * @param APF Program to be set.
+   * @return status Status of the operation.
+   *         Possible status codes:
+   *         |StatusCode.SUCCESS|,
+   *         |StatusCode.ERROR_WIFI_IFACE_INVALID|
    */
-  oneway installApfPacketFilter(CommandId cmdId, vec<uint8_t> program);
+  installApfPacketFilter(CommandId cmdId, vec<uint8_t> program)
+      generates (StatusCode status);
 
   /**
    * Used to query additional information about the chip's APF capabilities.
    * Will fail if |StaIfaceCapabilityMask.BACKGROUND_SCAN| is not set.
    *
+   * @return status Status of the operation.
+   *         Possible status codes:
+   *         |StatusCode.SUCCESS|,
+   *         |StatusCode.ERROR_WIFI_IFACE_INVALID|
    * @return capabilities Instance of |BackgroundScanCapabilities|.
    */
   getBackgroundScanCapabilities()
-      generates (BackgroundScanCapabilities capabilities);
+      generates (StatusCode status, BackgroundScanCapabilities capabilities);
 
   /**
    * Start a background scan using the given cmdId as an identifier. Only one
@@ -278,14 +300,23 @@
    * WIFI_SCAN_FLAG_INTERRUPTED flag set.
    *
    * @param cmdId command Id to use for this invocation.
-   * @param params Background scan parameters.
+   * @params Background scan parameters.
+   * @return status Status of the operation.
+   *         Possible status codes:
+   *         |StatusCode.SUCCESS|,
+   *         |StatusCode.ERROR_WIFI_IFACE_INVALID|
    */
-  oneway startBackgroundScan(CommandId cmdId, BackgroundScanParameters params);
+  startBackgroundScan(CommandId cmdId, BackgroundScanParameters params)
+      generates (StatusCode status);
 
   /**
    * Stop the background scan started.
    *
    * @param cmdId command Id corresponding to the request.
+   * @return status Status of the operation.
+   *         Possible status codes:
+   *         |StatusCode.SUCCESS|,
+   *         |StatusCode.ERROR_WIFI_IFACE_INVALID|
    */
-  oneway stopBackgroundScan(CommandId cmdId);
+  stopBackgroundScan(CommandId cmdId) generates (StatusCode status);
 };