From 42f96ceeaa7e3674d96c44c62665e5a7dc18911a Mon Sep 17 00:00:00 2001 From: Trevor Gross Date: Tue, 8 Jul 2025 04:04:58 +0000 Subject: [PATCH] Initial setup of glibc source reorganization --- src/new/glibc/mod.rs | 6 ++++++ src/new/glibc/unix/linux/mod.rs | 2 ++ src/new/glibc/unix/linux/net/mod.rs | 2 ++ src/new/glibc/unix/linux/net/route.rs | 27 +++++++++++++++++++++++++++ src/new/glibc/unix/mod.rs | 6 ++++++ src/new/mod.rs | 7 +++++++ src/unix/linux_like/linux/gnu/mod.rs | 21 --------------------- 7 files changed, 50 insertions(+), 21 deletions(-) create mode 100644 src/new/glibc/mod.rs create mode 100644 src/new/glibc/unix/linux/mod.rs create mode 100644 src/new/glibc/unix/linux/net/mod.rs create mode 100644 src/new/glibc/unix/linux/net/route.rs create mode 100644 src/new/glibc/unix/mod.rs diff --git a/src/new/glibc/mod.rs b/src/new/glibc/mod.rs new file mode 100644 index 0000000000000..b292dcf0202cc --- /dev/null +++ b/src/new/glibc/mod.rs @@ -0,0 +1,6 @@ +cfg_if! { + if #[cfg(target_family = "unix")] { + mod unix; + pub use unix::*; + } +} diff --git a/src/new/glibc/unix/linux/mod.rs b/src/new/glibc/unix/linux/mod.rs new file mode 100644 index 0000000000000..61b46c1e25b1f --- /dev/null +++ b/src/new/glibc/unix/linux/mod.rs @@ -0,0 +1,2 @@ +mod net; +pub use net::*; diff --git a/src/new/glibc/unix/linux/net/mod.rs b/src/new/glibc/unix/linux/net/mod.rs new file mode 100644 index 0000000000000..84248c5624500 --- /dev/null +++ b/src/new/glibc/unix/linux/net/mod.rs @@ -0,0 +1,2 @@ +mod route; +pub use route::*; diff --git a/src/new/glibc/unix/linux/net/route.rs b/src/new/glibc/unix/linux/net/route.rs new file mode 100644 index 0000000000000..5b706c869c8e3 --- /dev/null +++ b/src/new/glibc/unix/linux/net/route.rs @@ -0,0 +1,27 @@ +//! Header: `sysdeps/unix/sysv/linux/net/route.h` + +use crate::prelude::*; + +s! { + pub struct rtentry { + pub rt_pad1: c_ulong, + pub rt_dst: crate::sockaddr, + pub rt_gateway: crate::sockaddr, + pub rt_genmask: crate::sockaddr, + pub rt_flags: c_ushort, + pub rt_pad2: c_short, + pub rt_pad3: c_ulong, + pub rt_tos: c_uchar, + pub rt_class: c_uchar, + // FIXME(1.0): private padding fields + #[cfg(target_pointer_width = "64")] + pub rt_pad4: [c_short; 3usize], + #[cfg(not(target_pointer_width = "64"))] + pub rt_pad4: c_short, + pub rt_metric: c_short, + pub rt_dev: *mut c_char, + pub rt_mtu: c_ulong, + pub rt_window: c_ulong, + pub rt_irtt: c_ushort, + } +} diff --git a/src/new/glibc/unix/mod.rs b/src/new/glibc/unix/mod.rs new file mode 100644 index 0000000000000..6f65de9cb2168 --- /dev/null +++ b/src/new/glibc/unix/mod.rs @@ -0,0 +1,6 @@ +cfg_if! { + if #[cfg(target_os = "linux")] { +mod linux; +pub use linux::*; + } +} diff --git a/src/new/mod.rs b/src/new/mod.rs index 4006f5c82288d..5405222afef5e 100644 --- a/src/new/mod.rs +++ b/src/new/mod.rs @@ -10,3 +10,10 @@ cfg_if! { pub use linux_uapi::*; } } + +cfg_if! { + if #[cfg(all(target_os = "linux", target_env = "gnu"))] { + mod glibc; + pub use glibc::*; + } +} diff --git a/src/unix/linux_like/linux/gnu/mod.rs b/src/unix/linux_like/linux/gnu/mod.rs index 06c6fe6714d35..0277b6a738ba1 100644 --- a/src/unix/linux_like/linux/gnu/mod.rs +++ b/src/unix/linux_like/linux/gnu/mod.rs @@ -131,27 +131,6 @@ s! { pub nm_gid: u32, } - pub struct rtentry { - pub rt_pad1: c_ulong, - pub rt_dst: crate::sockaddr, - pub rt_gateway: crate::sockaddr, - pub rt_genmask: crate::sockaddr, - pub rt_flags: c_ushort, - pub rt_pad2: c_short, - pub rt_pad3: c_ulong, - pub rt_tos: c_uchar, - pub rt_class: c_uchar, - #[cfg(target_pointer_width = "64")] - pub rt_pad4: [c_short; 3usize], - #[cfg(not(target_pointer_width = "64"))] - pub rt_pad4: c_short, - pub rt_metric: c_short, - pub rt_dev: *mut c_char, - pub rt_mtu: c_ulong, - pub rt_window: c_ulong, - pub rt_irtt: c_ushort, - } - pub struct ntptimeval { pub time: crate::timeval, pub maxerror: c_long,