You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
689 lines
26 KiB
689 lines
26 KiB
/* |
|
* Copyright 2016 The Android Open Source Project |
|
* |
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
|
* you may not use this file except in compliance with the License. |
|
* You may obtain a copy of the License at |
|
* |
|
* http://www.apache.org/licenses/LICENSE-2.0 |
|
* |
|
* Unless required by applicable law or agreed to in writing, software |
|
* distributed under the License is distributed on an "AS IS" BASIS, |
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
* See the License for the specific language governing permissions and |
|
* limitations under the License. |
|
*/ |
|
|
|
package android.hardware.wifi.supplicant@1.0; |
|
|
|
import ISupplicantIface; |
|
import ISupplicantP2pIfaceCallback; |
|
|
|
/** |
|
* Interface exposed by the supplicant for each P2P mode network |
|
* interface (e.g p2p0) it controls. |
|
*/ |
|
interface ISupplicantP2pIface extends ISupplicantIface { |
|
enum WpsProvisionMethod : uint32_t { |
|
/** |
|
* Push button method. |
|
*/ |
|
PBC, |
|
/** |
|
* Display pin method configuration - pin is generated and displayed on |
|
* device. |
|
*/ |
|
DISPLAY, |
|
/** |
|
* Keypad pin method configuration - pin is entered on device. |
|
*/ |
|
KEYPAD |
|
}; |
|
|
|
/** |
|
* Use to specify a range of frequencies. |
|
* For example: 2412-2432,2462,5000-6000, etc. |
|
*/ |
|
struct FreqRange { |
|
uint32_t min; |
|
uint32_t max; |
|
}; |
|
|
|
/** |
|
* Enum describing the modes of Miracast supported |
|
* via driver commands. |
|
*/ |
|
enum MiracastMode : uint8_t { |
|
DISABLED = 0, |
|
/** |
|
* Operating as source. |
|
*/ |
|
SOURCE = 1, |
|
/** |
|
* Operating as sink. |
|
*/ |
|
SINK = 2 |
|
}; |
|
|
|
/** |
|
* Register for callbacks from this interface. |
|
* |
|
* These callbacks are invoked for events that are specific to this interface. |
|
* Registration of multiple callback objects is supported. These objects must |
|
* be automatically deleted when the corresponding client process is dead or |
|
* if this interface is removed. |
|
* |
|
* @param callback An instance of the |ISupplicantP2pIfaceCallback| HIDL |
|
* interface object. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_IFACE_INVALID| |
|
*/ |
|
registerCallback(ISupplicantP2pIfaceCallback callback) |
|
generates (SupplicantStatus status); |
|
|
|
/** |
|
* Gets the MAC address of the device. |
|
* |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_IFACE_INVALID| |
|
* @return deviceAddress MAC address of the device. |
|
*/ |
|
getDeviceAddress() |
|
generates (SupplicantStatus status, MacAddress deviceAddress); |
|
|
|
/** |
|
* Set the postfix to be used for P2P SSID's. |
|
* |
|
* @param postfix String to be appended to SSID. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_IFACE_INVALID| |
|
*/ |
|
setSsidPostfix(vec<uint8_t> postfix) generates (SupplicantStatus status); |
|
|
|
/** |
|
* Set the Maximum idle time in seconds for P2P groups. |
|
* This value controls how long a P2P group is maintained after there |
|
* is no other members in the group. As a group owner, this means no |
|
* associated stations in the group. As a P2P client, this means no |
|
* group owner seen in scan results. |
|
* |
|
* @param groupIfName Group interface name to use. |
|
* @param timeoutInSec Timeout value in seconds. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_IFACE_INVALID| |
|
*/ |
|
setGroupIdle(string groupIfName, uint32_t timeoutInSec) |
|
generates (SupplicantStatus status); |
|
|
|
/** |
|
* Turn on/off power save mode for the interface. |
|
* |
|
* @param groupIfName Group interface name to use. |
|
* @param enable Indicate if power save is to be turned on/off. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_IFACE_INVALID|, |
|
* |SupplicantStatusCode.FAILURE_IFACE_DISABLED| |
|
*/ |
|
setPowerSave(string groupIfName, bool enable) |
|
generates (SupplicantStatus status); |
|
|
|
/** |
|
* Initiate a P2P service discovery with an optional timeout. |
|
* |
|
* @param timeoutInSec Max time to be spent is peforming discovery. |
|
* Set to 0 to indefinely continue discovery untill and explicit |
|
* |stopFind| is sent. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_IFACE_INVALID| |
|
* |SupplicantStatusCode.FAILURE_IFACE_DISABLED| |
|
*/ |
|
find(uint32_t timeoutInSec) generates (SupplicantStatus status); |
|
|
|
/** |
|
* Stop an ongoing P2P service discovery. |
|
* |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_IFACE_INVALID| |
|
* |SupplicantStatusCode.FAILURE_IFACE_DISABLED| |
|
*/ |
|
stopFind() generates (SupplicantStatus status); |
|
|
|
/** |
|
* Flush P2P peer table and state. |
|
* |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_IFACE_INVALID| |
|
*/ |
|
flush() generates (SupplicantStatus status); |
|
|
|
/** |
|
* Start P2P group formation with a discovered P2P peer. This includes |
|
* optional group owner negotiation, group interface setup, provisioning, |
|
* and establishing data connection. |
|
* |
|
* @param peerAddress MAC address of the device to connect to. |
|
* @method provisionMethod Provisioning method to use. |
|
* @param preSelectedPin Pin to be used, if |provisionMethod| uses one of the |
|
* preselected |PIN*| methods. |
|
* @param joinExistingGroup Indicates that this is a command to join an |
|
* existing group as a client. It skips the group owner negotiation |
|
* part. This must send a Provision Discovery Request message to the |
|
* target group owner before associating for WPS provisioning. |
|
* @param persistent Used to request a persistent group to be formed. |
|
* @param goIntent Used to override the default Intent for this group owner |
|
* negotiation (Values from 1-15). Refer to section 4.1.6 in |
|
* Wi-Fi Peer-to-Peer (P2P) Technical Specification Version 1.7. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_IFACE_INVALID| |
|
* @return generatedPin Pin generated, if |provisionMethod| uses one of the |
|
* generated |PIN*| methods. |
|
*/ |
|
connect(MacAddress peerAddress, |
|
WpsProvisionMethod provisionMethod, |
|
string preSelectedPin, |
|
bool joinExistingGroup, |
|
bool persistent, |
|
uint32_t goIntent) |
|
generates (SupplicantStatus status, string generatedPin); |
|
|
|
/** |
|
* Cancel an ongoing P2P group formation and joining-a-group related |
|
* operation. This operation unauthorizes the specific peer device (if any |
|
* had been authorized to start group formation), stops P2P find (if in |
|
* progress), stops pending operations for join-a-group, and removes the |
|
* P2P group interface (if one was used) that is in the WPS provisioning |
|
* step. If the WPS provisioning step has been completed, the group is not |
|
* terminated. |
|
* |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_NOT_STARTED|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_IFACE_INVALID| |
|
*/ |
|
cancelConnect() generates (SupplicantStatus status); |
|
|
|
/** |
|
* Send P2P provision discovery request to the specified peer. The |
|
* parameters for this command are the P2P device address of the peer and the |
|
* desired configuration method. |
|
* |
|
* @param peerAddress MAC address of the device to send discovery. |
|
* @method provisionMethod Provisioning method to use. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_IFACE_INVALID| |
|
*/ |
|
provisionDiscovery(MacAddress peerAddress, |
|
WpsProvisionMethod provisionMethod) |
|
generates (SupplicantStatus status); |
|
|
|
/** |
|
* Set up a P2P group owner manually (i.e., without group owner |
|
* negotiation with a specific peer). This is also known as autonomous |
|
* group owner. Optional |persistentNetworkId| may be used to specify |
|
* restart of a persistent group. |
|
* |
|
* @param persistent Used to request a persistent group to be formed. |
|
* @param persistentNetworkId Used to specify the restart of a persistent |
|
* group. Set to UINT32_MAX for a non-persistent group. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_IFACE_INVALID| |
|
*/ |
|
addGroup(bool persistent, SupplicantNetworkId persistentNetworkId) |
|
generates (SupplicantStatus status); |
|
|
|
/** |
|
* Terminate a P2P group. If a new virtual network interface was used for |
|
* the group, it must also be removed. The network interface name of the |
|
* group interface is used as a parameter for this command. |
|
* |
|
* @param groupIfName Group interface name to use. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_IFACE_INVALID| |
|
*/ |
|
removeGroup(string groupIfName) generates (SupplicantStatus status); |
|
|
|
/** |
|
* Reject connection attempt from a peer (specified with a device |
|
* address). This is a mechanism to reject a pending group owner negotiation |
|
* with a peer and request to automatically block any further connection or |
|
* discovery of the peer. |
|
* |
|
* @param peerAddress MAC address of the device to reject. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_IFACE_INVALID| |
|
* |SupplicantStatusCode.FAILURE_IFACE_DISABLED| |
|
*/ |
|
reject(MacAddress peerAddress) generates (SupplicantStatus status); |
|
|
|
/** |
|
* Invite a device to a persistent group. |
|
* If the peer device is the group owner of the persistent group, the peer |
|
* parameter is not needed. Otherwise it is used to specify which |
|
* device to invite. |goDeviceAddress| parameter may be used to override |
|
* the group owner device address for Invitation Request should it not be |
|
* known for some reason (this should not be needed in most cases). |
|
* |
|
* @param groupIfName Group interface name to use. |
|
* @param goDeviceAddress MAC address of the group owner device. |
|
* @param peerAddress MAC address of the device to invite. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_IFACE_INVALID| |
|
*/ |
|
invite(string groupIfName, MacAddress goDeviceAddress, MacAddress peerAddress) |
|
generates (SupplicantStatus status); |
|
|
|
/** |
|
* Reinvoke a device from a persistent group. |
|
* |
|
* @param persistentNetworkId Used to specify the persistent group. |
|
* @param peerAddress MAC address of the device to reinvoke. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_IFACE_INVALID| |
|
*/ |
|
reinvoke(SupplicantNetworkId persistentNetworkId, MacAddress peerAddress) |
|
generates (SupplicantStatus status); |
|
|
|
/** |
|
* Configure Extended Listen Timing. |
|
* |
|
* If enabled, listen state must be entered every |intervalInMillis| for at |
|
* least |periodInMillis|. Both values have acceptable range of 1-65535 |
|
* (with interval obviously having to be larger than or equal to duration). |
|
* If the P2P module is not idle at the time the Extended Listen Timing |
|
* timeout occurs, the Listen State operation must be skipped. |
|
* |
|
* @param periodInMillis Period in milliseconds. |
|
* @param intervalInMillis Interval in milliseconds. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_IFACE_INVALID| |
|
*/ |
|
configureExtListen(uint32_t periodInMillis, |
|
uint32_t intervalInMillis) |
|
generates (SupplicantStatus status); |
|
|
|
/** |
|
* Set P2P Listen channel. |
|
* |
|
* When specifying a social channel on the 2.4 GHz band (1/6/11) there is no |
|
* need to specify the operating class since it defaults to 81. When |
|
* specifying a social channel on the 60 GHz band (2), specify the 60 GHz |
|
* operating class (180). |
|
* |
|
* @param channel Wifi channel. eg, 1, 6, 11. |
|
* @param operatingClass Operating Class indicates the channel set of the AP |
|
* indicated by this BSSID |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_IFACE_INVALID| |
|
*/ |
|
setListenChannel(uint32_t channel, uint32_t operatingClass) |
|
generates (SupplicantStatus status); |
|
|
|
/** |
|
* Set P2P disallowed frequency ranges. |
|
* |
|
* Specify ranges of frequencies that are disallowed for any p2p operations. |
|
|
|
* @param ranges List of ranges which needs to be disallowed. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_IFACE_INVALID| |
|
*/ |
|
setDisallowedFrequencies(vec<FreqRange> ranges) |
|
generates (SupplicantStatus status); |
|
|
|
/** |
|
* Gets the operational SSID of the device. |
|
* |
|
* @param peerAddress MAC address of the peer. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_IFACE_INVALID| |
|
* @return ssid SSID of the device |
|
*/ |
|
getSsid(MacAddress peerAddress) |
|
generates (SupplicantStatus status, Ssid ssid); |
|
|
|
/** |
|
* Gets the capability of the group which the device is a |
|
* member of. |
|
* |
|
* @param peerAddress MAC address of the peer. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_IFACE_INVALID| |
|
* @return capabilityMask Combination of |P2pGroupCapabilityMask| values. |
|
*/ |
|
getGroupCapability(MacAddress peerAddress) |
|
generates (SupplicantStatus status, |
|
bitfield<P2pGroupCapabilityMask> capabilities); |
|
|
|
/** |
|
* This command can be used to add a bonjour service. |
|
* |
|
* @param query Hex dump of the query data. |
|
* @param return Hex dump of the response data. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_IFACE_INVALID| |
|
*/ |
|
addBonjourService(vec<uint8_t> query, vec<uint8_t> response) |
|
generates (SupplicantStatus status); |
|
|
|
/** |
|
* This command can be used to remove a bonjour service. |
|
* |
|
* @param query Hex dump of the query data. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NOT_STARTED|, |
|
* |SupplicantStatusCode.FAILURE_IFACE_INVALID| |
|
*/ |
|
removeBonjourService(vec<uint8_t> query) generates (SupplicantStatus status); |
|
|
|
/** |
|
* This command can be used to add a UPNP service. |
|
* |
|
* @param version Version to be used. |
|
* @package serviceName Service name to be used. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_IFACE_INVALID| |
|
*/ |
|
addUpnpService(uint32_t version, string serviceName) |
|
generates (SupplicantStatus status); |
|
|
|
/** |
|
* This command can be used to remove a UPNP service. |
|
* |
|
* @param version Version to be used. |
|
* @package serviceName Service name to be used. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NOT_STARTED|, |
|
* |SupplicantStatusCode.FAILURE_IFACE_INVALID| |
|
*/ |
|
removeUpnpService(uint32_t version, string serviceName) |
|
generates (SupplicantStatus status); |
|
|
|
/** |
|
* This command can be used to flush all services from the |
|
* device. |
|
* |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_IFACE_INVALID| |
|
*/ |
|
flushServices() generates (SupplicantStatus status); |
|
|
|
/** |
|
* Schedule a P2P service discovery request. The parameters for this command |
|
* are the device address of the peer device (or 00:00:00:00:00:00 for |
|
* wildcard query that is sent to every discovered P2P peer that supports |
|
* service discovery) and P2P Service Query TLV(s) as hexdump. |
|
* |
|
* @param peerAddress MAC address of the device to discover. |
|
* @param query Hex dump of the query data. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_IFACE_INVALID| |
|
* @return identifier Identifier for the request. Can be used to cancel the |
|
* request. |
|
*/ |
|
requestServiceDiscovery(MacAddress peerAddress, vec<uint8_t> query) |
|
generates (SupplicantStatus status, uint64_t identifier); |
|
|
|
/** |
|
* Cancel a previous service discovery request. |
|
* |
|
* @return identifier Identifier for the request to cancel. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_NOT_STARTED|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_IFACE_INVALID| |
|
*/ |
|
cancelServiceDiscovery(uint64_t identifier) |
|
generates (SupplicantStatus status); |
|
|
|
/** |
|
* Send driver command to set Miracast mode. |
|
* |
|
* @param mode Mode of Miracast. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_IFACE_INVALID| |
|
*/ |
|
setMiracastMode(MiracastMode mode) |
|
generates (SupplicantStatus status); |
|
|
|
/** |
|
* Initiate WPS Push Button setup. |
|
* The PBC operation requires that a button is also pressed at the |
|
* AP/Registrar at about the same time (2 minute window). |
|
* |
|
* @param groupIfName Group interface name to use. |
|
* @param bssid BSSID of the AP. Use zero'ed bssid to indicate wildcard. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_IFACE_INVALID| |
|
*/ |
|
startWpsPbc(string groupIfName, Bssid bssid) |
|
generates (SupplicantStatus status); |
|
|
|
/** |
|
* Initiate WPS Pin Keypad setup. |
|
* |
|
* @param groupIfName Group interface name to use. |
|
* @param pin 8 digit pin to be used. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_IFACE_INVALID| |
|
*/ |
|
startWpsPinKeypad(string groupIfName, string pin) |
|
generates (SupplicantStatus status); |
|
|
|
/** |
|
* Initiate WPS Pin Display setup. |
|
* |
|
* @param groupIfName Group interface name to use. |
|
* @param bssid BSSID of the AP. Use zero'ed bssid to indicate wildcard. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_IFACE_INVALID| |
|
* @return generatedPin 8 digit pin generated. |
|
*/ |
|
startWpsPinDisplay(string groupIfName, Bssid bssid) |
|
generates (SupplicantStatus status, string generatedPin); |
|
|
|
/** |
|
* Cancel any ongoing WPS operations. |
|
* |
|
* @param groupIfName Group interface name to use. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |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[6] info) generates (SupplicantStatus status); |
|
|
|
/** |
|
* Creates a NFC handover request message. |
|
* |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_IFACE_INVALID| |
|
* @return request Bytes representing the handover request as specified in |
|
* section 3.1.1 of NFC Connection Handover 1.2 Technical |
|
* Specification. |
|
*/ |
|
createNfcHandoverRequestMessage() |
|
generates (SupplicantStatus status, vec<uint8_t> request); |
|
|
|
/** |
|
* Creates a NFC handover select message. |
|
* |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_IFACE_INVALID| |
|
* @return select Bytes representing the handover select as specified in |
|
* section 3.1.2 of NFC Connection Handover 1.2 Technical |
|
* Specification. |
|
*/ |
|
createNfcHandoverSelectMessage() |
|
generates (SupplicantStatus status, vec<uint8_t> select); |
|
|
|
/** |
|
* Report the response of the NFC handover request. |
|
* |
|
* @param request Bytes representing the handover request as specified in |
|
* section 3.1.1 of NFC Connection Handover 1.2 Technical |
|
* Specification. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_IFACE_INVALID| |
|
*/ |
|
reportNfcHandoverResponse(vec<uint8_t> request) |
|
generates (SupplicantStatus status); |
|
|
|
/** |
|
* Report the initiation of the NFC handover select. |
|
* |
|
* @param select Bytes representing the handover select as specified in |
|
* section 3.1.2 of NFC Connection Handover 1.2 Technical |
|
* Specification. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_IFACE_INVALID| |
|
*/ |
|
reportNfcHandoverInitiation(vec<uint8_t> select) |
|
generates (SupplicantStatus status); |
|
|
|
/** |
|
* Persist the current configuration to disk. |
|
* |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_IFACE_INVALID| |
|
*/ |
|
saveConfig() generates (SupplicantStatus status); |
|
};
|
|
|