[][src]Struct evmc_sys::evmc_host_interface

#[repr(C)]
pub struct evmc_host_interface {
    pub account_exists: evmc_account_exists_fn,
    pub get_storage: evmc_get_storage_fn,
    pub set_storage: evmc_set_storage_fn,
    pub get_balance: evmc_get_balance_fn,
    pub get_code_size: evmc_get_code_size_fn,
    pub get_code_hash: evmc_get_code_hash_fn,
    pub copy_code: evmc_copy_code_fn,
    pub selfdestruct: evmc_selfdestruct_fn,
    pub call: evmc_call_fn,
    pub get_tx_context: evmc_get_tx_context_fn,
    pub get_block_hash: evmc_get_block_hash_fn,
    pub emit_log: evmc_emit_log_fn,
}

The Host interface.

The set of all callback functions expected by VM instances. This is C realisation of vtable for OOP interface (only virtual methods, no data). Host implementations SHOULD create constant singletons of this (similarly to vtables) to lower the maintenance and memory management cost.

Fields

account_exists: evmc_account_exists_fn

Check account existence callback function.

get_storage: evmc_get_storage_fn

Get storage callback function.

set_storage: evmc_set_storage_fn

Set storage callback function.

get_balance: evmc_get_balance_fn

Get balance callback function.

get_code_size: evmc_get_code_size_fn

Get code size callback function.

get_code_hash: evmc_get_code_hash_fn

Get code hash callback function.

copy_code: evmc_copy_code_fn

Copy code callback function.

selfdestruct: evmc_selfdestruct_fn

Selfdestruct callback function.

call: evmc_call_fn

Call callback function.

get_tx_context: evmc_get_tx_context_fn

Get transaction context callback function.

get_block_hash: evmc_get_block_hash_fn

Get block hash callback function.

emit_log: evmc_emit_log_fn

Emit log callback function.

Trait Implementations

impl Clone for evmc_host_interface[src]

impl Copy for evmc_host_interface[src]

impl Debug for evmc_host_interface[src]

impl Hash for evmc_host_interface[src]

Auto Trait Implementations

Blanket Implementations

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = !

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]