diff options
| author | Valentin Popov <valentin@popov.link> | 2024-07-19 15:37:58 +0300 | 
|---|---|---|
| committer | Valentin Popov <valentin@popov.link> | 2024-07-19 15:37:58 +0300 | 
| commit | a990de90fe41456a23e58bd087d2f107d321f3a1 (patch) | |
| tree | 15afc392522a9e85dc3332235e311b7d39352ea9 /vendor/rustix/src/backend/linux_raw/time | |
| parent | 3d48cd3f81164bbfc1a755dc1d4a9a02f98c8ddd (diff) | |
| download | fparkan-a990de90fe41456a23e58bd087d2f107d321f3a1.tar.xz fparkan-a990de90fe41456a23e58bd087d2f107d321f3a1.zip  | |
Deleted vendor folder
Diffstat (limited to 'vendor/rustix/src/backend/linux_raw/time')
| -rw-r--r-- | vendor/rustix/src/backend/linux_raw/time/mod.rs | 3 | ||||
| -rw-r--r-- | vendor/rustix/src/backend/linux_raw/time/syscalls.rs | 257 | ||||
| -rw-r--r-- | vendor/rustix/src/backend/linux_raw/time/types.rs | 100 | 
3 files changed, 0 insertions, 360 deletions
diff --git a/vendor/rustix/src/backend/linux_raw/time/mod.rs b/vendor/rustix/src/backend/linux_raw/time/mod.rs deleted file mode 100644 index c42592c..0000000 --- a/vendor/rustix/src/backend/linux_raw/time/mod.rs +++ /dev/null @@ -1,3 +0,0 @@ -#[cfg(any(feature = "time", target_arch = "x86"))] -pub(crate) mod syscalls; -pub(crate) mod types; diff --git a/vendor/rustix/src/backend/linux_raw/time/syscalls.rs b/vendor/rustix/src/backend/linux_raw/time/syscalls.rs deleted file mode 100644 index d20bcfa..0000000 --- a/vendor/rustix/src/backend/linux_raw/time/syscalls.rs +++ /dev/null @@ -1,257 +0,0 @@ -//! linux_raw syscalls supporting `rustix::time`. -//! -//! # Safety -//! -//! See the `rustix::backend` module documentation for details. -#![allow(unsafe_code, clippy::undocumented_unsafe_blocks)] - -use crate::backend::conv::{ret, ret_infallible}; -use crate::clockid::ClockId; -use crate::io; -use crate::timespec::Timespec; -use core::mem::MaybeUninit; -#[cfg(all(feature = "time", target_pointer_width = "32"))] -use linux_raw_sys::general::itimerspec as __kernel_old_itimerspec; -#[cfg(target_pointer_width = "32")] -use linux_raw_sys::general::timespec as __kernel_old_timespec; -#[cfg(feature = "time")] -use { -    crate::backend::conv::{by_ref, ret_owned_fd}, -    crate::fd::BorrowedFd, -    crate::fd::OwnedFd, -    crate::time::{Itimerspec, TimerfdClockId, TimerfdFlags, TimerfdTimerFlags}, -}; - -// `clock_gettime` has special optimizations via the vDSO. -#[cfg(feature = "time")] -pub(crate) use crate::backend::vdso_wrappers::{clock_gettime, clock_gettime_dynamic}; - -#[inline] -pub(crate) fn clock_getres(which_clock: ClockId) -> Timespec { -    #[cfg(target_pointer_width = "32")] -    unsafe { -        let mut result = MaybeUninit::<Timespec>::uninit(); -        if let Err(err) = ret(syscall!(__NR_clock_getres_time64, which_clock, &mut result)) { -            // See the comments in `rustix_clock_gettime_via_syscall` about -            // emulation. -            debug_assert_eq!(err, io::Errno::NOSYS); -            clock_getres_old(which_clock, &mut result); -        } -        result.assume_init() -    } -    #[cfg(target_pointer_width = "64")] -    unsafe { -        let mut result = MaybeUninit::<Timespec>::uninit(); -        ret_infallible(syscall!(__NR_clock_getres, which_clock, &mut result)); -        result.assume_init() -    } -} - -#[cfg(target_pointer_width = "32")] -unsafe fn clock_getres_old(which_clock: ClockId, result: &mut MaybeUninit<Timespec>) { -    let mut old_result = MaybeUninit::<__kernel_old_timespec>::uninit(); -    ret_infallible(syscall!(__NR_clock_getres, which_clock, &mut old_result)); -    let old_result = old_result.assume_init(); -    result.write(Timespec { -        tv_sec: old_result.tv_sec.into(), -        tv_nsec: old_result.tv_nsec.into(), -    }); -} - -#[cfg(feature = "time")] -#[inline] -pub(crate) fn clock_settime(which_clock: ClockId, timespec: Timespec) -> io::Result<()> { -    // `clock_settime64` was introduced in Linux 5.1. The old `clock_settime` -    // syscall is not y2038-compatible on 32-bit architectures. -    #[cfg(target_pointer_width = "32")] -    unsafe { -        match ret(syscall_readonly!( -            __NR_clock_settime64, -            which_clock, -            by_ref(×pec) -        )) { -            Err(io::Errno::NOSYS) => clock_settime_old(which_clock, timespec), -            otherwise => otherwise, -        } -    } -    #[cfg(target_pointer_width = "64")] -    unsafe { -        ret(syscall_readonly!( -            __NR_clock_settime, -            which_clock, -            by_ref(×pec) -        )) -    } -} - -#[cfg(feature = "time")] -#[cfg(target_pointer_width = "32")] -unsafe fn clock_settime_old(which_clock: ClockId, timespec: Timespec) -> io::Result<()> { -    let old_timespec = __kernel_old_timespec { -        tv_sec: timespec -            .tv_sec -            .try_into() -            .map_err(|_| io::Errno::OVERFLOW)?, -        tv_nsec: timespec.tv_nsec as _, -    }; -    ret(syscall_readonly!( -        __NR_clock_settime, -        which_clock, -        by_ref(&old_timespec) -    )) -} - -#[cfg(feature = "time")] -#[inline] -pub(crate) fn timerfd_create(clockid: TimerfdClockId, flags: TimerfdFlags) -> io::Result<OwnedFd> { -    unsafe { ret_owned_fd(syscall_readonly!(__NR_timerfd_create, clockid, flags)) } -} - -#[cfg(feature = "time")] -#[inline] -pub(crate) fn timerfd_settime( -    fd: BorrowedFd<'_>, -    flags: TimerfdTimerFlags, -    new_value: &Itimerspec, -) -> io::Result<Itimerspec> { -    let mut result = MaybeUninit::<Itimerspec>::uninit(); - -    #[cfg(target_pointer_width = "64")] -    unsafe { -        ret(syscall!( -            __NR_timerfd_settime, -            fd, -            flags, -            by_ref(new_value), -            &mut result -        ))?; -        Ok(result.assume_init()) -    } - -    #[cfg(target_pointer_width = "32")] -    unsafe { -        ret(syscall!( -            __NR_timerfd_settime64, -            fd, -            flags, -            by_ref(new_value), -            &mut result -        )) -        .or_else(|err| { -            // See the comments in `rustix_clock_gettime_via_syscall` about -            // emulation. -            if err == io::Errno::NOSYS { -                timerfd_settime_old(fd, flags, new_value, &mut result) -            } else { -                Err(err) -            } -        })?; -        Ok(result.assume_init()) -    } -} - -#[cfg(feature = "time")] -#[cfg(target_pointer_width = "32")] -unsafe fn timerfd_settime_old( -    fd: BorrowedFd<'_>, -    flags: TimerfdTimerFlags, -    new_value: &Itimerspec, -    result: &mut MaybeUninit<Itimerspec>, -) -> io::Result<()> { -    let mut old_result = MaybeUninit::<__kernel_old_itimerspec>::uninit(); - -    // Convert `new_value` to the old `__kernel_old_itimerspec` format. -    let old_new_value = __kernel_old_itimerspec { -        it_interval: __kernel_old_timespec { -            tv_sec: new_value -                .it_interval -                .tv_sec -                .try_into() -                .map_err(|_| io::Errno::OVERFLOW)?, -            tv_nsec: new_value -                .it_interval -                .tv_nsec -                .try_into() -                .map_err(|_| io::Errno::INVAL)?, -        }, -        it_value: __kernel_old_timespec { -            tv_sec: new_value -                .it_value -                .tv_sec -                .try_into() -                .map_err(|_| io::Errno::OVERFLOW)?, -            tv_nsec: new_value -                .it_value -                .tv_nsec -                .try_into() -                .map_err(|_| io::Errno::INVAL)?, -        }, -    }; -    ret(syscall!( -        __NR_timerfd_settime, -        fd, -        flags, -        by_ref(&old_new_value), -        &mut old_result -    ))?; -    let old_result = old_result.assume_init(); -    result.write(Itimerspec { -        it_interval: Timespec { -            tv_sec: old_result.it_interval.tv_sec.into(), -            tv_nsec: old_result.it_interval.tv_nsec.into(), -        }, -        it_value: Timespec { -            tv_sec: old_result.it_value.tv_sec.into(), -            tv_nsec: old_result.it_value.tv_nsec.into(), -        }, -    }); -    Ok(()) -} - -#[cfg(feature = "time")] -#[inline] -pub(crate) fn timerfd_gettime(fd: BorrowedFd<'_>) -> io::Result<Itimerspec> { -    let mut result = MaybeUninit::<Itimerspec>::uninit(); - -    #[cfg(target_pointer_width = "64")] -    unsafe { -        ret(syscall!(__NR_timerfd_gettime, fd, &mut result))?; -        Ok(result.assume_init()) -    } - -    #[cfg(target_pointer_width = "32")] -    unsafe { -        ret(syscall!(__NR_timerfd_gettime64, fd, &mut result)).or_else(|err| { -            // See the comments in `rustix_clock_gettime_via_syscall` about -            // emulation. -            if err == io::Errno::NOSYS { -                timerfd_gettime_old(fd, &mut result) -            } else { -                Err(err) -            } -        })?; -        Ok(result.assume_init()) -    } -} - -#[cfg(feature = "time")] -#[cfg(target_pointer_width = "32")] -unsafe fn timerfd_gettime_old( -    fd: BorrowedFd<'_>, -    result: &mut MaybeUninit<Itimerspec>, -) -> io::Result<()> { -    let mut old_result = MaybeUninit::<__kernel_old_itimerspec>::uninit(); -    ret(syscall!(__NR_timerfd_gettime, fd, &mut old_result))?; -    let old_result = old_result.assume_init(); -    result.write(Itimerspec { -        it_interval: Timespec { -            tv_sec: old_result.it_interval.tv_sec.into(), -            tv_nsec: old_result.it_interval.tv_nsec.into(), -        }, -        it_value: Timespec { -            tv_sec: old_result.it_value.tv_sec.into(), -            tv_nsec: old_result.it_value.tv_nsec.into(), -        }, -    }); -    Ok(()) -} diff --git a/vendor/rustix/src/backend/linux_raw/time/types.rs b/vendor/rustix/src/backend/linux_raw/time/types.rs deleted file mode 100644 index c26812c..0000000 --- a/vendor/rustix/src/backend/linux_raw/time/types.rs +++ /dev/null @@ -1,100 +0,0 @@ -use crate::backend::c; -use bitflags::bitflags; - -/// `struct itimerspec` for use with [`timerfd_gettime`] and -/// [`timerfd_settime`]. -/// -/// [`timerfd_gettime`]: crate::time::timerfd_gettime -/// [`timerfd_settime`]: crate::time::timerfd_settime -pub type Itimerspec = linux_raw_sys::general::__kernel_itimerspec; - -bitflags! { -    /// `TFD_*` flags for use with [`timerfd_create`]. -    /// -    /// [`timerfd_create`]: crate::time::timerfd_create -    #[repr(transparent)] -    #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug)] -    pub struct TimerfdFlags: c::c_uint { -        /// `TFD_NONBLOCK` -        #[doc(alias = "TFD_NONBLOCK")] -        const NONBLOCK = linux_raw_sys::general::TFD_NONBLOCK; - -        /// `TFD_CLOEXEC` -        #[doc(alias = "TFD_CLOEXEC")] -        const CLOEXEC = linux_raw_sys::general::TFD_CLOEXEC; - -        /// <https://docs.rs/bitflags/*/bitflags/#externally-defined-flags> -        const _ = !0; -    } -} - -bitflags! { -    /// `TFD_TIMER_*` flags for use with [`timerfd_settime`]. -    /// -    /// [`timerfd_settime`]: crate::time::timerfd_settime -    #[repr(transparent)] -    #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug)] -    pub struct TimerfdTimerFlags: c::c_uint { -        /// `TFD_TIMER_ABSTIME` -        #[doc(alias = "TFD_TIMER_ABSTIME")] -        const ABSTIME = linux_raw_sys::general::TFD_TIMER_ABSTIME; - -        /// `TFD_TIMER_CANCEL_ON_SET` -        #[doc(alias = "TFD_TIMER_CANCEL_ON_SET")] -        const CANCEL_ON_SET = linux_raw_sys::general::TFD_TIMER_CANCEL_ON_SET; - -        /// <https://docs.rs/bitflags/*/bitflags/#externally-defined-flags> -        const _ = !0; -    } -} - -/// `CLOCK_*` constants for use with [`timerfd_create`]. -/// -/// [`timerfd_create`]: crate::time::timerfd_create -#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)] -#[repr(u32)] -#[non_exhaustive] -pub enum TimerfdClockId { -    /// `CLOCK_REALTIME`—A clock that tells the “real” time. -    /// -    /// This is a clock that tells the amount of time elapsed since the Unix -    /// epoch, 1970-01-01T00:00:00Z. The clock is externally settable, so it is -    /// not monotonic. Successive reads may see decreasing times, so it isn't -    /// reliable for measuring durations. -    #[doc(alias = "CLOCK_REALTIME")] -    Realtime = linux_raw_sys::general::CLOCK_REALTIME, - -    /// `CLOCK_MONOTONIC`—A clock that tells an abstract time. -    /// -    /// Unlike `Realtime`, this clock is not based on a fixed known epoch, so -    /// individual times aren't meaningful. However, since it isn't settable, -    /// it is reliable for measuring durations. -    /// -    /// This clock does not advance while the system is suspended; see -    /// `Boottime` for a clock that does. -    #[doc(alias = "CLOCK_MONOTONIC")] -    Monotonic = linux_raw_sys::general::CLOCK_MONOTONIC, - -    /// `CLOCK_BOOTTIME`—Like `Monotonic`, but advances while suspended. -    /// -    /// This clock is similar to `Monotonic`, but does advance while the system -    /// is suspended. -    #[doc(alias = "CLOCK_BOOTTIME")] -    Boottime = linux_raw_sys::general::CLOCK_BOOTTIME, - -    /// `CLOCK_REALTIME_ALARM`—Like `Realtime`, but wakes a suspended system. -    /// -    /// This clock is like `Realtime`, but can wake up a suspended system. -    /// -    /// Use of this clock requires the `CAP_WAKE_ALARM` Linux capability. -    #[doc(alias = "CLOCK_REALTIME_ALARM")] -    RealtimeAlarm = linux_raw_sys::general::CLOCK_REALTIME_ALARM, - -    /// `CLOCK_BOOTTIME_ALARM`—Like `Boottime`, but wakes a suspended system. -    /// -    /// This clock is like `Boottime`, but can wake up a suspended system. -    /// -    /// Use of this clock requires the `CAP_WAKE_ALARM` Linux capability. -    #[doc(alias = "CLOCK_BOOTTIME_ALARM")] -    BoottimeAlarm = linux_raw_sys::general::CLOCK_BOOTTIME_ALARM, -}  | 
