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/libc/pipe | |
parent | 3d48cd3f81164bbfc1a755dc1d4a9a02f98c8ddd (diff) | |
download | fparkan-a990de90fe41456a23e58bd087d2f107d321f3a1.tar.xz fparkan-a990de90fe41456a23e58bd087d2f107d321f3a1.zip |
Deleted vendor folder
Diffstat (limited to 'vendor/rustix/src/backend/libc/pipe')
-rw-r--r-- | vendor/rustix/src/backend/libc/pipe/mod.rs | 2 | ||||
-rw-r--r-- | vendor/rustix/src/backend/libc/pipe/syscalls.rs | 125 | ||||
-rw-r--r-- | vendor/rustix/src/backend/libc/pipe/types.rs | 103 |
3 files changed, 0 insertions, 230 deletions
diff --git a/vendor/rustix/src/backend/libc/pipe/mod.rs b/vendor/rustix/src/backend/libc/pipe/mod.rs deleted file mode 100644 index 1e0181a..0000000 --- a/vendor/rustix/src/backend/libc/pipe/mod.rs +++ /dev/null @@ -1,2 +0,0 @@ -pub(crate) mod syscalls; -pub(crate) mod types; diff --git a/vendor/rustix/src/backend/libc/pipe/syscalls.rs b/vendor/rustix/src/backend/libc/pipe/syscalls.rs deleted file mode 100644 index cff932d..0000000 --- a/vendor/rustix/src/backend/libc/pipe/syscalls.rs +++ /dev/null @@ -1,125 +0,0 @@ -use crate::backend::c; -use crate::backend::conv::ret; -use crate::fd::OwnedFd; -use crate::io; -#[cfg(not(any( - apple, - target_os = "aix", - target_os = "espidf", - target_os = "haiku", - target_os = "nto", - target_os = "wasi" -)))] -use crate::pipe::PipeFlags; -use core::mem::MaybeUninit; -#[cfg(linux_kernel)] -use { - crate::backend::conv::{borrowed_fd, ret_c_int, ret_usize}, - crate::backend::MAX_IOV, - crate::fd::BorrowedFd, - crate::pipe::{IoSliceRaw, SpliceFlags}, - crate::utils::option_as_mut_ptr, - core::cmp::min, -}; - -#[cfg(not(target_os = "wasi"))] -pub(crate) fn pipe() -> io::Result<(OwnedFd, OwnedFd)> { - unsafe { - let mut result = MaybeUninit::<[OwnedFd; 2]>::uninit(); - ret(c::pipe(result.as_mut_ptr().cast::<i32>()))?; - let [p0, p1] = result.assume_init(); - Ok((p0, p1)) - } -} - -#[cfg(not(any( - apple, - target_os = "aix", - target_os = "espidf", - target_os = "haiku", - target_os = "nto", - target_os = "wasi" -)))] -pub(crate) fn pipe_with(flags: PipeFlags) -> io::Result<(OwnedFd, OwnedFd)> { - unsafe { - let mut result = MaybeUninit::<[OwnedFd; 2]>::uninit(); - ret(c::pipe2( - result.as_mut_ptr().cast::<i32>(), - bitflags_bits!(flags), - ))?; - let [p0, p1] = result.assume_init(); - Ok((p0, p1)) - } -} - -#[cfg(linux_kernel)] -#[inline] -pub fn splice( - fd_in: BorrowedFd<'_>, - off_in: Option<&mut u64>, - fd_out: BorrowedFd<'_>, - off_out: Option<&mut u64>, - len: usize, - flags: SpliceFlags, -) -> io::Result<usize> { - let off_in = option_as_mut_ptr(off_in).cast(); - let off_out = option_as_mut_ptr(off_out).cast(); - - unsafe { - ret_usize(c::splice( - borrowed_fd(fd_in), - off_in, - borrowed_fd(fd_out), - off_out, - len, - flags.bits(), - )) - } -} - -#[cfg(linux_kernel)] -#[inline] -pub unsafe fn vmsplice( - fd: BorrowedFd<'_>, - bufs: &[IoSliceRaw<'_>], - flags: SpliceFlags, -) -> io::Result<usize> { - ret_usize(c::vmsplice( - borrowed_fd(fd), - bufs.as_ptr().cast::<c::iovec>(), - min(bufs.len(), MAX_IOV), - flags.bits(), - )) -} - -#[cfg(linux_kernel)] -#[inline] -pub fn tee( - fd_in: BorrowedFd<'_>, - fd_out: BorrowedFd<'_>, - len: usize, - flags: SpliceFlags, -) -> io::Result<usize> { - unsafe { - ret_usize(c::tee( - borrowed_fd(fd_in), - borrowed_fd(fd_out), - len, - flags.bits(), - )) - } -} - -#[cfg(linux_kernel)] -#[inline] -pub(crate) fn fcntl_getpipe_sz(fd: BorrowedFd<'_>) -> io::Result<usize> { - unsafe { ret_c_int(c::fcntl(borrowed_fd(fd), c::F_GETPIPE_SZ)).map(|size| size as usize) } -} - -#[cfg(linux_kernel)] -#[inline] -pub(crate) fn fcntl_setpipe_sz(fd: BorrowedFd<'_>, size: usize) -> io::Result<()> { - let size: c::c_int = size.try_into().map_err(|_| io::Errno::PERM)?; - - unsafe { ret(c::fcntl(borrowed_fd(fd), c::F_SETPIPE_SZ, size)) } -} diff --git a/vendor/rustix/src/backend/libc/pipe/types.rs b/vendor/rustix/src/backend/libc/pipe/types.rs deleted file mode 100644 index 78fc2fc..0000000 --- a/vendor/rustix/src/backend/libc/pipe/types.rs +++ /dev/null @@ -1,103 +0,0 @@ -#[cfg(linux_kernel)] -use core::marker::PhantomData; -#[cfg(not(any(apple, target_os = "wasi")))] -use {crate::backend::c, bitflags::bitflags}; - -#[cfg(not(any(apple, target_os = "wasi")))] -bitflags! { - /// `O_*` constants for use with [`pipe_with`]. - /// - /// [`pipe_with`]: crate::pipe::pipe_with - #[repr(transparent)] - #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug)] - pub struct PipeFlags: u32 { - /// `O_CLOEXEC` - const CLOEXEC = bitcast!(c::O_CLOEXEC); - /// `O_DIRECT` - #[cfg(not(any( - solarish, - target_os = "espidf", - target_os = "haiku", - target_os = "nto", - target_os = "openbsd", - target_os = "redox", - target_os = "vita", - )))] - const DIRECT = bitcast!(c::O_DIRECT); - /// `O_NONBLOCK` - const NONBLOCK = bitcast!(c::O_NONBLOCK); - - /// <https://docs.rs/bitflags/*/bitflags/#externally-defined-flags> - const _ = !0; - } -} - -#[cfg(linux_kernel)] -bitflags! { - /// `SPLICE_F_*` constants for use with [`splice`], [`vmsplice`], and - /// [`tee`]. - #[repr(transparent)] - #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug)] - pub struct SpliceFlags: c::c_uint { - /// `SPLICE_F_MOVE` - const MOVE = c::SPLICE_F_MOVE; - /// `SPLICE_F_NONBLOCK` - const NONBLOCK = c::SPLICE_F_NONBLOCK; - /// `SPLICE_F_MORE` - const MORE = c::SPLICE_F_MORE; - /// `SPLICE_F_GIFT` - const GIFT = c::SPLICE_F_GIFT; - - /// <https://docs.rs/bitflags/*/bitflags/#externally-defined-flags> - const _ = !0; - } -} - -/// A buffer type for use with [`vmsplice`]. -/// -/// It is guaranteed to be ABI compatible with the iovec type on Unix platforms -/// and `WSABUF` on Windows. Unlike `IoSlice` and `IoSliceMut` it is -/// semantically like a raw pointer, and therefore can be shared or mutated as -/// needed. -/// -/// [`vmsplice`]: crate::pipe::vmsplice -#[cfg(linux_kernel)] -#[repr(transparent)] -pub struct IoSliceRaw<'a> { - _buf: c::iovec, - _lifetime: PhantomData<&'a ()>, -} - -#[cfg(linux_kernel)] -impl<'a> IoSliceRaw<'a> { - /// Creates a new `IoSlice` wrapping a byte slice. - pub fn from_slice(buf: &'a [u8]) -> Self { - IoSliceRaw { - _buf: c::iovec { - iov_base: buf.as_ptr() as *mut u8 as *mut c::c_void, - iov_len: buf.len() as _, - }, - _lifetime: PhantomData, - } - } - - /// Creates a new `IoSlice` wrapping a mutable byte slice. - pub fn from_slice_mut(buf: &'a mut [u8]) -> Self { - IoSliceRaw { - _buf: c::iovec { - iov_base: buf.as_mut_ptr() as *mut c::c_void, - iov_len: buf.len() as _, - }, - _lifetime: PhantomData, - } - } -} - -#[cfg(not(any(apple, target_os = "wasi")))] -#[test] -fn test_types() { - assert_eq_size!(PipeFlags, c::c_int); - - #[cfg(linux_kernel)] - assert_eq_size!(SpliceFlags, c::c_int); -} |