Merge "Add stable AIDL parcelables for IIpClient API" am: 7bf90a1f97 am: 4294a0f939
am: bba39913f8
Change-Id: Ieac619f043a7142cbbec3eaec334b7fac97ce7fc
This commit is contained in:
23
core/java/android/net/ApfCapabilitiesParcelable.aidl
Normal file
23
core/java/android/net/ApfCapabilitiesParcelable.aidl
Normal file
@@ -0,0 +1,23 @@
|
||||
/*
|
||||
* Copyright (C) 2019 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package android.net;
|
||||
|
||||
parcelable ApfCapabilitiesParcelable {
|
||||
int apfVersionSupported;
|
||||
int maximumApfProgramSize;
|
||||
int apfPacketFormat;
|
||||
}
|
||||
27
core/java/android/net/DhcpResultsParcelable.aidl
Normal file
27
core/java/android/net/DhcpResultsParcelable.aidl
Normal file
@@ -0,0 +1,27 @@
|
||||
/**
|
||||
* Copyright (c) 2019, The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing perNmissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package android.net;
|
||||
|
||||
import android.net.StaticIpConfigurationParcelable;
|
||||
|
||||
parcelable DhcpResultsParcelable {
|
||||
StaticIpConfigurationParcelable baseConfiguration;
|
||||
int leaseDuration;
|
||||
int mtu;
|
||||
String serverAddress;
|
||||
String vendorInfo;
|
||||
}
|
||||
27
core/java/android/net/InitialConfigurationParcelable.aidl
Normal file
27
core/java/android/net/InitialConfigurationParcelable.aidl
Normal file
@@ -0,0 +1,27 @@
|
||||
/*
|
||||
* Copyright (C) 2019 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package android.net;
|
||||
|
||||
import android.net.IpPrefixParcelable;
|
||||
import android.net.LinkAddressParcelable;
|
||||
|
||||
parcelable InitialConfigurationParcelable {
|
||||
LinkAddressParcelable[] ipAddresses;
|
||||
IpPrefixParcelable[] directlyConnectedRoutes;
|
||||
String[] dnsServers;
|
||||
String gateway;
|
||||
}
|
||||
22
core/java/android/net/NetworkParcelable.aidl
Normal file
22
core/java/android/net/NetworkParcelable.aidl
Normal file
@@ -0,0 +1,22 @@
|
||||
/*
|
||||
**
|
||||
** Copyright (C) 2019 The Android Open Source Project
|
||||
**
|
||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||
** you may not use this file except in compliance with the License.
|
||||
** You may obtain a copy of the License at
|
||||
**
|
||||
** http://www.apache.org/licenses/LICENSE-2.0
|
||||
**
|
||||
** Unless required by applicable law or agreed to in writing, software
|
||||
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
** See the License for the specific language governing permissions and
|
||||
** limitations under the License.
|
||||
*/
|
||||
|
||||
package android.net;
|
||||
|
||||
parcelable NetworkParcelable {
|
||||
long networkHandle;
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
**
|
||||
** Copyright (C) 2019 The Android Open Source Project
|
||||
**
|
||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||
** you may not use this file except in compliance with the License.
|
||||
** You may obtain a copy of the License at
|
||||
**
|
||||
** http://www.apache.org/licenses/LICENSE-2.0
|
||||
**
|
||||
** Unless required by applicable law or agreed to in writing, software
|
||||
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
** See the License for the specific language governing permissions and
|
||||
** limitations under the License.
|
||||
*/
|
||||
|
||||
package android.net;
|
||||
|
||||
import android.net.ApfCapabilitiesParcelable;
|
||||
import android.net.InitialConfigurationParcelable;
|
||||
import android.net.NetworkParcelable;
|
||||
import android.net.StaticIpConfigurationParcelable;
|
||||
|
||||
parcelable ProvisioningConfigurationParcelable {
|
||||
boolean enableIPv4;
|
||||
boolean enableIPv6;
|
||||
boolean usingMultinetworkPolicyTracker;
|
||||
boolean usingIpReachabilityMonitor;
|
||||
int requestedPreDhcpActionMs;
|
||||
InitialConfigurationParcelable initialConfig;
|
||||
StaticIpConfigurationParcelable staticIpConfig;
|
||||
ApfCapabilitiesParcelable apfCapabilities;
|
||||
int provisioningTimeoutMs;
|
||||
int ipv6AddrGenMode;
|
||||
NetworkParcelable network;
|
||||
String displayName;
|
||||
}
|
||||
27
core/java/android/net/StaticIpConfigurationParcelable.aidl
Normal file
27
core/java/android/net/StaticIpConfigurationParcelable.aidl
Normal file
@@ -0,0 +1,27 @@
|
||||
/*
|
||||
**
|
||||
** Copyright (C) 2019 The Android Open Source Project
|
||||
**
|
||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||
** you may not use this file except in compliance with the License.
|
||||
** You may obtain a copy of the License at
|
||||
**
|
||||
** http://www.apache.org/licenses/LICENSE-2.0
|
||||
**
|
||||
** Unless required by applicable law or agreed to in writing, software
|
||||
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
** See the License for the specific language governing permissions and
|
||||
** limitations under the License.
|
||||
*/
|
||||
|
||||
package android.net;
|
||||
|
||||
import android.net.LinkAddressParcelable;
|
||||
|
||||
parcelable StaticIpConfigurationParcelable {
|
||||
LinkAddressParcelable ipAddress;
|
||||
String gateway;
|
||||
String[] dnsServers;
|
||||
String domains;
|
||||
}
|
||||
72
core/java/android/net/apf/ApfCapabilities.java
Normal file
72
core/java/android/net/apf/ApfCapabilities.java
Normal file
@@ -0,0 +1,72 @@
|
||||
/*
|
||||
* Copyright (C) 2016 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package android.net.apf;
|
||||
|
||||
/**
|
||||
* APF program support capabilities.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
public class ApfCapabilities {
|
||||
/**
|
||||
* Version of APF instruction set supported for packet filtering. 0 indicates no support for
|
||||
* packet filtering using APF programs.
|
||||
*/
|
||||
public final int apfVersionSupported;
|
||||
|
||||
/**
|
||||
* Maximum size of APF program allowed.
|
||||
*/
|
||||
public final int maximumApfProgramSize;
|
||||
|
||||
/**
|
||||
* Format of packets passed to APF filter. Should be one of ARPHRD_*
|
||||
*/
|
||||
public final int apfPacketFormat;
|
||||
|
||||
public ApfCapabilities(
|
||||
int apfVersionSupported, int maximumApfProgramSize, int apfPacketFormat) {
|
||||
this.apfVersionSupported = apfVersionSupported;
|
||||
this.maximumApfProgramSize = maximumApfProgramSize;
|
||||
this.apfPacketFormat = apfPacketFormat;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return String.format("%s{version: %d, maxSize: %d, format: %d}", getClass().getSimpleName(),
|
||||
apfVersionSupported, maximumApfProgramSize, apfPacketFormat);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (!(obj instanceof ApfCapabilities)) return false;
|
||||
final ApfCapabilities other = (ApfCapabilities) obj;
|
||||
return apfVersionSupported == other.apfVersionSupported
|
||||
&& maximumApfProgramSize == other.maximumApfProgramSize
|
||||
&& apfPacketFormat == other.apfPacketFormat;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if the APF interpreter advertises support for the data buffer access opcodes
|
||||
* LDDW and STDW.
|
||||
*
|
||||
* Full LDDW and STDW support is present from APFv4 on.
|
||||
*/
|
||||
public boolean hasDataAccess() {
|
||||
return apfVersionSupported >= 4;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user