INetworkManagementService.aidl revision 41ff7ec82422a5b6d00892afdb3232bc0e53d851
1873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat/* //device/java/android/android/os/INetworkManagementService.aidl 2873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat** 3873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat** Copyright 2007, The Android Open Source Project 4873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat** 5873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat** Licensed under the Apache License, Version 2.0 (the "License"); 6873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat** you may not use this file except in compliance with the License. 7873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat** You may obtain a copy of the License at 8873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat** 9873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat** http://www.apache.org/licenses/LICENSE-2.0 10873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat** 11873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat** Unless required by applicable law or agreed to in writing, software 12873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat** distributed under the License is distributed on an "AS IS" BASIS, 13873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat** See the License for the specific language governing permissions and 15873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat** limitations under the License. 16873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat*/ 17873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat 18873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehatpackage android.os; 19873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat 20ed4fc8acc52d89f1d4dec853a29288c6d06717c3San Mehatimport android.net.InterfaceConfiguration; 214d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehatimport android.net.INetworkManagementEventObserver; 229a13f36cddaad01350bdb5f000167811a1d753c9Jeff Sharkeyimport android.net.NetworkStats; 2359b1a4ede7032c1b4d897e13dd4ede09b5e14743Robert Greenwaltimport android.net.RouteInfo; 249ab518ad793385f8405edf19363fe825fb64f5f8Irfan Sheriffimport android.net.wifi.WifiConfiguration; 25ed4fc8acc52d89f1d4dec853a29288c6d06717c3San Mehat 26873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat/** 27873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat * @hide 28873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat */ 29873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehatinterface INetworkManagementService 30873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat{ 31873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat /** 32873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat ** GENERAL 33873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat **/ 34873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat 35873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat /** 364d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat * Register an observer to receive events 374d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat */ 384d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat void registerObserver(INetworkManagementEventObserver obs); 394d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat 404d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat /** 414d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat * Unregister an observer from receiving events. 424d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat */ 434d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat void unregisterObserver(INetworkManagementEventObserver obs); 444d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat 454d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat /** 46873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat * Returns a list of currently known network interfaces 47873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat */ 48873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat String[] listInterfaces(); 49873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat 50873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat /** 51ed4fc8acc52d89f1d4dec853a29288c6d06717c3San Mehat * Retrieves the specified interface config 52ed4fc8acc52d89f1d4dec853a29288c6d06717c3San Mehat * 53ed4fc8acc52d89f1d4dec853a29288c6d06717c3San Mehat */ 54ed4fc8acc52d89f1d4dec853a29288c6d06717c3San Mehat InterfaceConfiguration getInterfaceConfig(String iface); 55ed4fc8acc52d89f1d4dec853a29288c6d06717c3San Mehat 56ed4fc8acc52d89f1d4dec853a29288c6d06717c3San Mehat /** 57ed4fc8acc52d89f1d4dec853a29288c6d06717c3San Mehat * Sets the configuration of the specified interface 58ed4fc8acc52d89f1d4dec853a29288c6d06717c3San Mehat */ 59ed4fc8acc52d89f1d4dec853a29288c6d06717c3San Mehat void setInterfaceConfig(String iface, in InterfaceConfiguration cfg); 60ed4fc8acc52d89f1d4dec853a29288c6d06717c3San Mehat 61ed4fc8acc52d89f1d4dec853a29288c6d06717c3San Mehat /** 62f5600618df153d9c51388562ebf3524e3bdc8b7dIrfan Sheriff * Clear all IP addresses on the specified interface 63f5600618df153d9c51388562ebf3524e3bdc8b7dIrfan Sheriff */ 64f5600618df153d9c51388562ebf3524e3bdc8b7dIrfan Sheriff void clearInterfaceAddresses(String iface); 65f5600618df153d9c51388562ebf3524e3bdc8b7dIrfan Sheriff 66f5600618df153d9c51388562ebf3524e3bdc8b7dIrfan Sheriff /** 6759b1a4ede7032c1b4d897e13dd4ede09b5e14743Robert Greenwalt * Retrieves the network routes currently configured on the specified 6859b1a4ede7032c1b4d897e13dd4ede09b5e14743Robert Greenwalt * interface 6959b1a4ede7032c1b4d897e13dd4ede09b5e14743Robert Greenwalt */ 7059b1a4ede7032c1b4d897e13dd4ede09b5e14743Robert Greenwalt RouteInfo[] getRoutes(String iface); 7159b1a4ede7032c1b4d897e13dd4ede09b5e14743Robert Greenwalt 7259b1a4ede7032c1b4d897e13dd4ede09b5e14743Robert Greenwalt /** 7359b1a4ede7032c1b4d897e13dd4ede09b5e14743Robert Greenwalt * Add the specified route to the interface. 7459b1a4ede7032c1b4d897e13dd4ede09b5e14743Robert Greenwalt */ 7559b1a4ede7032c1b4d897e13dd4ede09b5e14743Robert Greenwalt void addRoute(String iface, in RouteInfo route); 7659b1a4ede7032c1b4d897e13dd4ede09b5e14743Robert Greenwalt 7759b1a4ede7032c1b4d897e13dd4ede09b5e14743Robert Greenwalt /** 7859b1a4ede7032c1b4d897e13dd4ede09b5e14743Robert Greenwalt * Remove the specified route from the interface. 7959b1a4ede7032c1b4d897e13dd4ede09b5e14743Robert Greenwalt */ 8059b1a4ede7032c1b4d897e13dd4ede09b5e14743Robert Greenwalt void removeRoute(String iface, in RouteInfo route); 8159b1a4ede7032c1b4d897e13dd4ede09b5e14743Robert Greenwalt 8259b1a4ede7032c1b4d897e13dd4ede09b5e14743Robert Greenwalt /** 83873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat * Shuts down the service 84873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat */ 85873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat void shutdown(); 86873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat 87873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat /** 88873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat ** TETHERING RELATED 89873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat **/ 90873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat 91873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat /** 92873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat * Returns true if IP forwarding is enabled 93873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat */ 94873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat boolean getIpForwardingEnabled(); 95873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat 96873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat /** 97873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat * Enables/Disables IP Forwarding 98873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat */ 99873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat void setIpForwardingEnabled(boolean enabled); 100873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat 101873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat /** 102873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat * Start tethering services with the specified dhcp server range 103bfb7bfa53847832db2a3eb05e5eff7cb974c3c7aRobert Greenwalt * arg is a set of start end pairs defining the ranges. 104873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat */ 105bfb7bfa53847832db2a3eb05e5eff7cb974c3c7aRobert Greenwalt void startTethering(in String[] dhcpRanges); 106873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat 107873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat /** 108873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat * Stop currently running tethering services 109873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat */ 110873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat void stopTethering(); 111873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat 112873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat /** 113873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat * Returns true if tethering services are started 114873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat */ 115873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat boolean isTetheringStarted(); 116873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat 117873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat /** 118873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat * Tethers the specified interface 119873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat */ 120873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat void tetherInterface(String iface); 121873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat 122873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat /** 123873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat * Untethers the specified interface 124873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat */ 125873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat void untetherInterface(String iface); 126873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat 127873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat /** 128873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat * Returns a list of currently tethered interfaces 129873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat */ 130873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat String[] listTetheredInterfaces(); 131873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat 132873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat /** 133873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat * Sets the list of DNS forwarders (in order of priority) 134873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat */ 135873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat void setDnsForwarders(in String[] dns); 136873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat 137873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat /** 138873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat * Returns the list of DNS fowarders (in order of priority) 139873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat */ 140873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat String[] getDnsForwarders(); 141873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat 142873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat /** 143873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat * Enables Network Address Translation between two interfaces. 144873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat * The address and netmask of the external interface is used for 145873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat * the NAT'ed network. 146873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat */ 147873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat void enableNat(String internalInterface, String externalInterface); 148873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat 149873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat /** 150873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat * Disables Network Address Translation between two interfaces. 151873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat */ 152873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat void disableNat(String internalInterface, String externalInterface); 15372759df749bb8557269db86c2e3b2a8a0343cc26San Mehat 15472759df749bb8557269db86c2e3b2a8a0343cc26San Mehat /** 15572759df749bb8557269db86c2e3b2a8a0343cc26San Mehat ** PPPD 15672759df749bb8557269db86c2e3b2a8a0343cc26San Mehat **/ 15772759df749bb8557269db86c2e3b2a8a0343cc26San Mehat 15872759df749bb8557269db86c2e3b2a8a0343cc26San Mehat /** 15972759df749bb8557269db86c2e3b2a8a0343cc26San Mehat * Returns the list of currently known TTY devices on the system 16072759df749bb8557269db86c2e3b2a8a0343cc26San Mehat */ 16172759df749bb8557269db86c2e3b2a8a0343cc26San Mehat String[] listTtys(); 16272759df749bb8557269db86c2e3b2a8a0343cc26San Mehat 16372759df749bb8557269db86c2e3b2a8a0343cc26San Mehat /** 16472759df749bb8557269db86c2e3b2a8a0343cc26San Mehat * Attaches a PPP server daemon to the specified TTY with the specified 16572759df749bb8557269db86c2e3b2a8a0343cc26San Mehat * local/remote addresses. 16672759df749bb8557269db86c2e3b2a8a0343cc26San Mehat */ 167d0e18ffb82b59d38aeaf0e552f48e734202719abRobert Greenwalt void attachPppd(String tty, String localAddr, String remoteAddr, String dns1Addr, 168d0e18ffb82b59d38aeaf0e552f48e734202719abRobert Greenwalt String dns2Addr); 16972759df749bb8557269db86c2e3b2a8a0343cc26San Mehat 17072759df749bb8557269db86c2e3b2a8a0343cc26San Mehat /** 17172759df749bb8557269db86c2e3b2a8a0343cc26San Mehat * Detaches a PPP server daemon from the specified TTY. 17272759df749bb8557269db86c2e3b2a8a0343cc26San Mehat */ 17372759df749bb8557269db86c2e3b2a8a0343cc26San Mehat void detachPppd(String tty); 17472759df749bb8557269db86c2e3b2a8a0343cc26San Mehat 175ce1200d42c46ae5d3ec637587b07dfdc02ad21c0Robert Greenwalt /** 1765321aef4a22daef6ed01ed48d936cdd82f2e38b7Irfan Sheriff * Start Wifi Access Point 1775321aef4a22daef6ed01ed48d936cdd82f2e38b7Irfan Sheriff */ 178c2f54c267b896cd1799d82be81e904a2b56c2f26Irfan Sheriff void startAccessPoint(in WifiConfiguration wifiConfig, String wlanIface, String softapIface); 1795321aef4a22daef6ed01ed48d936cdd82f2e38b7Irfan Sheriff 1805321aef4a22daef6ed01ed48d936cdd82f2e38b7Irfan Sheriff /** 1815321aef4a22daef6ed01ed48d936cdd82f2e38b7Irfan Sheriff * Stop Wifi Access Point 1825321aef4a22daef6ed01ed48d936cdd82f2e38b7Irfan Sheriff */ 18323eb297c771bd996fe8559178feb1a07be43ad72Irfan Sheriff void stopAccessPoint(String wlanIface); 1845321aef4a22daef6ed01ed48d936cdd82f2e38b7Irfan Sheriff 185c2f54c267b896cd1799d82be81e904a2b56c2f26Irfan Sheriff /** 186c2f54c267b896cd1799d82be81e904a2b56c2f26Irfan Sheriff * Set Access Point config 187c2f54c267b896cd1799d82be81e904a2b56c2f26Irfan Sheriff */ 188c2f54c267b896cd1799d82be81e904a2b56c2f26Irfan Sheriff void setAccessPoint(in WifiConfiguration wifiConfig, String wlanIface, String softapIface); 18991cac64cd010e6b4006fdd14b39dbc75778f20cbSan Mehat 19091cac64cd010e6b4006fdd14b39dbc75778f20cbSan Mehat /** 1919a13f36cddaad01350bdb5f000167811a1d753c9Jeff Sharkey ** DATA USAGE RELATED 1929a13f36cddaad01350bdb5f000167811a1d753c9Jeff Sharkey **/ 1939a13f36cddaad01350bdb5f000167811a1d753c9Jeff Sharkey 1949a13f36cddaad01350bdb5f000167811a1d753c9Jeff Sharkey /** 1959a13f36cddaad01350bdb5f000167811a1d753c9Jeff Sharkey * Return global network statistics summarized at an interface level, 1969a13f36cddaad01350bdb5f000167811a1d753c9Jeff Sharkey * without any UID-level granularity. 19791cac64cd010e6b4006fdd14b39dbc75778f20cbSan Mehat */ 1989a13f36cddaad01350bdb5f000167811a1d753c9Jeff Sharkey NetworkStats getNetworkStatsSummary(); 19991cac64cd010e6b4006fdd14b39dbc75778f20cbSan Mehat 20091cac64cd010e6b4006fdd14b39dbc75778f20cbSan Mehat /** 2019a13f36cddaad01350bdb5f000167811a1d753c9Jeff Sharkey * Return detailed network statistics with UID-level granularity, 2029a13f36cddaad01350bdb5f000167811a1d753c9Jeff Sharkey * including interface and tag details. 20391cac64cd010e6b4006fdd14b39dbc75778f20cbSan Mehat */ 2049a13f36cddaad01350bdb5f000167811a1d753c9Jeff Sharkey NetworkStats getNetworkStatsDetail(); 20591cac64cd010e6b4006fdd14b39dbc75778f20cbSan Mehat 20691cac64cd010e6b4006fdd14b39dbc75778f20cbSan Mehat /** 207eedcb9525ba5befee2ba6ebb7a9ee3f13395c2a3Jeff Sharkey * Return detailed network statistics for the requested UID, 208eedcb9525ba5befee2ba6ebb7a9ee3f13395c2a3Jeff Sharkey * including interface and tag details. 209eedcb9525ba5befee2ba6ebb7a9ee3f13395c2a3Jeff Sharkey */ 210eedcb9525ba5befee2ba6ebb7a9ee3f13395c2a3Jeff Sharkey NetworkStats getNetworkStatsUidDetail(int uid); 211eedcb9525ba5befee2ba6ebb7a9ee3f13395c2a3Jeff Sharkey 212eedcb9525ba5befee2ba6ebb7a9ee3f13395c2a3Jeff Sharkey /** 213b3f19ca36c8c1301893c621d8f2150e06210722cJeff Sharkey * Set quota for an interface. 21450fd36d7c38c40b087c8f3e3172478abe0c051d9Ashish Sharma */ 21541ff7ec82422a5b6d00892afdb3232bc0e53d851Jeff Sharkey void setInterfaceQuota(String iface, long quotaBytes); 216b3f19ca36c8c1301893c621d8f2150e06210722cJeff Sharkey 217b3f19ca36c8c1301893c621d8f2150e06210722cJeff Sharkey /** 218b3f19ca36c8c1301893c621d8f2150e06210722cJeff Sharkey * Remove quota for an interface. 219b3f19ca36c8c1301893c621d8f2150e06210722cJeff Sharkey */ 220b3f19ca36c8c1301893c621d8f2150e06210722cJeff Sharkey void removeInterfaceQuota(String iface); 22150fd36d7c38c40b087c8f3e3172478abe0c051d9Ashish Sharma 22250fd36d7c38c40b087c8f3e3172478abe0c051d9Ashish Sharma /** 22341ff7ec82422a5b6d00892afdb3232bc0e53d851Jeff Sharkey * Set alert for an interface; requires that iface already has quota. 22441ff7ec82422a5b6d00892afdb3232bc0e53d851Jeff Sharkey */ 22541ff7ec82422a5b6d00892afdb3232bc0e53d851Jeff Sharkey void setInterfaceAlert(String iface, long alertBytes); 22641ff7ec82422a5b6d00892afdb3232bc0e53d851Jeff Sharkey 22741ff7ec82422a5b6d00892afdb3232bc0e53d851Jeff Sharkey /** 22841ff7ec82422a5b6d00892afdb3232bc0e53d851Jeff Sharkey * Remove alert for an interface. 22941ff7ec82422a5b6d00892afdb3232bc0e53d851Jeff Sharkey */ 23041ff7ec82422a5b6d00892afdb3232bc0e53d851Jeff Sharkey void removeInterfaceAlert(String iface); 23141ff7ec82422a5b6d00892afdb3232bc0e53d851Jeff Sharkey 23241ff7ec82422a5b6d00892afdb3232bc0e53d851Jeff Sharkey /** 23341ff7ec82422a5b6d00892afdb3232bc0e53d851Jeff Sharkey * Set alert across all interfaces. 23441ff7ec82422a5b6d00892afdb3232bc0e53d851Jeff Sharkey */ 23541ff7ec82422a5b6d00892afdb3232bc0e53d851Jeff Sharkey void setGlobalAlert(long alertBytes); 23641ff7ec82422a5b6d00892afdb3232bc0e53d851Jeff Sharkey 23741ff7ec82422a5b6d00892afdb3232bc0e53d851Jeff Sharkey /** 23850fd36d7c38c40b087c8f3e3172478abe0c051d9Ashish Sharma * Control network activity of a UID over interfaces with a quota limit. 23950fd36d7c38c40b087c8f3e3172478abe0c051d9Ashish Sharma */ 24050fd36d7c38c40b087c8f3e3172478abe0c051d9Ashish Sharma void setUidNetworkRules(int uid, boolean rejectOnQuotaInterfaces); 24150fd36d7c38c40b087c8f3e3172478abe0c051d9Ashish Sharma 24250fd36d7c38c40b087c8f3e3172478abe0c051d9Ashish Sharma /** 2439a13f36cddaad01350bdb5f000167811a1d753c9Jeff Sharkey * Configures bandwidth throttling on an interface. 24491cac64cd010e6b4006fdd14b39dbc75778f20cbSan Mehat */ 245f0db6e1853e929ae3b65501c31ee57c4dfbc767cSan Mehat void setInterfaceThrottle(String iface, int rxKbps, int txKbps); 24691cac64cd010e6b4006fdd14b39dbc75778f20cbSan Mehat 24791cac64cd010e6b4006fdd14b39dbc75778f20cbSan Mehat /** 24891cac64cd010e6b4006fdd14b39dbc75778f20cbSan Mehat * Returns the currently configured RX throttle values 24991cac64cd010e6b4006fdd14b39dbc75778f20cbSan Mehat * for the specified interface 25091cac64cd010e6b4006fdd14b39dbc75778f20cbSan Mehat */ 25191cac64cd010e6b4006fdd14b39dbc75778f20cbSan Mehat int getInterfaceRxThrottle(String iface); 25291cac64cd010e6b4006fdd14b39dbc75778f20cbSan Mehat 25391cac64cd010e6b4006fdd14b39dbc75778f20cbSan Mehat /** 25491cac64cd010e6b4006fdd14b39dbc75778f20cbSan Mehat * Returns the currently configured TX throttle values 25591cac64cd010e6b4006fdd14b39dbc75778f20cbSan Mehat * for the specified interface 25691cac64cd010e6b4006fdd14b39dbc75778f20cbSan Mehat */ 25791cac64cd010e6b4006fdd14b39dbc75778f20cbSan Mehat int getInterfaceTxThrottle(String iface); 258be23fba286e6772f2eb37ef25f252d7a73ef9dceSan Mehat 2597475c0cea622f126af966c3b5b9741f547e83450Mattias Falk /** 2607475c0cea622f126af966c3b5b9741f547e83450Mattias Falk * Sets the name of the default interface in the DNS resolver. 2617475c0cea622f126af966c3b5b9741f547e83450Mattias Falk */ 2627475c0cea622f126af966c3b5b9741f547e83450Mattias Falk void setDefaultInterfaceForDns(String iface); 2637475c0cea622f126af966c3b5b9741f547e83450Mattias Falk 2647475c0cea622f126af966c3b5b9741f547e83450Mattias Falk /** 2657475c0cea622f126af966c3b5b9741f547e83450Mattias Falk * Bind name servers to an interface in the DNS resolver. 2667475c0cea622f126af966c3b5b9741f547e83450Mattias Falk */ 2677475c0cea622f126af966c3b5b9741f547e83450Mattias Falk void setDnsServersForInterface(String iface, in String[] servers); 2687475c0cea622f126af966c3b5b9741f547e83450Mattias Falk 2697475c0cea622f126af966c3b5b9741f547e83450Mattias Falk /** 270572b7048a6ed6cf6c5f6bc6c9d542dc377d601ffRobert Greenwalt * Flush the DNS cache associated with the default interface. 2717475c0cea622f126af966c3b5b9741f547e83450Mattias Falk */ 2727475c0cea622f126af966c3b5b9741f547e83450Mattias Falk void flushDefaultDnsCache(); 2737475c0cea622f126af966c3b5b9741f547e83450Mattias Falk 2747475c0cea622f126af966c3b5b9741f547e83450Mattias Falk /** 275572b7048a6ed6cf6c5f6bc6c9d542dc377d601ffRobert Greenwalt * Flush the DNS cache associated with the specified interface. 2767475c0cea622f126af966c3b5b9741f547e83450Mattias Falk */ 2777475c0cea622f126af966c3b5b9741f547e83450Mattias Falk void flushInterfaceDnsCache(String iface); 278873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat} 279