INetworkManagementService.aidl revision 873f2145941cc28f6931dc18b5e9987bd22e2e19
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 20873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat/** 21873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat * @hide 22873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat */ 23873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehatinterface INetworkManagementService 24873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat{ 25873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat /** 26873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat ** GENERAL 27873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat **/ 28873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat 29873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat /** 30873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat * Returns a list of currently known network interfaces 31873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat */ 32873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat String[] listInterfaces(); 33873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat 34873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat /** 35873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat * Shuts down the service 36873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat */ 37873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat void shutdown(); 38873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat 39873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat /** 40873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat ** TETHERING RELATED 41873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat **/ 42873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat 43873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat 44873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat /** 45873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat * Returns true if IP forwarding is enabled 46873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat */ 47873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat boolean getIpForwardingEnabled(); 48873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat 49873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat /** 50873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat * Enables/Disables IP Forwarding 51873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat */ 52873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat void setIpForwardingEnabled(boolean enabled); 53873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat 54873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat /** 55873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat * Start tethering services with the specified dhcp server range 56873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat */ 57873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat void startTethering(String dhcpRangeStart, String dhcpRangeEnd); 58873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat 59873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat /** 60873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat * Stop currently running tethering services 61873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat */ 62873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat void stopTethering(); 63873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat 64873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat /** 65873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat * Returns true if tethering services are started 66873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat */ 67873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat boolean isTetheringStarted(); 68873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat 69873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat /** 70873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat * Tethers the specified interface 71873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat */ 72873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat void tetherInterface(String iface); 73873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat 74873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat /** 75873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat * Untethers the specified interface 76873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat */ 77873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat void untetherInterface(String iface); 78873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat 79873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat /** 80873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat * Returns a list of currently tethered interfaces 81873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat */ 82873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat String[] listTetheredInterfaces(); 83873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat 84873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat /** 85873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat * Sets the list of DNS forwarders (in order of priority) 86873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat */ 87873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat void setDnsForwarders(in String[] dns); 88873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat 89873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat /** 90873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat * Returns the list of DNS fowarders (in order of priority) 91873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat */ 92873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat String[] getDnsForwarders(); 93873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat 94873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat /** 95873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat * Enables Network Address Translation between two interfaces. 96873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat * The address and netmask of the external interface is used for 97873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat * the NAT'ed network. 98873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat */ 99873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat void enableNat(String internalInterface, String externalInterface); 100873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat 101873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat /** 102873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat * Disables Network Address Translation between two interfaces. 103873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat */ 104873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat void disableNat(String internalInterface, String externalInterface); 105873f2145941cc28f6931dc18b5e9987bd22e2e19San Mehat} 106