wifi(interface): Move all StaIface types to types.hal

Some of these structs are used in the debug framework and hence needs to
live in types.hal. Add a |Sta| prefix to differentiate them from other
types similar to what is done for Nan and Rtt types.

Bug: 31991459
Test: ./hardware/interfaces/update-makefiles.sh
Change-Id: Idc49b28447609c4334b0a086481c404c06a63fea
diff --git a/wifi/1.0/IWifiStaIface.hal b/wifi/1.0/IWifiStaIface.hal
index 5cf1413..3ca9b7d 100644
--- a/wifi/1.0/IWifiStaIface.hal
+++ b/wifi/1.0/IWifiStaIface.hal
@@ -43,263 +43,7 @@
     /**
      * If set indicates that the link layer stats APIs are supported.
      */
-    LINK_LAYER_STATS = 1 << 2
-  };
-
-  /**
-   * Parameters to specify the APF capability of this iface.
-   */
-  struct ApfPacketFilterCapabilities {
-    /**
-     * Version of the packet filter interpreter supported
-     */
-    uint32_t version;
-    /**
-     * Maximum size of the filter bytecodes in bytes for an iface.
-     */
-    uint32_t maxLength;
-  };
-
-  /**
-   * Parameters to specify the Background Scan capability of this iface.
-   */
-  struct BackgroundScanCapabilities {
-    /**
-     * Maximum number of bytes available for cached scan results
-     */
-    uint32_t maxCacheSize;
-    /**
-     * Maximum number of buckets that can be supplied for a scan
-     */
-    uint32_t maxBuckets;
-    /**
-     * Maximum number of APs that must be stored for each scan.
-     */
-    uint32_t maxApCachePerScan;
-    /**
-     * Max reporting number of scans threshold that can be specified in the scan
-     * parameters.
-     */
-    int32_t maxReportingThreshold;
-  };
-
-  /**
-   * Bands that can be specified in Background scan requests.
-   */
-  enum BackgroundScanBand : uint32_t {
-    BAND_UNSPECIFIED,
-    /**
-     * 2.4 GHz.
-     */
-    BAND_24GHZ = 1,
-    /**
-     * 5 GHz without DFS.
-     */
-    BAND_5GHZ = 2,
-    /**
-     * 5 GHz DFS only.
-     */
-    BAND_5GHZ_DFS = 4,
-    /**
-     * 5 GHz with DFS.
-     */
-    BAND_5GHZ_WITH_DFS = 6,
-    /**
-     * 2.4 GHz + 5 GHz; no DFS.
-     */
-    BAND_24GHZ_5GHZ = 3,
-    /**
-     * 2.4 GHz + 5 GHz with DFS
-     */
-    BAND_24GHZ_5GHZ_WITH_DFS = 7
-  };
-
-  /**
-   * Mask of event reporting schemes that can be specified in background scan
-   * requests.
-   */
-  enum BackgroundScanBucketEventReportSchemeMask : uint32_t {
-    /**
-     * Report a scan completion event after scan. If this is not set then scan
-     * completion events must be reported if report_threshold_percent or
-     * report_threshold_num_scans is reached.
-     */
-    EACH_SCAN = 1 << 0,
-    /**
-     * Forward scan results (beacons/probe responses + IEs) in real time to HAL,
-     * in addition to completion events.
-     * Note: To keep backward compatibility, fire completion events regardless
-     * of REPORT_EVENTS_EACH_SCAN.
-     */
-    FULL_RESULTS = 1 << 1,
-    /**
-     * Controls if scans for this bucket must be placed in the results buffer.
-     */
-    NO_BATCH = 1 << 2,
-  };
-
-  /**
-   * Background Scan parameters per bucket that can be specified in background
-   * scan requests.
-   */
-  struct BackgroundScanBucketParameters {
-    /**
-     * Bands to scan or 0 if frequencies list must be used instead.
-     */
-    BackgroundScanBand band;
-    /**
-     * Channel frequencies (in Mhz) to scan if |band| is set to
-     * |UNSPECIFIED|.
-     */
-    vec<WifiChannelInMhz> frequencies;
-    /**
-     * Period at which this bucket must be scanned (in milliseconds). Must be an integer
-     * multiple of the |basePeriodInMs| specified in the BackgroundScanParameters.
-     */
-    uint32_t periodInMs;
-    /**
-     * Bitset of |BackgroundScanBucketEventReportSchemeMask| values controlling
-     * when events for this bucket must be reported.
-     */
-    uint32_t eventReportScheme;
-    /**
-     * For exponential back off. If |exponentialMaxPeriodInMs| is non zero or
-     * different than period, then this bucket is an exponential backoff bucket
-     * and the scan period must grow exponentially as per formula:
-     *   actual_period(N) = period * (base ^ (N/step_count))
-     * to this maximum period (in milliseconds).
-     */
-    uint32_t exponentialMaxPeriodInMs;
-    /**
-     * For exponential back off. multiplier: new_period=old_period * base
-     */
-    uint32_t exponentialBase;
-    /**
-     * For exponential back off. Number of scans to perform for a given
-     * period.
-     */
-    uint32_t exponentialStepCount;
-  };
-
-  /**
-   * Background Scan parameters that can be specified in background scan
-   * requests.
-   */
-  struct BackgroundScanParameters {
-    /**
-     * GCD of all bucket periods (in milliseconds).
-     */
-    uint32_t basePeriodInMs;
-    /**
-     * Maximum number of APs that must be stored for each scan. If the maximum
-     * is reached the highest RSSI results must be returned.
-     */
-    uint32_t maxApPerScan;
-    /**
-     * % cache buffer filled threshold at which the host must be notified of
-     * batched scan results.
-     */
-    uint32_t reportThresholdPercent;
-    /**
-     * Threshold at which the AP must be woken up, in number of scans.
-     */
-    uint32_t reportThresholdNumScans;
-    /**
-     * List of buckets to be scheduled.
-     */
-    vec<BackgroundScanBucketParameters> buckets;
-  };
-
-  /**
-   * Packet stats for different traffic categories.
-   */
-  struct LinkLayerIfacePacketStats {
-    /**
-     * Number of received unicast data packets.
-     */
-    uint64_t rxMpdu;
-    /**
-     * Number of successfully transmitted unicast data pkts (ACK rcvd).
-     */
-    uint64_t txMpdu;
-    /**
-     * Number of transmitted unicast data pkt losses (no ACK).
-     */
-    uint64_t lostMpdu;
-    /**
-     * Number of transmitted unicast data retry pkts.
-     */
-    uint64_t retries;
-  };
-
-  /**
-   * Iface statistics for the current connection.
-   */
-  struct LinkLayerIfaceStats {
-    /**
-     * Number beacons received from the connected AP.
-     */
-    uint32_t beaconRx;
-    /**
-     * Access Point Beacon and Management frames RSSI (averaged).
-     */
-    int32_t avgRssiMgmt;
-    /**
-     * WME Best Effort Access Category packet counters.
-     */
-     LinkLayerIfacePacketStats wmeBePktStats;
-    /**
-     * WME Background Access Category packet counters.
-     */
-    LinkLayerIfacePacketStats wmeBkPktStats;
-    /**
-     * WME Video Access Category packet counters.
-     */
-    LinkLayerIfacePacketStats wmeViPktStats;
-    /**
-     * WME Voice Access Category packet counters.
-     */
-    LinkLayerIfacePacketStats wmeVoPktStats;
-  };
-
-  /**
-   * Cumulative radio statistics since collection was enabled.
-   */
-  struct LinkLayerRadioStats {
-    /**
-     * Time for which the radio is awake.
-     */
-    uint32_t onTimeInMs;
-    /**
-     * Total time for which the radio is in active transmission.
-     */
-    uint32_t txTimeInMs;
-    /**
-     * Time for which the radio is in active tranmission per tx level.
-     */
-    vec<uint32_t> txTimeInMsPerLevel;
-    /**
-     * Time for which the radio is in active receive.
-     */
-    uint32_t rxTimeInMs;
-    /**
-     *  Total time for which the radio is awake due to scan.
-     */
-    uint32_t onTimeInMsForScan;
-  };
-
-  /**
-   * Link layer stats retrieved via |getLinkLayerStats|.
-   */
-  struct LinkLayerStats {
-    LinkLayerIfaceStats iface;
-    LinkLayerRadioStats radio;
-    /**
-     * TimeStamp for each stats sample.
-     * This is the absolute milliseconds from boot when these stats were
-     * sampled.
-     */
-    TimeStampInMs timeStampInMs;
+    LINK_LAYER_STATS = 1 << 2,
   };
 
   /**
@@ -328,7 +72,7 @@
    *         |WifiStatusCode.ERROR_UNKNOWN|
    * @return capabilities Bitset of |StaIfaceCapabilityMask| values.
    */
