Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

android: Add kernel/uapi/linux/neighbour.h constants #3278

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
20 changes: 20 additions & 0 deletions libc-test/build.rs
Expand Up @@ -1802,6 +1802,26 @@ fn test_android(target: &str) {
// kernel 5.6 minimum required
"IPPROTO_MPTCP" => true,

// FIXME: NDK r22 minimum required
| "FDB_NOTIFY_BIT"
| "FDB_NOTIFY_INACTIVE_BIT"
| "NDA_FDB_EXT_ATTRS"
| "NDA_NH_ID"
| "NFEA_ACTIVITY_NOTIFY"
| "NFEA_DONT_REFRESH"
| "NFEA_UNSPEC" => true,

// FIXME: NDK r25 minimum required
| "NDA_FLAGS_EXT"
| "NTF_EXT_MANAGED" => true,

// FIXME: NDK above r25 required
| "NDA_NDM_STATE_MASK"
| "NDA_NDM_FLAGS_MASK"
| "NDTPA_INTERVAL_PROBE_TIME_MS"
| "NFQA_UNSPEC"
| "NTF_EXT_LOCKED" => true,

_ => false,
}
});
Expand Down
72 changes: 72 additions & 0 deletions libc-test/semver/android.txt
Expand Up @@ -597,6 +597,8 @@ FD_ISSET
FD_SET
FD_SETSIZE
FD_ZERO
FDB_NOTIFY_BIT
FDB_NOTIFY_INACTIVE_BIT
FF0
FF1
FFDLY
Expand Down Expand Up @@ -1257,6 +1259,54 @@ MS_SYNCHRONOUS
MS_UNBINDABLE
NCCS
NCP_SUPER_MAGIC
NDA_CACHEINFO
NDA_DST
NDA_FDB_EXT_ATTRS
NDA_FLAGS_EXT
NDA_IFINDEX
NDA_LINK_NETNSID
NDA_LLADDR
NDA_MASTER
NDA_NDM_FLAGS_MASK
NDA_NDM_STATE_MASK
NDA_NH_ID
NDA_PORT
NDA_PROBES
NDA_PROTOCOL
NDA_SRC_VNI
NDA_UNSPEC
NDA_VLAN
NDA_VNI
NDTA_CONFIG
NDTA_GC_INTERVAL
NDTA_NAME
NDTA_PAD
NDTA_PARMS
NDTA_STATS
NDTA_THRESH1
NDTA_THRESH2
NDTA_THRESH3
NDTA_UNSPEC
NDTPA_ANYCAST_DELAY
NDTPA_APP_PROBES
NDTPA_BASE_REACHABLE_TIME
NDTPA_DELAY_PROBE_TIME
NDTPA_GC_STALETIME
NDTPA_IFINDEX
NDTPA_INTERVAL_PROBE_TIME_MS
NDTPA_LOCKTIME
NDTPA_MCAST_PROBES
NDTPA_MCAST_REPROBES
NDTPA_PAD
NDTPA_PROXY_DELAY
NDTPA_PROXY_QLEN
NDTPA_QUEUE_LEN
NDTPA_QUEUE_LENBYTES
NDTPA_REACHABLE_TIME
NDTPA_REFCNT
NDTPA_RETRANS_TIME
NDTPA_UCAST_PROBES
NDTPA_UNSPEC
NETLINK_ADD_MEMBERSHIP
NETLINK_AUDIT
NETLINK_BROADCAST_ERROR
Expand Down Expand Up @@ -1622,6 +1672,9 @@ NF_VERDICT_FLAG_QUEUE_BYPASS
NF_VERDICT_MASK
NF_VERDICT_QBITS
NF_VERDICT_QMASK
NFEA_ACTIVITY_NOTIFY
NFEA_DONT_REFRESH
NFEA_UNSPEC
NI_DGRAM
NI_MAXHOST
NI_MAXSERV
Expand Down Expand Up @@ -1656,6 +1709,25 @@ NLM_F_REPLACE
NLM_F_REQUEST
NLM_F_ROOT
NOFLSH
NTF_EXT_LEARNED
NTF_EXT_LOCKED
NTF_EXT_MANAGED
NTF_MASTER
NTF_OFFLOADED
NTF_PROXY
NTF_ROUTER
NTF_SELF
NTF_STICKY
NTF_USE
NUD_DELAY
NUD_FAILED
NUD_INCOMPLETE
NUD_NOARP
NUD_NONE
NUD_PERMANENT
NUD_PROBE
NUD_REACHABLE
NUD_STALE
OCRNL
OFDEL
OFILL
Expand Down
82 changes: 82 additions & 0 deletions src/unix/linux_like/android/mod.rs
Expand Up @@ -2580,6 +2580,88 @@ pub const ETH_P_XDSA: ::c_int = 0x00F8;
/* see rust-lang/libc#924 pub const ETH_P_MAP: ::c_int = 0x00F9;*/
// end android/platform/bionic/libc/kernel/uapi/linux/if_ether.h

