1/*
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
19import android.net.Network;
20import android.net.IpSecConfig;
21import android.os.Bundle;
22import android.os.IBinder;
23import android.os.ParcelFileDescriptor;
24
25/**
26 * @hide
27 */
28interface IIpSecService
29{
30    Bundle reserveSecurityParameterIndex(
31            int direction, in String remoteAddress, int requestedSpi, in IBinder binder);
32
33    void releaseSecurityParameterIndex(int resourceId);
34
35    Bundle openUdpEncapsulationSocket(int port, in IBinder binder);
36
37    void closeUdpEncapsulationSocket(in ParcelFileDescriptor socket);
38
39    Bundle createTransportModeTransform(in IpSecConfig c, in IBinder binder);
40
41    void deleteTransportModeTransform(int transformId);
42
43    void applyTransportModeTransform(in ParcelFileDescriptor socket, int transformId);
44
45    void removeTransportModeTransform(in ParcelFileDescriptor socket, int transformId);
46}
47