summaryrefslogtreecommitdiff
path: root/common/device/com/android/net/module/util/netlink/StructRtMsg.java
diff options
context:
space:
mode:
Diffstat (limited to 'common/device/com/android/net/module/util/netlink/StructRtMsg.java')
-rw-r--r--common/device/com/android/net/module/util/netlink/StructRtMsg.java95
1 files changed, 0 insertions, 95 deletions
diff --git a/common/device/com/android/net/module/util/netlink/StructRtMsg.java b/common/device/com/android/net/module/util/netlink/StructRtMsg.java
deleted file mode 100644
index 3cd72922..00000000
--- a/common/device/com/android/net/module/util/netlink/StructRtMsg.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Copyright (C) 2021 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 com.android.net.module.util.netlink;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-
-import com.android.net.module.util.Struct;
-import com.android.net.module.util.Struct.Field;
-import com.android.net.module.util.Struct.Type;
-
-import java.nio.ByteBuffer;
-
-/**
- * struct rtmsg
- *
- * see also:
- *
- * include/uapi/linux/rtnetlink.h
- *
- * @hide
- */
-public class StructRtMsg extends Struct {
- // Already aligned.
- public static final int STRUCT_SIZE = 12;
-
- @Field(order = 0, type = Type.U8)
- public final short family; // Address family of route.
- @Field(order = 1, type = Type.U8)
- public final short dstLen; // Length of destination.
- @Field(order = 2, type = Type.U8)
- public final short srcLen; // Length of source.
- @Field(order = 3, type = Type.U8)
- public final short tos; // TOS filter.
- @Field(order = 4, type = Type.U8)
- public final short table; // Routing table ID.
- @Field(order = 5, type = Type.U8)
- public final short protocol; // Routing protocol.
- @Field(order = 6, type = Type.U8)
- public final short scope; // distance to the destination.
- @Field(order = 7, type = Type.U8)
- public final short type; // route type
- @Field(order = 8, type = Type.U32)
- public final long flags;
-
- StructRtMsg(short family, short dstLen, short srcLen, short tos, short table, short protocol,
- short scope, short type, long flags) {
- this.family = family;
- this.dstLen = dstLen;
- this.srcLen = srcLen;
- this.tos = tos;
- this.table = table;
- this.protocol = protocol;
- this.scope = scope;
- this.type = type;
- this.flags = flags;
- }
-
- /**
- * Parse a rtmsg struct from a {@link ByteBuffer}.
- *
- * @param byteBuffer The buffer from which to parse the rtmsg struct.
- * @return the parsed rtmsg struct, or {@code null} if the rtmsg struct could not be
- * parsed successfully (for example, if it was truncated).
- */
- @Nullable
- public static StructRtMsg parse(@NonNull final ByteBuffer byteBuffer) {
- if (byteBuffer.remaining() < STRUCT_SIZE) return null;
-
- // The ByteOrder must already have been set to native order.
- return Struct.parse(StructRtMsg.class, byteBuffer);
- }
-
- /**
- * Write the rtmsg struct to {@link ByteBuffer}.
- */
- public void pack(@NonNull final ByteBuffer byteBuffer) {
- // The ByteOrder must already have been set to native order.
- this.writeToByteBuffer(byteBuffer);
- }
-}