From a2478a1bdcaed436512335b9051ec016834067f6 Mon Sep 17 00:00:00 2001 From: Folkert de Vries Date: Wed, 20 Nov 2024 21:23:26 +0100 Subject: [PATCH] add `ptp_clock_caps` --- libc-test/semver/linux.txt | 1 + src/unix/linux_like/linux/mod.rs | 75 ++++++++++++++++++++++++++++++++ 2 files changed, 76 insertions(+) diff --git a/libc-test/semver/linux.txt b/libc-test/semver/linux.txt index a983d62341dcf..05edfe7d3ac2a 100644 --- a/libc-test/semver/linux.txt +++ b/libc-test/semver/linux.txt @@ -3945,6 +3945,7 @@ pthread_spin_lock pthread_spin_trylock pthread_spin_unlock pthread_spinlock_t +ptp_clock_caps ptp_clock_time ptp_extts_event ptp_extts_request diff --git a/src/unix/linux_like/linux/mod.rs b/src/unix/linux_like/linux/mod.rs index 2bfd2fc145a97..662e1e0bdb367 100644 --- a/src/unix/linux_like/linux/mod.rs +++ b/src/unix/linux_like/linux/mod.rs @@ -1206,6 +1206,81 @@ s! { } } +cfg_if! { + if #[cfg(all(target_arch = "loongarch64", target_env = "musl"))] { + s! { + pub struct ptp_clock_caps { + pub max_adj: ::c_int, + pub n_alarm: ::c_int, + pub n_ext_ts: ::c_int, + pub n_per_out: ::c_int, + pub pps: ::c_int, + pub n_pins: ::c_int, + pub cross_timestamping: ::c_int, + pub adjust_phase: ::c_int, + pub rsv: [::c_int; 12], + } + } + } else if #[cfg(all(target_arch = "loongarch64", target_env = "gnu"))] { + s! { + pub struct ptp_clock_caps { + pub max_adj: ::c_int, + pub n_alarm: ::c_int, + pub n_ext_ts: ::c_int, + pub n_per_out: ::c_int, + pub pps: ::c_int, + pub n_pins: ::c_int, + pub cross_timestamping: ::c_int, + pub adjust_phase: ::c_int, + pub max_phase_adj: ::c_int, + pub rsv: [::c_int; 11], + } + } + } else if #[cfg(any(target_arch = "sparc", target_arch = "sparc64"))] { + s! { + pub struct ptp_clock_caps { + pub max_adj: ::c_int, + pub n_alarm: ::c_int, + pub n_ext_ts: ::c_int, + pub n_per_out: ::c_int, + pub pps: ::c_int, + pub n_pins: ::c_int, + pub cross_timestamping: ::c_int, + pub adjust_phase: ::c_int, + pub rsv: [::c_int; 12], + } + } + } else if #[cfg(any(target_env = "musl", target_env = "ohos"))] { + s! { + pub struct ptp_clock_caps { + pub max_adj: ::c_int, + pub n_alarm: ::c_int, + pub n_ext_ts: ::c_int, + pub n_per_out: ::c_int, + pub pps: ::c_int, + pub n_pins: ::c_int, + pub cross_timestamping: ::c_int, + pub rsv: [::c_int; 13], + } + } + } else { + s! { + pub struct ptp_clock_caps { + pub max_adj: ::c_int, + pub n_alarm: ::c_int, + pub n_ext_ts: ::c_int, + pub n_per_out: ::c_int, + pub pps: ::c_int, + pub n_pins: ::c_int, + pub cross_timestamping: ::c_int, + pub adjust_phase: ::c_int, + pub max_phase_adj: ::c_int, + pub rsv: [::c_int; 11], + } + } + } +} + cfg_if! { if #[cfg(not(target_arch = "sparc64"))] { s! {