#[repr(C)]pub struct opaque_vchi_message_driver_t {Show 22 fields
pub open: Option<unsafe extern "C" fn(params: *mut VCHI_MESSAGE_DRIVER_OPEN_T, state: *mut c_void) -> *mut VCHI_MDRIVER_HANDLE_T>,
pub suspending: Option<unsafe extern "C" fn(handle: *mut VCHI_MDRIVER_HANDLE_T) -> i32>,
pub resumed: Option<unsafe extern "C" fn(handle: *mut VCHI_MDRIVER_HANDLE_T) -> i32>,
pub power_control: Option<unsafe extern "C" fn(handle: *mut VCHI_MDRIVER_HANDLE_T, arg1: MESSAGE_TX_CHANNEL_T, enable: vcos_bool_t) -> i32>,
pub add_msg_rx_slot: Option<unsafe extern "C" fn(handle: *mut VCHI_MDRIVER_HANDLE_T, slot: *mut RX_MSG_SLOTINFO_T) -> i32>,
pub add_bulk_rx: Option<unsafe extern "C" fn(handle: *mut VCHI_MDRIVER_HANDLE_T, data: *mut c_void, len: u32, slot: *mut RX_BULK_SLOTINFO_T) -> i32>,
pub send: Option<unsafe extern "C" fn(handle: *mut VCHI_MDRIVER_HANDLE_T, channel: MESSAGE_TX_CHANNEL_T, data: *const c_void, len: u32, flags: VCHI_MSG_FLAGS_T, send_handle: *mut c_void) -> i32>,
pub next_event: Option<unsafe extern "C" fn(handle: *mut VCHI_MDRIVER_HANDLE_T, event: *mut MESSAGE_EVENT_T)>,
pub enable: Option<unsafe extern "C" fn(handle: *mut VCHI_MDRIVER_HANDLE_T) -> i32>,
pub form_message: Option<unsafe extern "C" fn(handle: *mut VCHI_MDRIVER_HANDLE_T, service_id: vcos_fourcc_t, vector: *mut VCHI_MSG_VECTOR_T, count: u32, address: *mut c_void, length_avail: u32, max_total_length: u32, pad_to_fill: vcos_bool_t, allow_partial: vcos_bool_t) -> i32>,
pub update_message: Option<unsafe extern "C" fn(handle: *mut VCHI_MDRIVER_HANDLE_T, dest: *mut c_void, slot_count: *mut i16) -> i32>,
pub buffer_aligned: Option<unsafe extern "C" fn(handle: *mut VCHI_MDRIVER_HANDLE_T, tx: c_int, uncached: c_int, address: *const c_void, length: u32) -> i32>,
pub allocate_buffer: Option<unsafe extern "C" fn(handle: *mut VCHI_MDRIVER_HANDLE_T, length: *mut u32) -> *mut c_void>,
pub free_buffer: Option<unsafe extern "C" fn(handle: *mut VCHI_MDRIVER_HANDLE_T, address: *mut c_void)>,
pub rx_slot_size: Option<unsafe extern "C" fn(handle: *mut VCHI_MDRIVER_HANDLE_T, msg_size: c_int) -> c_int>,
pub tx_slot_size: Option<unsafe extern "C" fn(handle: *mut VCHI_MDRIVER_HANDLE_T, msg_size: c_int) -> c_int>,
pub tx_supports_terminate: Option<unsafe extern "C" fn(handle: *const VCHI_MDRIVER_HANDLE_T, channel: MESSAGE_TX_CHANNEL_T) -> vcos_bool_t>,
pub tx_bulk_chunk_size: Option<unsafe extern "C" fn(handle: *const VCHI_MDRIVER_HANDLE_T, channel: MESSAGE_TX_CHANNEL_T) -> u32>,
pub tx_alignment: Option<unsafe extern "C" fn(handle: *const VCHI_MDRIVER_HANDLE_T, channel: MESSAGE_TX_CHANNEL_T) -> c_int>,
pub rx_alignment: Option<unsafe extern "C" fn(handle: *const VCHI_MDRIVER_HANDLE_T, channel: MESSAGE_RX_CHANNEL_T) -> c_int>,
pub form_bulk_aux: Option<unsafe extern "C" fn(handle: *mut VCHI_MDRIVER_HANDLE_T, channel: MESSAGE_TX_CHANNEL_T, data: *const c_void, len: u32, chunk_size: u32, aux_data: *mut *const c_void, aux_len: *mut i32)>,
pub debug: Option<unsafe extern "C" fn(handle: *mut VCHI_MDRIVER_HANDLE_T)>,
}Fields
open: Option<unsafe extern "C" fn(params: *mut VCHI_MESSAGE_DRIVER_OPEN_T, state: *mut c_void) -> *mut VCHI_MDRIVER_HANDLE_T>suspending: Option<unsafe extern "C" fn(handle: *mut VCHI_MDRIVER_HANDLE_T) -> i32>resumed: Option<unsafe extern "C" fn(handle: *mut VCHI_MDRIVER_HANDLE_T) -> i32>power_control: Option<unsafe extern "C" fn(handle: *mut VCHI_MDRIVER_HANDLE_T, arg1: MESSAGE_TX_CHANNEL_T, enable: vcos_bool_t) -> i32>add_msg_rx_slot: Option<unsafe extern "C" fn(handle: *mut VCHI_MDRIVER_HANDLE_T, slot: *mut RX_MSG_SLOTINFO_T) -> i32>add_bulk_rx: Option<unsafe extern "C" fn(handle: *mut VCHI_MDRIVER_HANDLE_T, data: *mut c_void, len: u32, slot: *mut RX_BULK_SLOTINFO_T) -> i32>send: Option<unsafe extern "C" fn(handle: *mut VCHI_MDRIVER_HANDLE_T, channel: MESSAGE_TX_CHANNEL_T, data: *const c_void, len: u32, flags: VCHI_MSG_FLAGS_T, send_handle: *mut c_void) -> i32>next_event: Option<unsafe extern "C" fn(handle: *mut VCHI_MDRIVER_HANDLE_T, event: *mut MESSAGE_EVENT_T)>enable: Option<unsafe extern "C" fn(handle: *mut VCHI_MDRIVER_HANDLE_T) -> i32>form_message: Option<unsafe extern "C" fn(handle: *mut VCHI_MDRIVER_HANDLE_T, service_id: vcos_fourcc_t, vector: *mut VCHI_MSG_VECTOR_T, count: u32, address: *mut c_void, length_avail: u32, max_total_length: u32, pad_to_fill: vcos_bool_t, allow_partial: vcos_bool_t) -> i32>update_message: Option<unsafe extern "C" fn(handle: *mut VCHI_MDRIVER_HANDLE_T, dest: *mut c_void, slot_count: *mut i16) -> i32>buffer_aligned: Option<unsafe extern "C" fn(handle: *mut VCHI_MDRIVER_HANDLE_T, tx: c_int, uncached: c_int, address: *const c_void, length: u32) -> i32>allocate_buffer: Option<unsafe extern "C" fn(handle: *mut VCHI_MDRIVER_HANDLE_T, length: *mut u32) -> *mut c_void>free_buffer: Option<unsafe extern "C" fn(handle: *mut VCHI_MDRIVER_HANDLE_T, address: *mut c_void)>rx_slot_size: Option<unsafe extern "C" fn(handle: *mut VCHI_MDRIVER_HANDLE_T, msg_size: c_int) -> c_int>tx_slot_size: Option<unsafe extern "C" fn(handle: *mut VCHI_MDRIVER_HANDLE_T, msg_size: c_int) -> c_int>tx_supports_terminate: Option<unsafe extern "C" fn(handle: *const VCHI_MDRIVER_HANDLE_T, channel: MESSAGE_TX_CHANNEL_T) -> vcos_bool_t>tx_bulk_chunk_size: Option<unsafe extern "C" fn(handle: *const VCHI_MDRIVER_HANDLE_T, channel: MESSAGE_TX_CHANNEL_T) -> u32>tx_alignment: Option<unsafe extern "C" fn(handle: *const VCHI_MDRIVER_HANDLE_T, channel: MESSAGE_TX_CHANNEL_T) -> c_int>rx_alignment: Option<unsafe extern "C" fn(handle: *const VCHI_MDRIVER_HANDLE_T, channel: MESSAGE_RX_CHANNEL_T) -> c_int>form_bulk_aux: Option<unsafe extern "C" fn(handle: *mut VCHI_MDRIVER_HANDLE_T, channel: MESSAGE_TX_CHANNEL_T, data: *const c_void, len: u32, chunk_size: u32, aux_data: *mut *const c_void, aux_len: *mut i32)>debug: Option<unsafe extern "C" fn(handle: *mut VCHI_MDRIVER_HANDLE_T)>Trait Implementations
sourceimpl Clone for opaque_vchi_message_driver_t
impl Clone for opaque_vchi_message_driver_t
sourcefn clone(&self) -> opaque_vchi_message_driver_t
fn clone(&self) -> opaque_vchi_message_driver_t
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read more
sourceimpl Debug for opaque_vchi_message_driver_t
impl Debug for opaque_vchi_message_driver_t
impl Copy for opaque_vchi_message_driver_t
Auto Trait Implementations
impl RefUnwindSafe for opaque_vchi_message_driver_t
impl Send for opaque_vchi_message_driver_t
impl Sync for opaque_vchi_message_driver_t
impl Unpin for opaque_vchi_message_driver_t
impl UnwindSafe for opaque_vchi_message_driver_t
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
🔬 This is a nightly-only experimental API. (
toowned_clone_into)Uses borrowed data to replace owned data, usually by cloning. Read more