2 * WPA Supplicant - binder interface for wpa_supplicant daemon
3 * Copyright (c) 2004-2016, Jouni Malinen <j@w1.fi>
4 * Copyright (c) 2004-2016, Roshan Pius <rpius@google.com>
6 * This software may be distributed under the terms of the BSD license.
7 * See README for more details.
10 package fi.w1.wpa_supplicant;
12 import android.os.PersistableBundle;
13 import fi.w1.wpa_supplicant.IIface;
16 * Interface exposed by the wpa_supplicant binder service registered
17 * with the service manager with name: fi.w1.wpa_supplicant.
19 interface ISupplicant {
20 /* Error values returned by the service to RPC method calls. */
21 const int ERROR_INVALID_ARGS = 1;
22 const int ERROR_UNKNOWN = 2;
23 const int ERROR_IFACE_EXISTS = 3;
24 const int ERROR_IFACE_UNKNOWN = 4;
27 * Registers a wireless interface in wpa_supplicant.
29 * @param args A dictionary with arguments used to add the interface to
31 * The dictionary may contain the following entries:
32 * Ifname(String) Name of the network interface to control, e.g.,
34 * BridgeIfname(String) Name of the bridge interface to control, e.g.,
36 * Driver(String) Driver name which the interface uses, e.g., nl80211.
37 * ConfigFile(String) Configuration file path.
39 * @return Binder object representing the interface.
41 IIface CreateInterface(in PersistableBundle args);
44 * Deregisters a wireless interface from wpa_supplicant.
46 * @param ifname Name of the network interface, e.g., wlan0
48 void RemoveInterface(in @utf8InCpp String ifname);
51 * Gets a binder object for the interface corresponding to ifname
52 * which wpa_supplicant already controls.
54 * @param ifname Name of the network interface, e.g., wlan0
56 * @return Binder object representing the interface.
58 IIface GetInterface(in @utf8InCpp String ifname);