-  getCapabilities() generates (WifiStatus status, uint64_t capabilities);
+  getCapabilities() generates (WifiStatus status, uint32_t capabilities);
 
   /**
    * Used to query additional information about the chip's APF capabilities.
@@ -341,10 +85,10 @@
    *         |WifiStatusCode.ERROR_NOT_SUPPORTED|,
    *         |WifiStatusCode.ERROR_NOT_AVAILABLE|,
    *         |WifiStatusCode.ERROR_UNKNOWN|
-   * @return capabilities Instance of |ApfPacketFilterCapabilities|.
+   * @return capabilities Instance of |StaApfPacketFilterCapabilities|.
    */
   getApfPacketFilterCapabilities()
-      generates (WifiStatus status, ApfPacketFilterCapabilities capabilities);
+      generates (WifiStatus status, StaApfPacketFilterCapabilities capabilities);
 
   /**
    * Installs an APF program on this iface, replacing an existing
@@ -376,10 +120,10 @@
    *         |WifiStatusCode.ERROR_NOT_SUPPORTED|,
    *         |WifiStatusCode.ERROR_NOT_AVAILABLE|,
    *         |WifiStatusCode.ERROR_UNKNOWN|
-   * @return capabilities Instance of |BackgroundScanCapabilities|.
+   * @return capabilities Instance of |StaBackgroundScanCapabilities|.
    */
   getBackgroundScanCapabilities()
