5 #ifndef HAKA_LUA_STATE_H 6 #define HAKA_LUA_STATE_H 18 typedef int (*lua_function)(
struct lua_State *L);
19 typedef void (*lua_hook)(
struct lua_State *L,
struct lua_Debug *ar);
21 struct lua_state *lua_state_init();
22 void lua_state_close(
struct lua_state *state);
23 bool lua_state_require(
struct lua_state *state,
const char *
module);
24 bool lua_state_isvalid(
struct lua_state *state);
25 bool lua_state_interrupt(
struct lua_state *state, lua_function func,
void *data,
void (*destroy)(
void *));
26 bool lua_state_runinterrupt(
struct lua_state *state);
27 bool lua_state_setdebugger_hook(
struct lua_state *state, lua_hook hook);
28 bool lua_state_run_file(
struct lua_state *L,
const char *filename,
int argc,
char *argv[]);
29 void lua_state_trigger_haka_event(
struct lua_state *state,
const char *event);
31 int lua_state_error_formater(
struct lua_State *L);
32 void lua_state_print_error(
struct lua_State *L,
const char *msg);
33 struct lua_state *lua_state_get(
struct lua_State *L);
35 extern void (*lua_state_error_hook)(
struct lua_State *L);
38 void lua_getfenv(
struct lua_State *L,
int index);
39 int lua_setfenv(
struct lua_State *L,
int index);