diff options
author | Alan Somers <asomers@gmail.com> | 2021-06-13 19:42:13 -0600 |
---|---|---|
committer | Alan Somers <asomers@gmail.com> | 2021-06-13 20:13:32 -0600 |
commit | 48c7a07c428ccd680c23a18f269f3b887439d6d6 (patch) | |
tree | b0e3dda01805352b450399b25cdc4903a70bbb53 /src/sys/uio.rs | |
parent | cf57ae5b1273fe6796515351ff31e434a05e0e21 (diff) | |
download | nix-48c7a07c428ccd680c23a18f269f3b887439d6d6.zip |
Add nmount for FreeBSD.
Diffstat (limited to 'src/sys/uio.rs')
-rw-r--r-- | src/sys/uio.rs | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/sys/uio.rs b/src/sys/uio.rs index b8ae8605..48a0efd8 100644 --- a/src/sys/uio.rs +++ b/src/sys/uio.rs @@ -168,7 +168,7 @@ pub fn process_vm_readv( #[repr(transparent)] #[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)] -pub struct IoVec<T>(libc::iovec, PhantomData<T>); +pub struct IoVec<T>(pub(crate) libc::iovec, PhantomData<T>); impl<T> IoVec<T> { #[inline] @@ -184,6 +184,14 @@ impl<T> IoVec<T> { } impl<'a> IoVec<&'a [u8]> { + #[cfg(target_os = "freebsd")] + pub(crate) fn from_raw_parts(base: *mut c_void, len: usize) -> Self { + IoVec(libc::iovec { + iov_base: base, + iov_len: len + }, PhantomData) + } + pub fn from_slice(buf: &'a [u8]) -> IoVec<&'a [u8]> { IoVec(libc::iovec { iov_base: buf.as_ptr() as *mut c_void, |