-      generates (WifiStatus status, BackgroundScanCapabilities capabilities);
+      generates (WifiStatus status, StaBackgroundScanCapabilities capabilities);
 
   /**
    * Used to query the list of valid frequencies (depending on country code set)
@@ -388,6 +132,7 @@
    * request.
    * Must fail if |StaIfaceCapabilityMask.BACKGROUND_SCAN| is not set.
    *
+   * @param band Band for which the frequency list is being generated.
    * @return status WifiStatus of the operation.
    *         Possible status codes:
    *         |WifiStatusCode.SUCCESS|,
@@ -397,7 +142,7 @@
    *         |WifiStatusCode.ERROR_UNKNOWN|
    * @return frequencies vector of valid frequencies for the provided band.
    */
-  getValidFrequenciesForBackgroundScan(BackgroundScanBand band)
+  getValidFrequenciesForBackgroundScan(StaBackgroundScanBand band)
       generates (WifiStatus status, vec<WifiChannelInMhz> frequencies);
 
   /**
@@ -437,7 +182,7 @@
    *         |WifiStatusCode.ERROR_NOT_AVAILABLE|,
    *         |WifiStatusCode.ERROR_UNKNOWN|
    */
-  startBackgroundScan(CommandId cmdId, BackgroundScanParameters params)
+  startBackgroundScan(CommandId cmdId, StaBackgroundScanParameters params)
       generates (WifiStatus status);
 
   /**
@@ -504,5 +249,5 @@
    *         |WifiStatusCode.ERROR_UNKNOWN|
    * @return stats Instance of |LinkLayerStats|.
    */
-  getLinkLayerStats() generates (WifiStatus status, LinkLayerStats stats);
+  getLinkLayerStats() generates (WifiStatus status, StaLinkLayerStats stats);
 };