From 09f2ce3b3e26504e15615b202a6722cee2c35f58 Mon Sep 17 00:00:00 2001 From: Roshan Pius Date: Wed, 11 Jan 2017 14:05:17 -0800 Subject: [PATCH 1/6] supplicant(interface): Add P2P iface methods/cbs Add the missing P2P iface methods and callbacks. Bug: 34221586 Test: Compiles Change-Id: I9bace8ac5304dd65d81bb255dac023657c9460cc --- wifi/supplicant/1.0/Android.mk | 38 +++ wifi/supplicant/1.0/ISupplicantP2pIface.hal | 51 ++-- .../1.0/ISupplicantP2pIfaceCallback.hal | 252 ++++++++++++++++++ wifi/supplicant/1.0/ISupplicantP2pNetwork.hal | 58 ++++ wifi/supplicant/1.0/types.hal | 10 + 5 files changed, 394 insertions(+), 15 deletions(-) diff --git a/wifi/supplicant/1.0/Android.mk b/wifi/supplicant/1.0/Android.mk index 02a62b65e2..937691dd1a 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) # @@ -376,6 +395,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) # diff --git a/wifi/supplicant/1.0/ISupplicantP2pIface.hal b/wifi/supplicant/1.0/ISupplicantP2pIface.hal index ddf05cca51..ed0b49faa6 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. @@ -533,7 +523,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 +539,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 +553,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 +567,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 +581,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..0731209d67 100644 --- a/wifi/supplicant/1.0/ISupplicantP2pIfaceCallback.hal +++ b/wifi/supplicant/1.0/ISupplicantP2pIfaceCallback.hal @@ -25,6 +25,70 @@ package android.hardware.wifi.supplicant@1.0; * corresponding |ISupplicantP2pIface.registerCallback| method. */ interface ISupplicantP2pIfaceCallback { + /** + * WPS config methods. + */ + 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 + }; + + /** + * 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 +102,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/types.hal b/wifi/supplicant/1.0/types.hal index 16a8d15e7e..9889135a18 100644 --- a/wifi/supplicant/1.0/types.hal +++ b/wifi/supplicant/1.0/types.hal @@ -73,3 +73,13 @@ enum IfaceType : uint32_t { STA, P2P }; + +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 +}; From 4984f9ab80181458e5d440cd7b69f60590ef8731 Mon Sep 17 00:00:00 2001 From: Roshan Pius Date: Fri, 13 Jan 2017 08:58:23 -0800 Subject: [PATCH 2/6] supplicant(interface): Add various WPS device params Add setters for the various params used for WPS operations. While there, Add missing error code in IWifiStaIface method docstrings. Bug: 34198758 Test: Compiles Change-Id: I3b4709083975320210c9ed2dff59852372778483 --- wifi/supplicant/1.0/Android.mk | 38 ++++++++ wifi/supplicant/1.0/ISupplicantIface.hal | 94 +++++++++++++++++++ .../1.0/ISupplicantP2pIfaceCallback.hal | 20 ---- wifi/supplicant/1.0/ISupplicantStaIface.hal | 54 ++++++++--- wifi/supplicant/1.0/types.hal | 25 +++++ 5 files changed, 197 insertions(+), 34 deletions(-) diff --git a/wifi/supplicant/1.0/Android.mk b/wifi/supplicant/1.0/Android.mk index 937691dd1a..ad49b0aefd 100644 --- a/wifi/supplicant/1.0/Android.mk +++ b/wifi/supplicant/1.0/Android.mk @@ -92,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 # @@ -452,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/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/ISupplicantP2pIfaceCallback.hal b/wifi/supplicant/1.0/ISupplicantP2pIfaceCallback.hal index 0731209d67..ad4290b34e 100644 --- a/wifi/supplicant/1.0/ISupplicantP2pIfaceCallback.hal +++ b/wifi/supplicant/1.0/ISupplicantP2pIfaceCallback.hal @@ -25,26 +25,6 @@ package android.hardware.wifi.supplicant@1.0; * corresponding |ISupplicantP2pIface.registerCallback| method. */ interface ISupplicantP2pIfaceCallback { - /** - * WPS config methods. - */ - 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 - }; - /** * WPS Device Password ID */ 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/types.hal b/wifi/supplicant/1.0/types.hal index 9889135a18..10cf483c26 100644 --- a/wifi/supplicant/1.0/types.hal +++ b/wifi/supplicant/1.0/types.hal @@ -74,6 +74,9 @@ enum IfaceType : uint32_t { P2P }; +/** + * P2P group capability. + */ enum P2pGroupCapabilityMask : uint32_t { GROUP_OWNER = 1 << 0, PERSISTENT_GROUP = 1 << 1, @@ -83,3 +86,25 @@ enum P2pGroupCapabilityMask : uint32_t { 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 +}; From 6eb05a2fc778d4cf2102a6d34aad912b84d812de Mon Sep 17 00:00:00 2001 From: Roshan Pius Date: Fri, 13 Jan 2017 11:05:36 -0800 Subject: [PATCH 3/6] supplicant(interface): Add missing STA callbacks Add a few missing callbacks in ISupplicantStaIfaceCallbacks & ISupplicantCallbacks. Bug: 34274091 Test: Compiles Change-Id: I5d7819f9708f6caa4da80ed481408e376a5636f8 --- wifi/supplicant/1.0/ISupplicantCallback.hal | 5 ++++ .../1.0/ISupplicantStaIfaceCallback.hal | 30 +++++++++++++++++-- 2 files changed, 33 insertions(+), 2 deletions(-) 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/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. */ From 2d50db95b4f5cb564879aad62582e481865b48b5 Mon Sep 17 00:00:00 2001 From: Roshan Pius Date: Fri, 13 Jan 2017 15:53:07 -0800 Subject: [PATCH 4/6] supplicant(interface): Add sta network idstr & ft key mgmt Bug: 34284015 Bug: 32571829 Test: Compiles Change-Id: Id4d08657a4ed5a76f727e89c19991a65ce7f91e5 --- wifi/supplicant/1.0/ISupplicantStaNetwork.hal | 35 +++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/wifi/supplicant/1.0/ISupplicantStaNetwork.hal b/wifi/supplicant/1.0/ISupplicantStaNetwork.hal index 479ba948ae..7d86f42e7e 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. */ @@ -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. @@ -826,6 +843,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. * From 5c3a0d9666ea8f61e893791a115304819a816fd0 Mon Sep 17 00:00:00 2001 From: Roshan Pius Date: Wed, 18 Jan 2017 09:23:18 -0800 Subject: [PATCH 5/6] wifi(interface): Use the "bitfield" type for masks Change all the variables representing masks to the new bitfield type in all the Wifi HIDL interfaces. The generated code will still produce the underlying type of enum as param. So, no changes are needed in the implementation. Bug: 33358724 Test: Compiles Change-Id: Id2e5dee2ce1f1ec8e744aa1c81d3cb9c66e7fc39 --- wifi/1.0/IWifiChip.hal | 3 +- wifi/1.0/IWifiStaIface.hal | 4 +- wifi/1.0/types.hal | 62 +++++++++---------- wifi/supplicant/1.0/ISupplicantP2pIface.hal | 5 +- wifi/supplicant/1.0/ISupplicantStaNetwork.hal | 22 ++++--- 5 files changed, 51 insertions(+), 45 deletions(-) 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/supplicant/1.0/ISupplicantP2pIface.hal b/wifi/supplicant/1.0/ISupplicantP2pIface.hal index ed0b49faa6..45e90f3104 100644 --- a/wifi/supplicant/1.0/ISupplicantP2pIface.hal +++ b/wifi/supplicant/1.0/ISupplicantP2pIface.hal @@ -410,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. diff --git a/wifi/supplicant/1.0/ISupplicantStaNetwork.hal b/wifi/supplicant/1.0/ISupplicantStaNetwork.hal index 7d86f42e7e..b347c1dce9 100644 --- a/wifi/supplicant/1.0/ISupplicantStaNetwork.hal +++ b/wifi/supplicant/1.0/ISupplicantStaNetwork.hal @@ -197,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. @@ -211,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. @@ -225,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. @@ -239,7 +239,7 @@ interface ISupplicantStaNetwork extends ISupplicantNetwork { * |SupplicantStatusCode.FAILURE_UNKNOWN|, * |SupplicantStatusCode.FAILURE_NETWORK_INVALID| */ - setGroupCipher(uint32_t groupCipherMask) + setGroupCipher(bitfield groupCipherMask) generates (SupplicantStatus status); /** @@ -254,7 +254,7 @@ interface ISupplicantStaNetwork extends ISupplicantNetwork { * |SupplicantStatusCode.FAILURE_UNKNOWN|, * |SupplicantStatusCode.FAILURE_NETWORK_INVALID| */ - setPairwiseCipher(uint32_t pairwiseCipherMask) + setPairwiseCipher(bitfield pairwiseCipherMask) generates (SupplicantStatus status); /** @@ -568,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. @@ -579,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. @@ -591,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. @@ -603,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. @@ -615,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. From 720f4bdbc9fd788d84ba18d7a68e704d449d9b58 Mon Sep 17 00:00:00 2001 From: Roshan Pius Date: Wed, 18 Jan 2017 09:45:46 -0800 Subject: [PATCH 6/6] wifi(vts): Generate the .vts files Generates the .vts files for all wifi HIDL interfaces. hidl-gen -o hardware/interfaces/wifi/1.0/vts/ -L vts -r android.hardware:hardware/interfaces -r android.hidl:system/libhidl/transport android.hardware.wifi@1.0 hidl-gen -o hardware/interfaces/wifi/supplicant/1.0/vts/ -L vts -r android.hardware:hardware/interfaces -r android.hidl:system/libhidl/transport android.hardware.wifi.supplicant@1.0 Bug: 32022435 Test: Compiles Change-Id: Idb037dafb72e645e5f6618bc909ba02ae7232e77 --- wifi/1.0/vts/Wifi.vts | 110 + wifi/1.0/vts/WifiApIface.vts | 33 + wifi/1.0/vts/WifiChip.vts | 545 ++++ wifi/1.0/vts/WifiChipEventCallback.vts | 78 + wifi/1.0/vts/WifiEventCallback.vts | 26 + wifi/1.0/vts/WifiIface.vts | 33 + wifi/1.0/vts/WifiNanIface.vts | 278 ++ wifi/1.0/vts/WifiNanIfaceEventCallback.vts | 318 ++ wifi/1.0/vts/WifiP2pIface.vts | 33 + wifi/1.0/vts/WifiRttController.vts | 172 + .../vts/WifiRttControllerEventCallback.vts | 25 + wifi/1.0/vts/WifiStaIface.vts | 432 +++ wifi/1.0/vts/WifiStaIfaceEventCallback.vts | 65 + wifi/1.0/vts/types.vts | 2846 +++++++++++++++++ wifi/supplicant/1.0/vts/Supplicant.vts | 160 + .../supplicant/1.0/vts/SupplicantCallback.vts | 27 + wifi/supplicant/1.0/vts/SupplicantIface.vts | 187 ++ wifi/supplicant/1.0/vts/SupplicantNetwork.vts | 45 + .../supplicant/1.0/vts/SupplicantP2pIface.vts | 813 +++++ .../1.0/vts/SupplicantP2pIfaceCallback.vts | 520 +++ .../1.0/vts/SupplicantP2pNetwork.vts | 127 + .../1.0/vts/SupplicantP2pNetworkCallback.vts | 9 + .../supplicant/1.0/vts/SupplicantStaIface.vts | 623 ++++ .../1.0/vts/SupplicantStaIfaceCallback.vts | 499 +++ .../1.0/vts/SupplicantStaNetwork.vts | 1087 +++++++ .../1.0/vts/SupplicantStaNetworkCallback.vts | 69 + wifi/supplicant/1.0/vts/types.vts | 189 ++ 27 files changed, 9349 insertions(+) create mode 100644 wifi/1.0/vts/Wifi.vts create mode 100644 wifi/1.0/vts/WifiApIface.vts create mode 100644 wifi/1.0/vts/WifiChip.vts create mode 100644 wifi/1.0/vts/WifiChipEventCallback.vts create mode 100644 wifi/1.0/vts/WifiEventCallback.vts create mode 100644 wifi/1.0/vts/WifiIface.vts create mode 100644 wifi/1.0/vts/WifiNanIface.vts create mode 100644 wifi/1.0/vts/WifiNanIfaceEventCallback.vts create mode 100644 wifi/1.0/vts/WifiP2pIface.vts create mode 100644 wifi/1.0/vts/WifiRttController.vts create mode 100644 wifi/1.0/vts/WifiRttControllerEventCallback.vts create mode 100644 wifi/1.0/vts/WifiStaIface.vts create mode 100644 wifi/1.0/vts/WifiStaIfaceEventCallback.vts create mode 100644 wifi/1.0/vts/types.vts create mode 100644 wifi/supplicant/1.0/vts/Supplicant.vts create mode 100644 wifi/supplicant/1.0/vts/SupplicantCallback.vts create mode 100644 wifi/supplicant/1.0/vts/SupplicantIface.vts create mode 100644 wifi/supplicant/1.0/vts/SupplicantNetwork.vts create mode 100644 wifi/supplicant/1.0/vts/SupplicantP2pIface.vts create mode 100644 wifi/supplicant/1.0/vts/SupplicantP2pIfaceCallback.vts create mode 100644 wifi/supplicant/1.0/vts/SupplicantP2pNetwork.vts create mode 100644 wifi/supplicant/1.0/vts/SupplicantP2pNetworkCallback.vts create mode 100644 wifi/supplicant/1.0/vts/SupplicantStaIface.vts create mode 100644 wifi/supplicant/1.0/vts/SupplicantStaIfaceCallback.vts create mode 100644 wifi/supplicant/1.0/vts/SupplicantStaNetwork.vts create mode 100644 wifi/supplicant/1.0/vts/SupplicantStaNetworkCallback.vts create mode 100644 wifi/supplicant/1.0/vts/types.vts 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/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 + } + } +} +