summaryrefslogtreecommitdiff
path: root/common/networkstackclient/src/android/net
diff options
context:
space:
mode:
Diffstat (limited to 'common/networkstackclient/src/android/net')
-rw-r--r--common/networkstackclient/src/android/net/dhcp/DhcpLeaseParcelable.aidl32
-rw-r--r--common/networkstackclient/src/android/net/dhcp/IDhcpLeaseCallbacks.aidl30
-rw-r--r--common/networkstackclient/src/android/net/dhcp/IDhcpServer.aidl11
3 files changed, 70 insertions, 3 deletions
diff --git a/common/networkstackclient/src/android/net/dhcp/DhcpLeaseParcelable.aidl b/common/networkstackclient/src/android/net/dhcp/DhcpLeaseParcelable.aidl
new file mode 100644
index 0000000..ba3390d
--- /dev/null
+++ b/common/networkstackclient/src/android/net/dhcp/DhcpLeaseParcelable.aidl
@@ -0,0 +1,32 @@
+/**
+ * Copyright (c) 2020, 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.dhcp;
+
+parcelable DhcpLeaseParcelable {
+ // Client ID of the lease; may be null.
+ byte[] clientId;
+ // MAC address provided by the client.
+ byte[] hwAddr;
+ // IPv4 address of the lease, in network byte order.
+ int netAddr;
+ // Prefix length of the lease (0-32)
+ int prefixLength;
+ // Expiration time of the lease, to compare with SystemClock.elapsedRealtime().
+ long expTime;
+ // Hostname provided by the client, if any, or null.
+ String hostname;
+} \ No newline at end of file
diff --git a/common/networkstackclient/src/android/net/dhcp/IDhcpLeaseCallbacks.aidl b/common/networkstackclient/src/android/net/dhcp/IDhcpLeaseCallbacks.aidl
new file mode 100644
index 0000000..cf2dfa8
--- /dev/null
+++ b/common/networkstackclient/src/android/net/dhcp/IDhcpLeaseCallbacks.aidl
@@ -0,0 +1,30 @@
+/**
+ * Copyright (c) 2020, 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.dhcp;
+
+import android.net.dhcp.DhcpLeaseParcelable;
+
+oneway interface IDhcpLeaseCallbacks {
+ /**
+ * Called when a lease is committed or released on the DHCP server.
+ *
+ * <p>This only reports lease changes after assigning a lease, or after releasing a lease
+ * following a DHCPRELEASE: this callback will not be fired when a lease just expires.
+ * @param newLeases The new list of leases tracked by the server.
+ */
+ void onLeasesChanged(in List<DhcpLeaseParcelable> newLeases);
+} \ No newline at end of file
diff --git a/common/networkstackclient/src/android/net/dhcp/IDhcpServer.aidl b/common/networkstackclient/src/android/net/dhcp/IDhcpServer.aidl
index 559433b..dd93174 100644
--- a/common/networkstackclient/src/android/net/dhcp/IDhcpServer.aidl
+++ b/common/networkstackclient/src/android/net/dhcp/IDhcpServer.aidl
@@ -18,6 +18,7 @@ package android.net.dhcp;
import android.net.INetworkStackStatusCallback;
import android.net.dhcp.DhcpServingParamsParcel;
+import android.net.dhcp.IDhcpLeaseCallbacks;
/** @hide */
oneway interface IDhcpServer {
@@ -26,7 +27,11 @@ oneway interface IDhcpServer {
const int STATUS_INVALID_ARGUMENT = 2;
const int STATUS_UNKNOWN_ERROR = 3;
- void start(in INetworkStackStatusCallback cb);
- void updateParams(in DhcpServingParamsParcel params, in INetworkStackStatusCallback cb);
- void stop(in INetworkStackStatusCallback cb);
+ void start(in INetworkStackStatusCallback cb) = 0;
+ void startWithCallbacks(in INetworkStackStatusCallback statusCb,
+ in IDhcpLeaseCallbacks leaseCb) = 3;
+ void updateParams(in DhcpServingParamsParcel params, in INetworkStackStatusCallback cb) = 1;
+ void stop(in INetworkStackStatusCallback cb) = 2;
+
+ // Next available ID: 4
}