diff --git a/wifi/1.0/IWifiChip.hal b/wifi/1.0/IWifiChip.hal index d790404325..b0598a4f60 100644 --- a/wifi/1.0/IWifiChip.hal +++ b/wifi/1.0/IWifiChip.hal @@ -205,7 +205,8 @@ interface IWifiChip { * |WifiStatusCode.ERROR_UNKNOWN| * @return capabilities Bitset of |ChipCapabilityMask| values. */ - getCapabilities() generates (WifiStatus status, uint32_t capabilities); + getCapabilities() + generates (WifiStatus status, bitfield capabilities); /** * Get the set of operation modes that the chip supports. diff --git a/wifi/1.0/IWifiStaIface.hal b/wifi/1.0/IWifiStaIface.hal index 7dad8aff5a..6a738a9092 100644 --- a/wifi/1.0/IWifiStaIface.hal +++ b/wifi/1.0/IWifiStaIface.hal @@ -120,7 +120,9 @@ interface IWifiStaIface extends IWifiIface { * |WifiStatusCode.ERROR_UNKNOWN| * @return capabilities Bitset of |StaIfaceCapabilityMask| values. */ - getCapabilities() generates (WifiStatus status, uint32_t capabilities); + getCapabilities() + generates (WifiStatus status, + bitfield capabilities); /** * Used to query additional information about the chip's APF capabilities. diff --git a/wifi/1.0/types.hal b/wifi/1.0/types.hal index 1e86be437a..edf306d4c4 100644 --- a/wifi/1.0/types.hal +++ b/wifi/1.0/types.hal @@ -254,7 +254,7 @@ struct StaBackgroundScanCapabilities { * Bands that can be specified in Background scan requests. */ enum StaBackgroundScanBand : uint32_t { - BAND_UNSPECIFIED, + BAND_UNSPECIFIED = 0, /** * 2.4 GHz. */ @@ -325,10 +325,10 @@ struct StaBackgroundScanBucketParameters { */ uint32_t periodInMs; /** - * Bitset of |BackgroundScanBucketEventReportSchemeMask| values controlling + * Bitset of |StaBackgroundScanBucketEventReportSchemeMask| values controlling * when events for this bucket must be reported. */ - uint32_t eventReportScheme; + bitfield eventReportScheme; /** * For exponential back off. If |exponentialMaxPeriodInMs| is non zero or * different than period, then this bucket is an exponential backoff bucket @@ -503,7 +503,7 @@ struct StaScanData { /** * Bitset containing |ScanDataFlagMask| values. */ - uint32_t flags; + bitfield flags; /** * Bitset where each bit indicates if the bucket with that index was * scanned. @@ -842,6 +842,23 @@ struct NanEnableRequest { 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. */ @@ -921,7 +938,7 @@ struct NanDiscoveryCommonConfig { * Cipher types supported in data-paths constructed in the context of this discovery session. The * |NanCipherSuiteType| bit fields are used to set this value. */ - uint32_t supportedCipherTypes; + bitfield supportedCipherTypes; /** * 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 @@ -949,7 +966,7 @@ struct NanDiscoveryCommonConfig { * The type of ranging indication feedback to be provided by discovery session matches. Use * bit-fields from |NanRangingIndication|. */ - uint32_t configRangingIndications; + bitfield configRangingIndications; /** * 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) @@ -959,23 +976,6 @@ struct NanDiscoveryCommonConfig { 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. */ @@ -1111,7 +1111,7 @@ struct NanInitiateDataPathRequest { * Cipher types supported in data-paths constructed in the context of this discovery session. The * |NanCipherSuiteType| bit fields are used to set this value. */ - uint32_t supportedCipherTypes; + bitfield supportedCipherTypes; /** * PMK of the data-path being requested (if |securityRequired| is true). * Max length: 32 @@ -1150,7 +1150,7 @@ struct NanRespondToDataPathIndicationRequest { * Cipher types supported in data-paths constructed in the context of this discovery session. The * |NanCipherSuiteType| bit fields are used to set this value. */ - uint32_t supportedCipherTypes; + bitfield supportedCipherTypes; /** * PMK of the data-path being requested (if |securityRequired| is true). * Max length: 32 @@ -1243,7 +1243,7 @@ struct NanCapabilities { /** * The set of supported Cipher suites. The |NanCipherSuiteType| bit fields are used. */ - uint32_t supportedCipherSuites; + bitfield supportedCipherSuites; }; /** @@ -1294,7 +1294,7 @@ struct NanMatchInd { * 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. */ - uint32_t peerSupportedCipherTypes; + bitfield peerSupportedCipherTypes; /** * Indicates whether or not the peer requires security enabled in any data-path (NDP) constructed * 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|. * E.g. can indicate that continuous ranging is required, or else that an ingress event occurred. */ - uint32_t rangingIndicationType; + bitfield rangingIndicationType; }; /** @@ -1421,7 +1421,7 @@ struct NanBeaconSdfPayloadInd { * Frames on which this vendor specific attribute was received. * Mask |NanVsaRxFrameMask| defined above. */ - uint8_t vsaReceivedOnFrames; + bitfield vsaReceivedOnFrames; /** * Organizationally Unique Identifier (OUI) of the vendor-specific attribute. */ @@ -1811,12 +1811,12 @@ struct RttCapabilities { * Bit mask indicates what preamble is supported by initiator. * Combination of |RttPreamble| values. */ - uint8_t preambleSupport; + bitfield preambleSupport; /** * Bit mask indicates what BW is supported by initiator. * Combination of |RttBw| values. */ - uint8_t bwSupport; + bitfield bwSupport; /** * Draft 11mc spec version supported by chip. * For instance, version 4.0 must be 40 and version 4.3 must be 43 etc. diff --git a/wifi/1.0/vts/Wifi.vts b/wifi/1.0/vts/Wifi.vts new file mode 100644 index 0000000000..608e0125b5 --- /dev/null +++ b/wifi/1.0/vts/Wifi.vts @@ -0,0 +1,110 @@ +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: "*" + } + } + +} diff --git a/wifi/1.0/vts/WifiApIface.vts b/wifi/1.0/vts/WifiApIface.vts new file mode 100644 index 0000000000..c4f3640ffc --- /dev/null +++ b/wifi/1.0/vts/WifiApIface.vts @@ -0,0 +1,33 @@ +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 + } + } + +} diff --git a/wifi/1.0/vts/WifiChip.vts b/wifi/1.0/vts/WifiChip.vts new file mode 100644 index 0000000000..4b278c131f --- /dev/null +++ b/wifi/1.0/vts/WifiChip.vts @@ -0,0 +1,545 @@ +component_class: HAL_HIDL +component_type_version: 1.0 +component_name: "IWifiChip" + +package: "android.hardware.wifi" + +import: "android.hardware.wifi@1.0::IWifiApIface" +import: "android.hardware.wifi@1.0::IWifiChipEventCallback" +import: "android.hardware.wifi@1.0::IWifiIface" +import: "android.hardware.wifi@1.0::IWifiNanIface" +import: "android.hardware.wifi@1.0::IWifiP2pIface" +import: "android.hardware.wifi@1.0::IWifiRttController" +import: "android.hardware.wifi@1.0::IWifiStaIface" +import: "android.hardware.wifi@1.0::types" + +interface: { + attribute: { + name: "::android::hardware::wifi::V1_0::IWifiChip::ChipIfaceCombinationLimit" + type: TYPE_STRUCT + struct_value: { + name: "types" + type: TYPE_VECTOR + vector_value: { + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::V1_0::IfaceType" + } + } + struct_value: { + name: "maxIfaces" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + } + + attribute: { + name: "::android::hardware::wifi::V1_0::IWifiChip::ChipIfaceCombination" + type: TYPE_STRUCT + struct_value: { + name: "limits" + type: TYPE_VECTOR + vector_value: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::IWifiChip::ChipIfaceCombinationLimit" + } + } + } + + attribute: { + name: "::android::hardware::wifi::V1_0::IWifiChip::ChipMode" + type: TYPE_STRUCT + struct_value: { + name: "id" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "availableCombinations" + type: TYPE_VECTOR + vector_value: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::IWifiChip::ChipIfaceCombination" + } + } + } + + attribute: { + name: "::android::hardware::wifi::V1_0::IWifiChip::ChipDebugInfo" + type: TYPE_STRUCT + struct_value: { + name: "driverDescription" + type: TYPE_STRING + } + struct_value: { + name: "firmwareDescription" + type: TYPE_STRING + } + } + + attribute: { + name: "::android::hardware::wifi::V1_0::IWifiChip::ChipCapabilityMask" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint32_t" + + enumerator: "DEBUG_MEMORY_FIRMWARE_DUMP" + scalar_value: { + uint32_t: 1 + } + enumerator: "DEBUG_MEMORY_DRIVER_DUMP" + scalar_value: { + uint32_t: 2 + } + enumerator: "DEBUG_RING_BUFFER_CONNECT_EVENT" + scalar_value: { + uint32_t: 4 + } + enumerator: "DEBUG_RING_BUFFER_POWER_EVENT" + scalar_value: { + uint32_t: 8 + } + enumerator: "DEBUG_RING_BUFFER_WAKELOCK_EVENT" + scalar_value: { + uint32_t: 16 + } + enumerator: "DEBUG_RING_BUFFER_VENDOR_DATA" + scalar_value: { + uint32_t: 32 + } + enumerator: "DEBUG_HOST_WAKE_REASON_STATS" + scalar_value: { + uint32_t: 64 + } + enumerator: "DEBUG_ERROR_ALERTS" + scalar_value: { + uint32_t: 128 + } + } + } + + api: { + name: "getId" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + return_type_hidl: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + } + + api: { + name: "registerEventCallback" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + arg: { + type: TYPE_HIDL_CALLBACK + predefined_type: "IWifiChipEventCallback" + is_callback: true + } + } + + api: { + name: "getCapabilities" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + return_type_hidl: { + type: TYPE_MASK + predefined_type: "::android::hardware::wifi::V1_0::IWifiChip::ChipCapabilityMask" + } + } + + api: { + name: "getAvailableModes" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + return_type_hidl: { + type: TYPE_VECTOR + vector_value: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::IWifiChip::ChipMode" + } + } + } + + api: { + name: "configureChip" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + } + + api: { + name: "getMode" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + return_type_hidl: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + } + + api: { + name: "requestChipDebugInfo" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::IWifiChip::ChipDebugInfo" + } + } + + api: { + name: "requestDriverDebugDump" + 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: "uint8_t" + } + } + } + + api: { + name: "requestFirmwareDebugDump" + 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: "uint8_t" + } + } + } + + api: { + name: "createApIface" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + return_type_hidl: { + type: TYPE_HIDL_INTERFACE + predefined_type: "IWifiApIface" + is_callback: false + } + } + + api: { + name: "getApIfaceNames" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + return_type_hidl: { + type: TYPE_VECTOR + vector_value: { + type: TYPE_STRING + } + } + } + + api: { + name: "getApIface" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + return_type_hidl: { + type: TYPE_HIDL_INTERFACE + predefined_type: "IWifiApIface" + is_callback: false + } + arg: { + type: TYPE_STRING + } + } + + api: { + name: "removeApIface" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + arg: { + type: TYPE_STRING + } + } + + api: { + name: "createNanIface" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + return_type_hidl: { + type: TYPE_HIDL_INTERFACE + predefined_type: "IWifiNanIface" + is_callback: false + } + } + + api: { + name: "getNanIfaceNames" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + return_type_hidl: { + type: TYPE_VECTOR + vector_value: { + type: TYPE_STRING + } + } + } + + api: { + name: "getNanIface" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + return_type_hidl: { + type: TYPE_HIDL_INTERFACE + predefined_type: "IWifiNanIface" + is_callback: false + } + arg: { + type: TYPE_STRING + } + } + + api: { + name: "removeNanIface" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + arg: { + type: TYPE_STRING + } + } + + api: { + name: "createP2pIface" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + return_type_hidl: { + type: TYPE_HIDL_INTERFACE + predefined_type: "IWifiP2pIface" + is_callback: false + } + } + + api: { + name: "getP2pIfaceNames" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + return_type_hidl: { + type: TYPE_VECTOR + vector_value: { + type: TYPE_STRING + } + } + } + + api: { + name: "getP2pIface" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + return_type_hidl: { + type: TYPE_HIDL_INTERFACE + predefined_type: "IWifiP2pIface" + is_callback: false + } + arg: { + type: TYPE_STRING + } + } + + api: { + name: "removeP2pIface" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + arg: { + type: TYPE_STRING + } + } + + api: { + name: "createStaIface" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + return_type_hidl: { + type: TYPE_HIDL_INTERFACE + predefined_type: "IWifiStaIface" + is_callback: false + } + } + + api: { + name: "getStaIfaceNames" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + return_type_hidl: { + type: TYPE_VECTOR + vector_value: { + type: TYPE_STRING + } + } + } + + api: { + name: "getStaIface" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + return_type_hidl: { + type: TYPE_HIDL_INTERFACE + predefined_type: "IWifiStaIface" + is_callback: false + } + arg: { + type: TYPE_STRING + } + } + + api: { + name: "removeStaIface" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + arg: { + type: TYPE_STRING + } + } + + api: { + name: "createRttController" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + return_type_hidl: { + type: TYPE_HIDL_INTERFACE + predefined_type: "IWifiRttController" + is_callback: false + } + arg: { + type: TYPE_HIDL_INTERFACE + predefined_type: "IWifiIface" + is_callback: false + } + } + + api: { + name: "getDebugRingBuffersStatus" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + return_type_hidl: { + type: TYPE_VECTOR + vector_value: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiDebugRingBufferStatus" + } + } + } + + api: { + name: "startLoggingToDebugRingBuffer" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + arg: { + type: TYPE_STRING + } + arg: { + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::V1_0::WifiDebugRingBufferVerboseLevel" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + } + + api: { + name: "forceDumpToDebugRingBuffer" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + arg: { + type: TYPE_STRING + } + } + + api: { + name: "getDebugHostWakeReasonStats" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonStats" + } + } + + api: { + name: "enableDebugErrorAlerts" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "bool_t" + } + } + +} diff --git a/wifi/1.0/vts/WifiChipEventCallback.vts b/wifi/1.0/vts/WifiChipEventCallback.vts new file mode 100644 index 0000000000..c75516219e --- /dev/null +++ b/wifi/1.0/vts/WifiChipEventCallback.vts @@ -0,0 +1,78 @@ +component_class: HAL_HIDL +component_type_version: 1.0 +component_name: "IWifiChipEventCallback" + +package: "android.hardware.wifi" + +import: "android.hardware.wifi@1.0::types" + +interface: { + api: { + name: "onChipReconfigured" + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + } + + api: { + name: "onChipReconfigureFailure" + arg: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + } + + api: { + name: "onIfaceAdded" + arg: { + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::V1_0::IfaceType" + } + arg: { + type: TYPE_STRING + } + } + + api: { + name: "onIfaceRemoved" + arg: { + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::V1_0::IfaceType" + } + arg: { + type: TYPE_STRING + } + } + + api: { + name: "onDebugRingBufferDataAvailable" + arg: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiDebugRingBufferStatus" + } + arg: { + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + + api: { + name: "onDebugErrorAlert" + arg: { + type: TYPE_SCALAR + scalar_type: "int32_t" + } + arg: { + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + +} diff --git a/wifi/1.0/vts/WifiEventCallback.vts b/wifi/1.0/vts/WifiEventCallback.vts new file mode 100644 index 0000000000..a0cf66718c --- /dev/null +++ b/wifi/1.0/vts/WifiEventCallback.vts @@ -0,0 +1,26 @@ +component_class: HAL_HIDL +component_type_version: 1.0 +component_name: "IWifiEventCallback" + +package: "android.hardware.wifi" + +import: "android.hardware.wifi@1.0::types" + +interface: { + api: { + name: "onStart" + } + + api: { + name: "onStop" + } + + api: { + name: "onFailure" + arg: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + } + +} diff --git a/wifi/1.0/vts/WifiIface.vts b/wifi/1.0/vts/WifiIface.vts new file mode 100644 index 0000000000..1434a3ef16 --- /dev/null +++ b/wifi/1.0/vts/WifiIface.vts @@ -0,0 +1,33 @@ +component_class: HAL_HIDL +component_type_version: 1.0 +component_name: "IWifiIface" + +package: "android.hardware.wifi" + +import: "android.hardware.wifi@1.0::types" + +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 + } + } + +} diff --git a/wifi/1.0/vts/WifiNanIface.vts b/wifi/1.0/vts/WifiNanIface.vts new file mode 100644 index 0000000000..663b52630b --- /dev/null +++ b/wifi/1.0/vts/WifiNanIface.vts @@ -0,0 +1,278 @@ +component_class: HAL_HIDL +component_type_version: 1.0 +component_name: "IWifiNanIface" + +package: "android.hardware.wifi" + +import: "android.hardware.wifi@1.0::IWifiIface" +import: "android.hardware.wifi@1.0::IWifiNanIfaceEventCallback" +import: "android.hardware.wifi@1.0::types" + +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 + } + } + + api: { + name: "registerEventCallback" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + arg: { + type: TYPE_HIDL_CALLBACK + predefined_type: "IWifiNanIfaceEventCallback" + is_callback: true + } + } + + api: { + name: "getCapabilitiesRequest" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint16_t" + } + } + + api: { + name: "enableRequest" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint16_t" + } + arg: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::NanEnableRequest" + } + } + + api: { + name: "configRequest" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint16_t" + } + arg: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::NanConfigRequest" + } + } + + api: { + name: "disableRequest" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint16_t" + } + } + + api: { + name: "startPublishRequest" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint16_t" + } + arg: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::NanPublishRequest" + } + } + + api: { + name: "stopPublishRequest" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint16_t" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint16_t" + } + } + + api: { + name: "startSubscribeRequest" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint16_t" + } + arg: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::NanSubscribeRequest" + } + } + + api: { + name: "stopSubscribeRequest" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint16_t" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint16_t" + } + } + + api: { + name: "transmitFollowupRequest" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint16_t" + } + arg: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::NanTransmitFollowupRequest" + } + } + + api: { + name: "createDataInterfaceRequest" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint16_t" + } + arg: { + type: TYPE_STRING + } + } + + api: { + name: "deleteDataInterfaceRequest" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint16_t" + } + arg: { + type: TYPE_STRING + } + } + + api: { + name: "initiateDataPathRequest" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint16_t" + } + arg: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::NanInitiateDataPathRequest" + } + } + + api: { + name: "respondToDataPathIndicationRequest" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint16_t" + } + arg: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::NanRespondToDataPathIndicationRequest" + } + } + + api: { + name: "terminateDataPathRequest" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint16_t" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + } + + api: { + name: "beaconSdfPayloadRequest" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint16_t" + } + arg: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::NanBeaconSdfPayloadRequest" + } + } + +} diff --git a/wifi/1.0/vts/WifiNanIfaceEventCallback.vts b/wifi/1.0/vts/WifiNanIfaceEventCallback.vts new file mode 100644 index 0000000000..30ca88a4f6 --- /dev/null +++ b/wifi/1.0/vts/WifiNanIfaceEventCallback.vts @@ -0,0 +1,318 @@ +component_class: HAL_HIDL +component_type_version: 1.0 +component_name: "IWifiNanIfaceEventCallback" + +package: "android.hardware.wifi" + +import: "android.hardware.wifi@1.0::types" + +interface: { + api: { + name: "notifyCapabilitiesResponse" + arg: { + type: TYPE_SCALAR + scalar_type: "uint16_t" + } + arg: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus" + } + arg: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::NanCapabilities" + } + } + + api: { + name: "notifyEnableResponse" + arg: { + type: TYPE_SCALAR + scalar_type: "uint16_t" + } + arg: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus" + } + } + + api: { + name: "notifyConfigResponse" + arg: { + type: TYPE_SCALAR + scalar_type: "uint16_t" + } + arg: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus" + } + } + + api: { + name: "notifyDisableResponse" + arg: { + type: TYPE_SCALAR + scalar_type: "uint16_t" + } + arg: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus" + } + } + + api: { + name: "notifyStartPublishResponse" + arg: { + type: TYPE_SCALAR + scalar_type: "uint16_t" + } + arg: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint16_t" + } + } + + api: { + name: "notifyStopPublishResponse" + arg: { + type: TYPE_SCALAR + scalar_type: "uint16_t" + } + arg: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus" + } + } + + api: { + name: "notifyStartSubscribeResponse" + arg: { + type: TYPE_SCALAR + scalar_type: "uint16_t" + } + arg: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint16_t" + } + } + + api: { + name: "notifyStopSubscribeResponse" + arg: { + type: TYPE_SCALAR + scalar_type: "uint16_t" + } + arg: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus" + } + } + + api: { + name: "notifyTransmitFollowupResponse" + arg: { + type: TYPE_SCALAR + scalar_type: "uint16_t" + } + arg: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus" + } + } + + api: { + name: "notifyCreateDataInterfaceResponse" + arg: { + type: TYPE_SCALAR + scalar_type: "uint16_t" + } + arg: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus" + } + } + + api: { + name: "notifyDeleteDataInterfaceResponse" + arg: { + type: TYPE_SCALAR + scalar_type: "uint16_t" + } + arg: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus" + } + } + + api: { + name: "notifyInitiateDataPathResponse" + arg: { + type: TYPE_SCALAR + scalar_type: "uint16_t" + } + arg: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus" + } + } + + api: { + name: "notifyRespondToDataPathIndicationResponse" + arg: { + type: TYPE_SCALAR + scalar_type: "uint16_t" + } + arg: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + } + + api: { + name: "notifyTerminateDataPathResponse" + arg: { + type: TYPE_SCALAR + scalar_type: "uint16_t" + } + arg: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus" + } + } + + api: { + name: "notifyBeaconSdfPayloadResponse" + arg: { + type: TYPE_SCALAR + scalar_type: "uint16_t" + } + arg: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus" + } + } + + api: { + name: "eventClusterEvent" + arg: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::NanClusterEventInd" + } + } + + api: { + name: "eventDisabled" + arg: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus" + } + } + + api: { + name: "eventPublishTerminated" + arg: { + type: TYPE_SCALAR + scalar_type: "uint16_t" + } + arg: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus" + } + } + + api: { + name: "eventSubscribeTerminated" + arg: { + type: TYPE_SCALAR + scalar_type: "uint16_t" + } + arg: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus" + } + } + + api: { + name: "eventMatch" + arg: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::NanMatchInd" + } + } + + api: { + name: "eventMatchExpired" + arg: { + type: TYPE_SCALAR + scalar_type: "uint16_t" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + } + + api: { + name: "eventFollowupReceived" + arg: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::NanFollowupReceivedInd" + } + } + + api: { + name: "eventTransmitFollowup" + arg: { + type: TYPE_SCALAR + scalar_type: "uint16_t" + } + arg: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus" + } + } + + api: { + name: "eventDataPathRequest" + arg: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::NanDataPathRequestInd" + } + } + + api: { + name: "eventDataPathConfirm" + arg: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::NanDataPathConfirmInd" + } + } + + api: { + name: "eventDataPathTerminated" + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + } + + api: { + name: "eventBeaconSdfPayload" + arg: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::NanBeaconSdfPayloadInd" + } + } + +} diff --git a/wifi/1.0/vts/WifiP2pIface.vts b/wifi/1.0/vts/WifiP2pIface.vts new file mode 100644 index 0000000000..b40c81eb44 --- /dev/null +++ b/wifi/1.0/vts/WifiP2pIface.vts @@ -0,0 +1,33 @@ +component_class: HAL_HIDL +component_type_version: 1.0 +component_name: "IWifiP2pIface" + +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 + } + } + +} diff --git a/wifi/1.0/vts/WifiRttController.vts b/wifi/1.0/vts/WifiRttController.vts new file mode 100644 index 0000000000..0fd36261f5 --- /dev/null +++ b/wifi/1.0/vts/WifiRttController.vts @@ -0,0 +1,172 @@ +component_class: HAL_HIDL +component_type_version: 1.0 +component_name: "IWifiRttController" + +package: "android.hardware.wifi" + +import: "android.hardware.wifi@1.0::IWifiIface" +import: "android.hardware.wifi@1.0::IWifiRttControllerEventCallback" +import: "android.hardware.wifi@1.0::types" + +interface: { + api: { + name: "getBoundIface" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + return_type_hidl: { + type: TYPE_HIDL_INTERFACE + predefined_type: "IWifiIface" + is_callback: false + } + } + + api: { + name: "registerEventCallback" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + arg: { + type: TYPE_HIDL_CALLBACK + predefined_type: "IWifiRttControllerEventCallback" + is_callback: true + } + } + + api: { + name: "rangeRequest" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + arg: { + type: TYPE_VECTOR + vector_value: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::RttConfig" + } + } + } + + api: { + name: "rangeCancel" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + arg: { + type: TYPE_VECTOR + vector_value: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + } + + api: { + name: "getCapabilities" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::RttCapabilities" + } + } + + api: { + name: "setLci" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + arg: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::RttLciInformation" + } + } + + api: { + name: "setLcr" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + arg: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::RttLcrInformation" + } + } + + api: { + name: "getResponderInfo" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::RttResponder" + } + } + + api: { + name: "enableResponder" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + arg: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiChannelInfo" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + arg: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::RttResponder" + } + } + + api: { + name: "disableResponder" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + } + +} diff --git a/wifi/1.0/vts/WifiRttControllerEventCallback.vts b/wifi/1.0/vts/WifiRttControllerEventCallback.vts new file mode 100644 index 0000000000..028fd0314b --- /dev/null +++ b/wifi/1.0/vts/WifiRttControllerEventCallback.vts @@ -0,0 +1,25 @@ +component_class: HAL_HIDL +component_type_version: 1.0 +component_name: "IWifiRttControllerEventCallback" + +package: "android.hardware.wifi" + +import: "android.hardware.wifi@1.0::types" + +interface: { + api: { + name: "onResults" + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + arg: { + type: TYPE_VECTOR + vector_value: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::RttResult" + } + } + } + +} diff --git a/wifi/1.0/vts/WifiStaIface.vts b/wifi/1.0/vts/WifiStaIface.vts new file mode 100644 index 0000000000..0cff792c15 --- /dev/null +++ b/wifi/1.0/vts/WifiStaIface.vts @@ -0,0 +1,432 @@ +component_class: HAL_HIDL +component_type_version: 1.0 +component_name: "IWifiStaIface" + +package: "android.hardware.wifi" + +import: "android.hardware.wifi@1.0::IWifiIface" +import: "android.hardware.wifi@1.0::IWifiStaIfaceEventCallback" +import: "android.hardware.wifi@1.0::types" + +interface: { + attribute: { + name: "::android::hardware::wifi::V1_0::IWifiStaIface::StaIfaceCapabilityMask" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint32_t" + + enumerator: "APF" + scalar_value: { + uint32_t: 1 + } + enumerator: "BACKGROUND_SCAN" + scalar_value: { + uint32_t: 2 + } + enumerator: "LINK_LAYER_STATS" + scalar_value: { + uint32_t: 4 + } + enumerator: "RSSI_MONITOR" + scalar_value: { + uint32_t: 8 + } + enumerator: "CONTROL_ROAMING" + scalar_value: { + uint32_t: 16 + } + enumerator: "PROBE_IE_WHITELIST" + scalar_value: { + uint32_t: 32 + } + enumerator: "SCAN_RAND" + scalar_value: { + uint32_t: 64 + } + enumerator: "STA_5G" + scalar_value: { + uint32_t: 128 + } + enumerator: "HOTSPOT" + scalar_value: { + uint32_t: 256 + } + enumerator: "PNO" + scalar_value: { + uint32_t: 512 + } + enumerator: "TDLS" + scalar_value: { + uint32_t: 1024 + } + enumerator: "TDLS_OFFCHANNEL" + scalar_value: { + uint32_t: 2048 + } + enumerator: "ND_OFFLOAD" + scalar_value: { + uint32_t: 4096 + } + enumerator: "KEEP_ALIVE" + scalar_value: { + uint32_t: 8192 + } + enumerator: "DEBUG_PACKET_FATE" + scalar_value: { + uint32_t: 16384 + } + } + } + + 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 + } + } + + api: { + name: "registerEventCallback" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + arg: { + type: TYPE_HIDL_CALLBACK + predefined_type: "IWifiStaIfaceEventCallback" + is_callback: true + } + } + + api: { + name: "getCapabilities" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + return_type_hidl: { + type: TYPE_MASK + predefined_type: "::android::hardware::wifi::V1_0::IWifiStaIface::StaIfaceCapabilityMask" + } + } + + api: { + name: "getApfPacketFilterCapabilities" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::StaApfPacketFilterCapabilities" + } + } + + api: { + name: "installApfPacketFilter" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + arg: { + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + + api: { + name: "getBackgroundScanCapabilities" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::StaBackgroundScanCapabilities" + } + } + + api: { + name: "getValidFrequenciesForBackgroundScan" + 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" + } + } + arg: { + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::V1_0::StaBackgroundScanBand" + } + } + + api: { + name: "startBackgroundScan" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + arg: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::StaBackgroundScanParameters" + } + } + + api: { + name: "stopBackgroundScan" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + } + + api: { + name: "enableLinkLayerStatsCollection" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "bool_t" + } + } + + api: { + name: "disableLinkLayerStatsCollection" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + } + + api: { + name: "getLinkLayerStats" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerStats" + } + } + + api: { + name: "startRssiMonitoring" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + arg: { + type: TYPE_SCALAR + scalar_type: "int32_t" + } + arg: { + type: TYPE_SCALAR + scalar_type: "int32_t" + } + } + + api: { + name: "stopRssiMonitoring" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + } + + api: { + name: "getRoamingCapabilities" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::StaRoamingCapabilities" + } + } + + api: { + name: "configureRoaming" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + arg: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::StaRoamingConfig" + } + } + + api: { + name: "setRoamingState" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + arg: { + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::V1_0::StaRoamingState" + } + } + + api: { + name: "enableNdOffload" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "bool_t" + } + } + + api: { + name: "startSendingKeepAlivePackets" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + arg: { + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint16_t" + } + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + } + + api: { + name: "stopSendingKeepAlivePackets" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + } + + api: { + name: "startDebugPacketFateMonitoring" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + } + + api: { + name: "stopDebugPacketFateMonitoring" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + } + + api: { + name: "getDebugTxPacketFates" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + return_type_hidl: { + type: TYPE_VECTOR + vector_value: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiDebugTxPacketFateReport" + } + } + } + + api: { + name: "getDebugRxPacketFates" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiStatus" + } + return_type_hidl: { + type: TYPE_VECTOR + vector_value: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiDebugRxPacketFateReport" + } + } + } + +} diff --git a/wifi/1.0/vts/WifiStaIfaceEventCallback.vts b/wifi/1.0/vts/WifiStaIfaceEventCallback.vts new file mode 100644 index 0000000000..b04ad26f14 --- /dev/null +++ b/wifi/1.0/vts/WifiStaIfaceEventCallback.vts @@ -0,0 +1,65 @@ +component_class: HAL_HIDL +component_type_version: 1.0 +component_name: "IWifiStaIfaceEventCallback" + +package: "android.hardware.wifi" + +import: "android.hardware.wifi@1.0::types" + +interface: { + api: { + name: "onBackgroundScanFailure" + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + } + + api: { + name: "onBackgroundFullScanResult" + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + arg: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::StaScanResult" + } + } + + api: { + name: "onBackgroundScanResults" + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + arg: { + type: TYPE_VECTOR + vector_value: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::StaScanData" + } + } + } + + api: { + name: "onRssiThresholdBreached" + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + arg: { + type: TYPE_SCALAR + scalar_type: "int32_t" + } + } + +} diff --git a/wifi/1.0/vts/types.vts b/wifi/1.0/vts/types.vts new file mode 100644 index 0000000000..fd60d4e45e --- /dev/null +++ b/wifi/1.0/vts/types.vts @@ -0,0 +1,2846 @@ +component_class: HAL_HIDL +component_type_version: 1.0 +component_name: "types" + +package: "android.hardware.wifi" + + +attribute: { + name: "::android::hardware::wifi::V1_0::WifiStatusCode" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint32_t" + + enumerator: "SUCCESS" + scalar_value: { + uint32_t: 0 + } + enumerator: "ERROR_WIFI_CHIP_INVALID" + scalar_value: { + uint32_t: 1 + } + enumerator: "ERROR_WIFI_IFACE_INVALID" + scalar_value: { + uint32_t: 2 + } + enumerator: "ERROR_WIFI_RTT_CONTROLLER_INVALID" + scalar_value: { + uint32_t: 3 + } + enumerator: "ERROR_NOT_SUPPORTED" + scalar_value: { + uint32_t: 4 + } + enumerator: "ERROR_NOT_AVAILABLE" + scalar_value: { + uint32_t: 5 + } + enumerator: "ERROR_NOT_STARTED" + scalar_value: { + uint32_t: 6 + } + enumerator: "ERROR_INVALID_ARGS" + scalar_value: { + uint32_t: 7 + } + enumerator: "ERROR_BUSY" + scalar_value: { + uint32_t: 8 + } + enumerator: "ERROR_UNKNOWN" + scalar_value: { + uint32_t: 9 + } + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::WifiStatus" + type: TYPE_STRUCT + struct_value: { + name: "code" + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::V1_0::WifiStatusCode" + } + struct_value: { + name: "description" + type: TYPE_STRING + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::IfaceType" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint32_t" + + enumerator: "STA" + scalar_value: { + uint32_t: 0 + } + enumerator: "AP" + scalar_value: { + uint32_t: 1 + } + enumerator: "P2P" + scalar_value: { + uint32_t: 2 + } + enumerator: "NAN" + scalar_value: { + uint32_t: 3 + } + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::WifiChannelWidthInMhz" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint32_t" + + enumerator: "WIDTH_20" + scalar_value: { + uint32_t: 0 + } + enumerator: "WIDTH_40" + scalar_value: { + uint32_t: 1 + } + enumerator: "WIDTH_80" + scalar_value: { + uint32_t: 2 + } + enumerator: "WIDTH_160" + scalar_value: { + uint32_t: 3 + } + enumerator: "WIDTH_80P80" + scalar_value: { + uint32_t: 4 + } + enumerator: "WIDTH_5" + scalar_value: { + uint32_t: 5 + } + enumerator: "WIDTH_10" + scalar_value: { + uint32_t: 6 + } + enumerator: "WIDTH_INVALID" + scalar_value: { + uint32_t: 4294967295 + } + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::WifiChannelInfo" + type: TYPE_STRUCT + struct_value: { + name: "width" + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::V1_0::WifiChannelWidthInMhz" + } + struct_value: { + name: "centerFreq" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "centerFreq0" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "centerFreq1" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::WifiInformationElement" + type: TYPE_STRUCT + struct_value: { + name: "id" + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + struct_value: { + name: "data" + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::WifiRatePreamble" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint32_t" + + enumerator: "OFDM" + scalar_value: { + uint32_t: 0 + } + enumerator: "CCK" + scalar_value: { + uint32_t: 1 + } + enumerator: "HT" + scalar_value: { + uint32_t: 2 + } + enumerator: "VHT" + scalar_value: { + uint32_t: 3 + } + enumerator: "RESERVED" + scalar_value: { + uint32_t: 4 + } + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::WifiRateNss" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint32_t" + + enumerator: "NSS_1x1" + scalar_value: { + uint32_t: 0 + } + enumerator: "NSS_2x2" + scalar_value: { + uint32_t: 1 + } + enumerator: "NSS_3x3" + scalar_value: { + uint32_t: 2 + } + enumerator: "NSS_4x4" + scalar_value: { + uint32_t: 3 + } + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::WifiRateInfo" + type: TYPE_STRUCT + struct_value: { + name: "preamble" + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::V1_0::WifiRatePreamble" + } + struct_value: { + name: "nss" + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::V1_0::WifiRateNss" + } + struct_value: { + name: "bw" + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::V1_0::WifiChannelWidthInMhz" + } + struct_value: { + name: "rateMcsIdx" + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + struct_value: { + name: "bitRateInKbps" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::StaApfPacketFilterCapabilities" + type: TYPE_STRUCT + struct_value: { + name: "version" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "maxLength" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::StaBackgroundScanCapabilities" + type: TYPE_STRUCT + struct_value: { + name: "maxCacheSize" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "maxBuckets" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "maxApCachePerScan" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "maxReportingThreshold" + type: TYPE_SCALAR + scalar_type: "int32_t" + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::StaBackgroundScanBand" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint32_t" + + enumerator: "BAND_UNSPECIFIED" + scalar_value: { + uint32_t: 0 + } + enumerator: "BAND_24GHZ" + scalar_value: { + uint32_t: 1 + } + enumerator: "BAND_5GHZ" + scalar_value: { + uint32_t: 2 + } + enumerator: "BAND_5GHZ_DFS" + scalar_value: { + uint32_t: 4 + } + enumerator: "BAND_5GHZ_WITH_DFS" + scalar_value: { + uint32_t: 6 + } + enumerator: "BAND_24GHZ_5GHZ" + scalar_value: { + uint32_t: 3 + } + enumerator: "BAND_24GHZ_5GHZ_WITH_DFS" + scalar_value: { + uint32_t: 7 + } + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketEventReportSchemeMask" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint32_t" + + enumerator: "EACH_SCAN" + scalar_value: { + uint32_t: 1 + } + enumerator: "FULL_RESULTS" + scalar_value: { + uint32_t: 2 + } + enumerator: "NO_BATCH" + scalar_value: { + uint32_t: 4 + } + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketParameters" + type: TYPE_STRUCT + struct_value: { + name: "band" + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::V1_0::StaBackgroundScanBand" + } + struct_value: { + name: "frequencies" + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + } + struct_value: { + name: "periodInMs" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "eventReportScheme" + type: TYPE_MASK + predefined_type: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketEventReportSchemeMask" + } + struct_value: { + name: "exponentialMaxPeriodInMs" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "exponentialBase" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "exponentialStepCount" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::StaBackgroundScanParameters" + type: TYPE_STRUCT + struct_value: { + name: "basePeriodInMs" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "maxApPerScan" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "reportThresholdPercent" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "reportThresholdNumScans" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "buckets" + type: TYPE_VECTOR + vector_value: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketParameters" + } + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats" + type: TYPE_STRUCT + struct_value: { + name: "rxMpdu" + type: TYPE_SCALAR + scalar_type: "uint64_t" + } + struct_value: { + name: "txMpdu" + type: TYPE_SCALAR + scalar_type: "uint64_t" + } + struct_value: { + name: "lostMpdu" + type: TYPE_SCALAR + scalar_type: "uint64_t" + } + struct_value: { + name: "retries" + type: TYPE_SCALAR + scalar_type: "uint64_t" + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::StaLinkLayerIfaceStats" + type: TYPE_STRUCT + struct_value: { + name: "beaconRx" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "avgRssiMgmt" + type: TYPE_SCALAR + scalar_type: "int32_t" + } + struct_value: { + name: "wmeBePktStats" + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats" + } + struct_value: { + name: "wmeBkPktStats" + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats" + } + struct_value: { + name: "wmeViPktStats" + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats" + } + struct_value: { + name: "wmeVoPktStats" + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats" + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::StaLinkLayerRadioStats" + type: TYPE_STRUCT + struct_value: { + name: "onTimeInMs" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "txTimeInMs" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "txTimeInMsPerLevel" + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + } + struct_value: { + name: "rxTimeInMs" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "onTimeInMsForScan" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::StaLinkLayerStats" + type: TYPE_STRUCT + struct_value: { + name: "iface" + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfaceStats" + } + struct_value: { + name: "radio" + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerRadioStats" + } + struct_value: { + name: "timeStampInMs" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::StaScanResult" + type: TYPE_STRUCT + struct_value: { + name: "timeStampInUs" + type: TYPE_SCALAR + scalar_type: "uint64_t" + } + struct_value: { + name: "ssid" + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + struct_value: { + name: "bssid" + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + struct_value: { + name: "rssi" + type: TYPE_SCALAR + scalar_type: "int32_t" + } + struct_value: { + name: "frequency" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "beaconPeriodInMs" + type: TYPE_SCALAR + scalar_type: "uint16_t" + } + struct_value: { + name: "capability" + type: TYPE_SCALAR + scalar_type: "uint16_t" + } + struct_value: { + name: "informationElements" + type: TYPE_VECTOR + vector_value: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiInformationElement" + } + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::StaScanDataFlagMask" + type: TYPE_ENUM + enum_value: { + scalar_type: "int32_t" + + enumerator: "INTERRUPTED" + scalar_value: { + int32_t: 1 + } + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::StaScanData" + type: TYPE_STRUCT + struct_value: { + name: "flags" + type: TYPE_MASK + predefined_type: "::android::hardware::wifi::V1_0::StaScanDataFlagMask" + } + struct_value: { + name: "bucketsScanned" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "results" + type: TYPE_VECTOR + vector_value: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::StaScanResult" + } + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::StaRoamingCapabilities" + type: TYPE_STRUCT + struct_value: { + name: "maxBlacklistSize" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "maxWhitelistSize" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::StaRoamingConfig" + type: TYPE_STRUCT + struct_value: { + name: "bssidBlacklist" + type: TYPE_VECTOR + vector_value: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + struct_value: { + name: "ssidWhitelist" + type: TYPE_VECTOR + vector_value: { + type: TYPE_ARRAY + vector_value: { + vector_size: 32 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::StaRoamingState" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint8_t" + + enumerator: "ENABLED" + scalar_value: { + uint8_t: 0 + } + enumerator: "DISABLED" + scalar_value: { + uint8_t: 1 + } + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::NanStatusType" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint32_t" + + enumerator: "SUCCESS" + scalar_value: { + uint32_t: 0 + } + enumerator: "INTERNAL_FAILURE" + scalar_value: { + uint32_t: 1 + } + enumerator: "PROTOCOL_FAILURE" + scalar_value: { + uint32_t: 2 + } + enumerator: "INVALID_SESSION_ID" + scalar_value: { + uint32_t: 3 + } + enumerator: "NO_RESOURCES_AVAILABLE" + scalar_value: { + uint32_t: 4 + } + enumerator: "INVALID_ARGS" + scalar_value: { + uint32_t: 5 + } + enumerator: "INVALID_PEER_ID" + scalar_value: { + uint32_t: 6 + } + enumerator: "INVALID_NDP_ID" + scalar_value: { + uint32_t: 7 + } + enumerator: "NAN_NOT_ALLOWED" + scalar_value: { + uint32_t: 8 + } + enumerator: "NO_OTA_ACK" + scalar_value: { + uint32_t: 9 + } + enumerator: "ALREADY_ENABLED" + scalar_value: { + uint32_t: 10 + } + enumerator: "FOLLOWUP_TX_QUEUE_FULL" + scalar_value: { + uint32_t: 11 + } + enumerator: "UNSUPPORTED_CONCURRENCY_NAN_DISABLED" + scalar_value: { + uint32_t: 12 + } + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::NanBandIndex" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint32_t" + + enumerator: "NAN_BAND_24GHZ" + scalar_value: { + uint32_t: 0 + } + enumerator: "NAN_BAND_5GHZ" + scalar_value: { + uint32_t: 1 + } + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::WifiNanStatus" + type: TYPE_STRUCT + struct_value: { + name: "status" + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::V1_0::NanStatusType" + } + struct_value: { + name: "description" + type: TYPE_STRING + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::NanMatchAlg" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint32_t" + + enumerator: "MATCH_ONCE" + scalar_value: { + uint32_t: 0 + } + enumerator: "MATCH_CONTINUOUS" + scalar_value: { + uint32_t: 1 + } + enumerator: "MATCH_NEVER" + scalar_value: { + uint32_t: 2 + } + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::NanPublishType" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint32_t" + + enumerator: "UNSOLICITED" + scalar_value: { + uint32_t: 0 + } + enumerator: "SOLICITED" + scalar_value: { + uint32_t: 1 + } + enumerator: "UNSOLICITED_SOLICITED" + scalar_value: { + uint32_t: 2 + } + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::NanTxType" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint32_t" + + enumerator: "BROADCAST" + scalar_value: { + uint32_t: 0 + } + enumerator: "UNICAST" + scalar_value: { + uint32_t: 1 + } + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::NanSubscribeType" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint32_t" + + enumerator: "PASSIVE" + scalar_value: { + uint32_t: 0 + } + enumerator: "ACTIVE" + scalar_value: { + uint32_t: 1 + } + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::NanSrfType" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint32_t" + + enumerator: "BLOOM_FILTER" + scalar_value: { + uint32_t: 0 + } + enumerator: "PARTIAL_MAC_ADDR" + scalar_value: { + uint32_t: 1 + } + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::NanDataPathChannelCfg" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint32_t" + + enumerator: "CHANNEL_NOT_REQUESTED" + scalar_value: { + uint32_t: 0 + } + enumerator: "REQUEST_CHANNEL_SETUP" + scalar_value: { + uint32_t: 1 + } + enumerator: "FORCE_CHANNEL_SETUP" + scalar_value: { + uint32_t: 2 + } + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::NanBandSpecificConfig" + type: TYPE_STRUCT + struct_value: { + name: "rssiClose" + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + struct_value: { + name: "rssiMiddle" + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + struct_value: { + name: "rssiProximity" + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + struct_value: { + name: "dwellTimeMs" + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + struct_value: { + name: "scanPeriodSec" + type: TYPE_SCALAR + scalar_type: "uint16_t" + } + struct_value: { + name: "validDiscoveryWindowIntervalVal" + type: TYPE_SCALAR + scalar_type: "bool_t" + } + struct_value: { + name: "discoveryWindowIntervalVal" + type: TYPE_SCALAR + scalar_type: "uint8_t" + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::NanDebugConfig" + type: TYPE_STRUCT + struct_value: { + name: "validClusterIdVals" + type: TYPE_SCALAR + scalar_type: "bool_t" + } + struct_value: { + name: "clusterIdLowVal" + type: TYPE_SCALAR + scalar_type: "uint16_t" + } + struct_value: { + name: "clusterIdHighVal" + type: TYPE_SCALAR + scalar_type: "uint16_t" + } + struct_value: { + name: "validIntfAddrVal" + type: TYPE_SCALAR + scalar_type: "bool_t" + } + struct_value: { + name: "intfAddrVal" + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + struct_value: { + name: "validOuiVal" + type: TYPE_SCALAR + scalar_type: "bool_t" + } + struct_value: { + name: "ouiVal" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "validRandomFactorForceVal" + type: TYPE_SCALAR + scalar_type: "bool_t" + } + struct_value: { + name: "randomFactorForceVal" + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + struct_value: { + name: "validHopCountForceVal" + type: TYPE_SCALAR + scalar_type: "bool_t" + } + struct_value: { + name: "hopCountForceVal" + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + struct_value: { + name: "validDiscoveryChannelVal" + type: TYPE_SCALAR + scalar_type: "bool_t" + } + struct_value: { + name: "discoveryChannelMhzVal" + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + } + struct_value: { + name: "validUseBeaconsInBandVal" + type: TYPE_SCALAR + scalar_type: "bool_t" + } + struct_value: { + name: "useBeaconsInBandVal" + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "bool_t" + } + } + struct_value: { + name: "validUseSdfInBandVal" + type: TYPE_SCALAR + scalar_type: "bool_t" + } + struct_value: { + name: "useSdfInBandVal" + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "bool_t" + } + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::NanConfigRequest" + type: TYPE_STRUCT + struct_value: { + name: "masterPref" + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + struct_value: { + name: "disableDiscoveryAddressChangeIndication" + type: TYPE_SCALAR + scalar_type: "bool_t" + } + struct_value: { + name: "disableStartedClusterIndication" + type: TYPE_SCALAR + scalar_type: "bool_t" + } + struct_value: { + name: "disableJoinedClusterIndication" + type: TYPE_SCALAR + scalar_type: "bool_t" + } + struct_value: { + name: "includeServiceIdsInBeacon" + type: TYPE_SCALAR + scalar_type: "bool_t" + } + struct_value: { + name: "numberOfServiceIdsInBeacon" + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + struct_value: { + name: "rssiWindowSize" + type: TYPE_SCALAR + scalar_type: "uint16_t" + } + struct_value: { + name: "macAddressRandomizationIntervalSec" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "acceptRangingRequests" + type: TYPE_SCALAR + scalar_type: "bool_t" + } + struct_value: { + name: "bandSpecificConfig" + type: TYPE_VECTOR + vector_value: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::NanBandSpecificConfig" + } + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::NanEnableRequest" + type: TYPE_STRUCT + struct_value: { + name: "operateInBand" + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "bool_t" + } + } + struct_value: { + name: "hopCountMax" + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + struct_value: { + name: "configParams" + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::NanConfigRequest" + } + struct_value: { + name: "debugConfigs" + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::NanDebugConfig" + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::NanCipherSuiteType" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint32_t" + + enumerator: "SHARED_KEY_128_MASK" + scalar_value: { + uint32_t: 1 + } + enumerator: "SHARED_KEY_256_MASK" + scalar_value: { + uint32_t: 2 + } + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::NanRangingIndication" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint32_t" + + enumerator: "CONTINUOUS_INDICATION_MASK" + scalar_value: { + uint32_t: 1 + } + enumerator: "INGRESS_MET_MASK" + scalar_value: { + uint32_t: 2 + } + enumerator: "EGRESS_MET_MASK" + scalar_value: { + uint32_t: 4 + } + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::NanDiscoveryCommonConfig" + type: TYPE_STRUCT + struct_value: { + name: "sessionId" + type: TYPE_SCALAR + scalar_type: "uint16_t" + } + struct_value: { + name: "ttlSec" + type: TYPE_SCALAR + scalar_type: "uint16_t" + } + struct_value: { + name: "discoveryWindowPeriod" + type: TYPE_SCALAR + scalar_type: "uint16_t" + } + struct_value: { + name: "discoveryCount" + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + struct_value: { + name: "serviceName" + type: TYPE_STRING + } + struct_value: { + name: "discoveryMatchIndicator" + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::V1_0::NanMatchAlg" + } + struct_value: { + name: "serviceSpecificInfo" + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + struct_value: { + name: "rxMatchFilter" + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + struct_value: { + name: "txMatchFilter" + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + struct_value: { + name: "useRssiThreshold" + type: TYPE_SCALAR + scalar_type: "bool_t" + } + struct_value: { + name: "disableDiscoveryTerminationIndication" + type: TYPE_SCALAR + scalar_type: "bool_t" + } + struct_value: { + name: "disableMatchExpirationIndication" + type: TYPE_SCALAR + scalar_type: "bool_t" + } + struct_value: { + name: "disableFollowupReceivedIndication" + type: TYPE_SCALAR + scalar_type: "bool_t" + } + struct_value: { + name: "supportedCipherTypes" + type: TYPE_MASK + predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType" + } + struct_value: { + name: "pmk" + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + struct_value: { + name: "securityEnabledInNdp" + type: TYPE_SCALAR + scalar_type: "bool_t" + } + struct_value: { + name: "rangingRequired" + type: TYPE_SCALAR + scalar_type: "bool_t" + } + struct_value: { + name: "rangingIntervalMsec" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "configRangingIndications" + type: TYPE_MASK + predefined_type: "::android::hardware::wifi::V1_0::NanRangingIndication" + } + struct_value: { + name: "distanceIngressCm" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "distanceEgressCm" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::NanPublishRequest" + type: TYPE_STRUCT + struct_value: { + name: "baseConfigs" + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::NanDiscoveryCommonConfig" + } + struct_value: { + name: "publishType" + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::V1_0::NanPublishType" + } + struct_value: { + name: "txType" + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::V1_0::NanTxType" + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::NanSubscribeRequest" + type: TYPE_STRUCT + struct_value: { + name: "baseConfigs" + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::NanDiscoveryCommonConfig" + } + struct_value: { + name: "subscribeType" + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::V1_0::NanSubscribeType" + } + struct_value: { + name: "srfType" + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::V1_0::NanSrfType" + } + struct_value: { + name: "srfRespondIfInAddressSet" + type: TYPE_SCALAR + scalar_type: "bool_t" + } + struct_value: { + name: "shouldUseSrf" + type: TYPE_SCALAR + scalar_type: "bool_t" + } + struct_value: { + name: "isSsiRequiredForMatch" + type: TYPE_SCALAR + scalar_type: "bool_t" + } + struct_value: { + name: "intfAddr" + type: TYPE_VECTOR + vector_value: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::NanTransmitFollowupRequest" + type: TYPE_STRUCT + struct_value: { + name: "discoverySessionId" + type: TYPE_SCALAR + scalar_type: "uint16_t" + } + struct_value: { + name: "peerId" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "addr" + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + struct_value: { + name: "isHighPriority" + type: TYPE_SCALAR + scalar_type: "bool_t" + } + struct_value: { + name: "shouldUseDiscoveryWindow" + type: TYPE_SCALAR + scalar_type: "bool_t" + } + struct_value: { + name: "message" + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + struct_value: { + name: "disableFollowupResultIndication" + type: TYPE_SCALAR + scalar_type: "bool_t" + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::NanInitiateDataPathRequest" + type: TYPE_STRUCT + struct_value: { + name: "peerId" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "peerDiscMacAddr" + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + struct_value: { + name: "channelRequestType" + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::V1_0::NanDataPathChannelCfg" + } + struct_value: { + name: "channel" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "ifaceName" + type: TYPE_STRING + } + struct_value: { + name: "securityRequired" + type: TYPE_SCALAR + scalar_type: "bool_t" + } + struct_value: { + name: "appInfo" + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + struct_value: { + name: "supportedCipherTypes" + type: TYPE_MASK + predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType" + } + struct_value: { + name: "pmk" + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::NanRespondToDataPathIndicationRequest" + type: TYPE_STRUCT + struct_value: { + name: "acceptRequest" + type: TYPE_SCALAR + scalar_type: "bool_t" + } + struct_value: { + name: "ndpInstanceId" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "ifaceName" + type: TYPE_STRING + } + struct_value: { + name: "securityRequired" + type: TYPE_SCALAR + scalar_type: "bool_t" + } + struct_value: { + name: "appInfo" + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + struct_value: { + name: "supportedCipherTypes" + type: TYPE_MASK + predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType" + } + struct_value: { + name: "pmk" + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::NanBeaconSdfPayloadRequest" + type: TYPE_STRUCT + struct_value: { + name: "transmitInNext16dws" + type: TYPE_SCALAR + scalar_type: "bool_t" + } + struct_value: { + name: "transmitInDiscoveryBeacon" + type: TYPE_SCALAR + scalar_type: "bool_t" + } + struct_value: { + name: "transmitInSyncBeacon" + type: TYPE_SCALAR + scalar_type: "bool_t" + } + struct_value: { + name: "transmitInServiceDiscoveryFrame" + type: TYPE_SCALAR + scalar_type: "bool_t" + } + struct_value: { + name: "vendorOui" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "vsa" + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::NanCapabilities" + type: TYPE_STRUCT + struct_value: { + name: "maxConcurrentClusters" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "maxPublishes" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "maxSubscribes" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "maxServiceNameLen" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "maxMatchFilterLen" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "maxTotalMatchFilterLen" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "maxServiceSpecificInfoLen" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "maxVsaDataLen" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "maxNdiInterfaces" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "maxNdpSessions" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "maxAppInfoLen" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "maxQueuedTransmitFollowupMsgs" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "maxSubscribeInterfaceAddresses" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "supportedCipherSuites" + type: TYPE_MASK + predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType" + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::NanMatchInd" + type: TYPE_STRUCT + struct_value: { + name: "discoverySessionId" + type: TYPE_SCALAR + scalar_type: "uint16_t" + } + struct_value: { + name: "peerId" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "addr" + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + struct_value: { + name: "serviceSpecificInfo" + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + struct_value: { + name: "matchFilter" + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + struct_value: { + name: "matchOccuredInBeaconFlag" + type: TYPE_SCALAR + scalar_type: "bool_t" + } + struct_value: { + name: "outOfResourceFlag" + type: TYPE_SCALAR + scalar_type: "bool_t" + } + struct_value: { + name: "rssiValue" + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + struct_value: { + name: "peerSupportedCipherTypes" + type: TYPE_MASK + predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType" + } + struct_value: { + name: "peerRequiresSecurityEnabledInNdp" + type: TYPE_SCALAR + scalar_type: "bool_t" + } + struct_value: { + name: "peerRequiresRanging" + type: TYPE_SCALAR + scalar_type: "bool_t" + } + struct_value: { + name: "rangingMeasurementInCm" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "rangingIndicationType" + type: TYPE_MASK + predefined_type: "::android::hardware::wifi::V1_0::NanRangingIndication" + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::NanFollowupReceivedInd" + type: TYPE_STRUCT + struct_value: { + name: "discoverySessionId" + type: TYPE_SCALAR + scalar_type: "uint16_t" + } + struct_value: { + name: "peerId" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "addr" + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + struct_value: { + name: "receivedInFaw" + type: TYPE_SCALAR + scalar_type: "bool_t" + } + struct_value: { + name: "message" + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::NanClusterEventType" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint32_t" + + enumerator: "DISCOVERY_MAC_ADDRESS_CHANGED" + scalar_value: { + uint32_t: 0 + } + enumerator: "STARTED_CLUSTER" + scalar_value: { + uint32_t: 1 + } + enumerator: "JOINED_CLUSTER" + scalar_value: { + uint32_t: 2 + } + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::NanClusterEventInd" + type: TYPE_STRUCT + struct_value: { + name: "eventType" + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::V1_0::NanClusterEventType" + } + struct_value: { + name: "addr" + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::NanVsaRxFrameMask" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint32_t" + + enumerator: "DISCOVERY_BEACON_MASK" + scalar_value: { + uint32_t: 1 + } + enumerator: "SYNC_BEACON_MASK" + scalar_value: { + uint32_t: 2 + } + enumerator: "SERVICE_DISCOVERY_MASK" + scalar_value: { + uint32_t: 4 + } + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::NanBeaconSdfPayloadInd" + type: TYPE_STRUCT + struct_value: { + name: "addr" + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + struct_value: { + name: "isVsaReceived" + type: TYPE_SCALAR + scalar_type: "bool_t" + } + struct_value: { + name: "vsaReceivedOnFrames" + type: TYPE_MASK + predefined_type: "::android::hardware::wifi::V1_0::NanVsaRxFrameMask" + } + struct_value: { + name: "vsaVendorOui" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "vsa" + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + struct_value: { + name: "isBeaconSdfPayloadReceived" + type: TYPE_SCALAR + scalar_type: "bool_t" + } + struct_value: { + name: "beaconSdfPayloadData" + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::NanDataPathRequestInd" + type: TYPE_STRUCT + struct_value: { + name: "discoverySessionId" + type: TYPE_SCALAR + scalar_type: "uint16_t" + } + struct_value: { + name: "peerDiscMacAddr" + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + struct_value: { + name: "ndpInstanceId" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "securityRequired" + type: TYPE_SCALAR + scalar_type: "bool_t" + } + struct_value: { + name: "appInfo" + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::NanDataPathConfirmInd" + type: TYPE_STRUCT + struct_value: { + name: "ndpInstanceId" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "dataPathSetupSuccess" + type: TYPE_SCALAR + scalar_type: "bool_t" + } + struct_value: { + name: "peerNdiMacAddr" + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + struct_value: { + name: "appInfo" + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + struct_value: { + name: "status" + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus" + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::RttStatus" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint32_t" + + enumerator: "SUCCESS" + scalar_value: { + uint32_t: 0 + } + enumerator: "FAILURE" + scalar_value: { + uint32_t: 1 + } + enumerator: "FAIL_NO_RSP" + scalar_value: { + uint32_t: 2 + } + enumerator: "FAIL_REJECTED" + scalar_value: { + uint32_t: 3 + } + enumerator: "FAIL_NOT_SCHEDULED_YET" + scalar_value: { + uint32_t: 4 + } + enumerator: "FAIL_TM_TIMEOUT" + scalar_value: { + uint32_t: 5 + } + enumerator: "FAIL_AP_ON_DIFF_CHANNEL" + scalar_value: { + uint32_t: 6 + } + enumerator: "FAIL_NO_CAPABILITY" + scalar_value: { + uint32_t: 7 + } + enumerator: "ABORTED" + scalar_value: { + uint32_t: 8 + } + enumerator: "FAIL_INVALID_TS" + scalar_value: { + uint32_t: 9 + } + enumerator: "FAIL_PROTOCOL" + scalar_value: { + uint32_t: 10 + } + enumerator: "FAIL_SCHEDULE" + scalar_value: { + uint32_t: 11 + } + enumerator: "FAIL_BUSY_TRY_LATER" + scalar_value: { + uint32_t: 12 + } + enumerator: "INVALID_REQ" + scalar_value: { + uint32_t: 13 + } + enumerator: "NO_WIFI" + scalar_value: { + uint32_t: 14 + } + enumerator: "FAIL_FTM_PARAM_OVERRIDE" + scalar_value: { + uint32_t: 15 + } + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::RttPeerType" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint32_t" + + enumerator: "AP" + scalar_value: { + uint32_t: 1 + } + enumerator: "STA" + scalar_value: { + uint32_t: 2 + } + enumerator: "P2P_GO" + scalar_value: { + uint32_t: 3 + } + enumerator: "P2P_CLIENT" + scalar_value: { + uint32_t: 4 + } + enumerator: "NAN" + scalar_value: { + uint32_t: 5 + } + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::RttBw" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint32_t" + + enumerator: "BW_5MHZ" + scalar_value: { + uint32_t: 1 + } + enumerator: "BW_10MHZ" + scalar_value: { + uint32_t: 2 + } + enumerator: "BW_20MHZ" + scalar_value: { + uint32_t: 4 + } + enumerator: "BW_40MHZ" + scalar_value: { + uint32_t: 8 + } + enumerator: "BW_80MHZ" + scalar_value: { + uint32_t: 16 + } + enumerator: "BW_160MHZ" + scalar_value: { + uint32_t: 32 + } + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::RttPreamble" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint32_t" + + enumerator: "LEGACY" + scalar_value: { + uint32_t: 1 + } + enumerator: "HT" + scalar_value: { + uint32_t: 2 + } + enumerator: "VHT" + scalar_value: { + uint32_t: 4 + } + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::RttType" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint32_t" + + enumerator: "ONE_SIDED" + scalar_value: { + uint32_t: 1 + } + enumerator: "TWO_SIDED" + scalar_value: { + uint32_t: 2 + } + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::RttConfig" + type: TYPE_STRUCT + struct_value: { + name: "addr" + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + struct_value: { + name: "type" + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::V1_0::RttType" + } + struct_value: { + name: "peer" + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::V1_0::RttPeerType" + } + struct_value: { + name: "channel" + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiChannelInfo" + } + struct_value: { + name: "burstPeriod" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "numBurst" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "numFramesPerBurst" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "numRetriesPerRttFrame" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "numRetriesPerFtmr" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "mustRequestLci" + type: TYPE_SCALAR + scalar_type: "bool_t" + } + struct_value: { + name: "mustRequestLcr" + type: TYPE_SCALAR + scalar_type: "bool_t" + } + struct_value: { + name: "burstDuration" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "preamble" + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::V1_0::RttPreamble" + } + struct_value: { + name: "bw" + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::V1_0::RttBw" + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::RttResult" + type: TYPE_STRUCT + struct_value: { + name: "addr" + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + struct_value: { + name: "burstNum" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "measurementNumber" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "successNumber" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "numberPerBurstPeer" + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + struct_value: { + name: "status" + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::V1_0::RttStatus" + } + struct_value: { + name: "retryAfterDuration" + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + struct_value: { + name: "type" + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::V1_0::RttType" + } + struct_value: { + name: "rssi" + type: TYPE_SCALAR + scalar_type: "int32_t" + } + struct_value: { + name: "rssiSpread" + type: TYPE_SCALAR + scalar_type: "int32_t" + } + struct_value: { + name: "txRate" + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiRateInfo" + } + struct_value: { + name: "rxRate" + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiRateInfo" + } + struct_value: { + name: "rtt" + type: TYPE_SCALAR + scalar_type: "uint64_t" + } + struct_value: { + name: "rttSd" + type: TYPE_SCALAR + scalar_type: "uint64_t" + } + struct_value: { + name: "rttSpread" + type: TYPE_SCALAR + scalar_type: "uint64_t" + } + struct_value: { + name: "distanceInMm" + type: TYPE_SCALAR + scalar_type: "int32_t" + } + struct_value: { + name: "distanceSdInMm" + type: TYPE_SCALAR + scalar_type: "int32_t" + } + struct_value: { + name: "distanceSpreadInMm" + type: TYPE_SCALAR + scalar_type: "int32_t" + } + struct_value: { + name: "timeStampInUs" + type: TYPE_SCALAR + scalar_type: "uint64_t" + } + struct_value: { + name: "burstDurationInMs" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "negotiatedBurstNum" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "lci" + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiInformationElement" + } + struct_value: { + name: "lcr" + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiInformationElement" + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::RttCapabilities" + type: TYPE_STRUCT + struct_value: { + name: "rttOneSidedSupported" + type: TYPE_SCALAR + scalar_type: "bool_t" + } + struct_value: { + name: "rttFtmSupported" + type: TYPE_SCALAR + scalar_type: "bool_t" + } + struct_value: { + name: "lciSupported" + type: TYPE_SCALAR + scalar_type: "bool_t" + } + struct_value: { + name: "lcrSupported" + type: TYPE_SCALAR + scalar_type: "bool_t" + } + struct_value: { + name: "responderSupported" + type: TYPE_SCALAR + scalar_type: "bool_t" + } + struct_value: { + name: "preambleSupport" + type: TYPE_MASK + predefined_type: "::android::hardware::wifi::V1_0::RttPreamble" + } + struct_value: { + name: "bwSupport" + type: TYPE_MASK + predefined_type: "::android::hardware::wifi::V1_0::RttBw" + } + struct_value: { + name: "mcVersion" + type: TYPE_SCALAR + scalar_type: "uint8_t" + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::RttMotionPattern" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint32_t" + + enumerator: "NOT_EXPECTED" + scalar_value: { + uint32_t: 0 + } + enumerator: "EXPECTED" + scalar_value: { + uint32_t: 1 + } + enumerator: "UNKNOWN" + scalar_value: { + uint32_t: 2 + } + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::RttLciInformation" + type: TYPE_STRUCT + struct_value: { + name: "latitude" + type: TYPE_SCALAR + scalar_type: "int64_t" + } + struct_value: { + name: "longitude" + type: TYPE_SCALAR + scalar_type: "int64_t" + } + struct_value: { + name: "altitude" + type: TYPE_SCALAR + scalar_type: "int32_t" + } + struct_value: { + name: "latitudeUnc" + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + struct_value: { + name: "longitudeUnc" + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + struct_value: { + name: "altitudeUnc" + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + struct_value: { + name: "motionPattern" + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::V1_0::RttMotionPattern" + } + struct_value: { + name: "floor" + type: TYPE_SCALAR + scalar_type: "int32_t" + } + struct_value: { + name: "heightAboveFloor" + type: TYPE_SCALAR + scalar_type: "int32_t" + } + struct_value: { + name: "heightUnc" + type: TYPE_SCALAR + scalar_type: "int32_t" + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::RttLcrInformation" + type: TYPE_STRUCT + struct_value: { + name: "countryCode" + type: TYPE_ARRAY + vector_value: { + vector_size: 2 + type: TYPE_SCALAR + scalar_type: "int8_t" + } + } + struct_value: { + name: "civicInfo" + type: TYPE_STRING + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::RttResponder" + type: TYPE_STRUCT + struct_value: { + name: "channel" + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiChannelInfo" + } + struct_value: { + name: "preamble" + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::V1_0::RttPreamble" + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::WifiDebugRingBufferFlags" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint32_t" + + enumerator: "HAS_BINARY_ENTRIES" + scalar_value: { + uint32_t: 1 + } + enumerator: "HAS_ASCII_ENTRIES" + scalar_value: { + uint32_t: 2 + } + enumerator: "HAS_PER_PACKET_ENTRIES" + scalar_value: { + uint32_t: 4 + } + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::WifiDebugRingBufferStatus" + type: TYPE_STRUCT + struct_value: { + name: "ringName" + type: TYPE_STRING + } + struct_value: { + name: "flags" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "ringId" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "sizeInBytes" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "freeSizeInBytes" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "verboseLevel" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::WifiDebugRingBufferVerboseLevel" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint32_t" + + enumerator: "NONE" + scalar_value: { + uint32_t: 0 + } + enumerator: "DEFAULT" + scalar_value: { + uint32_t: 1 + } + enumerator: "VERBOSE" + scalar_value: { + uint32_t: 2 + } + enumerator: "EXCESSIVE" + scalar_value: { + uint32_t: 3 + } + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::WifiDebugTxPacketFate" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint32_t" + + enumerator: "ACKED" + scalar_value: { + uint32_t: 0 + } + enumerator: "SENT" + scalar_value: { + uint32_t: 1 + } + enumerator: "FW_QUEUED" + scalar_value: { + uint32_t: 2 + } + enumerator: "FW_DROP_INVALID" + scalar_value: { + uint32_t: 3 + } + enumerator: "FW_DROP_NOBUFS" + scalar_value: { + uint32_t: 4 + } + enumerator: "FW_DROP_OTHER" + scalar_value: { + uint32_t: 5 + } + enumerator: "DRV_QUEUED" + scalar_value: { + uint32_t: 6 + } + enumerator: "DRV_DROP_INVALID" + scalar_value: { + uint32_t: 7 + } + enumerator: "DRV_DROP_NOBUFS" + scalar_value: { + uint32_t: 8 + } + enumerator: "DRV_DROP_OTHER" + scalar_value: { + uint32_t: 9 + } + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::WifiDebugRxPacketFate" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint32_t" + + enumerator: "SUCCESS" + scalar_value: { + uint32_t: 0 + } + enumerator: "FW_QUEUED" + scalar_value: { + uint32_t: 1 + } + enumerator: "FW_DROP_FILTER" + scalar_value: { + uint32_t: 2 + } + enumerator: "FW_DROP_INVALID" + scalar_value: { + uint32_t: 3 + } + enumerator: "FW_DROP_NOBUFS" + scalar_value: { + uint32_t: 4 + } + enumerator: "FW_DROP_OTHER" + scalar_value: { + uint32_t: 5 + } + enumerator: "DRV_QUEUED" + scalar_value: { + uint32_t: 6 + } + enumerator: "DRV_DROP_FILTER" + scalar_value: { + uint32_t: 7 + } + enumerator: "DRV_DROP_INVALID" + scalar_value: { + uint32_t: 8 + } + enumerator: "DRV_DROP_NOBUFS" + scalar_value: { + uint32_t: 9 + } + enumerator: "DRV_DROP_OTHER" + scalar_value: { + uint32_t: 10 + } + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameType" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint32_t" + + enumerator: "UNKNOWN" + scalar_value: { + uint32_t: 0 + } + enumerator: "ETHERNET_II" + scalar_value: { + uint32_t: 1 + } + enumerator: "MGMT_80211" + scalar_value: { + uint32_t: 2 + } + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameInfo" + type: TYPE_STRUCT + struct_value: { + name: "frameType" + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameType" + } + struct_value: { + name: "frameLen" + type: TYPE_SCALAR + scalar_type: "uint64_t" + } + struct_value: { + name: "driverTimestampUsec" + type: TYPE_SCALAR + scalar_type: "uint64_t" + } + struct_value: { + name: "firmwareTimestampUsec" + type: TYPE_SCALAR + scalar_type: "uint64_t" + } + struct_value: { + name: "frameContent" + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::WifiDebugTxPacketFateReport" + type: TYPE_STRUCT + struct_value: { + name: "fate" + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::V1_0::WifiDebugTxPacketFate" + } + struct_value: { + name: "frameInfo" + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameInfo" + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::WifiDebugRxPacketFateReport" + type: TYPE_STRUCT + struct_value: { + name: "fate" + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::V1_0::WifiDebugRxPacketFate" + } + struct_value: { + name: "frameInfo" + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameInfo" + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxPacketDetails" + type: TYPE_STRUCT + struct_value: { + name: "rxUnicastCnt" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "rxMulticastCnt" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "rxBroadcastCnt" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxMulticastPacketDetails" + type: TYPE_STRUCT + struct_value: { + name: "ipv4RxMulticastAddrCnt" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "ipv6RxMulticastAddrCnt" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "otherRxMulticastAddrCnt" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxIcmpPacketDetails" + type: TYPE_STRUCT + struct_value: { + name: "icmpPkt" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "icmp6Pkt" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "icmp6Ra" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "icmp6Na" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "icmp6Ns" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } +} + +attribute: { + name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonStats" + type: TYPE_STRUCT + struct_value: { + name: "totalCmdEventWakeCnt" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "cmdEventWakeCntPerType" + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + } + struct_value: { + name: "totalDriverFwLocalWakeCnt" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "driverFwLocalWakeCntPerType" + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + } + struct_value: { + name: "totalRxPacketWakeCnt" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "rxPktWakeDetails" + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxPacketDetails" + } + struct_value: { + name: "rxMulticastPkWakeDetails" + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxMulticastPacketDetails" + } + struct_value: { + name: "rxIcmpPkWakeDetails" + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxIcmpPacketDetails" + } +} + diff --git a/wifi/supplicant/1.0/Android.mk b/wifi/supplicant/1.0/Android.mk index 02a62b65e2..ad49b0aefd 100644 --- a/wifi/supplicant/1.0/Android.mk +++ b/wifi/supplicant/1.0/Android.mk @@ -35,6 +35,25 @@ $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) +# +# Build types.hal (P2pGroupCapabilityMask) +# +GEN := $(intermediates)/android/hardware/wifi/supplicant/V1_0/P2pGroupCapabilityMask.java +$(GEN): $(HIDL) +$(GEN): PRIVATE_HIDL := $(HIDL) +$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal +$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) +$(GEN): PRIVATE_CUSTOM_TOOL = \ + $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ + -Ljava \ + -randroid.hardware:hardware/interfaces \ + -randroid.hidl:system/libhidl/transport \ + android.hardware.wifi.supplicant@1.0::types.P2pGroupCapabilityMask + +$(GEN): $(LOCAL_PATH)/types.hal + $(transform-generated-source) +LOCAL_GENERATED_SOURCES += $(GEN) + # # Build types.hal (SupplicantStatus) # @@ -73,6 +92,25 @@ $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) +# +# Build types.hal (WpsConfigMethods) +# +GEN := $(intermediates)/android/hardware/wifi/supplicant/V1_0/WpsConfigMethods.java +$(GEN): $(HIDL) +$(GEN): PRIVATE_HIDL := $(HIDL) +$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal +$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) +$(GEN): PRIVATE_CUSTOM_TOOL = \ + $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ + -Ljava \ + -randroid.hardware:hardware/interfaces \ + -randroid.hidl:system/libhidl/transport \ + android.hardware.wifi.supplicant@1.0::types.WpsConfigMethods + +$(GEN): $(LOCAL_PATH)/types.hal + $(transform-generated-source) +LOCAL_GENERATED_SOURCES += $(GEN) + # # Build ISupplicant.hal # @@ -376,6 +414,25 @@ $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) +# +# Build types.hal (P2pGroupCapabilityMask) +# +GEN := $(intermediates)/android/hardware/wifi/supplicant/V1_0/P2pGroupCapabilityMask.java +$(GEN): $(HIDL) +$(GEN): PRIVATE_HIDL := $(HIDL) +$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal +$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) +$(GEN): PRIVATE_CUSTOM_TOOL = \ + $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ + -Ljava \ + -randroid.hardware:hardware/interfaces \ + -randroid.hidl:system/libhidl/transport \ + android.hardware.wifi.supplicant@1.0::types.P2pGroupCapabilityMask + +$(GEN): $(LOCAL_PATH)/types.hal + $(transform-generated-source) +LOCAL_GENERATED_SOURCES += $(GEN) + # # Build types.hal (SupplicantStatus) # @@ -414,6 +471,25 @@ $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) +# +# Build types.hal (WpsConfigMethods) +# +GEN := $(intermediates)/android/hardware/wifi/supplicant/V1_0/WpsConfigMethods.java +$(GEN): $(HIDL) +$(GEN): PRIVATE_HIDL := $(HIDL) +$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal +$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) +$(GEN): PRIVATE_CUSTOM_TOOL = \ + $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ + -Ljava \ + -randroid.hardware:hardware/interfaces \ + -randroid.hidl:system/libhidl/transport \ + android.hardware.wifi.supplicant@1.0::types.WpsConfigMethods + +$(GEN): $(LOCAL_PATH)/types.hal + $(transform-generated-source) +LOCAL_GENERATED_SOURCES += $(GEN) + # # Build ISupplicant.hal # diff --git a/wifi/supplicant/1.0/ISupplicantCallback.hal b/wifi/supplicant/1.0/ISupplicantCallback.hal index a5a0da569f..3674cfbdfc 100644 --- a/wifi/supplicant/1.0/ISupplicantCallback.hal +++ b/wifi/supplicant/1.0/ISupplicantCallback.hal @@ -37,4 +37,9 @@ interface ISupplicantCallback { * @param ifName Name of the network interface, e.g., wlan0 */ oneway onInterfaceRemoved(string ifName); + + /** + * Used to indicate that the supplicant daemon is terminating. + */ + oneway onTerminating(); }; diff --git a/wifi/supplicant/1.0/ISupplicantIface.hal b/wifi/supplicant/1.0/ISupplicantIface.hal index 600df30366..c0058a01dc 100644 --- a/wifi/supplicant/1.0/ISupplicantIface.hal +++ b/wifi/supplicant/1.0/ISupplicantIface.hal @@ -23,6 +23,17 @@ import ISupplicantNetwork; * it controls. */ interface ISupplicantIface { + /** + * Size limits for some of the params used in this interface. + */ + enum ParamSizeLimits : uint32_t { + WPS_DEVICE_NAME_MAX_LEN = 32, + WPS_MANUFACTURER_MAX_LEN = 64, + WPS_MODEL_NAME_MAX_LEN = 32, + WPS_MODEL_NUMBER_MAX_LEN = 32, + WPS_SERIAL_NUMBER_MAX_LEN = 32 + }; + /** * Retrieves the name of the network interface. * @@ -105,9 +116,92 @@ interface ISupplicantIface { * @return status Status of the operation. * Possible status codes: * |SupplicantStatusCode.SUCCESS|, + * |SupplicantStatusCode.FAILURE_IFACE_INVALID|, * |SupplicantStatusCode.FAILURE_UNKNOWN| * @return networkIds List of all network Id's controlled by the supplicant. */ listNetworks() generates (SupplicantStatus status, vec networkIds); + + /** + * Set the device name for WPS operations. + * User-friendly description of device (up to |WPS_DEVICE_NAME_MAX_LEN| + * octets encoded in UTF-8). + * + * @parm name Name to be set. + * @return status Status of the operation. + * Possible status codes: + * |SupplicantStatusCode.SUCCESS|, + * |SupplicantStatusCode.FAILURE_IFACE_INVALID|, + * |SupplicantStatusCode.FAILURE_UNKNOWN| + */ + setWpsDeviceName(string name) generates (SupplicantStatus status); + + /** + * Set the manufacturer for WPS operations. + * The manufacturer of the device (up to |WPS_MANUFACTURER_MAX_LEN| ASCII + * characters). + * + * @parm manufacturer Manufacture to be set. + * @return status Status of the operation. + * Possible status codes: + * |SupplicantStatusCode.SUCCESS|, + * |SupplicantStatusCode.FAILURE_IFACE_INVALID|, + * |SupplicantStatusCode.FAILURE_UNKNOWN| + */ + setWpsManufacturer(string manufacturer) generates (SupplicantStatus status); + + /** + * Set the model name for WPS operations. + * Model of the device (up to |WPS_MODEL_NAME_MAX_LEN| ASCII characters). + * + * @parm modelName Model name to be set. + * @return status Status of the operation. + * Possible status codes: + * |SupplicantStatusCode.SUCCESS|, + * |SupplicantStatusCode.FAILURE_IFACE_INVALID|, + * |SupplicantStatusCode.FAILURE_UNKNOWN| + */ + setWpsModelName(string modelName) generates (SupplicantStatus status); + + /** + * Set the model number for WPS operations. + * Additional device description (up to |WPS_MODEL_NUMBER_MAX_LEN| ASCII + * characters). + * + * @parm modelNumber Model number to be set. + * @return status Status of the operation. + * Possible status codes: + * |SupplicantStatusCode.SUCCESS|, + * |SupplicantStatusCode.FAILURE_IFACE_INVALID|, + * |SupplicantStatusCode.FAILURE_UNKNOWN| + */ + setWpsModelNumber(string modelNumber) generates (SupplicantStatus status); + + /** + * Set the serial number for WPS operations. + * Serial number of the device (up to |WPS_SERIAL_NUMBER_MAX_LEN| characters) + * + * @parm serialNumber Serial number to be set. + * @return status Status of the operation. + * Possible status codes: + * |SupplicantStatusCode.SUCCESS|, + * |SupplicantStatusCode.FAILURE_IFACE_INVALID|, + * |SupplicantStatusCode.FAILURE_UNKNOWN| + */ + setWpsSerialNumber(string serialNumber) generates (SupplicantStatus status); + + /** + * Set the list of supported config methods for WPS operations. + * + * @param configMethods Mask of WPS configuration methods supported by the + * device. + * @return status Status of the operation. + * Possible status codes: + * |SupplicantStatusCode.SUCCESS|, + * |SupplicantStatusCode.FAILURE_IFACE_INVALID|, + * |SupplicantStatusCode.FAILURE_UNKNOWN| + */ + setWpsConfigMethods(bitfield configMethods) + generates (SupplicantStatus status); }; diff --git a/wifi/supplicant/1.0/ISupplicantP2pIface.hal b/wifi/supplicant/1.0/ISupplicantP2pIface.hal index ddf05cca51..45e90f3104 100644 --- a/wifi/supplicant/1.0/ISupplicantP2pIface.hal +++ b/wifi/supplicant/1.0/ISupplicantP2pIface.hal @@ -40,16 +40,6 @@ interface ISupplicantP2pIface extends ISupplicantIface { KEYPAD }; - enum GroupCapabilityMask : uint32_t { - GROUP_OWNER = 1 << 0, - PERSISTENT_GROUP = 1 << 1, - GROUP_LIMIT = 1 << 2, - INTRA_BSS_DIST = 1 << 3, - CROSS_CONN = 1 << 4, - PERSISTENT_RECONN = 1 << 5, - GROUP_FORMATION = 1 << 6 - }; - /** * Use to specify a range of frequencies. * For example: 2412-2432,2462,5000-6000, etc. @@ -420,10 +410,11 @@ interface ISupplicantP2pIface extends ISupplicantIface { * |SupplicantStatusCode.SUCCESS|, * |SupplicantStatusCode.FAILURE_UNKNOWN|, * |SupplicantStatusCode.FAILURE_IFACE_INVALID| - * @return capabilityMask Combination of |GroupCapabilityMask| values. + * @return capabilityMask Combination of |P2pGroupCapabilityMask| values. */ getGroupCapability(MacAddress peerAddress) - generates (SupplicantStatus status, uint32_t capabilities); + generates (SupplicantStatus status, + bitfield capabilities); /** * This command can be used to add a bonjour service. @@ -533,7 +524,8 @@ interface ISupplicantP2pIface extends ISupplicantIface { * @return status Status of the operation. * Possible status codes: * |SupplicantStatusCode.SUCCESS|, - * |SupplicantStatusCode.FAILURE_UNKNOWN| + * |SupplicantStatusCode.FAILURE_UNKNOWN|, + * |SupplicantStatusCode.FAILURE_IFACE_INVALID| */ setMiracastMode(MiracastMode mode) generates (SupplicantStatus status); @@ -548,7 +540,8 @@ interface ISupplicantP2pIface extends ISupplicantIface { * @return status Status of the operation. * Possible status codes: * |SupplicantStatusCode.SUCCESS|, - * |SupplicantStatusCode.FAILURE_UNKNOWN| + * |SupplicantStatusCode.FAILURE_UNKNOWN|, + * |SupplicantStatusCode.FAILURE_IFACE_INVALID| */ startWpsPbc(string groupIfName, Bssid bssid) generates (SupplicantStatus status); @@ -561,7 +554,8 @@ interface ISupplicantP2pIface extends ISupplicantIface { * @return status Status of the operation. * Possible status codes: * |SupplicantStatusCode.SUCCESS|, - * |SupplicantStatusCode.FAILURE_UNKNOWN| + * |SupplicantStatusCode.FAILURE_UNKNOWN|, + * |SupplicantStatusCode.FAILURE_IFACE_INVALID| */ startWpsPinKeypad(string groupIfName, string pin) generates (SupplicantStatus status); @@ -574,7 +568,8 @@ interface ISupplicantP2pIface extends ISupplicantIface { * @return status Status of the operation. * Possible status codes: * |SupplicantStatusCode.SUCCESS|, - * |SupplicantStatusCode.FAILURE_UNKNOWN| + * |SupplicantStatusCode.FAILURE_UNKNOWN|, + * |SupplicantStatusCode.FAILURE_IFACE_INVALID| * @return generatedPin 8 digit pin generated. */ startWpsPinDisplay(string groupIfName, Bssid bssid) @@ -587,7 +582,34 @@ interface ISupplicantP2pIface extends ISupplicantIface { * @return status Status of the operation. * Possible status codes: * |SupplicantStatusCode.SUCCESS|, - * |SupplicantStatusCode.FAILURE_UNKNOWN| + * |SupplicantStatusCode.FAILURE_UNKNOWN|, + * |SupplicantStatusCode.FAILURE_IFACE_INVALID| + */ cancelWps(string groupIfName) generates (SupplicantStatus status); + + /** + * Enable/Disable Wifi Display. + * + * @param enable true to enable, false to disable. + * @return status Status of the operation. + * Possible status codes: + * |SupplicantStatusCode.SUCCESS|, + * |SupplicantStatusCode.FAILURE_UNKNOWN|, + * |SupplicantStatusCode.FAILURE_IFACE_INVALID| + */ + enableWfd(bool enable) generates (SupplicantStatus status); + + /** + * Set Wifi Display device info. + * + * @param info WFD device info as described in section 5.1.2 of WFD technical + * specification v1.0.0. + * @return status Status of the operation. + * Possible status codes: + * |SupplicantStatusCode.SUCCESS|, + * |SupplicantStatusCode.FAILURE_UNKNOWN|, + * |SupplicantStatusCode.FAILURE_IFACE_INVALID| + */ + setWfdDeviceInfo(uint8_t[8] info) generates (SupplicantStatus status); }; diff --git a/wifi/supplicant/1.0/ISupplicantP2pIfaceCallback.hal b/wifi/supplicant/1.0/ISupplicantP2pIfaceCallback.hal index 9ac8b364dc..ad4290b34e 100644 --- a/wifi/supplicant/1.0/ISupplicantP2pIfaceCallback.hal +++ b/wifi/supplicant/1.0/ISupplicantP2pIfaceCallback.hal @@ -25,6 +25,50 @@ package android.hardware.wifi.supplicant@1.0; * corresponding |ISupplicantP2pIface.registerCallback| method. */ interface ISupplicantP2pIfaceCallback { + /** + * WPS Device Password ID + */ + enum WpsDevPasswordId : uint16_t { + DEFAULT = 0x0000, + USER_SPECIFIED = 0x0001, + MACHINE_SPECIFIED = 0x0002, + REKEY = 0x0003, + PUSHBUTTON = 0x0004, + REGISTRAR_SPECIFIED = 0x0005, + NFC_CONNECTION_HANDOVER = 0x0007, + P2PS_DEFAULT = 0x0008 + }; + + /** + * Status codes for P2P operations. + */ + enum P2pStatusCode : uint32_t { + SUCCESS = 0, + FAIL_INFO_CURRENTLY_UNAVAILABLE = 1, + FAIL_INCOMPATIBLE_PARAMS = 2, + FAIL_LIMIT_REACHED = 3, + FAIL_INVALID_PARAMS = 4, + FAIL_UNABLE_TO_ACCOMMODATE = 5, + FAIL_PREV_PROTOCOL_ERROR = 6, + FAIL_NO_COMMON_CHANNELS = 7, + FAIL_UNKNOWN_GROUP = 8, + FAIL_BOTH_GO_INTENT_15 = 9, + FAIL_INCOMPATIBLE_PROV_METHOD = 10, + FAIL_REJECTED_BY_USER = 11, + SUCCESS_DEFERRED = 12, + }; + + /** + * Status codes for P2P discovery. + */ + enum P2pProvDiscStatusCode : uint8_t { + SUCCESS = 0, + TIMEOUT = 1, + REJECTED = 2, + TIMEOUT_JOIN = 3, + INFO_UNAVAILABLE = 4 + }; + /** * Used to indicate that a new network has been added. * @@ -38,4 +82,192 @@ interface ISupplicantP2pIfaceCallback { * @param id Network ID allocated to the corresponding network. */ oneway onNetworkRemoved(SupplicantNetworkId id); + + /** + * Used to indicate that a P2P device has been found. + * + * @param srcAddress MAC address of the device found. This must either + * be the P2P device address or the P2P interface address. + * @param p2pDeviceAddress P2P device address. + * @param primaryDeviceType Type of device. Refer to section B.1 of Wifi P2P + * Technical specification v1.2. + * @param deviceName Name of the device. + * @param configMethods Mask of WPS configuration methods supported by the + * device. + * @param deviceCapabilities Refer to section 4.1.4 of Wifi P2P Technical + * specification v1.2. + * @param groupCapabilites Refer to section 4.1.4 of Wifi P2P Technical + * specification v1.2. + * @param wfdDeviceInfo WFD device info as described in section 5.1.2 of WFD + * technical specification v1.0.0. + */ + oneway onDeviceFound( + MacAddress srcAddress, MacAddress p2pDeviceAddress, + uint8_t[8] primaryDeviceType, string deviceName, + bitfield configMethods, uint8_t deviceCapabilities, + bitfield groupCapabilities, uint8_t[8] wfdDeviceInfo); + + /** + * Used to indicate that a P2P device has been lost. + * + * @param p2pDeviceAddress P2P device address. + */ + oneway onDeviceLost(MacAddress p2pDeviceAddress); + + /** + * Used to indicate the termination of P2P find operation. + */ + oneway onFindStopped(); + + /** + * Used to indicate the reception of a P2P Group Owner negotiation request. + * + * @param srcAddress MAC address of the device that initiated the GO + * negotiation request. + * @param passwordId Type of password. + */ + oneway onGoNegotiationRequest( + MacAddress srcAddress, WpsDevPasswordId passwordId); + + /** + * Used to indicate the completion of a P2P Group Owner negotiation request. + * + * @param status Status of the GO negotiation. + */ + oneway onGoNegotiationCompleted(P2pStatusCode status); + + /** + * Used to indicate a successful formation of a P2P group. + */ + oneway onGroupFormationSuccess(); + + /** + * Used to indicate a failure to form a P2P group. + * + * @param failureReason Failure reason string for debug purposes. + */ + oneway onGroupFormationFailure(string failureReason); + + /** + * Used to indicate the start of a P2P group. + * + * @param groupIfName Interface name of the group. (For ex: p2p-p2p0-1) + * @param isGo Whether this device is owner of the group. + * @param ssid SSID of the group. + * @param frequency Frequency on which this group is created. + * @param psk PSK used to secure the group. + * @param passphrase PSK passphrase used to secure the group. + * @param goDeviceAddress MAC Address of the owner of this group. + * @param isPersistent Whether this group is persisted or not. + */ + oneway onGroupStarted( + string groupIfname, bool isGo, Ssid ssid, uint32_t frequency, + uint8_t[32] psk, string passphrase, MacAddress goDeviceAddress, + bool isPersistent); + + /** + * Used to indicate the removal of a P2P group. + * + * @param groupIfName Interface name of the group. (For ex: p2p-p2p0-1) + * @param isGo Whether this device is owner of the group. + */ + oneway onGroupRemoved(string groupIfname, bool isGo); + + /** + * Used to indicate the reception of a P2P invitation. + * + * @param srcAddress MAC address of the device that sent the invitation. + * @param goDeviceAddress MAC Address of the owner of this group. + * @param Bssid Bssid of the group. + * @param persistentNetworkId Persistent network Id of the group. + * @param operatingFrequency Frequency on which the invitation was received. + */ + oneway onInvitationReceived( + MacAddress srcAddress, MacAddress goDeviceAddress, Bssid bssid, + SupplicantNetworkId persistentNetworkId, uint32_t operatingFrequency); + + /** + * Used to indicate the result of the P2P invitation request. + * + * @param Bssid Bssid of the group. + * @param status Status of the invitation. + */ + oneway onInvitationResult(Bssid bssid, P2pStatusCode status); + + /** + * Used to indicate a push-button request generated during provision discovery. + * + * @param p2pDeviceAddress P2P device address. + */ + oneway onProvisionDiscoveryPbcRequest(MacAddress p2pDeviceAddress); + + /** + * Used to indicate a push-button response generated during provision discovery. + * + * @param p2pDeviceAddress P2P device address. + */ + oneway onProvisionDiscoveryPbcResponse(MacAddress p2pDeviceAddress); + + /** + * Used to indicate the pin generated during provision discovery. + * + * @param p2pDeviceAddress P2P device address. + * @param generatedPin 8 digit pin generated. + */ + oneway onProvisionDiscoveryShowPin( + MacAddress p2pDeviceAddress, string generatedPin); + + /** + * Used to indicate that a pin needs to be entered during provision discovery. + * + * @param p2pDeviceAddress P2P device address. + */ + oneway onProvisionDiscoveryEnterPin(MacAddress p2pDeviceAddress); + + /** + * Used to indicate a provision discovery failure. + * + * @param p2pDeviceAddress P2P device address. + */ + oneway onProvisionDiscoveryFailure(MacAddress p2pDeviceAddress); + + /** + * Used to indicate the completion of a P2P provision discovery request. + * + * @param p2pDeviceAddress P2P device address. + * @param isRequest Whether we received or sent the provision discovery. + * @param status Status of the provision discovery. + * @param configMethods Mask of WPS configuration methods supported. + * @param generatedPin 8 digit pin generated. + */ + oneway onProvisionDiscoveryCompleted( + MacAddress p2pDeviceAddress, bool isRequest, P2pProvDiscStatusCode status, + bitfield configMethods, string generatedPin); + + /** + * Used to indicate the reception of a P2P service discovery response. + * + * @param srcAddress MAC address of the device that sent the service discovery. + * @param updateIndicator Service update indicator. Refer to section 3.1.3 of + * Wifi P2P Technical specification v1.2. + * @parm tlvs Refer to section 3.1.3.1 of Wifi P2P Technical specification v1.2. + */ + oneway onServiceDiscoveryResponse( + MacAddress srcAddress, uint16_t updateIndicator, vec tlvs); + + /** + * Used to indicate when a STA device is connected to this device. + * + * @param srcAddress MAC address of the device that was authorized. + * @param p2pDeviceAddress P2P device address. + */ + oneway onStaAuthorized(MacAddress srcAddress, MacAddress p2pDeviceAddress); + + /** + * Used to indicate when a STA device is disconnected from this device. + * + * @param srcAddress MAC address of the device that was deauthorized. + * @param p2pDeviceAddress P2P device address. + */ + oneway onStaDeauthorized(MacAddress srcAddress, MacAddress p2pDeviceAddress); }; diff --git a/wifi/supplicant/1.0/ISupplicantP2pNetwork.hal b/wifi/supplicant/1.0/ISupplicantP2pNetwork.hal index 34727c41e1..d32b47e85c 100644 --- a/wifi/supplicant/1.0/ISupplicantP2pNetwork.hal +++ b/wifi/supplicant/1.0/ISupplicantP2pNetwork.hal @@ -42,4 +42,62 @@ interface ISupplicantP2pNetwork extends ISupplicantNetwork { */ registerCallback(ISupplicantP2pNetworkCallback callback) generates (SupplicantStatus status); + + /** + * Getters for the various network params. + */ + /** + * Get SSID for this network. + * + * @return status Status of the operation. + * Possible status codes: + * |SupplicantStatusCode.SUCCESS|, + * |SupplicantStatusCode.FAILURE_NETWORK_INVALID| + * @return ssid value set. + */ + getSsid() generates (SupplicantStatus status, Ssid ssid); + + /** + * Get the BSSID set for this network. + * + * @return status Status of the operation. + * Possible status codes: + * |SupplicantStatusCode.SUCCESS|, + * |SupplicantStatusCode.FAILURE_NETWORK_INVALID| + * @return bssid value set. + */ + getBssid() generates (SupplicantStatus status, Bssid bssid); + + /** + * Check if the network is currently active one. + * + * @return status Status of the operation. + * Possible status codes: + * |SupplicantStatusCode.SUCCESS|, + * |SupplicantStatusCode.FAILURE_NETWORK_INVALID| + * @return isCurrent true if current, false otherwise. + */ + isCurrent() generates (SupplicantStatus status, bool isCurrent); + + /** + * Check if the network is marked persistent. + * + * @return status Status of the operation. + * Possible status codes: + * |SupplicantStatusCode.SUCCESS|, + * |SupplicantStatusCode.FAILURE_NETWORK_INVALID| + * @return isPersistent true if persistent, false otherwise. + */ + isPersistent() generates (SupplicantStatus status, bool isPersistent); + + /** + * Check if the device is the group owner of the network. + * + * @return status Status of the operation. + * Possible status codes: + * |SupplicantStatusCode.SUCCESS|, + * |SupplicantStatusCode.FAILURE_NETWORK_INVALID| + * @return isGo true if group owner, false otherwise. + */ + isGo() generates (SupplicantStatus status, bool isGo); }; diff --git a/wifi/supplicant/1.0/ISupplicantStaIface.hal b/wifi/supplicant/1.0/ISupplicantStaIface.hal index 0f0d41bb6b..c9d9ee61e2 100644 --- a/wifi/supplicant/1.0/ISupplicantStaIface.hal +++ b/wifi/supplicant/1.0/ISupplicantStaIface.hal @@ -219,7 +219,8 @@ interface ISupplicantStaIface extends ISupplicantIface { * @return status Status of the operation. * Possible status codes: * |SupplicantStatusCode.SUCCESS|, - * |SupplicantStatusCode.FAILURE_UNKNOWN| + * |SupplicantStatusCode.FAILURE_UNKNOWN|, + * |SupplicantStatusCode.FAILURE_IFACE_INVALID| * @return macAddr MAC address of the device. */ getMacAddress() @@ -231,7 +232,8 @@ interface ISupplicantStaIface extends ISupplicantIface { * @return status Status of the operation. * Possible status codes: * |SupplicantStatusCode.SUCCESS|, - * |SupplicantStatusCode.FAILURE_UNKNOWN| + * |SupplicantStatusCode.FAILURE_UNKNOWN|, + * |SupplicantStatusCode.FAILURE_IFACE_INVALID| */ startRxFilter() generates (SupplicantStatus status); @@ -241,7 +243,8 @@ interface ISupplicantStaIface extends ISupplicantIface { * @return status Status of the operation. * Possible status codes: * |SupplicantStatusCode.SUCCESS|, - * |SupplicantStatusCode.FAILURE_UNKNOWN| + * |SupplicantStatusCode.FAILURE_UNKNOWN|, + * |SupplicantStatusCode.FAILURE_IFACE_INVALID| */ stopRxFilter() generates (SupplicantStatus status); @@ -252,7 +255,8 @@ interface ISupplicantStaIface extends ISupplicantIface { * @return status Status of the operation. * Possible status codes: * |SupplicantStatusCode.SUCCESS|, - * |SupplicantStatusCode.FAILURE_UNKNOWN| + * |SupplicantStatusCode.FAILURE_UNKNOWN|, + * |SupplicantStatusCode.FAILURE_IFACE_INVALID| */ addRxFilter(RxFilterType type) generates (SupplicantStatus status); @@ -264,7 +268,8 @@ interface ISupplicantStaIface extends ISupplicantIface { * @return status Status of the operation. * Possible status codes: * |SupplicantStatusCode.SUCCESS|, - * |SupplicantStatusCode.FAILURE_UNKNOWN| + * |SupplicantStatusCode.FAILURE_UNKNOWN|, + * |SupplicantStatusCode.FAILURE_IFACE_INVALID| */ removeRxFilter(RxFilterType type) generates (SupplicantStatus status); @@ -276,7 +281,8 @@ interface ISupplicantStaIface extends ISupplicantIface { * @return status Status of the operation. * Possible status codes: * |SupplicantStatusCode.SUCCESS|, - * |SupplicantStatusCode.FAILURE_UNKNOWN| + * |SupplicantStatusCode.FAILURE_UNKNOWN|, + * |SupplicantStatusCode.FAILURE_IFACE_INVALID| */ setBtCoexistenceMode(BtCoexistenceMode mode) generates (SupplicantStatus status); @@ -291,7 +297,8 @@ interface ISupplicantStaIface extends ISupplicantIface { * @return status Status of the operation. * Possible status codes: * |SupplicantStatusCode.SUCCESS|, - * |SupplicantStatusCode.FAILURE_UNKNOWN| + * |SupplicantStatusCode.FAILURE_UNKNOWN|, + * |SupplicantStatusCode.FAILURE_IFACE_INVALID| */ setBtCoexistenceScanModeEnabled(bool enable) generates (SupplicantStatus status); @@ -303,7 +310,8 @@ interface ISupplicantStaIface extends ISupplicantIface { * @return status Status of the operation. * Possible status codes: * |SupplicantStatusCode.SUCCESS|, - * |SupplicantStatusCode.FAILURE_UNKNOWN| + * |SupplicantStatusCode.FAILURE_UNKNOWN|, + * |SupplicantStatusCode.FAILURE_IFACE_INVALID| */ setSuspendModeEnabled(bool enable) generates (SupplicantStatus status); @@ -315,7 +323,8 @@ interface ISupplicantStaIface extends ISupplicantIface { * @return status Status of the operation. * Possible status codes: * |SupplicantStatusCode.SUCCESS|, - * |SupplicantStatusCode.FAILURE_UNKNOWN| + * |SupplicantStatusCode.FAILURE_UNKNOWN|, + * |SupplicantStatusCode.FAILURE_IFACE_INVALID| */ setCountryCode(int8_t[2] code) generates (SupplicantStatus status); @@ -328,7 +337,8 @@ interface ISupplicantStaIface extends ISupplicantIface { * @return status Status of the operation. * Possible status codes: * |SupplicantStatusCode.SUCCESS|, - * |SupplicantStatusCode.FAILURE_UNKNOWN| + * |SupplicantStatusCode.FAILURE_UNKNOWN|, + * |SupplicantStatusCode.FAILURE_IFACE_INVALID| */ startWpsRegistrar(Bssid bssid, string pin) generates (SupplicantStatus status); @@ -342,7 +352,8 @@ interface ISupplicantStaIface extends ISupplicantIface { * @return status Status of the operation. * Possible status codes: * |SupplicantStatusCode.SUCCESS|, - * |SupplicantStatusCode.FAILURE_UNKNOWN| + * |SupplicantStatusCode.FAILURE_UNKNOWN|, + * |SupplicantStatusCode.FAILURE_IFACE_INVALID| */ startWpsPbc(Bssid bssid) generates (SupplicantStatus status); @@ -353,7 +364,8 @@ interface ISupplicantStaIface extends ISupplicantIface { * @return status Status of the operation. * Possible status codes: * |SupplicantStatusCode.SUCCESS|, - * |SupplicantStatusCode.FAILURE_UNKNOWN| + * |SupplicantStatusCode.FAILURE_UNKNOWN|, + * |SupplicantStatusCode.FAILURE_IFACE_INVALID| */ startWpsPinKeypad(string pin) generates (SupplicantStatus status); @@ -364,7 +376,8 @@ interface ISupplicantStaIface extends ISupplicantIface { * @return status Status of the operation. * Possible status codes: * |SupplicantStatusCode.SUCCESS|, - * |SupplicantStatusCode.FAILURE_UNKNOWN| + * |SupplicantStatusCode.FAILURE_UNKNOWN|, + * |SupplicantStatusCode.FAILURE_IFACE_INVALID| * @return generatedPin 8 digit pin generated. */ startWpsPinDisplay(Bssid bssid) @@ -376,7 +389,20 @@ interface ISupplicantStaIface extends ISupplicantIface { * @return status Status of the operation. * Possible status codes: * |SupplicantStatusCode.SUCCESS|, - * |SupplicantStatusCode.FAILURE_UNKNOWN| + * |SupplicantStatusCode.FAILURE_UNKNOWN|, + * |SupplicantStatusCode.FAILURE_IFACE_INVALID| */ cancelWps() generates (SupplicantStatus status); + + /** + * Use external processing for SIM/USIM operations + * + * @param useExternalSim true to use external, false otherwise. + * @return status Status of the operation. + * Possible status codes: + * |SupplicantStatusCode.SUCCESS|, + * |SupplicantStatusCode.FAILURE_UNKNOWN|, + * |SupplicantStatusCode.FAILURE_IFACE_INVALID| + */ + setExternalSim(bool useExternalSim) generates (SupplicantStatus status); }; diff --git a/wifi/supplicant/1.0/ISupplicantStaIfaceCallback.hal b/wifi/supplicant/1.0/ISupplicantStaIfaceCallback.hal index 55ff9a84d6..4b201d4161 100644 --- a/wifi/supplicant/1.0/ISupplicantStaIfaceCallback.hal +++ b/wifi/supplicant/1.0/ISupplicantStaIfaceCallback.hal @@ -257,8 +257,15 @@ interface ISupplicantStaIfaceCallback { string url); /** - * Used to indicate a disconnect from the currently connected - * network on this iface,. + * Used to indicate the connection to a new network on this iface. + * + * @param bssid BSSID of the AP to which we connected. + */ + oneway onConnected(Bssid bssid); + + /** + * Used to indicate the disconnection from the currently connected + * network on this iface. * * @param bssid BSSID of the AP from which we disconnected. * @param locallyGenerated If the disconnect was triggered by @@ -269,6 +276,13 @@ interface ISupplicantStaIfaceCallback { oneway onDisconnected( Bssid bssid, bool locallyGenerated, uint32_t reasonCode); + /** + * Used to indicate the completion of association to an AP. + * + * @param bssid BSSID of the corresponding AP. + */ + oneway onAssociationCompleted(Bssid bssid); + /** * Used to indicate an association rejection recieved from the AP * to which the connection is being attempted. @@ -280,6 +294,18 @@ interface ISupplicantStaIfaceCallback { */ oneway onAssociationRejected(Bssid bssid, uint32_t statusCode); + /** + * Used to indicate the timeout of authentication to an AP. + * + * @param bssid BSSID of the corresponding AP. + */ + oneway onAuthenticationTimeout(Bssid bssid); + + /** + * Used to indicate an EAP authentication failure. + */ + oneway onEapFailure(); + /** * Used to indicate the success of a WPS connection attempt. */ diff --git a/wifi/supplicant/1.0/ISupplicantStaNetwork.hal b/wifi/supplicant/1.0/ISupplicantStaNetwork.hal index 479ba948ae..b347c1dce9 100644 --- a/wifi/supplicant/1.0/ISupplicantStaNetwork.hal +++ b/wifi/supplicant/1.0/ISupplicantStaNetwork.hal @@ -51,7 +51,10 @@ interface ISupplicantStaNetwork extends ISupplicantNetwork { WPA_EAP = 1 << 0, WPA_PSK = 1 << 1, NONE = 1 << 2, - IEEE8021X = 1 << 3 + IEEE8021X = 1 << 3, + FT_EAP = 1 << 5, + FT_PSK = 1 << 6, + OSEN = 1 << 15 }; /** Possble mask of values for Proto param. */ @@ -74,7 +77,8 @@ interface ISupplicantStaNetwork extends ISupplicantNetwork { WEP40 = 1 << 1, WEP104 = 1 << 2, TKIP = 1 << 3, - CCMP = 1 << 4 + CCMP = 1 << 4, + GTK_NOT_USED = 1 << 14 }; /** Possble mask of values for PairwiseCipher param. */ @@ -193,7 +197,7 @@ interface ISupplicantStaNetwork extends ISupplicantNetwork { * |SupplicantStatusCode.FAILURE_UNKNOWN|, * |SupplicantStatusCode.FAILURE_NETWORK_INVALID| */ - setKeyMgmt(uint32_t keyMgmtMask) generates (SupplicantStatus status); + setKeyMgmt(bitfield keyMgmtMask) generates (SupplicantStatus status); /** * Set proto mask for the network. @@ -207,7 +211,7 @@ interface ISupplicantStaNetwork extends ISupplicantNetwork { * |SupplicantStatusCode.FAILURE_UNKNOWN|, * |SupplicantStatusCode.FAILURE_NETWORK_INVALID| */ - setProto(uint32_t protoMask) generates (SupplicantStatus status); + setProto(bitfield protoMask) generates (SupplicantStatus status); /** * Set auth alg mask for the network. @@ -221,7 +225,7 @@ interface ISupplicantStaNetwork extends ISupplicantNetwork { * |SupplicantStatusCode.FAILURE_UNKNOWN|, * |SupplicantStatusCode.FAILURE_NETWORK_INVALID| */ - setAuthAlg(uint32_t authAlgMask) generates (SupplicantStatus status); + setAuthAlg(bitfield authAlgMask) generates (SupplicantStatus status); /** * Set group cipher mask for the network. @@ -235,7 +239,7 @@ interface ISupplicantStaNetwork extends ISupplicantNetwork { * |SupplicantStatusCode.FAILURE_UNKNOWN|, * |SupplicantStatusCode.FAILURE_NETWORK_INVALID| */ - setGroupCipher(uint32_t groupCipherMask) + setGroupCipher(bitfield groupCipherMask) generates (SupplicantStatus status); /** @@ -250,7 +254,7 @@ interface ISupplicantStaNetwork extends ISupplicantNetwork { * |SupplicantStatusCode.FAILURE_UNKNOWN|, * |SupplicantStatusCode.FAILURE_NETWORK_INVALID| */ - setPairwiseCipher(uint32_t pairwiseCipherMask) + setPairwiseCipher(bitfield pairwiseCipherMask) generates (SupplicantStatus status); /** @@ -504,6 +508,19 @@ interface ISupplicantStaNetwork extends ISupplicantNetwork { */ setEapDomainSuffixMatch(string match) generates (SupplicantStatus status); + /** + * Get ID string set for this network. + * Network identifier string for external scripts. + * + * @return idStr ID string value to set. + * @return status Status of the operation. + * Possible status codes: + * |SupplicantStatusCode.SUCCESS|, + * |SupplicantStatusCode.FAILURE_ARGS_INVALID|, + * |SupplicantStatusCode.FAILURE_UNKNOWN|, + * |SupplicantStatusCode.FAILURE_NETWORK_INVALID| + */ + setIdStr(string idStr) generates (SupplicantStatus status); /** * Getters for the various network params. @@ -551,7 +568,7 @@ interface ISupplicantStaNetwork extends ISupplicantNetwork { * @return keyMgmtMask Combination of |KeyMgmtMask| values. */ getKeyMgmt() - generates (SupplicantStatus status, uint32_t keyMgmtMask); + generates (SupplicantStatus status, bitfield keyMgmtMask); /** * Get the proto mask set for the network. @@ -562,7 +579,7 @@ interface ISupplicantStaNetwork extends ISupplicantNetwork { * |SupplicantStatusCode.FAILURE_NETWORK_INVALID| * @return protoMask Combination of |ProtoMask| values. */ - getProto() generates (SupplicantStatus status, uint32_t protoMask); + getProto() generates (SupplicantStatus status, bitfield protoMask); /** * Get the auth alg mask set for the network. @@ -574,7 +591,7 @@ interface ISupplicantStaNetwork extends ISupplicantNetwork { * @return authAlgMask Combination of |AuthAlgMask| values. */ getAuthAlg() - generates (SupplicantStatus status, uint32_t authAlgMask); + generates (SupplicantStatus status, bitfield authAlgMask); /** * Get the group cipher mask set for the network. @@ -586,7 +603,8 @@ interface ISupplicantStaNetwork extends ISupplicantNetwork { * @return groupCipherMask Combination of |GroupCipherMask| values. */ getGroupCipher() - generates (SupplicantStatus status, uint32_t groupCipherMask); + generates (SupplicantStatus status, + bitfield groupCipherMask); /** * Get the pairwise cipher mask set for the network. @@ -598,7 +616,8 @@ interface ISupplicantStaNetwork extends ISupplicantNetwork { * @return pairwiseCipherMask Combination of |PairwiseCipherMask| values. */ getPairwiseCipher() - generates (SupplicantStatus status, uint32_t pairwiseCipherMask); + generates (SupplicantStatus status, + bitfield pairwiseCipherMask); /** * Get passphrase for WPA_PSK network. @@ -826,6 +845,20 @@ interface ISupplicantStaNetwork extends ISupplicantNetwork { getEapDomainSuffixMatch() generates (SupplicantStatus status, string match); + /** + * Get ID string set for this network. + * Network identifier string for external scripts. + * + * @return status Status of the operation. + * Possible status codes: + * |SupplicantStatusCode.SUCCESS|, + * |SupplicantStatusCode.FAILURE_ARGS_INVALID|, + * |SupplicantStatusCode.FAILURE_UNKNOWN|, + * |SupplicantStatusCode.FAILURE_NETWORK_INVALID| + * @return idStr ID string set. + */ + getIdStr() generates (SupplicantStatus status, string idStr); + /** * Enable the network for connection purposes. * diff --git a/wifi/supplicant/1.0/types.hal b/wifi/supplicant/1.0/types.hal index 16a8d15e7e..10cf483c26 100644 --- a/wifi/supplicant/1.0/types.hal +++ b/wifi/supplicant/1.0/types.hal @@ -73,3 +73,38 @@ enum IfaceType : uint32_t { STA, P2P }; + +/** + * P2P group capability. + */ +enum P2pGroupCapabilityMask : uint32_t { + GROUP_OWNER = 1 << 0, + PERSISTENT_GROUP = 1 << 1, + GROUP_LIMIT = 1 << 2, + INTRA_BSS_DIST = 1 << 3, + CROSS_CONN = 1 << 4, + PERSISTENT_RECONN = 1 << 5, + GROUP_FORMATION = 1 << 6 +}; + +/** + * WPS config methods. + * Refer to section 3 of IBSS with Wi-Fi Protected Setup + * Technical Specification Version 1.0.0. + */ +enum WpsConfigMethods : uint16_t { + USBA = 0x0001, + ETHERNET = 0x0002, + LABEL = 0x0004, + DISPLAY = 0x0008, + EXT_NFC_TOKEN = 0x0010, + INT_NFC_TOKEN = 0x0020, + NFC_INTERFACE = 0x0040, + PUSHBUTTON = 0x0080, + KEYPAD = 0x0100, + VIRT_PUSHBUTTON = 0x0280, + PHY_PUSHBUTTON = 0x0480, + P2PS = 0x1000, + VIRT_DISPLAY = 0x2008, + PHY_DISPLAY = 0x4008 +}; diff --git a/wifi/supplicant/1.0/vts/Supplicant.vts b/wifi/supplicant/1.0/vts/Supplicant.vts new file mode 100644 index 0000000000..69fe2099f0 --- /dev/null +++ b/wifi/supplicant/1.0/vts/Supplicant.vts @@ -0,0 +1,160 @@ +component_class: HAL_HIDL +component_type_version: 1.0 +component_name: "ISupplicant" + +package: "android.hardware.wifi.supplicant" + +import: "android.hardware.wifi.supplicant@1.0::ISupplicantCallback" +import: "android.hardware.wifi.supplicant@1.0::ISupplicantIface" +import: "android.hardware.wifi.supplicant@1.0::types" + +interface: { + attribute: { + name: "::android::hardware::wifi::supplicant::V1_0::ISupplicant::DebugLevel" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint32_t" + + enumerator: "EXCESSIVE" + scalar_value: { + uint32_t: 0 + } + enumerator: "MSGDUMP" + scalar_value: { + uint32_t: 1 + } + enumerator: "DEBUG" + scalar_value: { + uint32_t: 2 + } + enumerator: "INFO" + scalar_value: { + uint32_t: 3 + } + enumerator: "WARNING" + scalar_value: { + uint32_t: 4 + } + enumerator: "ERROR" + scalar_value: { + uint32_t: 5 + } + } + } + + attribute: { + name: "::android::hardware::wifi::supplicant::V1_0::ISupplicant::IfaceInfo" + type: TYPE_STRUCT + struct_value: { + name: "type" + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::supplicant::V1_0::IfaceType" + } + struct_value: { + name: "name" + type: TYPE_STRING + } + } + + api: { + name: "getInterface" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_HIDL_INTERFACE + predefined_type: "ISupplicantIface" + is_callback: false + } + arg: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::ISupplicant::IfaceInfo" + } + } + + api: { + name: "listInterfaces" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_VECTOR + vector_value: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::ISupplicant::IfaceInfo" + } + } + } + + api: { + name: "registerCallback" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_HIDL_CALLBACK + predefined_type: "ISupplicantCallback" + is_callback: true + } + } + + api: { + name: "setDebugParams" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::supplicant::V1_0::ISupplicant::DebugLevel" + } + arg: { + type: TYPE_SCALAR + scalar_type: "bool_t" + } + arg: { + type: TYPE_SCALAR + scalar_type: "bool_t" + } + } + + api: { + name: "getDebugLevel" + return_type_hidl: { + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::supplicant::V1_0::ISupplicant::DebugLevel" + } + } + + api: { + name: "isDebugShowTimestampEnabled" + return_type_hidl: { + type: TYPE_SCALAR + scalar_type: "bool_t" + } + } + + api: { + name: "isDebugShowKeysEnabled" + return_type_hidl: { + type: TYPE_SCALAR + scalar_type: "bool_t" + } + } + + api: { + name: "setConcurrencyPriority" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::supplicant::V1_0::IfaceType" + } + } + +} diff --git a/wifi/supplicant/1.0/vts/SupplicantCallback.vts b/wifi/supplicant/1.0/vts/SupplicantCallback.vts new file mode 100644 index 0000000000..e439bd6ebe --- /dev/null +++ b/wifi/supplicant/1.0/vts/SupplicantCallback.vts @@ -0,0 +1,27 @@ +component_class: HAL_HIDL +component_type_version: 1.0 +component_name: "ISupplicantCallback" + +package: "android.hardware.wifi.supplicant" + + +interface: { + api: { + name: "onInterfaceCreated" + arg: { + type: TYPE_STRING + } + } + + api: { + name: "onInterfaceRemoved" + arg: { + type: TYPE_STRING + } + } + + api: { + name: "onTerminating" + } + +} diff --git a/wifi/supplicant/1.0/vts/SupplicantIface.vts b/wifi/supplicant/1.0/vts/SupplicantIface.vts new file mode 100644 index 0000000000..41c77f8c9a --- /dev/null +++ b/wifi/supplicant/1.0/vts/SupplicantIface.vts @@ -0,0 +1,187 @@ +component_class: HAL_HIDL +component_type_version: 1.0 +component_name: "ISupplicantIface" + +package: "android.hardware.wifi.supplicant" + +import: "android.hardware.wifi.supplicant@1.0::ISupplicantNetwork" +import: "android.hardware.wifi.supplicant@1.0::types" + +interface: { + attribute: { + name: "::android::hardware::wifi::supplicant::V1_0::ISupplicantIface::ParamSizeLimits" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint32_t" + + enumerator: "WPS_DEVICE_NAME_MAX_LEN" + scalar_value: { + uint32_t: 32 + } + enumerator: "WPS_MANUFACTURER_MAX_LEN" + scalar_value: { + uint32_t: 64 + } + enumerator: "WPS_MODEL_NAME_MAX_LEN" + scalar_value: { + uint32_t: 32 + } + enumerator: "WPS_MODEL_NUMBER_MAX_LEN" + scalar_value: { + uint32_t: 32 + } + enumerator: "WPS_SERIAL_NUMBER_MAX_LEN" + scalar_value: { + uint32_t: 32 + } + } + } + + api: { + name: "getName" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_STRING + } + } + + api: { + name: "getType" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::supplicant::V1_0::IfaceType" + } + } + + api: { + name: "addNetwork" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_HIDL_INTERFACE + predefined_type: "ISupplicantNetwork" + is_callback: false + } + } + + api: { + name: "removeNetwork" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + } + + api: { + name: "getNetwork" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_HIDL_INTERFACE + predefined_type: "ISupplicantNetwork" + is_callback: false + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + } + + api: { + name: "listNetworks" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + } + } + + api: { + name: "setWpsDeviceName" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_STRING + } + } + + api: { + name: "setWpsManufacturer" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_STRING + } + } + + api: { + name: "setWpsModelName" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_STRING + } + } + + api: { + name: "setWpsModelNumber" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_STRING + } + } + + api: { + name: "setWpsSerialNumber" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_STRING + } + } + + api: { + name: "setWpsConfigMethods" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_MASK + predefined_type: "::android::hardware::wifi::supplicant::V1_0::WpsConfigMethods" + } + } + +} diff --git a/wifi/supplicant/1.0/vts/SupplicantNetwork.vts b/wifi/supplicant/1.0/vts/SupplicantNetwork.vts new file mode 100644 index 0000000000..edcabcec25 --- /dev/null +++ b/wifi/supplicant/1.0/vts/SupplicantNetwork.vts @@ -0,0 +1,45 @@ +component_class: HAL_HIDL +component_type_version: 1.0 +component_name: "ISupplicantNetwork" + +package: "android.hardware.wifi.supplicant" + +import: "android.hardware.wifi.supplicant@1.0::types" + +interface: { + api: { + name: "getId" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + } + + api: { + name: "getInterfaceName" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_STRING + } + } + + api: { + name: "getType" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::supplicant::V1_0::IfaceType" + } + } + +} diff --git a/wifi/supplicant/1.0/vts/SupplicantP2pIface.vts b/wifi/supplicant/1.0/vts/SupplicantP2pIface.vts new file mode 100644 index 0000000000..afa9a8ca1a --- /dev/null +++ b/wifi/supplicant/1.0/vts/SupplicantP2pIface.vts @@ -0,0 +1,813 @@ +component_class: HAL_HIDL +component_type_version: 1.0 +component_name: "ISupplicantP2pIface" + +package: "android.hardware.wifi.supplicant" + +import: "android.hardware.wifi.supplicant@1.0::ISupplicantIface" +import: "android.hardware.wifi.supplicant@1.0::ISupplicantP2pIfaceCallback" +import: "android.hardware.wifi.supplicant@1.0::types" + +interface: { + attribute: { + name: "::android::hardware::wifi::supplicant::V1_0::ISupplicantIface::ParamSizeLimits" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint32_t" + + enumerator: "WPS_DEVICE_NAME_MAX_LEN" + scalar_value: { + uint32_t: 32 + } + enumerator: "WPS_MANUFACTURER_MAX_LEN" + scalar_value: { + uint32_t: 64 + } + enumerator: "WPS_MODEL_NAME_MAX_LEN" + scalar_value: { + uint32_t: 32 + } + enumerator: "WPS_MODEL_NUMBER_MAX_LEN" + scalar_value: { + uint32_t: 32 + } + enumerator: "WPS_SERIAL_NUMBER_MAX_LEN" + scalar_value: { + uint32_t: 32 + } + } + } + + attribute: { + name: "::android::hardware::wifi::supplicant::V1_0::ISupplicantP2pIface::WpsProvisionMethod" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint32_t" + + enumerator: "PBC" + scalar_value: { + uint32_t: 0 + } + enumerator: "DISPLAY" + scalar_value: { + uint32_t: 1 + } + enumerator: "KEYPAD" + scalar_value: { + uint32_t: 2 + } + } + } + + attribute: { + name: "::android::hardware::wifi::supplicant::V1_0::ISupplicantP2pIface::FreqRange" + type: TYPE_STRUCT + struct_value: { + name: "min" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + struct_value: { + name: "max" + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + } + + attribute: { + name: "::android::hardware::wifi::supplicant::V1_0::ISupplicantP2pIface::MiracastMode" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint8_t" + + enumerator: "DISABLED" + scalar_value: { + uint8_t: 0 + } + enumerator: "SOURCE" + scalar_value: { + uint8_t: 1 + } + enumerator: "SINK" + scalar_value: { + uint8_t: 2 + } + } + } + + api: { + name: "getName" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_STRING + } + } + + api: { + name: "getType" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::supplicant::V1_0::IfaceType" + } + } + + api: { + name: "addNetwork" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_HIDL_INTERFACE + predefined_type: "ISupplicantNetwork" + is_callback: false + } + } + + api: { + name: "removeNetwork" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + } + + api: { + name: "getNetwork" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_HIDL_INTERFACE + predefined_type: "ISupplicantNetwork" + is_callback: false + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + } + + api: { + name: "listNetworks" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + } + } + + api: { + name: "setWpsDeviceName" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_STRING + } + } + + api: { + name: "setWpsManufacturer" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_STRING + } + } + + api: { + name: "setWpsModelName" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_STRING + } + } + + api: { + name: "setWpsModelNumber" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_STRING + } + } + + api: { + name: "setWpsSerialNumber" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_STRING + } + } + + api: { + name: "setWpsConfigMethods" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_MASK + predefined_type: "::android::hardware::wifi::supplicant::V1_0::WpsConfigMethods" + } + } + + api: { + name: "registerCallback" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_HIDL_CALLBACK + predefined_type: "ISupplicantP2pIfaceCallback" + is_callback: true + } + } + + api: { + name: "getDeviceAddress" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + + api: { + name: "setSsidPostfix" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + + api: { + name: "setGroupIdle" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_STRING + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + } + + api: { + name: "setPowerSave" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_STRING + } + arg: { + type: TYPE_SCALAR + scalar_type: "bool_t" + } + } + + api: { + name: "find" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + } + + api: { + name: "stopFind" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + } + + api: { + name: "flush" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + } + + api: { + name: "connect" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_STRING + } + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + arg: { + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::supplicant::V1_0::ISupplicantP2pIface::WpsProvisionMethod" + } + arg: { + type: TYPE_STRING + } + arg: { + type: TYPE_SCALAR + scalar_type: "bool_t" + } + arg: { + type: TYPE_SCALAR + scalar_type: "bool_t" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + } + + api: { + name: "cancelConnect" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + } + + api: { + name: "provisionDiscovery" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + arg: { + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::supplicant::V1_0::ISupplicantP2pIface::WpsProvisionMethod" + } + } + + api: { + name: "addGroup" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "bool_t" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + } + + api: { + name: "removeGroup" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_STRING + } + } + + api: { + name: "reject" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + + api: { + name: "invite" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_STRING + } + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + + api: { + name: "reinvoke" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + + api: { + name: "configureExtListen" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + } + + api: { + name: "setListenChannel" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + } + + api: { + name: "setDisallowedFrequencies" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_VECTOR + vector_value: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::ISupplicantP2pIface::FreqRange" + } + } + } + + api: { + name: "getSsid" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + + api: { + name: "getGroupCapability" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_MASK + predefined_type: "::android::hardware::wifi::supplicant::V1_0::P2pGroupCapabilityMask" + } + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + + api: { + name: "addBonjourService" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + arg: { + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + + api: { + name: "removeBonjourService" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + + api: { + name: "addUpnpService" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + arg: { + type: TYPE_STRING + } + } + + api: { + name: "removeUpnpService" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + arg: { + type: TYPE_STRING + } + } + + api: { + name: "flushServices" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + } + + api: { + name: "requestServiceDiscovery" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_SCALAR + scalar_type: "uint64_t" + } + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + arg: { + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + + api: { + name: "cancelServiceDiscovery" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint64_t" + } + } + + api: { + name: "setMiracastMode" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::supplicant::V1_0::ISupplicantP2pIface::MiracastMode" + } + } + + api: { + name: "startWpsPbc" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_STRING + } + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + + api: { + name: "startWpsPinKeypad" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_STRING + } + arg: { + type: TYPE_STRING + } + } + + api: { + name: "startWpsPinDisplay" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_STRING + } + arg: { + type: TYPE_STRING + } + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + + api: { + name: "cancelWps" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_STRING + } + } + + api: { + name: "enableWfd" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "bool_t" + } + } + + api: { + name: "setWfdDeviceInfo" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 8 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + +} diff --git a/wifi/supplicant/1.0/vts/SupplicantP2pIfaceCallback.vts b/wifi/supplicant/1.0/vts/SupplicantP2pIfaceCallback.vts new file mode 100644 index 0000000000..09fd77997b --- /dev/null +++ b/wifi/supplicant/1.0/vts/SupplicantP2pIfaceCallback.vts @@ -0,0 +1,520 @@ +component_class: HAL_HIDL +component_type_version: 1.0 +component_name: "ISupplicantP2pIfaceCallback" + +package: "android.hardware.wifi.supplicant" + +import: "android.hardware.wifi.supplicant@1.0::types" + +interface: { + attribute: { + name: "::android::hardware::wifi::supplicant::V1_0::ISupplicantP2pIfaceCallback::WpsDevPasswordId" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint16_t" + + enumerator: "DEFAULT" + scalar_value: { + uint16_t: 0 + } + enumerator: "USER_SPECIFIED" + scalar_value: { + uint16_t: 1 + } + enumerator: "MACHINE_SPECIFIED" + scalar_value: { + uint16_t: 2 + } + enumerator: "REKEY" + scalar_value: { + uint16_t: 3 + } + enumerator: "PUSHBUTTON" + scalar_value: { + uint16_t: 4 + } + enumerator: "REGISTRAR_SPECIFIED" + scalar_value: { + uint16_t: 5 + } + enumerator: "NFC_CONNECTION_HANDOVER" + scalar_value: { + uint16_t: 7 + } + enumerator: "P2PS_DEFAULT" + scalar_value: { + uint16_t: 8 + } + } + } + + attribute: { + name: "::android::hardware::wifi::supplicant::V1_0::ISupplicantP2pIfaceCallback::P2pStatusCode" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint32_t" + + enumerator: "SUCCESS" + scalar_value: { + uint32_t: 0 + } + enumerator: "FAIL_INFO_CURRENTLY_UNAVAILABLE" + scalar_value: { + uint32_t: 1 + } + enumerator: "FAIL_INCOMPATIBLE_PARAMS" + scalar_value: { + uint32_t: 2 + } + enumerator: "FAIL_LIMIT_REACHED" + scalar_value: { + uint32_t: 3 + } + enumerator: "FAIL_INVALID_PARAMS" + scalar_value: { + uint32_t: 4 + } + enumerator: "FAIL_UNABLE_TO_ACCOMMODATE" + scalar_value: { + uint32_t: 5 + } + enumerator: "FAIL_PREV_PROTOCOL_ERROR" + scalar_value: { + uint32_t: 6 + } + enumerator: "FAIL_NO_COMMON_CHANNELS" + scalar_value: { + uint32_t: 7 + } + enumerator: "FAIL_UNKNOWN_GROUP" + scalar_value: { + uint32_t: 8 + } + enumerator: "FAIL_BOTH_GO_INTENT_15" + scalar_value: { + uint32_t: 9 + } + enumerator: "FAIL_INCOMPATIBLE_PROV_METHOD" + scalar_value: { + uint32_t: 10 + } + enumerator: "FAIL_REJECTED_BY_USER" + scalar_value: { + uint32_t: 11 + } + enumerator: "SUCCESS_DEFERRED" + scalar_value: { + uint32_t: 12 + } + } + } + + attribute: { + name: "::android::hardware::wifi::supplicant::V1_0::ISupplicantP2pIfaceCallback::P2pProvDiscStatusCode" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint8_t" + + enumerator: "SUCCESS" + scalar_value: { + uint8_t: 0 + } + enumerator: "TIMEOUT" + scalar_value: { + uint8_t: 1 + } + enumerator: "REJECTED" + scalar_value: { + uint8_t: 2 + } + enumerator: "TIMEOUT_JOIN" + scalar_value: { + uint8_t: 3 + } + enumerator: "INFO_UNAVAILABLE" + scalar_value: { + uint8_t: 4 + } + } + } + + api: { + name: "onNetworkAdded" + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + } + + api: { + name: "onNetworkRemoved" + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + } + + api: { + name: "onDeviceFound" + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 8 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + arg: { + type: TYPE_STRING + } + arg: { + type: TYPE_MASK + predefined_type: "::android::hardware::wifi::supplicant::V1_0::WpsConfigMethods" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + arg: { + type: TYPE_MASK + predefined_type: "::android::hardware::wifi::supplicant::V1_0::P2pGroupCapabilityMask" + } + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 8 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + + api: { + name: "onDeviceLost" + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + + api: { + name: "onFindStopped" + } + + api: { + name: "onGoNegotiationRequest" + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + arg: { + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::supplicant::V1_0::ISupplicantP2pIfaceCallback::WpsDevPasswordId" + } + } + + api: { + name: "onGoNegotiationCompleted" + arg: { + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::supplicant::V1_0::ISupplicantP2pIfaceCallback::P2pStatusCode" + } + } + + api: { + name: "onGroupFormationSuccess" + } + + api: { + name: "onGroupFormationFailure" + arg: { + type: TYPE_STRING + } + } + + api: { + name: "onGroupStarted" + arg: { + type: TYPE_STRING + } + arg: { + type: TYPE_SCALAR + scalar_type: "bool_t" + } + arg: { + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 32 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + arg: { + type: TYPE_STRING + } + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + arg: { + type: TYPE_SCALAR + scalar_type: "bool_t" + } + } + + api: { + name: "onGroupRemoved" + arg: { + type: TYPE_STRING + } + arg: { + type: TYPE_SCALAR + scalar_type: "bool_t" + } + } + + api: { + name: "onInvitationReceived" + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + } + + api: { + name: "onInvitationResult" + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + arg: { + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::supplicant::V1_0::ISupplicantP2pIfaceCallback::P2pStatusCode" + } + } + + api: { + name: "onProvisionDiscoveryPbcRequest" + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + + api: { + name: "onProvisionDiscoveryPbcResponse" + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + + api: { + name: "onProvisionDiscoveryShowPin" + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + arg: { + type: TYPE_STRING + } + } + + api: { + name: "onProvisionDiscoveryEnterPin" + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + + api: { + name: "onProvisionDiscoveryFailure" + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + + api: { + name: "onProvisionDiscoveryCompleted" + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + arg: { + type: TYPE_SCALAR + scalar_type: "bool_t" + } + arg: { + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::supplicant::V1_0::ISupplicantP2pIfaceCallback::P2pProvDiscStatusCode" + } + arg: { + type: TYPE_MASK + predefined_type: "::android::hardware::wifi::supplicant::V1_0::WpsConfigMethods" + } + arg: { + type: TYPE_STRING + } + } + + api: { + name: "onServiceDiscoveryResponse" + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint16_t" + } + arg: { + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + + api: { + name: "onStaAuthorized" + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + + api: { + name: "onStaDeauthorized" + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + +} diff --git a/wifi/supplicant/1.0/vts/SupplicantP2pNetwork.vts b/wifi/supplicant/1.0/vts/SupplicantP2pNetwork.vts new file mode 100644 index 0000000000..fddcca3e9d --- /dev/null +++ b/wifi/supplicant/1.0/vts/SupplicantP2pNetwork.vts @@ -0,0 +1,127 @@ +component_class: HAL_HIDL +component_type_version: 1.0 +component_name: "ISupplicantP2pNetwork" + +package: "android.hardware.wifi.supplicant" + +import: "android.hardware.wifi.supplicant@1.0::ISupplicantNetwork" +import: "android.hardware.wifi.supplicant@1.0::ISupplicantP2pNetworkCallback" +import: "android.hardware.wifi.supplicant@1.0::types" + +interface: { + api: { + name: "getId" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + } + + api: { + name: "getInterfaceName" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_STRING + } + } + + api: { + name: "getType" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::supplicant::V1_0::IfaceType" + } + } + + api: { + name: "registerCallback" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_HIDL_CALLBACK + predefined_type: "ISupplicantP2pNetworkCallback" + is_callback: true + } + } + + api: { + name: "getSsid" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + + api: { + name: "getBssid" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + + api: { + name: "isCurrent" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_SCALAR + scalar_type: "bool_t" + } + } + + api: { + name: "isPersistent" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_SCALAR + scalar_type: "bool_t" + } + } + + api: { + name: "isGo" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_SCALAR + scalar_type: "bool_t" + } + } + +} diff --git a/wifi/supplicant/1.0/vts/SupplicantP2pNetworkCallback.vts b/wifi/supplicant/1.0/vts/SupplicantP2pNetworkCallback.vts new file mode 100644 index 0000000000..0e9ccde994 --- /dev/null +++ b/wifi/supplicant/1.0/vts/SupplicantP2pNetworkCallback.vts @@ -0,0 +1,9 @@ +component_class: HAL_HIDL +component_type_version: 1.0 +component_name: "ISupplicantP2pNetworkCallback" + +package: "android.hardware.wifi.supplicant" + + +interface: { +} diff --git a/wifi/supplicant/1.0/vts/SupplicantStaIface.vts b/wifi/supplicant/1.0/vts/SupplicantStaIface.vts new file mode 100644 index 0000000000..ceadb6c70d --- /dev/null +++ b/wifi/supplicant/1.0/vts/SupplicantStaIface.vts @@ -0,0 +1,623 @@ +component_class: HAL_HIDL +component_type_version: 1.0 +component_name: "ISupplicantStaIface" + +package: "android.hardware.wifi.supplicant" + +import: "android.hardware.wifi.supplicant@1.0::ISupplicantIface" +import: "android.hardware.wifi.supplicant@1.0::ISupplicantStaIfaceCallback" +import: "android.hardware.wifi.supplicant@1.0::types" + +interface: { + attribute: { + name: "::android::hardware::wifi::supplicant::V1_0::ISupplicantIface::ParamSizeLimits" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint32_t" + + enumerator: "WPS_DEVICE_NAME_MAX_LEN" + scalar_value: { + uint32_t: 32 + } + enumerator: "WPS_MANUFACTURER_MAX_LEN" + scalar_value: { + uint32_t: 64 + } + enumerator: "WPS_MODEL_NAME_MAX_LEN" + scalar_value: { + uint32_t: 32 + } + enumerator: "WPS_MODEL_NUMBER_MAX_LEN" + scalar_value: { + uint32_t: 32 + } + enumerator: "WPS_SERIAL_NUMBER_MAX_LEN" + scalar_value: { + uint32_t: 32 + } + } + } + + attribute: { + name: "::android::hardware::wifi::supplicant::V1_0::ISupplicantStaIface::AnqpInfoId" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint16_t" + + enumerator: "VENUE_NAME" + scalar_value: { + uint16_t: 258 + } + enumerator: "ROAMING_CONSORTIUM" + scalar_value: { + uint16_t: 261 + } + enumerator: "IP_ADDR_TYPE_AVAILABILITY" + scalar_value: { + uint16_t: 262 + } + enumerator: "NAI_REALM" + scalar_value: { + uint16_t: 263 + } + enumerator: "ANQP_3GPP_CELLULAR_NETWORK" + scalar_value: { + uint16_t: 264 + } + enumerator: "DOMAIN_NAME" + scalar_value: { + uint16_t: 268 + } + } + } + + attribute: { + name: "::android::hardware::wifi::supplicant::V1_0::ISupplicantStaIface::Hs20AnqpSubtypes" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint32_t" + + enumerator: "OPERATOR_FRIENDLY_NAME" + scalar_value: { + uint32_t: 3 + } + enumerator: "WAN_METRICS" + scalar_value: { + uint32_t: 4 + } + enumerator: "CONNECTION_CAPABILITY" + scalar_value: { + uint32_t: 5 + } + enumerator: "OSU_PROVIDERS_LIST" + scalar_value: { + uint32_t: 8 + } + } + } + + attribute: { + name: "::android::hardware::wifi::supplicant::V1_0::ISupplicantStaIface::RxFilterType" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint8_t" + + enumerator: "V4_MULTICAST" + scalar_value: { + uint8_t: 0 + } + enumerator: "V6_MULTICAST" + scalar_value: { + uint8_t: 1 + } + } + } + + attribute: { + name: "::android::hardware::wifi::supplicant::V1_0::ISupplicantStaIface::BtCoexistenceMode" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint8_t" + + enumerator: "ENABLED" + scalar_value: { + uint8_t: 0 + } + enumerator: "DISABLED" + scalar_value: { + uint8_t: 1 + } + enumerator: "SENSE" + scalar_value: { + uint8_t: 2 + } + } + } + + api: { + name: "getName" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_STRING + } + } + + api: { + name: "getType" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::supplicant::V1_0::IfaceType" + } + } + + api: { + name: "addNetwork" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_HIDL_INTERFACE + predefined_type: "ISupplicantNetwork" + is_callback: false + } + } + + api: { + name: "removeNetwork" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + } + + api: { + name: "getNetwork" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_HIDL_INTERFACE + predefined_type: "ISupplicantNetwork" + is_callback: false + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + } + + api: { + name: "listNetworks" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + } + } + + api: { + name: "setWpsDeviceName" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_STRING + } + } + + api: { + name: "setWpsManufacturer" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_STRING + } + } + + api: { + name: "setWpsModelName" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_STRING + } + } + + api: { + name: "setWpsModelNumber" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_STRING + } + } + + api: { + name: "setWpsSerialNumber" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_STRING + } + } + + api: { + name: "setWpsConfigMethods" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_MASK + predefined_type: "::android::hardware::wifi::supplicant::V1_0::WpsConfigMethods" + } + } + + api: { + name: "registerCallback" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_HIDL_CALLBACK + predefined_type: "ISupplicantStaIfaceCallback" + is_callback: true + } + } + + api: { + name: "reassociate" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + } + + api: { + name: "reconnect" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + } + + api: { + name: "disconnect" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + } + + api: { + name: "setPowerSave" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "bool_t" + } + } + + api: { + name: "initiateTdlsDiscover" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + + api: { + name: "initiateTdlsSetup" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + + api: { + name: "initiateTdlsTeardown" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + + api: { + name: "initiateAnqpQuery" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + arg: { + type: TYPE_VECTOR + vector_value: { + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::supplicant::V1_0::ISupplicantStaIface::AnqpInfoId" + } + } + arg: { + type: TYPE_VECTOR + vector_value: { + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::supplicant::V1_0::ISupplicantStaIface::Hs20AnqpSubtypes" + } + } + } + + api: { + name: "initiateHs20IconQuery" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + arg: { + type: TYPE_STRING + } + } + + api: { + name: "getMacAddress" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + + api: { + name: "startRxFilter" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + } + + api: { + name: "stopRxFilter" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + } + + api: { + name: "addRxFilter" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::supplicant::V1_0::ISupplicantStaIface::RxFilterType" + } + } + + api: { + name: "removeRxFilter" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::supplicant::V1_0::ISupplicantStaIface::RxFilterType" + } + } + + api: { + name: "setBtCoexistenceMode" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::supplicant::V1_0::ISupplicantStaIface::BtCoexistenceMode" + } + } + + api: { + name: "setBtCoexistenceScanModeEnabled" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "bool_t" + } + } + + api: { + name: "setSuspendModeEnabled" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "bool_t" + } + } + + api: { + name: "setCountryCode" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 2 + type: TYPE_SCALAR + scalar_type: "int8_t" + } + } + } + + api: { + name: "startWpsRegistrar" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + arg: { + type: TYPE_STRING + } + } + + api: { + name: "startWpsPbc" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + + api: { + name: "startWpsPinKeypad" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_STRING + } + } + + api: { + name: "startWpsPinDisplay" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_STRING + } + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + + api: { + name: "cancelWps" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + } + + api: { + name: "setExternalSim" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "bool_t" + } + } + +} diff --git a/wifi/supplicant/1.0/vts/SupplicantStaIfaceCallback.vts b/wifi/supplicant/1.0/vts/SupplicantStaIfaceCallback.vts new file mode 100644 index 0000000000..88b1c3b205 --- /dev/null +++ b/wifi/supplicant/1.0/vts/SupplicantStaIfaceCallback.vts @@ -0,0 +1,499 @@ +component_class: HAL_HIDL +component_type_version: 1.0 +component_name: "ISupplicantStaIfaceCallback" + +package: "android.hardware.wifi.supplicant" + +import: "android.hardware.wifi.supplicant@1.0::types" + +interface: { + attribute: { + name: "::android::hardware::wifi::supplicant::V1_0::ISupplicantStaIfaceCallback::State" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint32_t" + + enumerator: "DISCONNECTED" + scalar_value: { + uint32_t: 0 + } + enumerator: "IFACE_DISABLED" + scalar_value: { + uint32_t: 1 + } + enumerator: "INACTIVE" + scalar_value: { + uint32_t: 2 + } + enumerator: "SCANNING" + scalar_value: { + uint32_t: 3 + } + enumerator: "AUTHENTICATING" + scalar_value: { + uint32_t: 4 + } + enumerator: "ASSOCIATING" + scalar_value: { + uint32_t: 5 + } + enumerator: "ASSOCIATED" + scalar_value: { + uint32_t: 6 + } + enumerator: "FOURWAY_HANDSHAKE" + scalar_value: { + uint32_t: 7 + } + enumerator: "GROUP_HANDSHAKE" + scalar_value: { + uint32_t: 8 + } + enumerator: "COMPLETED" + scalar_value: { + uint32_t: 9 + } + } + } + + attribute: { + name: "::android::hardware::wifi::supplicant::V1_0::ISupplicantStaIfaceCallback::OsuMethod" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint8_t" + + enumerator: "OMA_DM" + scalar_value: { + uint8_t: 0 + } + enumerator: "SOAP_XML_SPP" + scalar_value: { + uint8_t: 1 + } + } + } + + attribute: { + name: "::android::hardware::wifi::supplicant::V1_0::ISupplicantStaIfaceCallback::AnqpData" + type: TYPE_STRUCT + struct_value: { + name: "venueName" + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + struct_value: { + name: "roamingConsortium" + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + struct_value: { + name: "ipAddrTypeAvailability" + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + struct_value: { + name: "naiRealm" + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + struct_value: { + name: "anqp3gppCellularNetwork" + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + struct_value: { + name: "domainName" + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + + attribute: { + name: "::android::hardware::wifi::supplicant::V1_0::ISupplicantStaIfaceCallback::Hs20AnqpData" + type: TYPE_STRUCT + struct_value: { + name: "operatorFriendlyName" + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + struct_value: { + name: "wanMetrics" + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + struct_value: { + name: "connectionCapability" + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + struct_value: { + name: "osuProvidersList" + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + + attribute: { + name: "::android::hardware::wifi::supplicant::V1_0::ISupplicantStaIfaceCallback::WpsConfigError" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint16_t" + + enumerator: "NO_ERROR" + scalar_value: { + uint16_t: 0 + } + enumerator: "OOB_IFACE_READ_ERROR" + scalar_value: { + uint16_t: 1 + } + enumerator: "DECRYPTION_CRC_FAILURE" + scalar_value: { + uint16_t: 2 + } + enumerator: "CHAN_24_NOT_SUPPORTED" + scalar_value: { + uint16_t: 3 + } + enumerator: "CHAN_50_NOT_SUPPORTED" + scalar_value: { + uint16_t: 4 + } + enumerator: "SIGNAL_TOO_WEAK" + scalar_value: { + uint16_t: 5 + } + enumerator: "NETWORK_AUTH_FAILURE" + scalar_value: { + uint16_t: 6 + } + enumerator: "NETWORK_ASSOC_FAILURE" + scalar_value: { + uint16_t: 7 + } + enumerator: "NO_DHCP_RESPONSE" + scalar_value: { + uint16_t: 8 + } + enumerator: "FAILED_DHCP_CONFIG" + scalar_value: { + uint16_t: 9 + } + enumerator: "IP_ADDR_CONFLICT" + scalar_value: { + uint16_t: 10 + } + enumerator: "NO_CONN_TO_REGISTRAR" + scalar_value: { + uint16_t: 11 + } + enumerator: "MULTIPLE_PBC_DETECTED" + scalar_value: { + uint16_t: 12 + } + enumerator: "ROGUE_SUSPECTED" + scalar_value: { + uint16_t: 13 + } + enumerator: "DEVICE_BUSY" + scalar_value: { + uint16_t: 14 + } + enumerator: "SETUP_LOCKED" + scalar_value: { + uint16_t: 15 + } + enumerator: "MSG_TIMEOUT" + scalar_value: { + uint16_t: 16 + } + enumerator: "REG_SESS_TIMEOUT" + scalar_value: { + uint16_t: 17 + } + enumerator: "DEV_PASSWORD_AUTH_FAILURE" + scalar_value: { + uint16_t: 18 + } + enumerator: "CHAN_60G_NOT_SUPPORTED" + scalar_value: { + uint16_t: 19 + } + enumerator: "PUBLIC_KEY_HASH_MISMATCH" + scalar_value: { + uint16_t: 20 + } + } + } + + attribute: { + name: "::android::hardware::wifi::supplicant::V1_0::ISupplicantStaIfaceCallback::WpsErrorIndication" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint16_t" + + enumerator: "NO_ERROR" + scalar_value: { + uint16_t: 0 + } + enumerator: "SECURITY_TKIP_ONLY_PROHIBITED" + scalar_value: { + uint16_t: 1 + } + enumerator: "SECURITY_WEP_PROHIBITED" + scalar_value: { + uint16_t: 2 + } + enumerator: "AUTH_FAILURE" + scalar_value: { + uint16_t: 3 + } + } + } + + api: { + name: "onNetworkAdded" + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + } + + api: { + name: "onNetworkRemoved" + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + } + + api: { + name: "onStateChanged" + arg: { + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::supplicant::V1_0::ISupplicantStaIfaceCallback::State" + } + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + arg: { + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + + api: { + name: "onAnqpQueryDone" + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + arg: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::ISupplicantStaIfaceCallback::AnqpData" + } + arg: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::ISupplicantStaIfaceCallback::Hs20AnqpData" + } + } + + api: { + name: "onHs20IconQueryDone" + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + arg: { + type: TYPE_STRING + } + arg: { + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + + api: { + name: "onHs20SubscriptionRemediation" + arg: { + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::supplicant::V1_0::ISupplicantStaIfaceCallback::OsuMethod" + } + arg: { + type: TYPE_STRING + } + } + + api: { + name: "onHs20DeauthImminentNotice" + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + arg: { + type: TYPE_STRING + } + } + + api: { + name: "onConnected" + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + + api: { + name: "onDisconnected" + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + arg: { + type: TYPE_SCALAR + scalar_type: "bool_t" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + } + + api: { + name: "onAssociationCompleted" + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + + api: { + name: "onAssociationRejected" + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + } + + api: { + name: "onAuthenticationTimeout" + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + + api: { + name: "onEapFailure" + } + + api: { + name: "onWpsEventSuccess" + } + + api: { + name: "onWpsEventFail" + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + arg: { + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::supplicant::V1_0::ISupplicantStaIfaceCallback::WpsConfigError" + } + arg: { + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::supplicant::V1_0::ISupplicantStaIfaceCallback::WpsErrorIndication" + } + } + + api: { + name: "onWpsEventPbcOverlap" + } + +} diff --git a/wifi/supplicant/1.0/vts/SupplicantStaNetwork.vts b/wifi/supplicant/1.0/vts/SupplicantStaNetwork.vts new file mode 100644 index 0000000000..f493b3e4c2 --- /dev/null +++ b/wifi/supplicant/1.0/vts/SupplicantStaNetwork.vts @@ -0,0 +1,1087 @@ +component_class: HAL_HIDL +component_type_version: 1.0 +component_name: "ISupplicantStaNetwork" + +package: "android.hardware.wifi.supplicant" + +import: "android.hardware.wifi.supplicant@1.0::ISupplicantNetwork" +import: "android.hardware.wifi.supplicant@1.0::ISupplicantStaNetworkCallback" +import: "android.hardware.wifi.supplicant@1.0::types" + +interface: { + attribute: { + name: "::android::hardware::wifi::supplicant::V1_0::ISupplicantStaNetwork::ParamSizeLimits" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint32_t" + + enumerator: "SSID_MAX_LEN_IN_BYTES" + scalar_value: { + uint32_t: 32 + } + enumerator: "PSK_PASSPHRASE_MIN_LEN_IN_BYTES" + scalar_value: { + uint32_t: 8 + } + enumerator: "PSK_PASSPHRASE_MAX_LEN_IN_BYTES" + scalar_value: { + uint32_t: 63 + } + enumerator: "WEP_KEYS_MAX_NUM" + scalar_value: { + uint32_t: 4 + } + enumerator: "WEP40_KEY_LEN_IN_BYTES" + scalar_value: { + uint32_t: 5 + } + enumerator: "WEP104_KEY_LEN_IN_BYTES" + scalar_value: { + uint32_t: 13 + } + } + } + + attribute: { + name: "::android::hardware::wifi::supplicant::V1_0::ISupplicantStaNetwork::KeyMgmtMask" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint32_t" + + enumerator: "WPA_EAP" + scalar_value: { + uint32_t: 1 + } + enumerator: "WPA_PSK" + scalar_value: { + uint32_t: 2 + } + enumerator: "NONE" + scalar_value: { + uint32_t: 4 + } + enumerator: "IEEE8021X" + scalar_value: { + uint32_t: 8 + } + enumerator: "FT_EAP" + scalar_value: { + uint32_t: 32 + } + enumerator: "FT_PSK" + scalar_value: { + uint32_t: 64 + } + enumerator: "OSEN" + scalar_value: { + uint32_t: 32768 + } + } + } + + attribute: { + name: "::android::hardware::wifi::supplicant::V1_0::ISupplicantStaNetwork::ProtoMask" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint32_t" + + enumerator: "WPA" + scalar_value: { + uint32_t: 1 + } + enumerator: "RSN" + scalar_value: { + uint32_t: 2 + } + enumerator: "OSEN" + scalar_value: { + uint32_t: 8 + } + } + } + + attribute: { + name: "::android::hardware::wifi::supplicant::V1_0::ISupplicantStaNetwork::AuthAlgMask" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint32_t" + + enumerator: "OPEN" + scalar_value: { + uint32_t: 1 + } + enumerator: "SHARED" + scalar_value: { + uint32_t: 2 + } + enumerator: "LEAP" + scalar_value: { + uint32_t: 4 + } + } + } + + attribute: { + name: "::android::hardware::wifi::supplicant::V1_0::ISupplicantStaNetwork::GroupCipherMask" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint32_t" + + enumerator: "WEP40" + scalar_value: { + uint32_t: 2 + } + enumerator: "WEP104" + scalar_value: { + uint32_t: 4 + } + enumerator: "TKIP" + scalar_value: { + uint32_t: 8 + } + enumerator: "CCMP" + scalar_value: { + uint32_t: 16 + } + enumerator: "GTK_NOT_USED" + scalar_value: { + uint32_t: 16384 + } + } + } + + attribute: { + name: "::android::hardware::wifi::supplicant::V1_0::ISupplicantStaNetwork::PairwiseCipherMask" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint32_t" + + enumerator: "NONE" + scalar_value: { + uint32_t: 1 + } + enumerator: "TKIP" + scalar_value: { + uint32_t: 8 + } + enumerator: "CCMP" + scalar_value: { + uint32_t: 16 + } + } + } + + attribute: { + name: "::android::hardware::wifi::supplicant::V1_0::ISupplicantStaNetwork::EapMethod" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint32_t" + + enumerator: "PEAP" + scalar_value: { + uint32_t: 0 + } + enumerator: "TLS" + scalar_value: { + uint32_t: 1 + } + enumerator: "TTLS" + scalar_value: { + uint32_t: 2 + } + enumerator: "PWD" + scalar_value: { + uint32_t: 3 + } + enumerator: "SIM" + scalar_value: { + uint32_t: 4 + } + enumerator: "AKA" + scalar_value: { + uint32_t: 5 + } + enumerator: "AKA_PRIME" + scalar_value: { + uint32_t: 6 + } + enumerator: "WFA_UNAUTH_TLS" + scalar_value: { + uint32_t: 7 + } + } + } + + attribute: { + name: "::android::hardware::wifi::supplicant::V1_0::ISupplicantStaNetwork::EapPhase2Method" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint32_t" + + enumerator: "NONE" + scalar_value: { + uint32_t: 0 + } + enumerator: "PAP" + scalar_value: { + uint32_t: 1 + } + enumerator: "MSPAP" + scalar_value: { + uint32_t: 2 + } + enumerator: "MSPAPV2" + scalar_value: { + uint32_t: 3 + } + enumerator: "GTC" + scalar_value: { + uint32_t: 4 + } + } + } + + attribute: { + name: "::android::hardware::wifi::supplicant::V1_0::ISupplicantStaNetwork::NetworkResponseEapSimGsmAuthParams" + type: TYPE_STRUCT + struct_value: { + name: "kc" + type: TYPE_ARRAY + vector_value: { + vector_size: 8 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + struct_value: { + name: "sres" + type: TYPE_ARRAY + vector_value: { + vector_size: 4 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + + attribute: { + name: "::android::hardware::wifi::supplicant::V1_0::ISupplicantStaNetwork::NetworkResponseEapSimUmtsAuthParams" + type: TYPE_STRUCT + struct_value: { + name: "res" + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + struct_value: { + name: "ik" + type: TYPE_ARRAY + vector_value: { + vector_size: 16 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + struct_value: { + name: "ck" + type: TYPE_ARRAY + vector_value: { + vector_size: 16 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + + api: { + name: "getId" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + } + + api: { + name: "getInterfaceName" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_STRING + } + } + + api: { + name: "getType" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::supplicant::V1_0::IfaceType" + } + } + + api: { + name: "registerCallback" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_HIDL_CALLBACK + predefined_type: "ISupplicantStaNetworkCallback" + is_callback: true + } + } + + api: { + name: "setSsid" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + + api: { + name: "setBssid" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + + api: { + name: "setScanSsid" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "bool_t" + } + } + + api: { + name: "setKeyMgmt" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_MASK + predefined_type: "::android::hardware::wifi::supplicant::V1_0::ISupplicantStaNetwork::KeyMgmtMask" + } + } + + api: { + name: "setProto" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_MASK + predefined_type: "::android::hardware::wifi::supplicant::V1_0::ISupplicantStaNetwork::ProtoMask" + } + } + + api: { + name: "setAuthAlg" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_MASK + predefined_type: "::android::hardware::wifi::supplicant::V1_0::ISupplicantStaNetwork::AuthAlgMask" + } + } + + api: { + name: "setGroupCipher" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_MASK + predefined_type: "::android::hardware::wifi::supplicant::V1_0::ISupplicantStaNetwork::GroupCipherMask" + } + } + + api: { + name: "setPairwiseCipher" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_MASK + predefined_type: "::android::hardware::wifi::supplicant::V1_0::ISupplicantStaNetwork::PairwiseCipherMask" + } + } + + api: { + name: "setPskPassphrase" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_STRING + } + } + + api: { + name: "setWepKey" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + arg: { + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + + api: { + name: "setWepTxKeyIdx" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + } + + api: { + name: "setRequirePmf" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "bool_t" + } + } + + api: { + name: "setEapMethod" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::supplicant::V1_0::ISupplicantStaNetwork::EapMethod" + } + } + + api: { + name: "setEapPhase2Method" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::supplicant::V1_0::ISupplicantStaNetwork::EapPhase2Method" + } + } + + api: { + name: "setEapIdentity" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + + api: { + name: "setEapAnonymousIdentity" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + + api: { + name: "setEapPassword" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + + api: { + name: "setEapCACert" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_STRING + } + } + + api: { + name: "setEapCAPath" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_STRING + } + } + + api: { + name: "setEapClientCert" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_STRING + } + } + + api: { + name: "setEapPrivateKey" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_STRING + } + } + + api: { + name: "setEapSubjectMatch" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_STRING + } + } + + api: { + name: "setEapAltSubjectMatch" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_STRING + } + } + + api: { + name: "setEapEngine" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "bool_t" + } + } + + api: { + name: "setEapEngineID" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_STRING + } + } + + api: { + name: "setEapDomainSuffixMatch" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_STRING + } + } + + api: { + name: "setIdStr" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_STRING + } + } + + api: { + name: "getSsid" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + + api: { + name: "getBssid" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_ARRAY + vector_value: { + vector_size: 6 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + + api: { + name: "getScanSsid" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_SCALAR + scalar_type: "bool_t" + } + } + + api: { + name: "getKeyMgmt" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_MASK + predefined_type: "::android::hardware::wifi::supplicant::V1_0::ISupplicantStaNetwork::KeyMgmtMask" + } + } + + api: { + name: "getProto" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_MASK + predefined_type: "::android::hardware::wifi::supplicant::V1_0::ISupplicantStaNetwork::ProtoMask" + } + } + + api: { + name: "getAuthAlg" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_MASK + predefined_type: "::android::hardware::wifi::supplicant::V1_0::ISupplicantStaNetwork::AuthAlgMask" + } + } + + api: { + name: "getGroupCipher" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_MASK + predefined_type: "::android::hardware::wifi::supplicant::V1_0::ISupplicantStaNetwork::GroupCipherMask" + } + } + + api: { + name: "getPairwiseCipher" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_MASK + predefined_type: "::android::hardware::wifi::supplicant::V1_0::ISupplicantStaNetwork::PairwiseCipherMask" + } + } + + api: { + name: "getPskPassphrase" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_STRING + } + } + + api: { + name: "getWepKey" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + arg: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + } + + api: { + name: "getWepTxKeyIdx" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_SCALAR + scalar_type: "uint32_t" + } + } + + api: { + name: "getRequirePmf" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_SCALAR + scalar_type: "bool_t" + } + } + + api: { + name: "getEapMethod" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::supplicant::V1_0::ISupplicantStaNetwork::EapMethod" + } + } + + api: { + name: "getEapPhase2Method" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::supplicant::V1_0::ISupplicantStaNetwork::EapPhase2Method" + } + } + + api: { + name: "getEapIdentity" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + + api: { + name: "getEapAnonymousIdentity" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + + api: { + name: "getEapPassword" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + + api: { + name: "getEapCACert" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_STRING + } + } + + api: { + name: "getEapCAPath" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_STRING + } + } + + api: { + name: "getEapClientCert" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_STRING + } + } + + api: { + name: "getEapPrivateKey" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_STRING + } + } + + api: { + name: "getEapSubjectMatch" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_STRING + } + } + + api: { + name: "getEapAltSubjectMatch" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_STRING + } + } + + api: { + name: "getEapEngine" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_SCALAR + scalar_type: "bool_t" + } + } + + api: { + name: "getEapEngineID" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_STRING + } + } + + api: { + name: "getEapDomainSuffixMatch" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_STRING + } + } + + api: { + name: "getIdStr" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + return_type_hidl: { + type: TYPE_STRING + } + } + + api: { + name: "enable" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_SCALAR + scalar_type: "bool_t" + } + } + + api: { + name: "disable" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + } + + api: { + name: "select" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + } + + api: { + name: "sendNetworkEapSimGsmAuthResponse" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::ISupplicantStaNetwork::NetworkResponseEapSimGsmAuthParams" + } + } + + api: { + name: "sendNetworkEapSimUmtsAuthResponse" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::ISupplicantStaNetwork::NetworkResponseEapSimUmtsAuthParams" + } + } + + api: { + name: "sendNetworkEapIdentityResponse" + return_type_hidl: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + } + arg: { + type: TYPE_VECTOR + vector_value: { + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + +} diff --git a/wifi/supplicant/1.0/vts/SupplicantStaNetworkCallback.vts b/wifi/supplicant/1.0/vts/SupplicantStaNetworkCallback.vts new file mode 100644 index 0000000000..3fe2da71a8 --- /dev/null +++ b/wifi/supplicant/1.0/vts/SupplicantStaNetworkCallback.vts @@ -0,0 +1,69 @@ +component_class: HAL_HIDL +component_type_version: 1.0 +component_name: "ISupplicantStaNetworkCallback" + +package: "android.hardware.wifi.supplicant" + + +interface: { + attribute: { + name: "::android::hardware::wifi::supplicant::V1_0::ISupplicantStaNetworkCallback::NetworkRequestEapSimGsmAuthParams" + type: TYPE_STRUCT + struct_value: { + name: "rands" + type: TYPE_VECTOR + vector_value: { + type: TYPE_ARRAY + vector_value: { + vector_size: 16 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + } + + attribute: { + name: "::android::hardware::wifi::supplicant::V1_0::ISupplicantStaNetworkCallback::NetworkRequestEapSimUmtsAuthParams" + type: TYPE_STRUCT + struct_value: { + name: "rand" + type: TYPE_ARRAY + vector_value: { + vector_size: 16 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + struct_value: { + name: "autn" + type: TYPE_ARRAY + vector_value: { + vector_size: 16 + type: TYPE_SCALAR + scalar_type: "uint8_t" + } + } + } + + api: { + name: "onNetworkEapSimGsmAuthRequest" + arg: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::ISupplicantStaNetworkCallback::NetworkRequestEapSimGsmAuthParams" + } + } + + api: { + name: "onNetworkEapSimUmtsAuthRequest" + arg: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::wifi::supplicant::V1_0::ISupplicantStaNetworkCallback::NetworkRequestEapSimUmtsAuthParams" + } + } + + api: { + name: "onNetworkEapIdentityRequest" + } + +} diff --git a/wifi/supplicant/1.0/vts/types.vts b/wifi/supplicant/1.0/vts/types.vts new file mode 100644 index 0000000000..b8b29b3485 --- /dev/null +++ b/wifi/supplicant/1.0/vts/types.vts @@ -0,0 +1,189 @@ +component_class: HAL_HIDL +component_type_version: 1.0 +component_name: "types" + +package: "android.hardware.wifi.supplicant" + + +attribute: { + name: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatusCode" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint32_t" + + enumerator: "SUCCESS" + scalar_value: { + uint32_t: 0 + } + enumerator: "FAILURE_UNKNOWN" + scalar_value: { + uint32_t: 1 + } + enumerator: "FAILURE_ARGS_INVALID" + scalar_value: { + uint32_t: 2 + } + enumerator: "FAILURE_IFACE_INVALID" + scalar_value: { + uint32_t: 3 + } + enumerator: "FAILURE_IFACE_UNKNOWN" + scalar_value: { + uint32_t: 4 + } + enumerator: "FAILURE_IFACE_EXISTS" + scalar_value: { + uint32_t: 5 + } + enumerator: "FAILURE_IFACE_DISABLED" + scalar_value: { + uint32_t: 6 + } + enumerator: "FAILURE_IFACE_NOT_DISCONNECTED" + scalar_value: { + uint32_t: 7 + } + enumerator: "FAILURE_NETWORK_INVALID" + scalar_value: { + uint32_t: 8 + } + enumerator: "FAILURE_NETWORK_UNKNOWN" + scalar_value: { + uint32_t: 9 + } + } +} + +attribute: { + name: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatus" + type: TYPE_STRUCT + struct_value: { + name: "code" + type: TYPE_ENUM + predefined_type: "::android::hardware::wifi::supplicant::V1_0::SupplicantStatusCode" + } + struct_value: { + name: "debugMessage" + type: TYPE_STRING + } +} + +attribute: { + name: "::android::hardware::wifi::supplicant::V1_0::IfaceType" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint32_t" + + enumerator: "STA" + scalar_value: { + uint32_t: 0 + } + enumerator: "P2P" + scalar_value: { + uint32_t: 1 + } + } +} + +attribute: { + name: "::android::hardware::wifi::supplicant::V1_0::P2pGroupCapabilityMask" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint32_t" + + enumerator: "GROUP_OWNER" + scalar_value: { + uint32_t: 1 + } + enumerator: "PERSISTENT_GROUP" + scalar_value: { + uint32_t: 2 + } + enumerator: "GROUP_LIMIT" + scalar_value: { + uint32_t: 4 + } + enumerator: "INTRA_BSS_DIST" + scalar_value: { + uint32_t: 8 + } + enumerator: "CROSS_CONN" + scalar_value: { + uint32_t: 16 + } + enumerator: "PERSISTENT_RECONN" + scalar_value: { + uint32_t: 32 + } + enumerator: "GROUP_FORMATION" + scalar_value: { + uint32_t: 64 + } + } +} + +attribute: { + name: "::android::hardware::wifi::supplicant::V1_0::WpsConfigMethods" + type: TYPE_ENUM + enum_value: { + scalar_type: "uint16_t" + + enumerator: "USBA" + scalar_value: { + uint16_t: 1 + } + enumerator: "ETHERNET" + scalar_value: { + uint16_t: 2 + } + enumerator: "LABEL" + scalar_value: { + uint16_t: 4 + } + enumerator: "DISPLAY" + scalar_value: { + uint16_t: 8 + } + enumerator: "EXT_NFC_TOKEN" + scalar_value: { + uint16_t: 16 + } + enumerator: "INT_NFC_TOKEN" + scalar_value: { + uint16_t: 32 + } + enumerator: "NFC_INTERFACE" + scalar_value: { + uint16_t: 64 + } + enumerator: "PUSHBUTTON" + scalar_value: { + uint16_t: 128 + } + enumerator: "KEYPAD" + scalar_value: { + uint16_t: 256 + } + enumerator: "VIRT_PUSHBUTTON" + scalar_value: { + uint16_t: 640 + } + enumerator: "PHY_PUSHBUTTON" + scalar_value: { + uint16_t: 1152 + } + enumerator: "P2PS" + scalar_value: { + uint16_t: 4096 + } + enumerator: "VIRT_DISPLAY" + scalar_value: { + uint16_t: 8200 + } + enumerator: "PHY_DISPLAY" + scalar_value: { + uint16_t: 16392 + } + } +} +