#[repr(C)]pub struct HostApi {
pub ctx: *mut c_void,
pub get_var: unsafe extern "C" fn(ctx: *mut c_void, name: *const c_char) -> *const c_char,
pub set_var: unsafe extern "C" fn(ctx: *mut c_void, name: *const c_char, value: *const c_char) -> i32,
pub export_var: unsafe extern "C" fn(ctx: *mut c_void, name: *const c_char, value: *const c_char) -> i32,
pub get_cwd: unsafe extern "C" fn(ctx: *mut c_void) -> *const c_char,
pub set_cwd: unsafe extern "C" fn(ctx: *mut c_void, path: *const c_char) -> i32,
pub write_stdout: unsafe extern "C" fn(ctx: *mut c_void, data: *const c_char, len: usize) -> i32,
pub write_stderr: unsafe extern "C" fn(ctx: *mut c_void, data: *const c_char, len: usize) -> i32,
}Expand description
API callbacks yosh provides to plugins.
ctx is an opaque pointer to yosh internals. Plugins pass it back to each
callback but must not dereference or store it beyond the current call.
Fields§
§ctx: *mut c_void§get_var: unsafe extern "C" fn(ctx: *mut c_void, name: *const c_char) -> *const c_char§set_var: unsafe extern "C" fn(ctx: *mut c_void, name: *const c_char, value: *const c_char) -> i32§export_var: unsafe extern "C" fn(ctx: *mut c_void, name: *const c_char, value: *const c_char) -> i32§get_cwd: unsafe extern "C" fn(ctx: *mut c_void) -> *const c_char§set_cwd: unsafe extern "C" fn(ctx: *mut c_void, path: *const c_char) -> i32§write_stdout: unsafe extern "C" fn(ctx: *mut c_void, data: *const c_char, len: usize) -> i32§write_stderr: unsafe extern "C" fn(ctx: *mut c_void, data: *const c_char, len: usize) -> i32Auto Trait Implementations§
impl Freeze for HostApi
impl RefUnwindSafe for HostApi
impl !Send for HostApi
impl !Sync for HostApi
impl Unpin for HostApi
impl UnsafeUnpin for HostApi
impl UnwindSafe for HostApi
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more