Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 639bb135 authored by Roshan Pius's avatar Roshan Pius Committed by Gerrit Code Review
Browse files

Merge changes from topics 'id_str_supplicant_hidl', 'p2p_wps_supplicant_hidl'

* changes:
  wifi(vts): Generate the .vts files
  wifi(interface): Use the "bitfield" type for masks
  supplicant(interface): Add sta network idstr & ft key mgmt
  supplicant(interface): Add missing STA callbacks
  supplicant(interface): Add various WPS device params
  supplicant(interface): Add P2P iface methods/cbs
parents 563665bc 720f4bdb
Loading
Loading
Loading
Loading
+2 −1
Original line number Original line Diff line number Diff line
@@ -205,7 +205,8 @@ interface IWifiChip {
   *         |WifiStatusCode.ERROR_UNKNOWN|
   *         |WifiStatusCode.ERROR_UNKNOWN|
   * @return capabilities Bitset of |ChipCapabilityMask| values.
   * @return capabilities Bitset of |ChipCapabilityMask| values.
   */
   */
  getCapabilities() generates (WifiStatus status, uint32_t capabilities);
  getCapabilities()
      generates (WifiStatus status, bitfield<ChipCapabilityMask> capabilities);


  /**
  /**
   * Get the set of operation modes that the chip supports.
   * Get the set of operation modes that the chip supports.
+3 −1
Original line number Original line Diff line number Diff line
@@ -120,7 +120,9 @@ interface IWifiStaIface extends IWifiIface {
   *         |WifiStatusCode.ERROR_UNKNOWN|
   *         |WifiStatusCode.ERROR_UNKNOWN|
   * @return capabilities Bitset of |StaIfaceCapabilityMask| values.
   * @return capabilities Bitset of |StaIfaceCapabilityMask| values.
   */
   */
  getCapabilities() generates (WifiStatus status, uint32_t capabilities);
  getCapabilities()
      generates (WifiStatus status,
                 bitfield<StaIfaceCapabilityMask> capabilities);


  /**
  /**
   * Used to query additional information about the chip's APF capabilities.
   * Used to query additional information about the chip's APF capabilities.
+31 −31
Original line number Original line Diff line number Diff line
@@ -254,7 +254,7 @@ struct StaBackgroundScanCapabilities {
 * Bands that can be specified in Background scan requests.
 * Bands that can be specified in Background scan requests.
 */
 */
enum StaBackgroundScanBand : uint32_t {
enum StaBackgroundScanBand : uint32_t {
  BAND_UNSPECIFIED,
  BAND_UNSPECIFIED = 0,
  /**
  /**
   * 2.4 GHz.
   * 2.4 GHz.
   */
   */
@@ -325,10 +325,10 @@ struct StaBackgroundScanBucketParameters {
   */
   */
  uint32_t periodInMs;
  uint32_t periodInMs;
  /**
  /**
   * Bitset of |BackgroundScanBucketEventReportSchemeMask| values controlling
   * Bitset of |StaBackgroundScanBucketEventReportSchemeMask| values controlling
   * when events for this bucket must be reported.
   * when events for this bucket must be reported.
   */
   */
  uint32_t eventReportScheme;
  bitfield<StaBackgroundScanBucketEventReportSchemeMask> eventReportScheme;
  /**
  /**
   * For exponential back off. If |exponentialMaxPeriodInMs| is non zero or
   * For exponential back off. If |exponentialMaxPeriodInMs| is non zero or
   * different than period, then this bucket is an exponential backoff bucket
   * different than period, then this bucket is an exponential backoff bucket
@@ -503,7 +503,7 @@ struct StaScanData {
  /**
  /**
   * Bitset containing |ScanDataFlagMask| values.
   * Bitset containing |ScanDataFlagMask| values.
   */
   */
  uint32_t flags;
  bitfield<StaScanDataFlagMask> flags;
  /**
  /**
   * Bitset where each bit indicates if the bucket with that index was
   * Bitset where each bit indicates if the bucket with that index was
   * scanned.
   * scanned.
@@ -842,6 +842,23 @@ struct NanEnableRequest {
  NanDebugConfig debugConfigs;
  NanDebugConfig debugConfigs;
};
};


/**
 * Cipher suite flags - to be used as a bitmask.
 */
enum NanCipherSuiteType : uint32_t {
  SHARED_KEY_128_MASK = 1 << 0,
  SHARED_KEY_256_MASK = 1 << 1
};

/**
 * Ranging in the context of discovery sessions indication controls - to be used as a bitmask.
 */
enum NanRangingIndication : uint32_t {
  CONTINUOUS_INDICATION_MASK = 1 << 0,
  INGRESS_MET_MASK = 1 << 1,
  EGRESS_MET_MASK = 1 << 2
};

/**
/**
 * Configurations of NAN discovery sessions: common to publish and subscribe discovery.
 * Configurations of NAN discovery sessions: common to publish and subscribe discovery.
 */
 */
@@ -921,7 +938,7 @@ struct NanDiscoveryCommonConfig {
   * Cipher types supported in data-paths constructed in the context of this discovery session. The
   * Cipher types supported in data-paths constructed in the context of this discovery session. The
   * |NanCipherSuiteType| bit fields are used to set this value.
   * |NanCipherSuiteType| bit fields are used to set this value.
   */
   */
  uint32_t supportedCipherTypes;
  bitfield<NanCipherSuiteType> supportedCipherTypes;
  /**
  /**
   * Optional PMK for data-paths constructed in the context of this discovery session. A PMK could
   * Optional PMK for data-paths constructed in the context of this discovery session. A PMK could
   * also be provided during the actual construction of the data-path (which allows unique PMKs for
   * also be provided during the actual construction of the data-path (which allows unique PMKs for
@@ -949,7 +966,7 @@ struct NanDiscoveryCommonConfig {
   * The type of ranging indication feedback to be provided by discovery session matches. Use
   * The type of ranging indication feedback to be provided by discovery session matches. Use
   * bit-fields from |NanRangingIndication|.
   * bit-fields from |NanRangingIndication|.
   */
   */
   uint32_t configRangingIndications;
   bitfield<NanRangingIndication> configRangingIndications;
   /**
   /**
    * The ingress and egress distance in cm. If ranging is eanbled (|rangingEnabled| is true) then
    * The ingress and egress distance in cm. If ranging is eanbled (|rangingEnabled| is true) then
    * \configRangingIndications\ is used to determine whether ingress and/or egress (or neither)
    * \configRangingIndications\ is used to determine whether ingress and/or egress (or neither)
@@ -959,23 +976,6 @@ struct NanDiscoveryCommonConfig {
   uint32_t distanceEgressCm;
   uint32_t distanceEgressCm;
};
};


/**
 * Cipher suite flags - to be used as a bitmask.
 */
enum NanCipherSuiteType : uint32_t {
  SHARED_KEY_128_MASK = 1 << 0,
  SHARED_KEY_256_MASK = 1 << 1
};

/**
 * Ranging in the context of discovery sessions indication controls - to be used as a bitmask.
 */
enum NanRangingIndication : uint32_t {
  CONTINUOUS_INDICATION_MASK = 1 << 0,
  INGRESS_MET_MASK = 1 << 1,
  EGRESS_MET_MASK = 1 << 2
};

/**
/**
 * Publish request: specifies a publish discovery operation.
 * Publish request: specifies a publish discovery operation.
 */
 */
@@ -1111,7 +1111,7 @@ struct NanInitiateDataPathRequest {
   * Cipher types supported in data-paths constructed in the context of this discovery session. The
   * Cipher types supported in data-paths constructed in the context of this discovery session. The
   * |NanCipherSuiteType| bit fields are used to set this value.
   * |NanCipherSuiteType| bit fields are used to set this value.
   */
   */
  uint32_t supportedCipherTypes;
  bitfield<NanCipherSuiteType> supportedCipherTypes;
  /**
  /**
   * PMK of the data-path being requested (if |securityRequired| is true).
   * PMK of the data-path being requested (if |securityRequired| is true).
   * Max length: 32
   * Max length: 32
@@ -1150,7 +1150,7 @@ struct NanRespondToDataPathIndicationRequest {
   * Cipher types supported in data-paths constructed in the context of this discovery session. The
   * Cipher types supported in data-paths constructed in the context of this discovery session. The
   * |NanCipherSuiteType| bit fields are used to set this value.
   * |NanCipherSuiteType| bit fields are used to set this value.
   */
   */
  uint32_t supportedCipherTypes;
  bitfield<NanCipherSuiteType> supportedCipherTypes;
  /**
  /**
   * PMK of the data-path being requested (if |securityRequired| is true).
   * PMK of the data-path being requested (if |securityRequired| is true).
   * Max length: 32
   * Max length: 32
@@ -1243,7 +1243,7 @@ struct NanCapabilities {
  /**
  /**
   * The set of supported Cipher suites. The |NanCipherSuiteType| bit fields are used.
   * The set of supported Cipher suites. The |NanCipherSuiteType| bit fields are used.
   */
   */
  uint32_t supportedCipherSuites;
  bitfield<NanCipherSuiteType> supportedCipherSuites;
};
};


/**
/**
@@ -1294,7 +1294,7 @@ struct NanMatchInd {
   * Cipher types supported by the peer for data-paths constructed in the context of this discovery
   * Cipher types supported by the peer for data-paths constructed in the context of this discovery
   * session. The |NanCipherSuiteType| bit fields are used to set this value.
   * session. The |NanCipherSuiteType| bit fields are used to set this value.
   */
   */
  uint32_t peerSupportedCipherTypes;
  bitfield<NanCipherSuiteType> peerSupportedCipherTypes;
  /**
  /**
   * Indicates whether or not the peer requires security enabled in any data-path (NDP) constructed
   * Indicates whether or not the peer requires security enabled in any data-path (NDP) constructed
   * in the context of this discovery session.
   * in the context of this discovery session.
@@ -1327,7 +1327,7 @@ struct NanMatchInd {
   * The ranging event(s) which triggered the ranging. Uses bit-fields from |NanRangingIndication|.
   * The ranging event(s) which triggered the ranging. Uses bit-fields from |NanRangingIndication|.
   * E.g. can indicate that continuous ranging is required, or else that an ingress event occurred.
   * E.g. can indicate that continuous ranging is required, or else that an ingress event occurred.
   */
   */
   uint32_t rangingIndicationType;
   bitfield<NanRangingIndication> rangingIndicationType;
};
};


/**
/**
@@ -1421,7 +1421,7 @@ struct NanBeaconSdfPayloadInd {
   * Frames on which this vendor specific attribute was received.
   * Frames on which this vendor specific attribute was received.
   * Mask |NanVsaRxFrameMask| defined above.
   * Mask |NanVsaRxFrameMask| defined above.
   */
   */
  uint8_t vsaReceivedOnFrames;
  bitfield<NanVsaRxFrameMask> vsaReceivedOnFrames;
  /**
  /**
   * Organizationally Unique Identifier (OUI) of the vendor-specific attribute.
   * Organizationally Unique Identifier (OUI) of the vendor-specific attribute.
   */
   */
@@ -1811,12 +1811,12 @@ struct RttCapabilities {
   * Bit mask indicates what preamble is supported by initiator.
   * Bit mask indicates what preamble is supported by initiator.
   * Combination of |RttPreamble| values.
   * Combination of |RttPreamble| values.
   */
   */
  uint8_t preambleSupport;
  bitfield<RttPreamble> preambleSupport;
  /**
  /**
   * Bit mask indicates what BW is supported by initiator.
   * Bit mask indicates what BW is supported by initiator.
   * Combination of |RttBw| values.
   * Combination of |RttBw| values.
   */
   */
  uint8_t bwSupport;
  bitfield<RttBw> bwSupport;
  /**
  /**
   * Draft 11mc spec version supported by chip.
   * Draft 11mc spec version supported by chip.
   * For instance, version 4.0 must be 40 and version 4.3 must be 43 etc.
   * For instance, version 4.0 must be 40 and version 4.3 must be 43 etc.

wifi/1.0/vts/Wifi.vts

0 → 100644
+110 −0
Original line number Original line Diff line number Diff line
component_class: HAL_HIDL
component_type_version: 1.0
component_name: "IWifi"

package: "android.hardware.wifi"

import: "android.hardware.wifi@1.0::IWifiChip"
import: "android.hardware.wifi@1.0::IWifiEventCallback"
import: "android.hardware.wifi@1.0::types"

interface: {
    api: {
        name: "registerEventCallback"
        return_type_hidl: {
            type: TYPE_STRUCT
            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
        }
        arg: {
            type: TYPE_HIDL_CALLBACK
            predefined_type: "IWifiEventCallback"
            is_callback: true
        }
        callflow: {
            entry: true
        }
        callflow: {
            next: "*"
        }
    }

    api: {
        name: "isStarted"
        return_type_hidl: {
            type: TYPE_SCALAR
            scalar_type: "bool_t"
        }
    }

    api: {
        name: "start"
        return_type_hidl: {
            type: TYPE_STRUCT
            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
        }
        callflow: {
            entry: true
        }
        callflow: {
            next: "registerEventCallback"
            next: "start"
            next: "stop"
            next: "getChip"
        }
    }

    api: {
        name: "stop"
        return_type_hidl: {
            type: TYPE_STRUCT
            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
        }
        callflow: {
            exit: true
        }
        callflow: {
            next: "registerEventCallback"
            next: "start"
            next: "stop"
        }
    }

    api: {
        name: "getChipIds"
        return_type_hidl: {
            type: TYPE_STRUCT
            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
        }
        return_type_hidl: {
            type: TYPE_VECTOR
            vector_value: {
                type: TYPE_SCALAR
                scalar_type: "uint32_t"
            }
        }
        callflow: {
            next: "*"
        }
    }

    api: {
        name: "getChip"
        return_type_hidl: {
            type: TYPE_STRUCT
            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
        }
        return_type_hidl: {
            type: TYPE_HIDL_INTERFACE
            predefined_type: "IWifiChip"
            is_callback: false
        }
        arg: {
            type: TYPE_SCALAR
            scalar_type: "uint32_t"
        }
        callflow: {
            next: "*"
        }
    }

}
+33 −0
Original line number Original line Diff line number Diff line
component_class: HAL_HIDL
component_type_version: 1.0
component_name: "IWifiApIface"

package: "android.hardware.wifi"

import: "android.hardware.wifi@1.0::IWifiIface"

interface: {
    api: {
        name: "getType"
        return_type_hidl: {
            type: TYPE_STRUCT
            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
        }
        return_type_hidl: {
            type: TYPE_ENUM
            predefined_type: "::android::hardware::wifi::V1_0::IfaceType"
        }
    }

    api: {
        name: "getName"
        return_type_hidl: {
            type: TYPE_STRUCT
            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
        }
        return_type_hidl: {
            type: TYPE_STRING
        }
    }

}
Loading