#[repr(C)]
pub struct TerminalResponse { pub revision: u64, pub terminal_count: u64, pub terminals: *const *const Terminal, pub write: TerminalWriteFn, }
Expand description

Response to [TerminalRequest]

Fields§

§revision: u64

The response revision number

§terminal_count: u64

The number of Terminals in terminals

§terminals: *const *const Terminal

A pointer to an array of Terminal pointers

§write: TerminalWriteFn

The terminal write function

Important

It must be noted that this is the physical address of the write function

Implementations§

source§

impl TerminalResponse

source

pub unsafe fn get_terminals(&self) -> Option<&[&Terminal]>

Get the terminal slice

Safety

The pointer must point to a valid array of Terminals

source

pub unsafe fn get_terminals_mut(&self) -> Option<&mut [&mut Terminal]>

Get the terminal slice

Safety

The pointer must point to a valid array of Terminals. Additionally, you must ensure that this is called nowhere else, otherwise very, very bad things may occur due to read and write tearing

Trait Implementations§

source§

impl Debug for TerminalResponse

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

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

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.