[][src]Struct evmc_sys::evmc_vm

#[repr(C)]
pub struct evmc_vm {
    pub abi_version: c_int,
    pub name: *const c_char,
    pub version: *const c_char,
    pub destroy: evmc_destroy_fn,
    pub execute: evmc_execute_fn,
    pub get_capabilities: evmc_get_capabilities_fn,
    pub set_option: evmc_set_option_fn,
}

The VM instance.

Defines the base struct of the VM implementation.

Fields

abi_version: c_int

EVMC ABI version implemented by the VM instance.

Can be used to detect ABI incompatibilities. The EVMC ABI version represented by this file is in ::EVMC_ABI_VERSION.

name: *const c_char

The name of the EVMC VM implementation.

It MUST be a NULL-terminated not empty string. The content MUST be UTF-8 encoded (this implies ASCII encoding is also allowed).

version: *const c_char

The version of the EVMC VM implementation, e.g. "1.2.3b4".

It MUST be a NULL-terminated not empty string. The content MUST be UTF-8 encoded (this implies ASCII encoding is also allowed).

destroy: evmc_destroy_fn

Pointer to function destroying the VM instance.

This is a mandatory method and MUST NOT be set to NULL.

execute: evmc_execute_fn

Pointer to function executing a code by the VM instance.

This is a mandatory method and MUST NOT be set to NULL.

get_capabilities: evmc_get_capabilities_fn

A method returning capabilities supported by the VM instance.

The value returned MAY change when different options are set via the set_option() method.

A Client SHOULD only rely on the value returned if it has queried it after it has called the set_option().

This is a mandatory method and MUST NOT be set to NULL.

set_option: evmc_set_option_fn

Optional pointer to function modifying VM's options.

If the VM does not support this feature the pointer can be NULL.

Trait Implementations

impl Clone for evmc_vm[src]

impl Copy for evmc_vm[src]

impl Debug for evmc_vm[src]

impl Hash for evmc_vm[src]

Auto Trait Implementations

impl !Send for evmc_vm

impl !Sync for evmc_vm

impl Unpin for evmc_vm

impl UnwindSafe for evmc_vm

impl RefUnwindSafe for evmc_vm

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]