blob: 88ffd0ea9ec36f5a0b2315e669832495f379644c [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 Wongc53a2742018-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 Wong79d01182018-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 Basserif33f4842017-11-16 10:58:01 -080035 IpSecSpiResponse allocateSecurityParameterIndex(
Nathan Haroldce6d5732018-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 Wong79d01182018-01-18 18:31:45 -080044 IpSecTunnelInterfaceResponse createTunnelInterface(
45 in String localAddr,
46 in String remoteAddr,
47 in Network underlyingNetwork,
Nathan Harolda10a7f92018-03-15 18:06:06 -070048 in IBinder binder,
49 in String callingPackage);
Benedict Wong79d01182018-01-18 18:31:45 -080050
51 void addAddressToTunnelInterface(
52 int tunnelResourceId,
Nathan Harolda10a7f92018-03-15 18:06:06 -070053 in LinkAddress localAddr,
54 in String callingPackage);
Benedict Wong79d01182018-01-18 18:31:45 -080055
56 void removeAddressFromTunnelInterface(
57 int tunnelResourceId,
Nathan Harolda10a7f92018-03-15 18:06:06 -070058 in LinkAddress localAddr,
59 in String callingPackage);
Benedict Wong79d01182018-01-18 18:31:45 -080060
Yan Yan0f904192020-09-29 23:38:00 -070061 void setNetworkForTunnelInterface(
62 int tunnelResourceId, in Network underlyingNetwork, in String callingPackage);
63
Nathan Harolda10a7f92018-03-15 18:06:06 -070064 void deleteTunnelInterface(int resourceId, in String callingPackage);
Benedict Wong79d01182018-01-18 18:31:45 -080065
Nathan Harolda10a7f92018-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
Yan Yane114b382021-02-16 16:29:48 -080069 void migrateTransform(
70 int transformId,
71 in String newSourceAddress,
72 in String newDestinationAddress,
73 in String callingPackage);
74
Benedict Wong77df1d32018-01-18 14:38:16 -080075 void deleteTransform(int transformId);
Nathan Harold031acb82017-03-07 13:23:36 -080076
Nathan Harolda10a7f92018-03-15 18:06:06 -070077 void applyTransportModeTransform(
78 in ParcelFileDescriptor socket, int direction, int transformId);
Nathan Harold031acb82017-03-07 13:23:36 -080079
Nathan Harolda10a7f92018-03-15 18:06:06 -070080 void applyTunnelModeTransform(
81 int tunnelResourceId, int direction, int transformResourceId, in String callingPackage);
Benedict Wong79d01182018-01-18 18:31:45 -080082
Nathan Harold24f3bb82018-01-17 01:00:20 -080083 void removeTransportModeTransforms(in ParcelFileDescriptor socket);
Nathan Haroldd2a1dad2017-03-01 18:55:06 -080084}