Skip to main content

luaur_vm/records/
lua_state.rs

1use crate::records::call_info::CallInfo;
2use crate::records::g_cheader::GCheader;
3use crate::records::gc_object::GcObject;
4use crate::records::global_state::global_State;
5use crate::records::lua_table::LuaTable;
6use crate::records::t_string::TString;
7use crate::records::up_val::UpVal;
8use crate::type_aliases::stk_id::StkId;
9
10#[allow(non_camel_case_types)]
11#[repr(C)]
12#[derive(Debug)]
13pub struct lua_State {
14    pub hdr: GCheader,
15    pub status: u8,
16    pub activememcat: u8,
17    pub isactive: bool,
18    pub singlestep: bool,
19    pub top: StkId,
20    pub base: StkId,
21    pub global: *mut global_State,
22    pub ci: *mut CallInfo,
23    pub stack_last: StkId,
24    pub stack: StkId,
25    pub end_ci: *mut CallInfo,
26    pub base_ci: *mut CallInfo,
27    pub stacksize: core::ffi::c_int,
28    pub size_ci: core::ffi::c_int,
29    pub nCcalls: u16,
30    pub baseCcalls: u16,
31    pub cachedslot: core::ffi::c_int,
32    pub gt: *mut LuaTable,
33    pub openupval: *mut UpVal,
34    pub gclist: *mut GcObject,
35    pub namecall: *mut TString,
36    pub userdata: *mut core::ffi::c_void,
37}
38
39#[allow(non_camel_case_types)]
40pub type LuaState = lua_State;