mirror of
https://chromium.googlesource.com/crosvm/crosvm
synced 2025-02-06 10:32:10 +00:00
8a1c50d5cd
This change contains the results of running ./tools/contib/cargo_refactor.py This will break the next uprev, and needs to be synchronizized with the corresponding ebuild changes in https://crrev.com/c/3248925 BUG=b:195126527 TEST=./tools/run_tests Change-Id: Ied15a1841887bb8f59fba65b912b81acf69beb73 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3248129 Tested-by: kokoro <noreply+kokoro@google.com> Commit-Queue: Dennis Kempin <denniskempin@google.com> Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
58 lines
1.9 KiB
Rust
58 lines
1.9 KiB
Rust
// Copyright 2020 The Chromium OS Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
pub use sys_util::*;
|
|
|
|
mod async_types;
|
|
mod event;
|
|
mod ioctl;
|
|
mod mmap;
|
|
mod shm;
|
|
mod timer;
|
|
mod tube;
|
|
mod wait_context;
|
|
|
|
pub use async_types::*;
|
|
pub use event::{Event, EventReadResult, ScopedEvent};
|
|
pub use ioctl::{
|
|
ioctl, ioctl_with_mut_ptr, ioctl_with_mut_ref, ioctl_with_ptr, ioctl_with_ref, ioctl_with_val,
|
|
};
|
|
pub use mmap::Unix as MemoryMappingUnix;
|
|
pub use mmap::{MemoryMapping, MemoryMappingBuilder, MemoryMappingBuilderUnix};
|
|
pub use shm::{SharedMemory, Unix as SharedMemoryUnix};
|
|
pub use sys_util::ioctl::*;
|
|
pub use sys_util::{
|
|
volatile_at_impl, volatile_impl, FileAllocate, FileGetLen, FileReadWriteAtVolatile,
|
|
FileReadWriteVolatile, FileSetLen, FileSync,
|
|
};
|
|
pub use sys_util::{SeekHole, WriteZeroesAt};
|
|
pub use timer::{FakeTimer, Timer};
|
|
pub use tube::{AsyncTube, Error as TubeError, Result as TubeResult, Tube};
|
|
pub use wait_context::{EventToken, EventType, TriggeredEvent, WaitContext};
|
|
|
|
/// Wraps an AsRawDescriptor in the simple Descriptor struct, which
|
|
/// has AsRawFd methods for interfacing with sys_util
|
|
pub fn wrap_descriptor(descriptor: &dyn AsRawDescriptor) -> Descriptor {
|
|
Descriptor(descriptor.as_raw_descriptor())
|
|
}
|
|
|
|
/// Verifies that |raw_descriptor| is actually owned by this process and duplicates it
|
|
/// to ensure that we have a unique handle to it.
|
|
pub fn validate_raw_descriptor(raw_descriptor: RawDescriptor) -> Result<RawDescriptor> {
|
|
validate_raw_fd(raw_descriptor)
|
|
}
|
|
|
|
/// A trait similar to `AsRawDescriptor` but supports an arbitrary number of descriptors.
|
|
pub trait AsRawDescriptors {
|
|
fn as_raw_descriptors(&self) -> Vec<RawDescriptor>;
|
|
}
|
|
|
|
impl<T> AsRawDescriptors for T
|
|
where
|
|
T: AsRawDescriptor,
|
|
{
|
|
fn as_raw_descriptors(&self) -> Vec<RawDescriptor> {
|
|
vec![self.as_raw_descriptor()]
|
|
}
|
|
}
|