Struct ssvm_evmc_sys::evmc_instance [−][src]
#[repr(C)]pub struct evmc_instance {
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_tracer: evmc_set_tracer_fn,
pub set_option: evmc_set_option_fn,
}
Expand description
The EVM 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 EVM 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 EVM 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_tracer: evmc_set_tracer_fn
Optional pointer to function setting the EVM instruction tracer.
If the EVM does not support this feature the pointer can be NULL.
@deprecated Since EVMC 6.3, the tracing API has been deprecated as there have been some design flaws discovered. New API is expected to be introduced in future.
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
Auto Trait Implementations
impl RefUnwindSafe for evmc_instance
impl !Send for evmc_instance
impl !Sync for evmc_instance
impl Unpin for evmc_instance
impl UnwindSafe for evmc_instance
Blanket Implementations
Mutably borrows from an owned value. Read more