#[non_exhaustive]#[repr(C)]pub struct lua_Callbacks {Show 14 fields
pub userdata: *mut c_void,
pub interrupt: Option<unsafe extern "C-unwind" fn(L: *mut lua_State, gc: c_int)>,
pub panic: Option<unsafe extern "C-unwind" fn(L: *mut lua_State, errcode: c_int)>,
pub userthread: Option<unsafe extern "C-unwind" fn(LP: *mut lua_State, L: *mut lua_State)>,
pub useratom: Option<unsafe extern "C-unwind" fn(L: *mut lua_State, s: *const c_char, l: usize) -> i16>,
pub userfinalizer: Option<unsafe extern "C-unwind" fn(L: *mut lua_State, co: *mut lua_State)>,
pub debugbreak: Option<unsafe extern "C-unwind" fn(L: *mut lua_State, ar: *mut lua_Debug)>,
pub debugstep: Option<unsafe extern "C-unwind" fn(L: *mut lua_State, ar: *mut lua_Debug)>,
pub debuginterrupt: Option<unsafe extern "C-unwind" fn(L: *mut lua_State, ar: *mut lua_Debug)>,
pub debugprotectederror: Option<unsafe extern "C-unwind" fn(L: *mut lua_State)>,
pub onallocate: Option<unsafe extern "C-unwind" fn(L: *mut lua_State, block: *mut c_void, osize: usize, nsize: usize, memcat: u8, tt: c_int, tag: c_int)>,
pub preresume: Option<unsafe extern "C-unwind" fn(L: *mut lua_State)>,
pub postresume: Option<unsafe extern "C-unwind" fn(L: *mut lua_State)>,
pub onfree: Option<unsafe extern "C-unwind" fn(L: *mut lua_State, block: *mut c_void)>,
}luau only.Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.userdata: *mut c_voidarbitrary userdata pointer that is never overwritten by Luau
interrupt: Option<unsafe extern "C-unwind" fn(L: *mut lua_State, gc: c_int)>gets called at safepoints (loop back edges, call/ret, gc) if set
panic: Option<unsafe extern "C-unwind" fn(L: *mut lua_State, errcode: c_int)>gets called when an unprotected error is raised (if longjmp is used)
userthread: Option<unsafe extern "C-unwind" fn(LP: *mut lua_State, L: *mut lua_State)>gets called when L is created (LP == parent) or destroyed (LP == NULL)
useratom: Option<unsafe extern "C-unwind" fn(L: *mut lua_State, s: *const c_char, l: usize) -> i16>gets called when a string is created to assign an atom id
userfinalizer: Option<unsafe extern "C-unwind" fn(L: *mut lua_State, co: *mut lua_State)>gets called before a finalizer is attached to co by the current thread
debugbreak: Option<unsafe extern "C-unwind" fn(L: *mut lua_State, ar: *mut lua_Debug)>gets called when BREAK instruction is encountered
debugstep: Option<unsafe extern "C-unwind" fn(L: *mut lua_State, ar: *mut lua_Debug)>gets called after each instruction in single step mode
debuginterrupt: Option<unsafe extern "C-unwind" fn(L: *mut lua_State, ar: *mut lua_Debug)>gets called when thread execution is interrupted by break in another thread
debugprotectederror: Option<unsafe extern "C-unwind" fn(L: *mut lua_State)>gets called when protected call results in an error
onallocate: Option<unsafe extern "C-unwind" fn(L: *mut lua_State, block: *mut c_void, osize: usize, nsize: usize, memcat: u8, tt: c_int, tag: c_int)>gets called after a heap object (or array) is allocated
preresume: Option<unsafe extern "C-unwind" fn(L: *mut lua_State)>gets called before lua_resume runs a coroutine
postresume: Option<unsafe extern "C-unwind" fn(L: *mut lua_State)>gets called after lua_resume returns
onfree: Option<unsafe extern "C-unwind" fn(L: *mut lua_State, block: *mut c_void)>gets called before a heap object (or array) is freed