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