1*4d7e907cSAndroid Build Coastguard Worker/* 2*4d7e907cSAndroid Build Coastguard Worker * Copyright 2016 The Android Open Source Project 3*4d7e907cSAndroid Build Coastguard Worker * 4*4d7e907cSAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License"); 5*4d7e907cSAndroid Build Coastguard Worker * you may not use this file except in compliance with the License. 6*4d7e907cSAndroid Build Coastguard Worker * You may obtain a copy of the License at 7*4d7e907cSAndroid Build Coastguard Worker * 8*4d7e907cSAndroid Build Coastguard Worker * http://www.apache.org/licenses/LICENSE-2.0 9*4d7e907cSAndroid Build Coastguard Worker * 10*4d7e907cSAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software 11*4d7e907cSAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS, 12*4d7e907cSAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*4d7e907cSAndroid Build Coastguard Worker * See the License for the specific language governing permissions and 14*4d7e907cSAndroid Build Coastguard Worker * limitations under the License. 15*4d7e907cSAndroid Build Coastguard Worker */ 16*4d7e907cSAndroid Build Coastguard Worker 17*4d7e907cSAndroid Build Coastguard Workerpackage [email protected]; 18*4d7e907cSAndroid Build Coastguard Worker 19*4d7e907cSAndroid Build Coastguard Workerimport ISupplicantIface; 20*4d7e907cSAndroid Build Coastguard Workerimport ISupplicantP2pIfaceCallback; 21*4d7e907cSAndroid Build Coastguard Worker 22*4d7e907cSAndroid Build Coastguard Worker/** 23*4d7e907cSAndroid Build Coastguard Worker * Interface exposed by the supplicant for each P2P mode network 24*4d7e907cSAndroid Build Coastguard Worker * interface (e.g p2p0) it controls. 25*4d7e907cSAndroid Build Coastguard Worker */ 26*4d7e907cSAndroid Build Coastguard Workerinterface ISupplicantP2pIface extends ISupplicantIface { 27*4d7e907cSAndroid Build Coastguard Worker enum WpsProvisionMethod : uint32_t { 28*4d7e907cSAndroid Build Coastguard Worker /** 29*4d7e907cSAndroid Build Coastguard Worker * Push button method. 30*4d7e907cSAndroid Build Coastguard Worker */ 31*4d7e907cSAndroid Build Coastguard Worker PBC, 32*4d7e907cSAndroid Build Coastguard Worker /** 33*4d7e907cSAndroid Build Coastguard Worker * Display pin method configuration - pin is generated and displayed on 34*4d7e907cSAndroid Build Coastguard Worker * device. 35*4d7e907cSAndroid Build Coastguard Worker */ 36*4d7e907cSAndroid Build Coastguard Worker DISPLAY, 37*4d7e907cSAndroid Build Coastguard Worker /** 38*4d7e907cSAndroid Build Coastguard Worker * Keypad pin method configuration - pin is entered on device. 39*4d7e907cSAndroid Build Coastguard Worker */ 40*4d7e907cSAndroid Build Coastguard Worker KEYPAD 41*4d7e907cSAndroid Build Coastguard Worker }; 42*4d7e907cSAndroid Build Coastguard Worker 43*4d7e907cSAndroid Build Coastguard Worker /** 44*4d7e907cSAndroid Build Coastguard Worker * Use to specify a range of frequencies. 45*4d7e907cSAndroid Build Coastguard Worker * For example: 2412-2432,2462,5000-6000, etc. 46*4d7e907cSAndroid Build Coastguard Worker */ 47*4d7e907cSAndroid Build Coastguard Worker struct FreqRange { 48*4d7e907cSAndroid Build Coastguard Worker uint32_t min; 49*4d7e907cSAndroid Build Coastguard Worker uint32_t max; 50*4d7e907cSAndroid Build Coastguard Worker }; 51*4d7e907cSAndroid Build Coastguard Worker 52*4d7e907cSAndroid Build Coastguard Worker /** 53*4d7e907cSAndroid Build Coastguard Worker * Enum describing the modes of Miracast supported 54*4d7e907cSAndroid Build Coastguard Worker * via driver commands. 55*4d7e907cSAndroid Build Coastguard Worker */ 56*4d7e907cSAndroid Build Coastguard Worker enum MiracastMode : uint8_t { 57*4d7e907cSAndroid Build Coastguard Worker DISABLED = 0, 58*4d7e907cSAndroid Build Coastguard Worker /** 59*4d7e907cSAndroid Build Coastguard Worker * Operating as source. 60*4d7e907cSAndroid Build Coastguard Worker */ 61*4d7e907cSAndroid Build Coastguard Worker SOURCE = 1, 62*4d7e907cSAndroid Build Coastguard Worker /** 63*4d7e907cSAndroid Build Coastguard Worker * Operating as sink. 64*4d7e907cSAndroid Build Coastguard Worker */ 65*4d7e907cSAndroid Build Coastguard Worker SINK = 2 66*4d7e907cSAndroid Build Coastguard Worker }; 67*4d7e907cSAndroid Build Coastguard Worker 68*4d7e907cSAndroid Build Coastguard Worker /** 69*4d7e907cSAndroid Build Coastguard Worker * Register for callbacks from this interface. 70*4d7e907cSAndroid Build Coastguard Worker * 71*4d7e907cSAndroid Build Coastguard Worker * These callbacks are invoked for events that are specific to this interface. 72*4d7e907cSAndroid Build Coastguard Worker * Registration of multiple callback objects is supported. These objects must 73*4d7e907cSAndroid Build Coastguard Worker * be automatically deleted when the corresponding client process is dead or 74*4d7e907cSAndroid Build Coastguard Worker * if this interface is removed. 75*4d7e907cSAndroid Build Coastguard Worker * 76*4d7e907cSAndroid Build Coastguard Worker * @param callback An instance of the |ISupplicantP2pIfaceCallback| HIDL 77*4d7e907cSAndroid Build Coastguard Worker * interface object. 78*4d7e907cSAndroid Build Coastguard Worker * @return status Status of the operation. 79*4d7e907cSAndroid Build Coastguard Worker * Possible status codes: 80*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.SUCCESS|, 81*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_UNKNOWN|, 82*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_IFACE_INVALID| 83*4d7e907cSAndroid Build Coastguard Worker */ 84*4d7e907cSAndroid Build Coastguard Worker registerCallback(ISupplicantP2pIfaceCallback callback) 85*4d7e907cSAndroid Build Coastguard Worker generates (SupplicantStatus status); 86*4d7e907cSAndroid Build Coastguard Worker 87*4d7e907cSAndroid Build Coastguard Worker /** 88*4d7e907cSAndroid Build Coastguard Worker * Gets the MAC address of the device. 89*4d7e907cSAndroid Build Coastguard Worker * 90*4d7e907cSAndroid Build Coastguard Worker * @return status Status of the operation. 91*4d7e907cSAndroid Build Coastguard Worker * Possible status codes: 92*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.SUCCESS|, 93*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_UNKNOWN|, 94*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_IFACE_INVALID| 95*4d7e907cSAndroid Build Coastguard Worker * @return deviceAddress MAC address of the device. 96*4d7e907cSAndroid Build Coastguard Worker */ 97*4d7e907cSAndroid Build Coastguard Worker getDeviceAddress() 98*4d7e907cSAndroid Build Coastguard Worker generates (SupplicantStatus status, MacAddress deviceAddress); 99*4d7e907cSAndroid Build Coastguard Worker 100*4d7e907cSAndroid Build Coastguard Worker /** 101*4d7e907cSAndroid Build Coastguard Worker * Set the postfix to be used for P2P SSID's. 102*4d7e907cSAndroid Build Coastguard Worker * 103*4d7e907cSAndroid Build Coastguard Worker * @param postfix String to be appended to SSID. 104*4d7e907cSAndroid Build Coastguard Worker * @return status Status of the operation. 105*4d7e907cSAndroid Build Coastguard Worker * Possible status codes: 106*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.SUCCESS|, 107*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_ARGS_INVALID|, 108*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_UNKNOWN|, 109*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_IFACE_INVALID| 110*4d7e907cSAndroid Build Coastguard Worker */ 111*4d7e907cSAndroid Build Coastguard Worker setSsidPostfix(vec<uint8_t> postfix) generates (SupplicantStatus status); 112*4d7e907cSAndroid Build Coastguard Worker 113*4d7e907cSAndroid Build Coastguard Worker /** 114*4d7e907cSAndroid Build Coastguard Worker * Set the Maximum idle time in seconds for P2P groups. 115*4d7e907cSAndroid Build Coastguard Worker * This value controls how long a P2P group is maintained after there 116*4d7e907cSAndroid Build Coastguard Worker * is no other members in the group. As a group owner, this means no 117*4d7e907cSAndroid Build Coastguard Worker * associated stations in the group. As a P2P client, this means no 118*4d7e907cSAndroid Build Coastguard Worker * group owner seen in scan results. 119*4d7e907cSAndroid Build Coastguard Worker * 120*4d7e907cSAndroid Build Coastguard Worker * @param groupIfName Group interface name to use. 121*4d7e907cSAndroid Build Coastguard Worker * @param timeoutInSec Timeout value in seconds. 122*4d7e907cSAndroid Build Coastguard Worker * @return status Status of the operation. 123*4d7e907cSAndroid Build Coastguard Worker * Possible status codes: 124*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.SUCCESS|, 125*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_UNKNOWN|, 126*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_IFACE_INVALID| 127*4d7e907cSAndroid Build Coastguard Worker */ 128*4d7e907cSAndroid Build Coastguard Worker setGroupIdle(string groupIfName, uint32_t timeoutInSec) 129*4d7e907cSAndroid Build Coastguard Worker generates (SupplicantStatus status); 130*4d7e907cSAndroid Build Coastguard Worker 131*4d7e907cSAndroid Build Coastguard Worker /** 132*4d7e907cSAndroid Build Coastguard Worker * Turn on/off power save mode for the interface. 133*4d7e907cSAndroid Build Coastguard Worker * 134*4d7e907cSAndroid Build Coastguard Worker * @param groupIfName Group interface name to use. 135*4d7e907cSAndroid Build Coastguard Worker * @param enable Indicate if power save is to be turned on/off. 136*4d7e907cSAndroid Build Coastguard Worker * @return status Status of the operation. 137*4d7e907cSAndroid Build Coastguard Worker * Possible status codes: 138*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.SUCCESS|, 139*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_UNKNOWN|, 140*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_IFACE_INVALID|, 141*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_IFACE_DISABLED| 142*4d7e907cSAndroid Build Coastguard Worker */ 143*4d7e907cSAndroid Build Coastguard Worker setPowerSave(string groupIfName, bool enable) 144*4d7e907cSAndroid Build Coastguard Worker generates (SupplicantStatus status); 145*4d7e907cSAndroid Build Coastguard Worker 146*4d7e907cSAndroid Build Coastguard Worker /** 147*4d7e907cSAndroid Build Coastguard Worker * Initiate a P2P service discovery with an optional timeout. 148*4d7e907cSAndroid Build Coastguard Worker * 149*4d7e907cSAndroid Build Coastguard Worker * @param timeoutInSec Max time to be spent is peforming discovery. 150*4d7e907cSAndroid Build Coastguard Worker * Set to 0 to indefinely continue discovery untill and explicit 151*4d7e907cSAndroid Build Coastguard Worker * |stopFind| is sent. 152*4d7e907cSAndroid Build Coastguard Worker * @return status Status of the operation. 153*4d7e907cSAndroid Build Coastguard Worker * Possible status codes: 154*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.SUCCESS|, 155*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_UNKNOWN|, 156*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_IFACE_INVALID| 157*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_IFACE_DISABLED| 158*4d7e907cSAndroid Build Coastguard Worker */ 159*4d7e907cSAndroid Build Coastguard Worker find(uint32_t timeoutInSec) generates (SupplicantStatus status); 160*4d7e907cSAndroid Build Coastguard Worker 161*4d7e907cSAndroid Build Coastguard Worker /** 162*4d7e907cSAndroid Build Coastguard Worker * Stop an ongoing P2P service discovery. 163*4d7e907cSAndroid Build Coastguard Worker * 164*4d7e907cSAndroid Build Coastguard Worker * @return status Status of the operation. 165*4d7e907cSAndroid Build Coastguard Worker * Possible status codes: 166*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.SUCCESS|, 167*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_UNKNOWN|, 168*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_IFACE_INVALID| 169*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_IFACE_DISABLED| 170*4d7e907cSAndroid Build Coastguard Worker */ 171*4d7e907cSAndroid Build Coastguard Worker stopFind() generates (SupplicantStatus status); 172*4d7e907cSAndroid Build Coastguard Worker 173*4d7e907cSAndroid Build Coastguard Worker /** 174*4d7e907cSAndroid Build Coastguard Worker * Flush P2P peer table and state. 175*4d7e907cSAndroid Build Coastguard Worker * 176*4d7e907cSAndroid Build Coastguard Worker * @return status Status of the operation. 177*4d7e907cSAndroid Build Coastguard Worker * Possible status codes: 178*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.SUCCESS|, 179*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_UNKNOWN|, 180*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_IFACE_INVALID| 181*4d7e907cSAndroid Build Coastguard Worker */ 182*4d7e907cSAndroid Build Coastguard Worker flush() generates (SupplicantStatus status); 183*4d7e907cSAndroid Build Coastguard Worker 184*4d7e907cSAndroid Build Coastguard Worker /** 185*4d7e907cSAndroid Build Coastguard Worker * Start P2P group formation with a discovered P2P peer. This includes 186*4d7e907cSAndroid Build Coastguard Worker * optional group owner negotiation, group interface setup, provisioning, 187*4d7e907cSAndroid Build Coastguard Worker * and establishing data connection. 188*4d7e907cSAndroid Build Coastguard Worker * 189*4d7e907cSAndroid Build Coastguard Worker * @param peerAddress MAC address of the device to connect to. 190*4d7e907cSAndroid Build Coastguard Worker * @method provisionMethod Provisioning method to use. 191*4d7e907cSAndroid Build Coastguard Worker * @param preSelectedPin Pin to be used, if |provisionMethod| uses one of the 192*4d7e907cSAndroid Build Coastguard Worker * preselected |PIN*| methods. 193*4d7e907cSAndroid Build Coastguard Worker * @param joinExistingGroup Indicates that this is a command to join an 194*4d7e907cSAndroid Build Coastguard Worker * existing group as a client. It skips the group owner negotiation 195*4d7e907cSAndroid Build Coastguard Worker * part. This must send a Provision Discovery Request message to the 196*4d7e907cSAndroid Build Coastguard Worker * target group owner before associating for WPS provisioning. 197*4d7e907cSAndroid Build Coastguard Worker * @param persistent Used to request a persistent group to be formed. 198*4d7e907cSAndroid Build Coastguard Worker * @param goIntent Used to override the default Intent for this group owner 199*4d7e907cSAndroid Build Coastguard Worker * negotiation (Values from 1-15). Refer to section 4.1.6 in 200*4d7e907cSAndroid Build Coastguard Worker * Wi-Fi Peer-to-Peer (P2P) Technical Specification Version 1.7. 201*4d7e907cSAndroid Build Coastguard Worker * @return status Status of the operation. 202*4d7e907cSAndroid Build Coastguard Worker * Possible status codes: 203*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.SUCCESS|, 204*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_ARGS_INVALID|, 205*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_UNKNOWN|, 206*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_IFACE_INVALID| 207*4d7e907cSAndroid Build Coastguard Worker * @return generatedPin Pin generated, if |provisionMethod| uses one of the 208*4d7e907cSAndroid Build Coastguard Worker * generated |PIN*| methods. 209*4d7e907cSAndroid Build Coastguard Worker */ 210*4d7e907cSAndroid Build Coastguard Worker connect(MacAddress peerAddress, 211*4d7e907cSAndroid Build Coastguard Worker WpsProvisionMethod provisionMethod, 212*4d7e907cSAndroid Build Coastguard Worker string preSelectedPin, 213*4d7e907cSAndroid Build Coastguard Worker bool joinExistingGroup, 214*4d7e907cSAndroid Build Coastguard Worker bool persistent, 215*4d7e907cSAndroid Build Coastguard Worker uint32_t goIntent) 216*4d7e907cSAndroid Build Coastguard Worker generates (SupplicantStatus status, string generatedPin); 217*4d7e907cSAndroid Build Coastguard Worker 218*4d7e907cSAndroid Build Coastguard Worker /** 219*4d7e907cSAndroid Build Coastguard Worker * Cancel an ongoing P2P group formation and joining-a-group related 220*4d7e907cSAndroid Build Coastguard Worker * operation. This operation unauthorizes the specific peer device (if any 221*4d7e907cSAndroid Build Coastguard Worker * had been authorized to start group formation), stops P2P find (if in 222*4d7e907cSAndroid Build Coastguard Worker * progress), stops pending operations for join-a-group, and removes the 223*4d7e907cSAndroid Build Coastguard Worker * P2P group interface (if one was used) that is in the WPS provisioning 224*4d7e907cSAndroid Build Coastguard Worker * step. If the WPS provisioning step has been completed, the group is not 225*4d7e907cSAndroid Build Coastguard Worker * terminated. 226*4d7e907cSAndroid Build Coastguard Worker * 227*4d7e907cSAndroid Build Coastguard Worker * @return status Status of the operation. 228*4d7e907cSAndroid Build Coastguard Worker * Possible status codes: 229*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.SUCCESS|, 230*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_NOT_STARTED|, 231*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_UNKNOWN|, 232*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_IFACE_INVALID| 233*4d7e907cSAndroid Build Coastguard Worker */ 234*4d7e907cSAndroid Build Coastguard Worker cancelConnect() generates (SupplicantStatus status); 235*4d7e907cSAndroid Build Coastguard Worker 236*4d7e907cSAndroid Build Coastguard Worker /** 237*4d7e907cSAndroid Build Coastguard Worker * Send P2P provision discovery request to the specified peer. The 238*4d7e907cSAndroid Build Coastguard Worker * parameters for this command are the P2P device address of the peer and the 239*4d7e907cSAndroid Build Coastguard Worker * desired configuration method. 240*4d7e907cSAndroid Build Coastguard Worker * 241*4d7e907cSAndroid Build Coastguard Worker * @param peerAddress MAC address of the device to send discovery. 242*4d7e907cSAndroid Build Coastguard Worker * @method provisionMethod Provisioning method to use. 243*4d7e907cSAndroid Build Coastguard Worker * @return status Status of the operation. 244*4d7e907cSAndroid Build Coastguard Worker * Possible status codes: 245*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.SUCCESS|, 246*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_UNKNOWN|, 247*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_IFACE_INVALID| 248*4d7e907cSAndroid Build Coastguard Worker */ 249*4d7e907cSAndroid Build Coastguard Worker provisionDiscovery(MacAddress peerAddress, 250*4d7e907cSAndroid Build Coastguard Worker WpsProvisionMethod provisionMethod) 251*4d7e907cSAndroid Build Coastguard Worker generates (SupplicantStatus status); 252*4d7e907cSAndroid Build Coastguard Worker 253*4d7e907cSAndroid Build Coastguard Worker /** 254*4d7e907cSAndroid Build Coastguard Worker * Set up a P2P group owner manually (i.e., without group owner 255*4d7e907cSAndroid Build Coastguard Worker * negotiation with a specific peer). This is also known as autonomous 256*4d7e907cSAndroid Build Coastguard Worker * group owner. Optional |persistentNetworkId| may be used to specify 257*4d7e907cSAndroid Build Coastguard Worker * restart of a persistent group. 258*4d7e907cSAndroid Build Coastguard Worker * 259*4d7e907cSAndroid Build Coastguard Worker * @param persistent Used to request a persistent group to be formed. 260*4d7e907cSAndroid Build Coastguard Worker * @param persistentNetworkId Used to specify the restart of a persistent 261*4d7e907cSAndroid Build Coastguard Worker * group. Set to UINT32_MAX for a non-persistent group. 262*4d7e907cSAndroid Build Coastguard Worker * @return status Status of the operation. 263*4d7e907cSAndroid Build Coastguard Worker * Possible status codes: 264*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.SUCCESS|, 265*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_UNKNOWN|, 266*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_IFACE_INVALID| 267*4d7e907cSAndroid Build Coastguard Worker */ 268*4d7e907cSAndroid Build Coastguard Worker addGroup(bool persistent, SupplicantNetworkId persistentNetworkId) 269*4d7e907cSAndroid Build Coastguard Worker generates (SupplicantStatus status); 270*4d7e907cSAndroid Build Coastguard Worker 271*4d7e907cSAndroid Build Coastguard Worker /** 272*4d7e907cSAndroid Build Coastguard Worker * Terminate a P2P group. If a new virtual network interface was used for 273*4d7e907cSAndroid Build Coastguard Worker * the group, it must also be removed. The network interface name of the 274*4d7e907cSAndroid Build Coastguard Worker * group interface is used as a parameter for this command. 275*4d7e907cSAndroid Build Coastguard Worker * 276*4d7e907cSAndroid Build Coastguard Worker * @param groupIfName Group interface name to use. 277*4d7e907cSAndroid Build Coastguard Worker * @return status Status of the operation. 278*4d7e907cSAndroid Build Coastguard Worker * Possible status codes: 279*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.SUCCESS|, 280*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_UNKNOWN|, 281*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_IFACE_INVALID| 282*4d7e907cSAndroid Build Coastguard Worker */ 283*4d7e907cSAndroid Build Coastguard Worker removeGroup(string groupIfName) generates (SupplicantStatus status); 284*4d7e907cSAndroid Build Coastguard Worker 285*4d7e907cSAndroid Build Coastguard Worker /** 286*4d7e907cSAndroid Build Coastguard Worker * Reject connection attempt from a peer (specified with a device 287*4d7e907cSAndroid Build Coastguard Worker * address). This is a mechanism to reject a pending group owner negotiation 288*4d7e907cSAndroid Build Coastguard Worker * with a peer and request to automatically block any further connection or 289*4d7e907cSAndroid Build Coastguard Worker * discovery of the peer. 290*4d7e907cSAndroid Build Coastguard Worker * 291*4d7e907cSAndroid Build Coastguard Worker * @param peerAddress MAC address of the device to reject. 292*4d7e907cSAndroid Build Coastguard Worker * @return status Status of the operation. 293*4d7e907cSAndroid Build Coastguard Worker * Possible status codes: 294*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.SUCCESS|, 295*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_UNKNOWN|, 296*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_IFACE_INVALID| 297*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_IFACE_DISABLED| 298*4d7e907cSAndroid Build Coastguard Worker */ 299*4d7e907cSAndroid Build Coastguard Worker reject(MacAddress peerAddress) generates (SupplicantStatus status); 300*4d7e907cSAndroid Build Coastguard Worker 301*4d7e907cSAndroid Build Coastguard Worker /** 302*4d7e907cSAndroid Build Coastguard Worker * Invite a device to a persistent group. 303*4d7e907cSAndroid Build Coastguard Worker * If the peer device is the group owner of the persistent group, the peer 304*4d7e907cSAndroid Build Coastguard Worker * parameter is not needed. Otherwise it is used to specify which 305*4d7e907cSAndroid Build Coastguard Worker * device to invite. |goDeviceAddress| parameter may be used to override 306*4d7e907cSAndroid Build Coastguard Worker * the group owner device address for Invitation Request should it not be 307*4d7e907cSAndroid Build Coastguard Worker * known for some reason (this should not be needed in most cases). 308*4d7e907cSAndroid Build Coastguard Worker * 309*4d7e907cSAndroid Build Coastguard Worker * @param groupIfName Group interface name to use. 310*4d7e907cSAndroid Build Coastguard Worker * @param goDeviceAddress MAC address of the group owner device. 311*4d7e907cSAndroid Build Coastguard Worker * @param peerAddress MAC address of the device to invite. 312*4d7e907cSAndroid Build Coastguard Worker * @return status Status of the operation. 313*4d7e907cSAndroid Build Coastguard Worker * Possible status codes: 314*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.SUCCESS|, 315*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_UNKNOWN|, 316*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_IFACE_INVALID| 317*4d7e907cSAndroid Build Coastguard Worker */ 318*4d7e907cSAndroid Build Coastguard Worker invite(string groupIfName, MacAddress goDeviceAddress, MacAddress peerAddress) 319*4d7e907cSAndroid Build Coastguard Worker generates (SupplicantStatus status); 320*4d7e907cSAndroid Build Coastguard Worker 321*4d7e907cSAndroid Build Coastguard Worker /** 322*4d7e907cSAndroid Build Coastguard Worker * Reinvoke a device from a persistent group. 323*4d7e907cSAndroid Build Coastguard Worker * 324*4d7e907cSAndroid Build Coastguard Worker * @param persistentNetworkId Used to specify the persistent group. 325*4d7e907cSAndroid Build Coastguard Worker * @param peerAddress MAC address of the device to reinvoke. 326*4d7e907cSAndroid Build Coastguard Worker * @return status Status of the operation. 327*4d7e907cSAndroid Build Coastguard Worker * Possible status codes: 328*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.SUCCESS|, 329*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_UNKNOWN|, 330*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_IFACE_INVALID| 331*4d7e907cSAndroid Build Coastguard Worker */ 332*4d7e907cSAndroid Build Coastguard Worker reinvoke(SupplicantNetworkId persistentNetworkId, MacAddress peerAddress) 333*4d7e907cSAndroid Build Coastguard Worker generates (SupplicantStatus status); 334*4d7e907cSAndroid Build Coastguard Worker 335*4d7e907cSAndroid Build Coastguard Worker /** 336*4d7e907cSAndroid Build Coastguard Worker * Configure Extended Listen Timing. 337*4d7e907cSAndroid Build Coastguard Worker * 338*4d7e907cSAndroid Build Coastguard Worker * If enabled, listen state must be entered every |intervalInMillis| for at 339*4d7e907cSAndroid Build Coastguard Worker * least |periodInMillis|. Both values have acceptable range of 1-65535 340*4d7e907cSAndroid Build Coastguard Worker * (with interval obviously having to be larger than or equal to duration). 341*4d7e907cSAndroid Build Coastguard Worker * If the P2P module is not idle at the time the Extended Listen Timing 342*4d7e907cSAndroid Build Coastguard Worker * timeout occurs, the Listen State operation must be skipped. 343*4d7e907cSAndroid Build Coastguard Worker * 344*4d7e907cSAndroid Build Coastguard Worker * @param periodInMillis Period in milliseconds. 345*4d7e907cSAndroid Build Coastguard Worker * @param intervalInMillis Interval in milliseconds. 346*4d7e907cSAndroid Build Coastguard Worker * @return status Status of the operation. 347*4d7e907cSAndroid Build Coastguard Worker * Possible status codes: 348*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.SUCCESS|, 349*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_ARGS_INVALID|, 350*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_UNKNOWN|, 351*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_IFACE_INVALID| 352*4d7e907cSAndroid Build Coastguard Worker */ 353*4d7e907cSAndroid Build Coastguard Worker configureExtListen(uint32_t periodInMillis, 354*4d7e907cSAndroid Build Coastguard Worker uint32_t intervalInMillis) 355*4d7e907cSAndroid Build Coastguard Worker generates (SupplicantStatus status); 356*4d7e907cSAndroid Build Coastguard Worker 357*4d7e907cSAndroid Build Coastguard Worker /** 358*4d7e907cSAndroid Build Coastguard Worker * Set P2P Listen channel. 359*4d7e907cSAndroid Build Coastguard Worker * 360*4d7e907cSAndroid Build Coastguard Worker * When specifying a social channel on the 2.4 GHz band (1/6/11) there is no 361*4d7e907cSAndroid Build Coastguard Worker * need to specify the operating class since it defaults to 81. When 362*4d7e907cSAndroid Build Coastguard Worker * specifying a social channel on the 60 GHz band (2), specify the 60 GHz 363*4d7e907cSAndroid Build Coastguard Worker * operating class (180). 364*4d7e907cSAndroid Build Coastguard Worker * 365*4d7e907cSAndroid Build Coastguard Worker * @param channel Wifi channel. eg, 1, 6, 11. 366*4d7e907cSAndroid Build Coastguard Worker * @param operatingClass Operating Class indicates the channel set of the AP 367*4d7e907cSAndroid Build Coastguard Worker * indicated by this BSSID 368*4d7e907cSAndroid Build Coastguard Worker * @return status Status of the operation. 369*4d7e907cSAndroid Build Coastguard Worker * Possible status codes: 370*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.SUCCESS|, 371*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_UNKNOWN|, 372*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_IFACE_INVALID| 373*4d7e907cSAndroid Build Coastguard Worker */ 374*4d7e907cSAndroid Build Coastguard Worker setListenChannel(uint32_t channel, uint32_t operatingClass) 375*4d7e907cSAndroid Build Coastguard Worker generates (SupplicantStatus status); 376*4d7e907cSAndroid Build Coastguard Worker 377*4d7e907cSAndroid Build Coastguard Worker /** 378*4d7e907cSAndroid Build Coastguard Worker * Set P2P disallowed frequency ranges. 379*4d7e907cSAndroid Build Coastguard Worker * 380*4d7e907cSAndroid Build Coastguard Worker * Specify ranges of frequencies that are disallowed for any p2p operations. 381*4d7e907cSAndroid Build Coastguard Worker 382*4d7e907cSAndroid Build Coastguard Worker * @param ranges List of ranges which needs to be disallowed. 383*4d7e907cSAndroid Build Coastguard Worker * @return status Status of the operation. 384*4d7e907cSAndroid Build Coastguard Worker * Possible status codes: 385*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.SUCCESS|, 386*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_UNKNOWN|, 387*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_IFACE_INVALID| 388*4d7e907cSAndroid Build Coastguard Worker */ 389*4d7e907cSAndroid Build Coastguard Worker setDisallowedFrequencies(vec<FreqRange> ranges) 390*4d7e907cSAndroid Build Coastguard Worker generates (SupplicantStatus status); 391*4d7e907cSAndroid Build Coastguard Worker 392*4d7e907cSAndroid Build Coastguard Worker /** 393*4d7e907cSAndroid Build Coastguard Worker * Gets the operational SSID of the device. 394*4d7e907cSAndroid Build Coastguard Worker * 395*4d7e907cSAndroid Build Coastguard Worker * @param peerAddress MAC address of the peer. 396*4d7e907cSAndroid Build Coastguard Worker * @return status Status of the operation. 397*4d7e907cSAndroid Build Coastguard Worker * Possible status codes: 398*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.SUCCESS|, 399*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_UNKNOWN|, 400*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_IFACE_INVALID| 401*4d7e907cSAndroid Build Coastguard Worker * @return ssid SSID of the device 402*4d7e907cSAndroid Build Coastguard Worker */ 403*4d7e907cSAndroid Build Coastguard Worker getSsid(MacAddress peerAddress) 404*4d7e907cSAndroid Build Coastguard Worker generates (SupplicantStatus status, Ssid ssid); 405*4d7e907cSAndroid Build Coastguard Worker 406*4d7e907cSAndroid Build Coastguard Worker /** 407*4d7e907cSAndroid Build Coastguard Worker * Gets the capability of the group which the device is a 408*4d7e907cSAndroid Build Coastguard Worker * member of. 409*4d7e907cSAndroid Build Coastguard Worker * 410*4d7e907cSAndroid Build Coastguard Worker * @param peerAddress MAC address of the peer. 411*4d7e907cSAndroid Build Coastguard Worker * @return status Status of the operation. 412*4d7e907cSAndroid Build Coastguard Worker * Possible status codes: 413*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.SUCCESS|, 414*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_UNKNOWN|, 415*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_IFACE_INVALID| 416*4d7e907cSAndroid Build Coastguard Worker * @return capabilityMask Combination of |P2pGroupCapabilityMask| values. 417*4d7e907cSAndroid Build Coastguard Worker */ 418*4d7e907cSAndroid Build Coastguard Worker getGroupCapability(MacAddress peerAddress) 419*4d7e907cSAndroid Build Coastguard Worker generates (SupplicantStatus status, 420*4d7e907cSAndroid Build Coastguard Worker bitfield<P2pGroupCapabilityMask> capabilities); 421*4d7e907cSAndroid Build Coastguard Worker 422*4d7e907cSAndroid Build Coastguard Worker /** 423*4d7e907cSAndroid Build Coastguard Worker * This command can be used to add a bonjour service. 424*4d7e907cSAndroid Build Coastguard Worker * 425*4d7e907cSAndroid Build Coastguard Worker * @param query Hex dump of the query data. 426*4d7e907cSAndroid Build Coastguard Worker * @param return Hex dump of the response data. 427*4d7e907cSAndroid Build Coastguard Worker * @return status Status of the operation. 428*4d7e907cSAndroid Build Coastguard Worker * Possible status codes: 429*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.SUCCESS|, 430*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_UNKNOWN|, 431*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_IFACE_INVALID| 432*4d7e907cSAndroid Build Coastguard Worker */ 433*4d7e907cSAndroid Build Coastguard Worker addBonjourService(vec<uint8_t> query, vec<uint8_t> response) 434*4d7e907cSAndroid Build Coastguard Worker generates (SupplicantStatus status); 435*4d7e907cSAndroid Build Coastguard Worker 436*4d7e907cSAndroid Build Coastguard Worker /** 437*4d7e907cSAndroid Build Coastguard Worker * This command can be used to remove a bonjour service. 438*4d7e907cSAndroid Build Coastguard Worker * 439*4d7e907cSAndroid Build Coastguard Worker * @param query Hex dump of the query data. 440*4d7e907cSAndroid Build Coastguard Worker * @return status Status of the operation. 441*4d7e907cSAndroid Build Coastguard Worker * Possible status codes: 442*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.SUCCESS|, 443*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_UNKNOWN|, 444*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_NOT_STARTED|, 445*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_IFACE_INVALID| 446*4d7e907cSAndroid Build Coastguard Worker */ 447*4d7e907cSAndroid Build Coastguard Worker removeBonjourService(vec<uint8_t> query) generates (SupplicantStatus status); 448*4d7e907cSAndroid Build Coastguard Worker 449*4d7e907cSAndroid Build Coastguard Worker /** 450*4d7e907cSAndroid Build Coastguard Worker * This command can be used to add a UPNP service. 451*4d7e907cSAndroid Build Coastguard Worker * 452*4d7e907cSAndroid Build Coastguard Worker * @param version Version to be used. 453*4d7e907cSAndroid Build Coastguard Worker * @package serviceName Service name to be used. 454*4d7e907cSAndroid Build Coastguard Worker * @return status Status of the operation. 455*4d7e907cSAndroid Build Coastguard Worker * Possible status codes: 456*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.SUCCESS|, 457*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_UNKNOWN|, 458*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_IFACE_INVALID| 459*4d7e907cSAndroid Build Coastguard Worker */ 460*4d7e907cSAndroid Build Coastguard Worker addUpnpService(uint32_t version, string serviceName) 461*4d7e907cSAndroid Build Coastguard Worker generates (SupplicantStatus status); 462*4d7e907cSAndroid Build Coastguard Worker 463*4d7e907cSAndroid Build Coastguard Worker /** 464*4d7e907cSAndroid Build Coastguard Worker * This command can be used to remove a UPNP service. 465*4d7e907cSAndroid Build Coastguard Worker * 466*4d7e907cSAndroid Build Coastguard Worker * @param version Version to be used. 467*4d7e907cSAndroid Build Coastguard Worker * @package serviceName Service name to be used. 468*4d7e907cSAndroid Build Coastguard Worker * @return status Status of the operation. 469*4d7e907cSAndroid Build Coastguard Worker * Possible status codes: 470*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.SUCCESS|, 471*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_UNKNOWN|, 472*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_NOT_STARTED|, 473*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_IFACE_INVALID| 474*4d7e907cSAndroid Build Coastguard Worker */ 475*4d7e907cSAndroid Build Coastguard Worker removeUpnpService(uint32_t version, string serviceName) 476*4d7e907cSAndroid Build Coastguard Worker generates (SupplicantStatus status); 477*4d7e907cSAndroid Build Coastguard Worker 478*4d7e907cSAndroid Build Coastguard Worker /** 479*4d7e907cSAndroid Build Coastguard Worker * This command can be used to flush all services from the 480*4d7e907cSAndroid Build Coastguard Worker * device. 481*4d7e907cSAndroid Build Coastguard Worker * 482*4d7e907cSAndroid Build Coastguard Worker * @return status Status of the operation. 483*4d7e907cSAndroid Build Coastguard Worker * Possible status codes: 484*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.SUCCESS|, 485*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_UNKNOWN|, 486*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_IFACE_INVALID| 487*4d7e907cSAndroid Build Coastguard Worker */ 488*4d7e907cSAndroid Build Coastguard Worker flushServices() generates (SupplicantStatus status); 489*4d7e907cSAndroid Build Coastguard Worker 490*4d7e907cSAndroid Build Coastguard Worker /** 491*4d7e907cSAndroid Build Coastguard Worker * Schedule a P2P service discovery request. The parameters for this command 492*4d7e907cSAndroid Build Coastguard Worker * are the device address of the peer device (or 00:00:00:00:00:00 for 493*4d7e907cSAndroid Build Coastguard Worker * wildcard query that is sent to every discovered P2P peer that supports 494*4d7e907cSAndroid Build Coastguard Worker * service discovery) and P2P Service Query TLV(s) as hexdump. 495*4d7e907cSAndroid Build Coastguard Worker * 496*4d7e907cSAndroid Build Coastguard Worker * @param peerAddress MAC address of the device to discover. 497*4d7e907cSAndroid Build Coastguard Worker * @param query Hex dump of the query data. 498*4d7e907cSAndroid Build Coastguard Worker * @return status Status of the operation. 499*4d7e907cSAndroid Build Coastguard Worker * Possible status codes: 500*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.SUCCESS|, 501*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_UNKNOWN|, 502*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_IFACE_INVALID| 503*4d7e907cSAndroid Build Coastguard Worker * @return identifier Identifier for the request. Can be used to cancel the 504*4d7e907cSAndroid Build Coastguard Worker * request. 505*4d7e907cSAndroid Build Coastguard Worker */ 506*4d7e907cSAndroid Build Coastguard Worker requestServiceDiscovery(MacAddress peerAddress, vec<uint8_t> query) 507*4d7e907cSAndroid Build Coastguard Worker generates (SupplicantStatus status, uint64_t identifier); 508*4d7e907cSAndroid Build Coastguard Worker 509*4d7e907cSAndroid Build Coastguard Worker /** 510*4d7e907cSAndroid Build Coastguard Worker * Cancel a previous service discovery request. 511*4d7e907cSAndroid Build Coastguard Worker * 512*4d7e907cSAndroid Build Coastguard Worker * @return identifier Identifier for the request to cancel. 513*4d7e907cSAndroid Build Coastguard Worker * @return status Status of the operation. 514*4d7e907cSAndroid Build Coastguard Worker * Possible status codes: 515*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.SUCCESS|, 516*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_NOT_STARTED|, 517*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_UNKNOWN|, 518*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_IFACE_INVALID| 519*4d7e907cSAndroid Build Coastguard Worker */ 520*4d7e907cSAndroid Build Coastguard Worker cancelServiceDiscovery(uint64_t identifier) 521*4d7e907cSAndroid Build Coastguard Worker generates (SupplicantStatus status); 522*4d7e907cSAndroid Build Coastguard Worker 523*4d7e907cSAndroid Build Coastguard Worker /** 524*4d7e907cSAndroid Build Coastguard Worker * Send driver command to set Miracast mode. 525*4d7e907cSAndroid Build Coastguard Worker * 526*4d7e907cSAndroid Build Coastguard Worker * @param mode Mode of Miracast. 527*4d7e907cSAndroid Build Coastguard Worker * @return status Status of the operation. 528*4d7e907cSAndroid Build Coastguard Worker * Possible status codes: 529*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.SUCCESS|, 530*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_UNKNOWN|, 531*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_IFACE_INVALID| 532*4d7e907cSAndroid Build Coastguard Worker */ 533*4d7e907cSAndroid Build Coastguard Worker setMiracastMode(MiracastMode mode) 534*4d7e907cSAndroid Build Coastguard Worker generates (SupplicantStatus status); 535*4d7e907cSAndroid Build Coastguard Worker 536*4d7e907cSAndroid Build Coastguard Worker /** 537*4d7e907cSAndroid Build Coastguard Worker * Initiate WPS Push Button setup. 538*4d7e907cSAndroid Build Coastguard Worker * The PBC operation requires that a button is also pressed at the 539*4d7e907cSAndroid Build Coastguard Worker * AP/Registrar at about the same time (2 minute window). 540*4d7e907cSAndroid Build Coastguard Worker * 541*4d7e907cSAndroid Build Coastguard Worker * @param groupIfName Group interface name to use. 542*4d7e907cSAndroid Build Coastguard Worker * @param bssid BSSID of the AP. Use zero'ed bssid to indicate wildcard. 543*4d7e907cSAndroid Build Coastguard Worker * @return status Status of the operation. 544*4d7e907cSAndroid Build Coastguard Worker * Possible status codes: 545*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.SUCCESS|, 546*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_UNKNOWN|, 547*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_IFACE_INVALID| 548*4d7e907cSAndroid Build Coastguard Worker */ 549*4d7e907cSAndroid Build Coastguard Worker startWpsPbc(string groupIfName, Bssid bssid) 550*4d7e907cSAndroid Build Coastguard Worker generates (SupplicantStatus status); 551*4d7e907cSAndroid Build Coastguard Worker 552*4d7e907cSAndroid Build Coastguard Worker /** 553*4d7e907cSAndroid Build Coastguard Worker * Initiate WPS Pin Keypad setup. 554*4d7e907cSAndroid Build Coastguard Worker * 555*4d7e907cSAndroid Build Coastguard Worker * @param groupIfName Group interface name to use. 556*4d7e907cSAndroid Build Coastguard Worker * @param pin 8 digit pin to be used. 557*4d7e907cSAndroid Build Coastguard Worker * @return status Status of the operation. 558*4d7e907cSAndroid Build Coastguard Worker * Possible status codes: 559*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.SUCCESS|, 560*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_UNKNOWN|, 561*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_IFACE_INVALID| 562*4d7e907cSAndroid Build Coastguard Worker */ 563*4d7e907cSAndroid Build Coastguard Worker startWpsPinKeypad(string groupIfName, string pin) 564*4d7e907cSAndroid Build Coastguard Worker generates (SupplicantStatus status); 565*4d7e907cSAndroid Build Coastguard Worker 566*4d7e907cSAndroid Build Coastguard Worker /** 567*4d7e907cSAndroid Build Coastguard Worker * Initiate WPS Pin Display setup. 568*4d7e907cSAndroid Build Coastguard Worker * 569*4d7e907cSAndroid Build Coastguard Worker * @param groupIfName Group interface name to use. 570*4d7e907cSAndroid Build Coastguard Worker * @param bssid BSSID of the AP. Use zero'ed bssid to indicate wildcard. 571*4d7e907cSAndroid Build Coastguard Worker * @return status Status of the operation. 572*4d7e907cSAndroid Build Coastguard Worker * Possible status codes: 573*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.SUCCESS|, 574*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_UNKNOWN|, 575*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_IFACE_INVALID| 576*4d7e907cSAndroid Build Coastguard Worker * @return generatedPin 8 digit pin generated. 577*4d7e907cSAndroid Build Coastguard Worker */ 578*4d7e907cSAndroid Build Coastguard Worker startWpsPinDisplay(string groupIfName, Bssid bssid) 579*4d7e907cSAndroid Build Coastguard Worker generates (SupplicantStatus status, string generatedPin); 580*4d7e907cSAndroid Build Coastguard Worker 581*4d7e907cSAndroid Build Coastguard Worker /** 582*4d7e907cSAndroid Build Coastguard Worker * Cancel any ongoing WPS operations. 583*4d7e907cSAndroid Build Coastguard Worker * 584*4d7e907cSAndroid Build Coastguard Worker * @param groupIfName Group interface name to use. 585*4d7e907cSAndroid Build Coastguard Worker * @return status Status of the operation. 586*4d7e907cSAndroid Build Coastguard Worker * Possible status codes: 587*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.SUCCESS|, 588*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_UNKNOWN|, 589*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_IFACE_INVALID| 590*4d7e907cSAndroid Build Coastguard Worker 591*4d7e907cSAndroid Build Coastguard Worker */ 592*4d7e907cSAndroid Build Coastguard Worker cancelWps(string groupIfName) generates (SupplicantStatus status); 593*4d7e907cSAndroid Build Coastguard Worker 594*4d7e907cSAndroid Build Coastguard Worker /** 595*4d7e907cSAndroid Build Coastguard Worker * Enable/Disable Wifi Display. 596*4d7e907cSAndroid Build Coastguard Worker * 597*4d7e907cSAndroid Build Coastguard Worker * @param enable true to enable, false to disable. 598*4d7e907cSAndroid Build Coastguard Worker * @return status Status of the operation. 599*4d7e907cSAndroid Build Coastguard Worker * Possible status codes: 600*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.SUCCESS|, 601*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_UNKNOWN|, 602*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_IFACE_INVALID| 603*4d7e907cSAndroid Build Coastguard Worker */ 604*4d7e907cSAndroid Build Coastguard Worker enableWfd(bool enable) generates (SupplicantStatus status); 605*4d7e907cSAndroid Build Coastguard Worker 606*4d7e907cSAndroid Build Coastguard Worker /** 607*4d7e907cSAndroid Build Coastguard Worker * Set Wifi Display device info. 608*4d7e907cSAndroid Build Coastguard Worker * 609*4d7e907cSAndroid Build Coastguard Worker * @param info WFD device info as described in section 5.1.2 of WFD technical 610*4d7e907cSAndroid Build Coastguard Worker * specification v1.0.0. 611*4d7e907cSAndroid Build Coastguard Worker * @return status Status of the operation. 612*4d7e907cSAndroid Build Coastguard Worker * Possible status codes: 613*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.SUCCESS|, 614*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_UNKNOWN|, 615*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_IFACE_INVALID| 616*4d7e907cSAndroid Build Coastguard Worker */ 617*4d7e907cSAndroid Build Coastguard Worker setWfdDeviceInfo(uint8_t[6] info) generates (SupplicantStatus status); 618*4d7e907cSAndroid Build Coastguard Worker 619*4d7e907cSAndroid Build Coastguard Worker /** 620*4d7e907cSAndroid Build Coastguard Worker * Creates a NFC handover request message. 621*4d7e907cSAndroid Build Coastguard Worker * 622*4d7e907cSAndroid Build Coastguard Worker * @return status Status of the operation. 623*4d7e907cSAndroid Build Coastguard Worker * Possible status codes: 624*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.SUCCESS|, 625*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_UNKNOWN|, 626*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_IFACE_INVALID| 627*4d7e907cSAndroid Build Coastguard Worker * @return request Bytes representing the handover request as specified in 628*4d7e907cSAndroid Build Coastguard Worker * section 3.1.1 of NFC Connection Handover 1.2 Technical 629*4d7e907cSAndroid Build Coastguard Worker * Specification. 630*4d7e907cSAndroid Build Coastguard Worker */ 631*4d7e907cSAndroid Build Coastguard Worker createNfcHandoverRequestMessage() 632*4d7e907cSAndroid Build Coastguard Worker generates (SupplicantStatus status, vec<uint8_t> request); 633*4d7e907cSAndroid Build Coastguard Worker 634*4d7e907cSAndroid Build Coastguard Worker /** 635*4d7e907cSAndroid Build Coastguard Worker * Creates a NFC handover select message. 636*4d7e907cSAndroid Build Coastguard Worker * 637*4d7e907cSAndroid Build Coastguard Worker * @return status Status of the operation. 638*4d7e907cSAndroid Build Coastguard Worker * Possible status codes: 639*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.SUCCESS|, 640*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_UNKNOWN|, 641*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_IFACE_INVALID| 642*4d7e907cSAndroid Build Coastguard Worker * @return select Bytes representing the handover select as specified in 643*4d7e907cSAndroid Build Coastguard Worker * section 3.1.2 of NFC Connection Handover 1.2 Technical 644*4d7e907cSAndroid Build Coastguard Worker * Specification. 645*4d7e907cSAndroid Build Coastguard Worker */ 646*4d7e907cSAndroid Build Coastguard Worker createNfcHandoverSelectMessage() 647*4d7e907cSAndroid Build Coastguard Worker generates (SupplicantStatus status, vec<uint8_t> select); 648*4d7e907cSAndroid Build Coastguard Worker 649*4d7e907cSAndroid Build Coastguard Worker /** 650*4d7e907cSAndroid Build Coastguard Worker * Report the response of the NFC handover request. 651*4d7e907cSAndroid Build Coastguard Worker * 652*4d7e907cSAndroid Build Coastguard Worker * @param request Bytes representing the handover request as specified in 653*4d7e907cSAndroid Build Coastguard Worker * section 3.1.1 of NFC Connection Handover 1.2 Technical 654*4d7e907cSAndroid Build Coastguard Worker * Specification. 655*4d7e907cSAndroid Build Coastguard Worker * @return status Status of the operation. 656*4d7e907cSAndroid Build Coastguard Worker * Possible status codes: 657*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.SUCCESS|, 658*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_UNKNOWN|, 659*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_IFACE_INVALID| 660*4d7e907cSAndroid Build Coastguard Worker */ 661*4d7e907cSAndroid Build Coastguard Worker reportNfcHandoverResponse(vec<uint8_t> request) 662*4d7e907cSAndroid Build Coastguard Worker generates (SupplicantStatus status); 663*4d7e907cSAndroid Build Coastguard Worker 664*4d7e907cSAndroid Build Coastguard Worker /** 665*4d7e907cSAndroid Build Coastguard Worker * Report the initiation of the NFC handover select. 666*4d7e907cSAndroid Build Coastguard Worker * 667*4d7e907cSAndroid Build Coastguard Worker * @param select Bytes representing the handover select as specified in 668*4d7e907cSAndroid Build Coastguard Worker * section 3.1.2 of NFC Connection Handover 1.2 Technical 669*4d7e907cSAndroid Build Coastguard Worker * Specification. 670*4d7e907cSAndroid Build Coastguard Worker * @return status Status of the operation. 671*4d7e907cSAndroid Build Coastguard Worker * Possible status codes: 672*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.SUCCESS|, 673*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_UNKNOWN|, 674*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_IFACE_INVALID| 675*4d7e907cSAndroid Build Coastguard Worker */ 676*4d7e907cSAndroid Build Coastguard Worker reportNfcHandoverInitiation(vec<uint8_t> select) 677*4d7e907cSAndroid Build Coastguard Worker generates (SupplicantStatus status); 678*4d7e907cSAndroid Build Coastguard Worker 679*4d7e907cSAndroid Build Coastguard Worker /** 680*4d7e907cSAndroid Build Coastguard Worker * Persist the current configuration to disk. 681*4d7e907cSAndroid Build Coastguard Worker * 682*4d7e907cSAndroid Build Coastguard Worker * @return status Status of the operation. 683*4d7e907cSAndroid Build Coastguard Worker * Possible status codes: 684*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.SUCCESS|, 685*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_UNKNOWN|, 686*4d7e907cSAndroid Build Coastguard Worker * |SupplicantStatusCode.FAILURE_IFACE_INVALID| 687*4d7e907cSAndroid Build Coastguard Worker */ 688*4d7e907cSAndroid Build Coastguard Worker saveConfig() generates (SupplicantStatus status); 689*4d7e907cSAndroid Build Coastguard Worker}; 690