Use luaL_openlib for natives
This commit is contained in:
parent
ba2214876b
commit
7368bd6168
2
Makefile
2
Makefile
@ -4,7 +4,7 @@
|
|||||||
PREFIX?=x86_64-linux-musl
|
PREFIX?=x86_64-linux-musl
|
||||||
|
|
||||||
CC = $(PREFIX)-gcc
|
CC = $(PREFIX)-gcc
|
||||||
CFLAGS?=-O2 -std=c99
|
CFLAGS?=-O2 -std=c99 -DLUA_COMPAT_MODULE
|
||||||
LDFLAGS+= -static -Ldependencies/lib-$(PREFIX)
|
LDFLAGS+= -static -Ldependencies/lib-$(PREFIX)
|
||||||
|
|
||||||
# Project specific stuff
|
# Project specific stuff
|
||||||
|
@ -15,9 +15,7 @@ void logm(const char *message);
|
|||||||
#define logm(m)
|
#define logm(m)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* TODO: move to utils */
|
|
||||||
#define pushstuple(state, name, value) lua_pushstring((state), (name)); lua_pushstring((state), (value)); lua_settable((state), -3)
|
#define pushstuple(state, name, value) lua_pushstring((state), (name)); lua_pushstring((state), (value)); lua_settable((state), -3)
|
||||||
#define pushctuple(state, name, value) lua_pushstring((state), (name)); lua_pushcfunction((state), (value)); lua_settable((state), -3)
|
|
||||||
|
|
||||||
lua_State* getL();
|
lua_State* getL();
|
||||||
|
|
||||||
|
@ -199,11 +199,11 @@ void internet_start(lua_State *L) {
|
|||||||
ssl_init();
|
ssl_init();
|
||||||
signal(SIGPIPE, SIG_IGN);
|
signal(SIGPIPE, SIG_IGN);
|
||||||
|
|
||||||
lua_createtable (L, 0, 1);
|
struct luaL_Reg netlib[] = {
|
||||||
|
{"open", l_open},
|
||||||
pushctuple(L, "open", l_open);
|
{"write", l_write},
|
||||||
pushctuple(L, "write", l_write);
|
{"read", l_read},
|
||||||
pushctuple(L, "read", l_read);
|
{NULL, NULL}
|
||||||
|
};
|
||||||
lua_setglobal(L, "net");
|
luaL_openlib(L, "net", netlib, 0);
|
||||||
}
|
}
|
||||||
|
@ -378,8 +378,14 @@ static int l_towlower (lua_State *L) {
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef DEBUG
|
||||||
|
static int l_debug (lua_State *L) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
void luanative_start(lua_State *L) {
|
void luanative_start(lua_State *L) {
|
||||||
lua_createtable (L, 0, 1);
|
/*lua_createtable (L, 0, 1);
|
||||||
|
|
||||||
pushctuple(L, "sleep", l_sleep);
|
pushctuple(L, "sleep", l_sleep);
|
||||||
pushctuple(L, "log", l_log);
|
pushctuple(L, "log", l_log);
|
||||||
@ -414,7 +420,39 @@ void luanative_start(lua_State *L) {
|
|||||||
lua_pushstring(L, "debug");
|
lua_pushstring(L, "debug");
|
||||||
lua_pushboolean(L, 1);
|
lua_pushboolean(L, 1);
|
||||||
lua_settable(L, -3);
|
lua_settable(L, -3);
|
||||||
#endif
|
#endif*/
|
||||||
|
|
||||||
lua_setglobal(L, "native");
|
struct luaL_Reg nativelib[] = {
|
||||||
|
{"sleep", l_sleep},
|
||||||
|
{"log", l_log},
|
||||||
|
{"fs_exists", l_fs_exists},
|
||||||
|
{"fs_mkdir", l_fs_mkdir},
|
||||||
|
{"fs_isdir", l_fs_isdir},
|
||||||
|
{"fs_spaceUsed", l_fs_spaceUsed},
|
||||||
|
{"fs_open", l_fs_open},
|
||||||
|
{"fs_seek", l_fs_seek},
|
||||||
|
{"fs_write", l_fs_write},
|
||||||
|
{"fs_spaceTotal", l_fs_spaceTotal},
|
||||||
|
{"fs_rename", l_fs_rename},
|
||||||
|
{"fs_list", l_fs_list},
|
||||||
|
{"fs_lastModified", l_fs_lastModified},
|
||||||
|
{"fs_remove", l_fs_remove},
|
||||||
|
{"fs_close", l_fs_close},
|
||||||
|
{"fs_size", l_fs_size},
|
||||||
|
{"fs_read", l_fs_read},
|
||||||
|
{"wcwidth", l_wcwidth},
|
||||||
|
{"towlower", l_towlower},
|
||||||
|
{"towupper", l_towupper},
|
||||||
|
{"beep", l_beep},
|
||||||
|
{"uptime", l_uptime},
|
||||||
|
{"totalMemory", l_totalMemory},
|
||||||
|
{"freeMemory", l_freeMemory},
|
||||||
|
{"pull", l_pull},
|
||||||
|
#ifdef DEBUG
|
||||||
|
{"debug", l_debug},
|
||||||
|
#endif
|
||||||
|
{NULL, NULL}
|
||||||
|
};
|
||||||
|
|
||||||
|
luaL_openlib(L, "native", nativelib, 0);
|
||||||
}
|
}
|
||||||
|
@ -50,10 +50,12 @@ void termutils_start(lua_State *L) {
|
|||||||
new.c_cflag &= ~(CSIZE | PARENB);
|
new.c_cflag &= ~(CSIZE | PARENB);
|
||||||
new.c_cflag |= CS8;
|
new.c_cflag |= CS8;
|
||||||
|
|
||||||
lua_createtable (L, 0, 1);
|
struct luaL_Reg termlib[] = {
|
||||||
pushctuple(L, "getSize", l_get_term_sz);
|
{"getSize", l_get_term_sz},
|
||||||
pushctuple(L, "init", l_term_init);
|
{"init", l_term_init},
|
||||||
pushctuple(L, "restore", l_term_restore);
|
{"restore", l_term_restore},
|
||||||
|
{NULL, NULL}
|
||||||
|
};
|
||||||
|
luaL_openlib(L, "termutils", termlib, 0);
|
||||||
|
|
||||||
lua_setglobal(L, "termutils");
|
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user