1*344a7f5eSAndroid Build Coastguard Worker// Signature format: 2.0 2*344a7f5eSAndroid Build Coastguard Workerpackage android.net { 3*344a7f5eSAndroid Build Coastguard Worker public class EthernetManager { 4*344a7f5eSAndroid Build Coastguard Worker method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public android.net.EthernetManager.TetheredInterfaceRequest requestTetheredInterface(@NonNull java.util.concurrent.Executor, @NonNull android.net.EthernetManager.TetheredInterfaceCallback); 5*344a7f5eSAndroid Build Coastguard Worker } 6*344a7f5eSAndroid Build Coastguard Worker 7*344a7f5eSAndroid Build Coastguard Worker public static interface EthernetManager.TetheredInterfaceCallback { 8*344a7f5eSAndroid Build Coastguard Worker method public void onAvailable(@NonNull String); 9*344a7f5eSAndroid Build Coastguard Worker method public void onUnavailable(); 10*344a7f5eSAndroid Build Coastguard Worker } 11*344a7f5eSAndroid Build Coastguard Worker 12*344a7f5eSAndroid Build Coastguard Worker public static class EthernetManager.TetheredInterfaceRequest { 13*344a7f5eSAndroid Build Coastguard Worker method public void release(); 14*344a7f5eSAndroid Build Coastguard Worker } 15*344a7f5eSAndroid Build Coastguard Worker 16*344a7f5eSAndroid Build Coastguard Worker public final class IpSecManager { 17*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void applyTunnelModeTransform(@NonNull android.net.IpSecManager.IpSecTunnelInterface, int, @NonNull android.net.IpSecTransform) throws java.io.IOException; 18*344a7f5eSAndroid Build Coastguard Worker method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public android.net.IpSecManager.IpSecTunnelInterface createIpSecTunnelInterface(@NonNull java.net.InetAddress, @NonNull java.net.InetAddress, @NonNull android.net.Network) throws java.io.IOException, android.net.IpSecManager.ResourceUnavailableException; 19*344a7f5eSAndroid Build Coastguard Worker } 20*344a7f5eSAndroid Build Coastguard Worker 21*344a7f5eSAndroid Build Coastguard Worker public static final class IpSecManager.IpSecTunnelInterface implements java.lang.AutoCloseable { 22*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void addAddress(@NonNull java.net.InetAddress, int) throws java.io.IOException; 23*344a7f5eSAndroid Build Coastguard Worker method public void close(); 24*344a7f5eSAndroid Build Coastguard Worker method @NonNull public String getInterfaceName(); 25*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void removeAddress(@NonNull java.net.InetAddress, int) throws java.io.IOException; 26*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void setUnderlyingNetwork(@NonNull android.net.Network) throws java.io.IOException; 27*344a7f5eSAndroid Build Coastguard Worker } 28*344a7f5eSAndroid Build Coastguard Worker 29*344a7f5eSAndroid Build Coastguard Worker public static class IpSecTransform.Builder { 30*344a7f5eSAndroid Build Coastguard Worker method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public android.net.IpSecTransform buildTunnelModeTransform(@NonNull java.net.InetAddress, @NonNull android.net.IpSecManager.SecurityParameterIndex) throws java.io.IOException, android.net.IpSecManager.ResourceUnavailableException, android.net.IpSecManager.SpiUnavailableException; 31*344a7f5eSAndroid Build Coastguard Worker } 32*344a7f5eSAndroid Build Coastguard Worker} 33