blob: 933256a3b4756bc590e14e50d38ed1880f11f8e4 [file] [log] [blame]
Nathan Haroldd2a1dad2017-03-01 18:55:06 -08001/*
2** Copyright 2017, The Android Open Source Project
3**
4** Licensed under the Apache License, Version 2.0 (the "License");
5** you may not use this file except in compliance with the License.
6** You may obtain a copy of the License at
7**
8** http://www.apache.org/licenses/LICENSE-2.0
9**
10** Unless required by applicable law or agreed to in writing, software
11** distributed under the License is distributed on an "AS IS" BASIS,
12** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13** See the License for the specific language governing permissions and
14** limitations under the License.
15*/
16
17package android.net;
18
Benedict Wong97c3c942018-03-01 18:53:07 -080019import android.net.LinkAddress;
Nathan Harold031acb82017-03-07 13:23:36 -080020import android.net.Network;
21import android.net.IpSecConfig;
Nathan Harold80865392017-04-04 19:37:48 -070022import android.net.IpSecUdpEncapResponse;
23import android.net.IpSecSpiResponse;
24import android.net.IpSecTransformResponse;
Benedict Wong8bc90732018-01-18 18:31:45 -080025import android.net.IpSecTunnelInterfaceResponse;
Nathan Harold031acb82017-03-07 13:23:36 -080026import android.os.Bundle;
27import android.os.IBinder;
28import android.os.ParcelFileDescriptor;
29
Nathan Haroldd2a1dad2017-03-01 18:55:06 -080030/**
31 * @hide
32 */
33interface IIpSecService
34{
Jonathan Basseri20e96c52017-11-16 10:58:01 -080035 IpSecSpiResponse allocateSecurityParameterIndex(
Nathan Harold5a19b952018-01-05 19:25:13 -080036 in String destinationAddress, int requestedSpi, in IBinder binder);
Nathan Harold031acb82017-03-07 13:23:36 -080037
38 void releaseSecurityParameterIndex(int resourceId);
39
Nathan Harold80865392017-04-04 19:37:48 -070040 IpSecUdpEncapResponse openUdpEncapsulationSocket(int port, in IBinder binder);
Nathan Harold031acb82017-03-07 13:23:36 -080041
Nathan Harold80865392017-04-04 19:37:48 -070042 void closeUdpEncapsulationSocket(int resourceId);
Nathan Harold031acb82017-03-07 13:23:36 -080043
Benedict Wong8bc90732018-01-18 18:31:45 -080044 IpSecTunnelInterfaceResponse createTunnelInterface(
45 in String localAddr,
46 in String remoteAddr,
47 in Network underlyingNetwork,
Nathan Harold65ef8432018-03-15 18:06:06 -070048 in IBinder binder,
49 in String callingPackage);
Benedict Wong8bc90732018-01-18 18:31:45 -080050
51 void addAddressToTunnelInterface(
52 int tunnelResourceId,
Nathan Harold65ef8432018-03-15 18:06:06 -070053 in LinkAddress localAddr,
54 in String callingPackage);
Benedict Wong8bc90732018-01-18 18:31:45 -080055
56 void removeAddressFromTunnelInterface(
57 int tunnelResourceId,
Nathan Harold65ef8432018-03-15 18:06:06 -070058 in LinkAddress localAddr,
59 in String callingPackage);
Benedict Wong8bc90732018-01-18 18:31:45 -080060
Yan Yana2f3b492020-09-29 23:38:00 -070061 void setNetworkForTunnelInterface(
62 int tunnelResourceId, in Network underlyingNetwork, in String callingPackage);
63
Nathan Harold65ef8432018-03-15 18:06:06 -070064 void deleteTunnelInterface(int resourceId, in String callingPackage);
Benedict Wong8bc90732018-01-18 18:31:45 -080065
Nathan Harold65ef8432018-03-15 18:06:06 -070066 IpSecTransformResponse createTransform(
67 in IpSecConfig c, in IBinder binder, in String callingPackage);
Nathan Harold031acb82017-03-07 13:23:36 -080068
Benedict Wong0fff56e2018-01-18 14:38:16 -080069 void deleteTransform(int transformId);
Nathan Harold031acb82017-03-07 13:23:36 -080070
Nathan Harold65ef8432018-03-15 18:06:06 -070071 void applyTransportModeTransform(
72 in ParcelFileDescriptor socket, int direction, int transformId);
Nathan Harold031acb82017-03-07 13:23:36 -080073
Nathan Harold65ef8432018-03-15 18:06:06 -070074 void applyTunnelModeTransform(
75 int tunnelResourceId, int direction, int transformResourceId, in String callingPackage);
Benedict Wong8bc90732018-01-18 18:31:45 -080076
Nathan Harold0d483b72018-01-17 01:00:20 -080077 void removeTransportModeTransforms(in ParcelFileDescriptor socket);
Nathan Haroldd2a1dad2017-03-01 18:55:06 -080078}