#[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

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.