pub trait BaseObject: IntoGEMObject {
// Provided methods
fn size(&self) -> usize { ... }
fn create_handle<D, F>(&self, file: &File<F>) -> Result<u32>
where Self: AllocImpl<Driver = D>,
D: Driver<Object = Self, File = F>,
F: DriverFile<Driver = D> { ... }
fn lookup_handle<D, F>(file: &File<F>, handle: u32) -> Result<ARef<Self>>
where Self: AllocImpl<Driver = D>,
D: Driver<Object = Self, File = F>,
F: DriverFile<Driver = D> { ... }
fn create_mmap_offset(&self) -> Result<u64> { ... }
}
Expand description
Base operations shared by all GEM object classes
Provided Methods§
Sourcefn create_handle<D, F>(&self, file: &File<F>) -> Result<u32>
fn create_handle<D, F>(&self, file: &File<F>) -> Result<u32>
Creates a new handle for the object associated with a given File
(or returns an existing one).
Sourcefn lookup_handle<D, F>(file: &File<F>, handle: u32) -> Result<ARef<Self>>
fn lookup_handle<D, F>(file: &File<F>, handle: u32) -> Result<ARef<Self>>
Looks up an object by its handle for a given File
.
Sourcefn create_mmap_offset(&self) -> Result<u64>
fn create_mmap_offset(&self) -> Result<u64>
Creates an mmap offset to map the object from userspace.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.