// start android/platform/bionic/libc/kernel/uapi/linux/neighbour.h
pub const NDA_UNSPEC: ::c_ushort = 0;
pub const NDA_DST: ::c_ushort = 1;
pub const NDA_LLADDR: ::c_ushort = 2;
pub const NDA_CACHEINFO: ::c_ushort = 3;
pub const NDA_PROBES: ::c_ushort = 4;
pub const NDA_VLAN: ::c_ushort = 5;
pub const NDA_PORT: ::c_ushort = 6;
pub const NDA_VNI: ::c_ushort = 7;
pub const NDA_IFINDEX: ::c_ushort = 8;
pub const NDA_MASTER: ::c_ushort = 9;
pub const NDA_LINK_NETNSID: ::c_ushort = 10;
pub const NDA_SRC_VNI: ::c_ushort = 11;
pub const NDA_PROTOCOL: ::c_ushort = 12;
pub const NDA_NH_ID: ::c_ushort = 13;
pub const NDA_FDB_EXT_ATTRS: ::c_ushort = 14;
pub const NDA_FLAGS_EXT: ::c_ushort = 15;
pub const NDA_NDM_STATE_MASK: ::c_ushort = 16;
pub const NDA_NDM_FLAGS_MASK: ::c_ushort = 17;

pub const NTF_USE: u8 = 0x01;
pub const NTF_SELF: u8 = 0x02;
pub const NTF_MASTER: u8 = 0x04;
pub const NTF_PROXY: u8 = 0x08;
pub const NTF_EXT_LEARNED: u8 = 0x10;
pub const NTF_OFFLOADED: u8 = 0x20;
pub const NTF_STICKY: u8 = 0x40;
pub const NTF_ROUTER: u8 = 0x80;

pub const NTF_EXT_MANAGED: u8 = 0x01;
pub const NTF_EXT_LOCKED: u8 = 0x02;

pub const NUD_NONE: u16 = 0x00;
pub const NUD_INCOMPLETE: u16 = 0x01;
pub const NUD_REACHABLE: u16 = 0x02;
pub const NUD_STALE: u16 = 0x04;
pub const NUD_DELAY: u16 = 0x08;
pub const NUD_PROBE: u16 = 0x10;
pub const NUD_FAILED: u16 = 0x20;
pub const NUD_NOARP: u16 = 0x40;
pub const NUD_PERMANENT: u16 = 0x80;

pub const NDTPA_UNSPEC: ::c_ushort = 0;
pub const NDTPA_IFINDEX: ::c_ushort = 1;
pub const NDTPA_REFCNT: ::c_ushort = 2;
pub const NDTPA_REACHABLE_TIME: ::c_ushort = 3;
pub const NDTPA_BASE_REACHABLE_TIME: ::c_ushort = 4;
pub const NDTPA_RETRANS_TIME: ::c_ushort = 5;
pub const NDTPA_GC_STALETIME: ::c_ushort = 6;
pub const NDTPA_DELAY_PROBE_TIME: ::c_ushort = 7;
pub const NDTPA_QUEUE_LEN: ::c_ushort = 8;
pub const NDTPA_APP_PROBES: ::c_ushort = 9;
pub const NDTPA_UCAST_PROBES: ::c_ushort = 10;
pub const NDTPA_MCAST_PROBES: ::c_ushort = 11;
pub const NDTPA_ANYCAST_DELAY: ::c_ushort = 12;
pub const NDTPA_PROXY_DELAY: ::c_ushort = 13;
pub const NDTPA_PROXY_QLEN: ::c_ushort = 14;
pub const NDTPA_LOCKTIME: ::c_ushort = 15;
pub const NDTPA_QUEUE_LENBYTES: ::c_ushort = 16;
pub const NDTPA_MCAST_REPROBES: ::c_ushort = 17;
pub const NDTPA_PAD: ::c_ushort = 18;
pub const NDTPA_INTERVAL_PROBE_TIME_MS: ::c_ushort = 19;

pub const NDTA_UNSPEC: ::c_ushort = 0;
pub const NDTA_NAME: ::c_ushort = 1;
pub const NDTA_THRESH1: ::c_ushort = 2;
pub const NDTA_THRESH2: ::c_ushort = 3;
pub const NDTA_THRESH3: ::c_ushort = 4;
pub const NDTA_CONFIG: ::c_ushort = 5;
pub const NDTA_PARMS: ::c_ushort = 6;
pub const NDTA_STATS: ::c_ushort = 7;
pub const NDTA_GC_INTERVAL: ::c_ushort = 8;
pub const NDTA_PAD: ::c_ushort = 9;

pub const FDB_NOTIFY_BIT: u16 = 0x01;
pub const FDB_NOTIFY_INACTIVE_BIT: u16 = 0x02;

pub const NFEA_UNSPEC: ::c_ushort = 0;
pub const NFEA_ACTIVITY_NOTIFY: ::c_ushort = 1;
pub const NFEA_DONT_REFRESH: ::c_ushort = 2;
// end android/platform/bionic/libc/kernel/uapi/linux/neighbour.h

pub const SIOCADDRT: ::c_ulong = 0x0000890B;
pub const SIOCDELRT: ::c_ulong = 0x0000890C;
pub const SIOCGIFNAME: ::c_ulong = 0x00008910;
Expand Down