linux_video_core/private/
traits.rs1use crate::{
2 impls::{BufferRef, QueueData},
3 Buffer, Internal, Method, Result,
4};
5use std::os::unix::io::RawFd;
6
7pub trait DirectionImpl: Sized {
9 fn next<Met: Method>(
11 queue: &Internal<QueueData<Self, Met>>,
12 fd: RawFd,
13 ) -> Result<BufferRef<Self, Met>>;
14}
15
16pub trait MethodImpl {
18 fn init(buffer: &Buffer, fd: RawFd) -> Result<*mut u8>;
20
21 fn done(buffer: &Buffer, pointer: *mut u8);
23
24 fn update(_buffer: &mut Buffer, _pointer: *mut u8) {}
26}