Skip to main content

AnvilHost

Struct AnvilHost 

Source
#[repr(C)]
pub struct AnvilHost {
Show 31 fields pub size: u32, pub api_version: u32, pub anvil_version: *const c_char, pub game: *const AnvilGameInfo, pub log: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin, level: AnvilLogLevel, message: *const c_char)>, pub plugin_dir: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin) -> *const wchar_t>, pub data_dir: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin) -> *const wchar_t>, pub hook_function: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin, fn_: AnvilSymbol, detour: *mut c_void, next: *mut *mut c_void, out: *mut *mut AnvilChange) -> AnvilResult>, pub mid_hook: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin, site: AnvilSymbol, callback: AnvilCpuCallback, user: *mut c_void, out: *mut *mut AnvilChange) -> AnvilResult>, pub replace_block: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin, block: AnvilSymbol, callback: AnvilCpuCallback, user: *mut c_void, out: *mut *mut AnvilChange) -> AnvilResult>, pub redirect_call: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin, call_site: AnvilSymbol, target: *mut c_void, next: *mut *mut c_void, out: *mut *mut AnvilChange) -> AnvilResult>, pub patch_bytes: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin, site: AnvilSymbol, bytes: *const c_void, size: usize, out: *mut *mut AnvilChange) -> AnvilResult>, pub swap_pointer: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin, slot: AnvilSymbol, value: *mut c_void, previous: *mut *mut c_void, out: *mut *mut AnvilChange) -> AnvilResult>, pub replace_import: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin, module: *const c_char, function: *const c_char, replacement: *mut c_void, next: *mut *mut c_void, out: *mut *mut AnvilChange) -> AnvilResult>, pub hook_function_at: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin, address: *mut c_void, expected_prologue: *const c_void, prologue_size: usize, detour: *mut c_void, next: *mut *mut c_void, out: *mut *mut AnvilChange) -> AnvilResult>, pub mid_hook_at: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin, address: *mut c_void, expected: *const c_void, expected_size: usize, callback: AnvilCpuCallback, user: *mut c_void, out: *mut *mut AnvilChange) -> AnvilResult>, pub remove: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin, change: *mut AnvilChange) -> AnvilResult>, pub begin_group: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin) -> AnvilResult>, pub commit_group: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin) -> AnvilResult>, pub abort_group: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin)>, pub address_of: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin, symbol: AnvilSymbol) -> *mut c_void>, pub symbol_value: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin, symbol: AnvilSymbol, name: *const c_char, out: *mut u64) -> AnvilResult>, pub setting_bool: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin, setting: AnvilSetting) -> c_int>, pub setting_int: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin, setting: AnvilSetting) -> i64>, pub setting_float: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin, setting: AnvilSetting) -> f64>, pub setting_string: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin, setting: AnvilSetting) -> *const c_char>, pub subscribe_setting: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin, setting: AnvilSetting, callback: AnvilSettingCallback, context: *mut c_void) -> AnvilResult>, pub register_service: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin, name: *const c_char, version: u32, service: *const c_void) -> AnvilResult>, pub get_service: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin, name: *const c_char, version: u32) -> *const c_void>, pub subscribe: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin, event: *const c_char, callback: AnvilEventCallback, context: *mut c_void) -> AnvilResult>, pub publish: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin, event: *const c_char, payload: *const c_void) -> AnvilResult>,
}

Fields§

§size: u32§api_version: u32§anvil_version: *const c_char§game: *const AnvilGameInfo§log: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin, level: AnvilLogLevel, message: *const c_char)>§plugin_dir: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin) -> *const wchar_t>§data_dir: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin) -> *const wchar_t>§hook_function: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin, fn_: AnvilSymbol, detour: *mut c_void, next: *mut *mut c_void, out: *mut *mut AnvilChange) -> AnvilResult>§mid_hook: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin, site: AnvilSymbol, callback: AnvilCpuCallback, user: *mut c_void, out: *mut *mut AnvilChange) -> AnvilResult>§replace_block: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin, block: AnvilSymbol, callback: AnvilCpuCallback, user: *mut c_void, out: *mut *mut AnvilChange) -> AnvilResult>§redirect_call: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin, call_site: AnvilSymbol, target: *mut c_void, next: *mut *mut c_void, out: *mut *mut AnvilChange) -> AnvilResult>§patch_bytes: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin, site: AnvilSymbol, bytes: *const c_void, size: usize, out: *mut *mut AnvilChange) -> AnvilResult>§swap_pointer: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin, slot: AnvilSymbol, value: *mut c_void, previous: *mut *mut c_void, out: *mut *mut AnvilChange) -> AnvilResult>§replace_import: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin, module: *const c_char, function: *const c_char, replacement: *mut c_void, next: *mut *mut c_void, out: *mut *mut AnvilChange) -> AnvilResult>§hook_function_at: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin, address: *mut c_void, expected_prologue: *const c_void, prologue_size: usize, detour: *mut c_void, next: *mut *mut c_void, out: *mut *mut AnvilChange) -> AnvilResult>§mid_hook_at: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin, address: *mut c_void, expected: *const c_void, expected_size: usize, callback: AnvilCpuCallback, user: *mut c_void, out: *mut *mut AnvilChange) -> AnvilResult>§remove: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin, change: *mut AnvilChange) -> AnvilResult>§begin_group: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin) -> AnvilResult>§commit_group: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin) -> AnvilResult>§abort_group: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin)>§address_of: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin, symbol: AnvilSymbol) -> *mut c_void>§symbol_value: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin, symbol: AnvilSymbol, name: *const c_char, out: *mut u64) -> AnvilResult>§setting_bool: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin, setting: AnvilSetting) -> c_int>§setting_int: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin, setting: AnvilSetting) -> i64>§setting_float: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin, setting: AnvilSetting) -> f64>§setting_string: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin, setting: AnvilSetting) -> *const c_char>§subscribe_setting: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin, setting: AnvilSetting, callback: AnvilSettingCallback, context: *mut c_void) -> AnvilResult>§register_service: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin, name: *const c_char, version: u32, service: *const c_void) -> AnvilResult>§get_service: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin, name: *const c_char, version: u32) -> *const c_void>§subscribe: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin, event: *const c_char, callback: AnvilEventCallback, context: *mut c_void) -> AnvilResult>§publish: Option<unsafe extern "C" fn(self_: *mut AnvilPlugin, event: *const c_char, payload: *const c_void) -> AnvilResult>

Trait Implementations§

Source§

impl Clone for AnvilHost

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for AnvilHost

Source§

impl Debug for AnvilHost

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 T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

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

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 T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

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

Source§

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

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.