1 /* 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> 5 * 6 * This software may be distributed under the terms of the BSD license. 7 * See README for more details. 8 */ 9 10 package fi.w1.wpa_supplicant; 11 12 import android.os.PersistableBundle; 13 import fi.w1.wpa_supplicant.IIface; 14 15 /** 16 * Interface exposed by the wpa_supplicant binder service registered 17 * with the service manager with name: fi.w1.wpa_supplicant. 18 */ 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; 25 26 /** 27 * Registers a wireless interface in wpa_supplicant. 28 * 29 * @param args A dictionary with arguments used to add the interface to 30 * wpa_supplicant. 31 * The dictionary may contain the following entries: 32 * Ifname(String) Name of the network interface to control, e.g., 33 * wlan0. 34 * BridgeIfname(String) Name of the bridge interface to control, e.g., 35 * br0. 36 * Driver(String) Driver name which the interface uses, e.g., nl80211. 37 * ConfigFile(String) Configuration file path. 38 * 39 * @return Binder object representing the interface. 40 */ CreateInterface(in PersistableBundle args)41 IIface CreateInterface(in PersistableBundle args); 42 43 /** 44 * Deregisters a wireless interface from wpa_supplicant. 45 * 46 * @param ifname Name of the network interface, e.g., wlan0 47 */ RemoveInterface(in @tf8InCpp String ifname)48 void RemoveInterface(in @utf8InCpp String ifname); 49 50 /** 51 * Gets a binder object for the interface corresponding to ifname 52 * which wpa_supplicant already controls. 53 * 54 * @param ifname Name of the network interface, e.g., wlan0 55 * 56 * @return Binder object representing the interface. 57 */ GetInterface(in @tf8InCpp String ifname)58 IIface GetInterface(in @utf8InCpp String ifname); 59 } 60