нормальные единообразные поля таблиц и немного других приятных изменений #4

Merged
Egor00f merged 1 commits from NameFixes into main 2025-04-25 18:51:20 +02:00
6 changed files with 214 additions and 369 deletions

View File

@@ -37,9 +37,8 @@ int syscalls_SetMessageArea(lua_State* L)
int syscalls_GetRegisters(lua_State* L) int syscalls_GetRegisters(lua_State* L)
{ {
struct registers* r = syscalls_pushRegisters(L);
uint32_t pid = luaL_checkinteger(L, 1); uint32_t pid = luaL_checkinteger(L, 1);
struct registers* r = syscalls_pushRegisters(L);
asm_inline( asm_inline(
"int $0x40" "int $0x40"
@@ -59,7 +58,7 @@ int syscalls_SetRegisters(lua_State* L)
:: "a"(69), "b"(2), "c"(pid), "d"(sizeof(struct registers)), "S"(r) :: "a"(69), "b"(2), "c"(pid), "d"(sizeof(struct registers)), "S"(r)
); );
return 1; return 0;
} }
int syscalls_Disconnect(lua_State* L) int syscalls_Disconnect(lua_State* L)
@@ -71,7 +70,7 @@ int syscalls_Disconnect(lua_State* L)
:: "a"(69), "b"(3), "c"(pid) :: "a"(69), "b"(3), "c"(pid)
); );
return 1; return 0;
} }
int syscalls_Stop(lua_State* L) int syscalls_Stop(lua_State* L)
@@ -83,7 +82,7 @@ int syscalls_Stop(lua_State* L)
:: "a"(69), "b"(4), "c"(pid) :: "a"(69), "b"(4), "c"(pid)
); );
return 1; return 0;
} }
int syscalls_Continue(lua_State* L) int syscalls_Continue(lua_State* L)
@@ -95,7 +94,7 @@ int syscalls_Continue(lua_State* L)
:: "a"(69), "b"(5), "c"(pid) :: "a"(69), "b"(5), "c"(pid)
); );
return 1; return 0;
} }
int syscalls_ReadFromMem(lua_State* L) int syscalls_ReadFromMem(lua_State* L)
@@ -151,7 +150,7 @@ int syscalls_Done(lua_State* L)
:: "a"(69), "b"(8), "c"(pid) :: "a"(69), "b"(8), "c"(pid)
); );
return 1; return 0;
} }
int syscalls_DefineBreakpoint(lua_State* L) int syscalls_DefineBreakpoint(lua_State* L)

View File

@@ -83,7 +83,7 @@ static int syscalls_newindexRegisters(lua_State* L)
luaL_error(L, "wrong index: %s", index); luaL_error(L, "wrong index: %s", index);
} }
return 1; return 0;
} }
static int syscalls_eqRegisters(lua_State* L) static int syscalls_eqRegisters(lua_State* L)

View File

@@ -45,53 +45,37 @@ inline void syscalls_push_textSizes(lua_State* L)
{ {
lua_newtable(L); lua_newtable(L);
lua_pushinteger(L, TextScale_SIZE_6x9); LUA_PUSH_INTEGER_FIELD(L, TextScale_SIZE_6x9, "6x9");
lua_setfield(L, -2, "6x9");
lua_pushinteger(L, TextScale_SIZE_8x16); LUA_PUSH_INTEGER_FIELD(L, TextScale_SIZE_8x16, "8x16");
lua_setfield(L, -2, "8x16");
lua_pushinteger(L, TextScale_SIZE_12x18); LUA_PUSH_INTEGER_FIELD(L, TextScale_SIZE_12x18, "12x18");
lua_setfield(L, -2, "12x18");
lua_pushinteger(L, TextScale_SIZE_16x32); LUA_PUSH_INTEGER_FIELD(L, TextScale_SIZE_16x32, "16x32");
lua_setfield(L, -2, "16x32");
lua_pushinteger(L, TextScale_SIZE_18x27); LUA_PUSH_INTEGER_FIELD(L, TextScale_SIZE_18x27, "18x27");
lua_setfield(L, -2, "18x27");
lua_pushinteger(L, TextScale_SIZE_24x36); LUA_PUSH_INTEGER_FIELD(L, TextScale_SIZE_24x36, "24x36");
lua_setfield(L, -2, "24x36");
lua_pushinteger(L, TextScale_SIZE_24x48); LUA_PUSH_INTEGER_FIELD(L, TextScale_SIZE_24x48, "24x48");
lua_setfield(L, -2, "24x48");
lua_pushinteger(L, TextScale_SIZE_30x45); LUA_PUSH_INTEGER_FIELD(L, TextScale_SIZE_30x45, "30x45");
lua_setfield(L, -2, "30x45");
lua_pushinteger(L, TextScale_SIZE_32x64); LUA_PUSH_INTEGER_FIELD(L, TextScale_SIZE_32x64, "32x64");
lua_setfield(L, -2, "32x64");
lua_pushinteger(L, TextScale_SIZE_36x54); LUA_PUSH_INTEGER_FIELD(L, TextScale_SIZE_36x54, "36x54");
lua_setfield(L, -2, "36x54");
lua_pushinteger(L, TextScale_SIZE_40x80); LUA_PUSH_INTEGER_FIELD(L, TextScale_SIZE_40x80, "40x80");
lua_setfield(L, -2, "40x80");
lua_pushinteger(L, TextScale_SIZE_42x63); LUA_PUSH_INTEGER_FIELD(L, TextScale_SIZE_42x63, "42x63");
lua_setfield(L, -2, "42x63");
lua_pushinteger(L, TextScale_SIZE_48x72); LUA_PUSH_INTEGER_FIELD(L, TextScale_SIZE_48x72, "48x72");
lua_setfield(L, -2, "48x72");
lua_pushinteger(L, TextScale_SIZE_48x96); LUA_PUSH_INTEGER_FIELD(L, TextScale_SIZE_48x96, "48x96");
lua_setfield(L, -2, "48x96");
lua_pushinteger(L, TextScale_SIZE_56x112); LUA_PUSH_INTEGER_FIELD(L, TextScale_SIZE_56x112, "56x112");
lua_setfield(L, -2, "56x112");
lua_pushinteger(L, TextScale_SIZE_64x128); LUA_PUSH_INTEGER_FIELD(L, TextScale_SIZE_64x128, "64x128");
lua_setfield(L, -2, "64x128");
lua_setfield(L, -2, "textSize"); lua_setfield(L, -2, "textSize");
} }
@@ -100,21 +84,17 @@ inline void syscalls_push_Encoding(lua_State* L)
{ {
lua_newtable(L); lua_newtable(L);
lua_pushinteger(L, cp866); LUA_PUSH_INTEGER_FIELD(L, cp866, "cp866");
lua_setfield(L, -2, "cp866");
lua_pushinteger(L, cp866_8x16); LUA_PUSH_INTEGER_FIELD(L, cp866_8x16, "cp866_8x16");
lua_setfield(L, -2, "cp866_8x16");
lua_pushinteger(L, utf8); LUA_PUSH_INTEGER_FIELD(L, utf8, "utf8");
lua_setfield(L, -2, "utf8");
lua_pushinteger(L, utf16); LUA_PUSH_INTEGER_FIELD(L, utf16, "utf16");
lua_setfield(L, -2, "utf16");
lua_setfield(L, -2, "Encoding"); lua_setfield(L, -2, "Encoding");
} }
#define syscalls_push_graphic(L) syscalls_push_textSizes(L); syscalls_push_Encoding(L); #define syscalls_push_graphic(L) syscalls_push_textSizes(L); syscalls_push_Encoding(L);
#endif // __GRAPHIC_H__ #endif // __GRAPHIC_H_

View File

@@ -8,270 +8,183 @@
static inline void syscalls_register_scancodes(lua_State* L) static inline void syscalls_register_scancodes(lua_State* L)
{ {
lua_newtable(L); lua_newtable(L);
lua_pushinteger(L, KSYS_SCANCODE_0); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_0, "0");
lua_setfield(L, -2, "0");
lua_pushinteger(L, KSYS_SCANCODE_1); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_1, "1");
lua_setfield(L, -2, "1");
lua_pushinteger(L, KSYS_SCANCODE_2); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_2, "2");
lua_setfield(L, -2, "2");
lua_pushinteger(L, KSYS_SCANCODE_3); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_3, "3");
lua_setfield(L, -2, "3");
lua_pushinteger(L, KSYS_SCANCODE_4); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_4, "5");
lua_setfield(L, -2, "4");
lua_pushinteger(L, KSYS_SCANCODE_5); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_5, "6");
lua_setfield(L, -2, "6");
lua_pushinteger(L, KSYS_SCANCODE_7); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_7, "7");
lua_setfield(L, -2, "7");
lua_pushinteger(L, KSYS_SCANCODE_8); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_8, "8");
lua_setfield(L, -2, "8");
lua_pushinteger(L, KSYS_SCANCODE_9); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_9, "9");
lua_setfield(L, -2, "9");
lua_pushinteger(L, KSYS_SCANCODE_A); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_A, "A");
lua_setfield(L, -2, "A");
lua_pushinteger(L, KSYS_SCANCODE_B); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_B, "B");
lua_setfield(L, -2, "B");
lua_pushinteger(L, KSYS_SCANCODE_C); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_C, "C");
lua_setfield(L, -2, "C");
lua_pushinteger(L, KSYS_SCANCODE_D); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_D, "D");
lua_setfield(L, -2, "D");
lua_pushinteger(L, KSYS_SCANCODE_E); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_E, "E");
lua_setfield(L, -2, "E");
lua_pushinteger(L, KSYS_SCANCODE_F); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_F, "F");
lua_setfield(L, -2, "F");
lua_pushinteger(L, KSYS_SCANCODE_G); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_G, "G");
lua_setfield(L, -2, "G");
lua_pushinteger(L, KSYS_SCANCODE_H); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_H, "H");
lua_setfield(L, -2, "H");
lua_pushinteger(L, KSYS_SCANCODE_J); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_J, "J");
lua_setfield(L, -2, "J");
lua_pushinteger(L, KSYS_SCANCODE_K); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_K, "K");
lua_setfield(L, -2, "K");
lua_pushinteger(L, KSYS_SCANCODE_L); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_L, "L");
lua_setfield(L, -2, "L");
lua_pushinteger(L, KSYS_SCANCODE_M); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_M, "M");
lua_setfield(L, -2, "M");
lua_pushinteger(L, KSYS_SCANCODE_N); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_N, "N");
lua_setfield(L, -2, "N");
lua_pushinteger(L, KSYS_SCANCODE_O); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_O, "O");
lua_setfield(L, -2, "O");
lua_pushinteger(L, KSYS_SCANCODE_P); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_P, "P");
lua_setfield(L, -2, "P");
lua_pushinteger(L, KSYS_SCANCODE_Q); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_Q, "Q");
lua_setfield(L, -2, "Q");
lua_pushinteger(L, KSYS_SCANCODE_R); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_R, "R");
lua_setfield(L, -2, "R");
lua_pushinteger(L, KSYS_SCANCODE_S); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_S, "S");
lua_setfield(L, -2, "S");
lua_pushinteger(L, KSYS_SCANCODE_T); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_T, "T");
lua_setfield(L, -2, "T");
lua_pushinteger(L, KSYS_SCANCODE_U); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_U, "U");
lua_setfield(L, -2, "U");
lua_pushinteger(L, KSYS_SCANCODE_V); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_V, "V");
lua_setfield(L, -2, "V");
lua_pushinteger(L, KSYS_SCANCODE_W); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_W, "W");
lua_setfield(L, -2, "W");
lua_pushinteger(L, KSYS_SCANCODE_X); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_X, "X");
lua_setfield(L, -2, "X");
lua_pushinteger(L, KSYS_SCANCODE_Y); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_Y, "Y");
lua_setfield(L, -2, "Y");
lua_pushinteger(L, KSYS_SCANCODE_Z); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_Z, "Z");
lua_setfield(L, -2, "Z");
lua_pushinteger(L, KSYS_SCANCODE_F1); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_F1, "F1");
lua_setfield(L, -2, "F1");
lua_pushinteger(L, KSYS_SCANCODE_F2); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_F2, "F2");
lua_setfield(L, -2, "F2");
lua_pushinteger(L, KSYS_SCANCODE_F3); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_F3, "F3");
lua_setfield(L, -2, "F3");
lua_pushinteger(L, KSYS_SCANCODE_F4); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_F4, "F4");
lua_setfield(L, -2, "F4");
lua_pushinteger(L, KSYS_SCANCODE_F5); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_F5, "F5");
lua_setfield(L, -2, "F5");
lua_pushinteger(L, KSYS_SCANCODE_F6); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_F6, "F6");
lua_setfield(L, -2, "F6");
lua_pushinteger(L, KSYS_SCANCODE_F7); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_F7, "F7");
lua_setfield(L, -2, "F7");
lua_pushinteger(L, KSYS_SCANCODE_F8); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_F8, "F8");
lua_setfield(L, -2, "F8");
lua_pushinteger(L, KSYS_SCANCODE_F9); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_F9, "F9");
lua_setfield(L, -2, "F9");
lua_pushinteger(L, KSYS_SCANCODE_F10); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_F10, "F10");
lua_setfield(L, -2, "F10");
lua_pushinteger(L, KSYS_SCANCODE_F11); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_F11, "F11");
lua_setfield(L, -2, "F11");
lua_pushinteger(L, KSYS_SCANCODE_F12); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_F12, "F12");
lua_setfield(L, -2, "F12");
lua_pushinteger(L, KSYS_SCANCODE_LSHIFT); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_LSHIFT, "LeftShift");
lua_setfield(L, -2, "LeftShift");
lua_pushinteger(L, KSYS_SCANCODE_RSHIFT); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_RSHIFT, "RightShift");
lua_setfield(L, -2, "RightShift");
lua_pushinteger(L, KSYS_SCANCODE_BACKSLASH); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_BACKSLASH, "Backslash");
lua_setfield(L, -2, "Backslash");
lua_pushinteger(L, KSYS_SCANCODE_COMMA); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_COMMA, "Comma");
lua_setfield(L, -2, "Comma");
lua_pushinteger(L, KSYS_SCANCODE_SLASH); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_SLASH, "Slash");
lua_setfield(L, -2, "Slash");
lua_pushinteger(L, KSYS_SCANCODE_LALT); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_LALT, "LeftAlt");
lua_setfield(L, -2, "LeftAlt");
lua_pushinteger(L, KSYS_SCANCODE_EXT_RALT); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_EXT_RALT, "RightAlt");
lua_setfield(L, -2, "RightAlt");
lua_pushinteger(L, KSYS_SCANCODE_LCTRL); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_LCTRL, "LeftCtrl");
lua_setfield(L, -2, "LeftCtrl");
lua_pushinteger(L, KSYS_SCANCODE_EXT_RCTRL); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_EXT_RCTRL, "RightCtrl");
lua_setfield(L, -2, "RightCtrl");
lua_pushinteger(L, KSYS_SCANCODE_CAPSLOCK); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_CAPSLOCK, "CapsLock");
lua_setfield(L, -2, "CapsLock");
lua_pushinteger(L, KSYS_SCANCODE_NUMLOCK); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_NUMLOCK, "NumLock");
lua_setfield(L, -2, "NumLock");
lua_pushinteger(L, KSYS_SCANCODE_POINT); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_POINT, "Point");
lua_setfield(L, -2, "Point");
lua_pushinteger(L, KSYS_SCANCODE_ENTER); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_ENTER, "Enter");
lua_setfield(L, -2, "Enter");
lua_pushinteger(L, KSYS_SCANCODE_ESC); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_ESC, "Esc");
lua_setfield(L, -2, "Esc");
lua_pushinteger(L, KSYS_SCANCODE_TAB); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_TAB, "Tab");
lua_setfield(L, -2, "Tab");
lua_pushinteger(L, KSYS_SCANCODE_EXT_HOME); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_EXT_HOME, "Home");
lua_setfield(L, -2, "Home");
lua_pushinteger(L, KSYS_SCANCODE_EXT_PGUP); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_EXT_PGUP, "PageUp");
lua_setfield(L, -2, "PageUp");
lua_pushinteger(L, KSYS_SCANCODE_EXT_PGDOWN); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_EXT_PGDOWN, "PageDown");
lua_setfield(L, -2, "PageDown");
lua_pushinteger(L, KSYS_SCANCODE_EXT_END); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_EXT_END, "End");
lua_setfield(L, -2, "End");
lua_pushinteger(L, KSYS_SCANCODE_EXT_UP); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_EXT_UP, "Up");
lua_setfield(L, -2, "Up");
lua_pushinteger(L, KSYS_SCANCODE_EXT_DOWN); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_EXT_DOWN, "Down");
lua_setfield(L, -2, "Down");
lua_pushinteger(L, KSYS_SCANCODE_EXT_LEFT); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_EXT_LEFT, "Left");
lua_setfield(L, -2, "Left");
lua_pushinteger(L, KSYS_SCANCODE_EXT_RIGHT); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_EXT_RIGHT, "Right");
lua_setfield(L, -2, "Right");
lua_pushinteger(L, KSYS_SCANCODE_EXT_DELETE); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_EXT_DELETE, "Delete");
lua_setfield(L, -2, "Delete");
lua_pushinteger(L, KSYS_SCANCODE_EXT_INSERT); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_EXT_INSERT, "Insert");
lua_setfield(L, -2, "Insert");
lua_pushinteger(L, KSYS_SCANCODE_MINUS); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_MINUS, "Minus");
lua_setfield(L, -2, "Minus");
lua_pushinteger(L, KSYS_SCANCODE_EXT_NUMPAD_ENTER); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_EXT_NUMPAD_ENTER, "NumpadEnter");
lua_setfield(L, -2, "NumpadEnter");
lua_pushinteger(L, KSYS_SCANCODE_EXT_NUMPAD_DIV); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_EXT_NUMPAD_DIV, "NumpadDiv");
lua_setfield(L, -2, "NumpadDiv");
lua_pushinteger(L, KSYS_SCANCODE_NUMPAD_MULT); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_NUMPAD_MULT, "NumpadMult");
lua_setfield(L, -2, "NumpadMult");
lua_pushinteger(L, KSYS_SCANCODE_NUMPAD_MINUS); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_NUMPAD_MINUS, "NumpadMinus");
lua_setfield(L, -2, "NumpadMinus");
lua_pushinteger(L, KSYS_SCANCODE_NUMPAD_PLUS); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_NUMPAD_PLUS, "NumpadPlus");
lua_setfield(L, -2, "NumpadPlus");
lua_pushinteger(L, KSYS_SCANCODE_NUMPAD_0); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_NUMPAD_0, "Numpad_0");
lua_setfield(L, -2, "Numpad_0");
lua_pushinteger(L, KSYS_SCANCODE_NUMPAD_1); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_NUMPAD_1, "Numpad_1");
lua_setfield(L, -2, "Numpad_1");
lua_pushinteger(L, KSYS_SCANCODE_NUMPAD_2); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_NUMPAD_2, "Numpad_2");
lua_setfield(L, -2, "Numpad_2");
lua_pushinteger(L, KSYS_SCANCODE_NUMPAD_3); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_NUMPAD_3, "Numpad_3");
lua_setfield(L, -2, "Numpad_3");
lua_pushinteger(L, KSYS_SCANCODE_NUMPAD_4); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_NUMPAD_4, "Numpad_4");
lua_setfield(L, -2, "Numpad_4");
lua_pushinteger(L, KSYS_SCANCODE_NUMPAD_5); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_NUMPAD_5, "Numpad_5");
lua_setfield(L, -2, "Numpad_5");
lua_pushinteger(L, KSYS_SCANCODE_NUMPAD_6); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_NUMPAD_6, "Numpad_6");
lua_setfield(L, -2, "Numpad_6");
lua_pushinteger(L, KSYS_SCANCODE_NUMPAD_7); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_NUMPAD_7, "Numpad_7");
lua_setfield(L, -2, "Numpad_7");
lua_pushinteger(L, KSYS_SCANCODE_NUMPAD_8); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_NUMPAD_8, "Numpad_8");
lua_setfield(L, -2, "Numpad_8");
lua_pushinteger(L, KSYS_SCANCODE_NUMPAD_9); LUA_PUSH_INTEGER_FIELD(L, KSYS_SCANCODE_NUMPAD_9, "Numpad_9");
lua_setfield(L, -2, "Numpad_9");
lua_setfield(L, -2, "scancode"); lua_setfield(L, -2, "scancode");
} }
#endif // _SYSCALLS_ENUM_SCANCODES_ #endif // _SYSCALLS_ENUM_SCANCODES_

View File

@@ -95,6 +95,7 @@ static int syscalls_endRedraw(lua_State* L)
static int syscalls_SetSkin(lua_State* L) static int syscalls_SetSkin(lua_State* L)
{ {
unsigned ret; unsigned ret;
asm_inline( asm_inline(
"int $0x40" "int $0x40"
: "=a"(ret) : "=a"(ret)
@@ -139,34 +140,39 @@ static int syscalls_SetWorkArea(lua_State* L)
uint32_t bottom = luaL_checkinteger(L, 4); uint32_t bottom = luaL_checkinteger(L, 4);
asm_inline( asm_inline(
"int $0x40" ::"a"(48), "b"(6), "c"(left * 65536 + right), "d"(top * 65536 + bottom)); "int $0x40" ::
"a"(48),
"b"(6),
"c"((left << 16) | right),
"d"((top << 16) | bottom)
);
return 0; return 0;
} }
static int syscalls_GetWorkArea(lua_State* L) static int syscalls_GetWorkArea(lua_State* L)
{ {
ksys_pos_t leftlright; ksys_pos_t leftAndRight;
ksys_pos_t toplbottom; ksys_pos_t topAndBottom;
asm_inline( asm_inline(
"int $0x40" "int $0x40"
:"=a"(leftlright), "=b"(toplbottom) :"=a"(leftAndRight), "=b"(topAndBottom)
: "a"(48), "b"(5) : "a"(48), "b"(5)
); );
lua_createtable(L, 0, 4); lua_createtable(L, 0, 4);
lua_pushinteger(L, leftlright.x); lua_pushinteger(L, leftAndRight.x);
lua_setfield(L, -2, "Left"); lua_setfield(L, -2, "Left");
lua_pushinteger(L, leftlright.y); lua_pushinteger(L, leftAndRight.y);
lua_setfield(L, -2, "Right"); lua_setfield(L, -2, "Right");
lua_pushinteger(L, toplbottom.x); lua_pushinteger(L, topAndBottom.x);
lua_setfield(L, -2, "Top"); lua_setfield(L, -2, "Top");
lua_pushinteger(L, toplbottom.y); lua_pushinteger(L, topAndBottom.y);
lua_setfield(L, -2, "Bottom"); lua_setfield(L, -2, "Bottom");
return 1; return 1;
@@ -195,6 +201,7 @@ static int syscalls_deleteButton(lua_State* L)
static int syscalls_SetButtonsStyle(lua_State* L) static int syscalls_SetButtonsStyle(lua_State* L)
{ {
uint32_t style = luaL_checkinteger(L, 1); uint32_t style = luaL_checkinteger(L, 1);
asm_inline( asm_inline(
"int $0x40" ::"a"(48), "b"(1), "c"(style)); "int $0x40" ::"a"(48), "b"(1), "c"(style));
@@ -228,7 +235,7 @@ static int syscalls_WindowMsg(lua_State* L)
asm_inline( asm_inline(
"int $0x40" "int $0x40"
:"=a"(ret) : "=a"(ret)
: "a"(72), "b"(1), "c"(event), "d"(code) : "a"(72), "b"(1), "c"(event), "d"(code)
); );
@@ -246,50 +253,49 @@ static int syscalls_threadInfo(lua_State* L)
lua_createtable(L, 0, 13); lua_createtable(L, 0, 13);
lua_pushstring(L, t.name); lua_pushstring(L, t.name);
lua_setfield(L, -2, "name"); lua_setfield(L, -2, "Name");
lua_pushinteger(L, t.cpu_usage); lua_pushinteger(L, t.cpu_usage);
lua_setfield(L, -2, "cpu_usage"); lua_setfield(L, -2, "CpuUsage");
lua_pushinteger(L, t.memused); lua_pushinteger(L, t.memused);
lua_setfield(L, -2, "memused"); lua_setfield(L, -2, "MemUsed");
lua_pushinteger(L, t.pid); lua_pushinteger(L, t.pid);
lua_setfield(L, -2, "pid"); lua_setfield(L, -2, "PID");
lua_pushinteger(L, t.key_input_mode); lua_pushinteger(L, t.key_input_mode);
lua_setfield(L, -2, "keyInputMode"); lua_setfield(L, -2, "KeyInputMode");
lua_pushinteger(L, t.pos_in_window_stack); lua_pushinteger(L, t.pos_in_window_stack);
lua_setfield(L, -2, "posInWindowStack"); lua_setfield(L, -2, "PosInWindowStack");
lua_pushinteger(L, t.slot_num_window_stack); lua_pushinteger(L, t.slot_num_window_stack);
lua_setfield(L, -2, "slotNumWindowStack"); lua_setfield(L, -2, "SlotNumWindowStack");
lua_pushinteger(L, t.slot_state); lua_pushinteger(L, t.slot_state);
lua_setfield(L, -2, "slotState"); lua_setfield(L, -2, "SlotState");
lua_pushinteger(L, t.window_state); lua_pushinteger(L, t.window_state);
lua_setfield(L, -2, "windowState"); lua_setfield(L, -2, "WindowState");
lua_pushinteger(L, t.winx_size); lua_pushinteger(L, t.winx_size);
lua_setfield(L, -2, "winXSize"); lua_setfield(L, -2, "WinXSize");
lua_pushinteger(L, t.winy_size); lua_pushinteger(L, t.winy_size);
lua_setfield(L, -2, "winYSize"); lua_setfield(L, -2, "WinYSize");
lua_pushinteger(L, t.winx_start); lua_pushinteger(L, t.winx_start);
lua_setfield(L, -2, "winXPos"); lua_setfield(L, -2, "WinXPos");
lua_pushinteger(L, t.winy_start); lua_pushinteger(L, t.winy_start);
lua_setfield(L, -2, "winYPos"); lua_setfield(L, -2, "WinYPos");
return 1; return 1;
} }
static int syscalls_KillBySlot(lua_State* L) static int syscalls_KillBySlot(lua_State* L)
{ {
_ksys_kill_by_slot( _ksys_kill_by_slot(
luaL_checkinteger(L, 1)); luaL_checkinteger(L, 1));
@@ -319,7 +325,10 @@ static int syscalls_checkEvent(lua_State* L)
static int syscalls_waitEventTimeout(lua_State* L) static int syscalls_waitEventTimeout(lua_State* L)
{ {
lua_pushinteger(L, _ksys_wait_event_timeout(luaL_checkinteger(L, 1))); lua_pushinteger(
L,
_ksys_wait_event_timeout(luaL_checkinteger(L, 1))
);
return 1; return 1;
} }
@@ -688,7 +697,7 @@ static int syscalls_getMouseEvents(lua_State* L)
createMouseState(state, L); createMouseState(state, L);
lua_pushboolean(L, state & (1 << 8)); lua_pushboolean(L, state & (1 << 8));
lua_setfield(L, -2, "getMouseEvents"); lua_setfield(L, -2, "LeftButtonPressed");
lua_pushboolean(L, state & (1 << 9)); lua_pushboolean(L, state & (1 << 9));
lua_setfield(L, -2, "RightButtonPressed"); lua_setfield(L, -2, "RightButtonPressed");
@@ -756,13 +765,13 @@ static int syscalls_GetMouseSettings(lua_State* L)
lua_createtable(L, 0, 3); lua_createtable(L, 0, 3);
lua_pushinteger(L, getMouseSettings(KSYS_MOUSE_GET_SPEED)); lua_pushinteger(L, getMouseSettings(KSYS_MOUSE_GET_SPEED));
lua_setfield(L, -2, "speed"); lua_setfield(L, -2, "Speed");
lua_pushinteger(L, getMouseSettings(KSYS_MOUSE_GET_SENS)); lua_pushinteger(L, getMouseSettings(KSYS_MOUSE_GET_SENS));
lua_setfield(L, -2, "sensitivity"); lua_setfield(L, -2, "Sensitivity");
lua_pushinteger(L, getMouseSettings(KSYS_MOUSE_GET_DOUBLE_CLICK_DELAY)); lua_pushinteger(L, getMouseSettings(KSYS_MOUSE_GET_DOUBLE_CLICK_DELAY));
lua_setfield(L, -2, "doubleClickDelay"); lua_setfield(L, -2, "DoubleClickDelay");
return 1; return 1;
} }
@@ -825,7 +834,7 @@ static int syscalls_SetMouseSettings(lua_State* L)
luaL_checktype(L, 1, LUA_TTABLE); luaL_checktype(L, 1, LUA_TTABLE);
lua_getfield(L, 1, "Speed"); lua_getfield(L, 1, "Speed");
lua_getfield(L, 1, "Sens"); lua_getfield(L, 1, "Sensitivity");
lua_getfield(L, 1, "DoubleClickDelay"); lua_getfield(L, 1, "DoubleClickDelay");
_ksys_set_mouse_settings(KSYS_MOUSE_GET_SPEED, luaL_checkinteger(L, -3)); _ksys_set_mouse_settings(KSYS_MOUSE_GET_SPEED, luaL_checkinteger(L, -3));
@@ -985,10 +994,7 @@ static int syscalls_GetTXByteCount(lua_State* L)
: "=a"(num), "=b"(NUM) : "=a"(num), "=b"(NUM)
: "a"(74), "b"(8 | device << 8)); : "a"(74), "b"(8 | device << 8));
if (num == -1) syscalls_ReturnIntegerValueOrNil(num, num | NUM << 31, L);
lua_pushnil(L);
else
lua_pushinteger(L, (uint64_t)(num | NUM << 31));
return 1; return 1;
} }
@@ -1004,10 +1010,7 @@ static int syscalls_GetRXByteCount(lua_State* L)
: "=a"(num), "=b"(NUM) : "=a"(num), "=b"(NUM)
: "a"(74), "b"(9 | device << 8)); : "a"(74), "b"(9 | device << 8));
if (num == -1) syscalls_ReturnIntegerValueOrNil(num, num | NUM << 31, L);
lua_pushnil(L);
else
lua_pushinteger(L, (uint64_t)(num | NUM << 31));
return 1; return 1;
} }
@@ -1023,10 +1026,7 @@ static int syscalls_GetTXErrorPacketCount(lua_State* L)
: "=a"(num), "=b"(NUM) : "=a"(num), "=b"(NUM)
: "a"(74), "b"(11 | device << 8)); : "a"(74), "b"(11 | device << 8));
if (num == -1) syscalls_ReturnIntegerValueOrNil(num, num | NUM << 31, L);
lua_pushnil(L);
else
lua_pushinteger(L, (uint64_t)(num | NUM << 31));
return 1; return 1;
} }
@@ -1042,10 +1042,7 @@ static int syscalls_GetTXDropPacketCount(lua_State* L)
: "=a"(num), "=b"(NUM) : "=a"(num), "=b"(NUM)
: "a"(74), "b"(12 | device << 8)); : "a"(74), "b"(12 | device << 8));
if (num == -1) syscalls_ReturnIntegerValueOrNil(num, num | NUM << 31, L);
lua_pushnil(L);
else
lua_pushinteger(L, (uint64_t)(num | NUM << 31));
return 1; return 1;
} }
@@ -1061,10 +1058,7 @@ static int syscalls_GetTXMissPacketCount(lua_State* L)
: "=a"(num), "=b"(NUM) : "=a"(num), "=b"(NUM)
: "a"(74), "b"(13 | device << 8)); : "a"(74), "b"(13 | device << 8));
if (num == -1) syscalls_ReturnIntegerValueOrNil(num, num | NUM << 31, L);
lua_pushnil(L);
else
lua_pushinteger(L, (uint64_t)(num | NUM << 31));
return 1; return 1;
} }
@@ -1080,10 +1074,7 @@ static int syscalls_GetRXErrorPacketCount(lua_State* L)
: "=a"(num), "=b"(NUM) : "=a"(num), "=b"(NUM)
: "a"(74), "b"(14 | device << 8)); : "a"(74), "b"(14 | device << 8));
if (num == -1) syscalls_ReturnIntegerValueOrNil(num, num | NUM << 31, L);
lua_pushnil(L);
else
lua_pushinteger(L, (uint64_t)(num | NUM << 31));
return 1; return 1;
} }
@@ -1124,10 +1115,10 @@ enum ConnectionStatus
{ {
NoConnect = 0, NoConnect = 0,
Unknown = 1, Unknown = 1,
Mb10 = 4, // 10Mb Mb10 = 4, // 10Mb
Mb100 = 5, // 100Mb Mb100 = 5, // 100Mb
Gb = 6, // 1Gb Gb = 6, // 1Gb
FullDuplex = 0b10 // FullDuplex = 0b10 //
}; };
static int syscalls_GetConnectionStatus(lua_State* L) static int syscalls_GetConnectionStatus(lua_State* L)
@@ -1144,6 +1135,7 @@ static int syscalls_GetConnectionStatus(lua_State* L)
lua_pushnil(L); lua_pushnil(L);
else else
lua_pushinteger(L, num & 0x101); lua_pushinteger(L, num & 0x101);
lua_pushinteger(L, (num & FullDuplex) != 0); lua_pushinteger(L, (num & FullDuplex) != 0);
return 2; return 2;
@@ -1420,7 +1412,7 @@ static int syscalls_ReadARPEntry(lua_State* L)
if (eax == -1) if (eax == -1)
lua_pushnil(L); lua_pushnil(L);
else else
memcpy(syscalls_pushARPEntry(L), &buffer, sizeof(struct ARP_entry)); memcpy(syscalls_pushARPEntry(L), &buffer, sizeof(struct ARP_entry)); // не самый лучший вариант реализации, но если если запушить в луа это раньше то как потом запушить nil? хз может потому будут идеи более адекватной реализации
return 1; return 1;
} }
@@ -1539,8 +1531,8 @@ static const luaL_Reg syscallsLib[] = {
/* keyboard funcs */ /* keyboard funcs */
{"SetKeyInputMode", syscalls_setKeyInputMode}, {"SetKeyInputMode", syscalls_setKeyInputMode},
{"GetKeyInputMode", syscalls_getKeyInputMode}, {"GetKeyInputMode", syscalls_getKeyInputMode},
{"getKey", syscalls_getKey}, {"GetKey", syscalls_getKey},
{"getControlKeyState", syscalls_getControlKeyState}, {"GetControlKeyState", syscalls_getControlKeyState},
{"SetHotkey", syscalls_SetHotkey}, {"SetHotkey", syscalls_SetHotkey},
{"DeleteHotkey", syscalls_DeleteHotkey}, {"DeleteHotkey", syscalls_DeleteHotkey},
{"LockNormalInput", syscalls_LockNormalInput}, {"LockNormalInput", syscalls_LockNormalInput},
@@ -1643,35 +1635,25 @@ static inline void syscalls_push_events(lua_State* L)
{ {
lua_newtable(L); lua_newtable(L);
lua_pushinteger(L, KSYS_EVENT_NONE); LUA_PUSH_INTEGER_FIELD(L, KSYS_EVENT_NONE, "None");
lua_setfield(L, -2, "None");
lua_pushinteger(L, KSYS_EVENT_REDRAW); LUA_PUSH_INTEGER_FIELD(L, KSYS_EVENT_REDRAW, "Redraw");
lua_setfield(L, -2, "Redraw");
lua_pushinteger(L, KSYS_EVENT_KEY); LUA_PUSH_INTEGER_FIELD(L, KSYS_EVENT_KEY, "Key");
lua_setfield(L, -2, "Key");
lua_pushinteger(L, KSYS_EVENT_BUTTON); LUA_PUSH_INTEGER_FIELD(L, KSYS_EVENT_BUTTON, "Button");
lua_setfield(L, -2, "Button");
lua_pushinteger(L, KSYS_EVENT_DESKTOP); LUA_PUSH_INTEGER_FIELD(L, KSYS_EVENT_DESKTOP, "Desktop");
lua_setfield(L, -2, "Desktop");
lua_pushinteger(L, KSYS_EVENT_MOUSE); LUA_PUSH_INTEGER_FIELD(L, KSYS_EVENT_MOUSE, "Mouse");
lua_setfield(L, -2, "Mouse");
lua_pushinteger(L, KSYS_EVENT_IPC); LUA_PUSH_INTEGER_FIELD(L, KSYS_EVENT_IPC, "IPC");
lua_setfield(L, -2, "IPC");
lua_pushinteger(L, KSYS_EVENT_NETWORK); LUA_PUSH_INTEGER_FIELD(L, KSYS_EVENT_NETWORK, "Network");
lua_setfield(L, -2, "Network");
lua_pushinteger(L, KSYS_EVENT_DEBUG); LUA_PUSH_INTEGER_FIELD(L, KSYS_EVENT_DEBUG, "Debug");
lua_setfield(L, -2, "Debug");
lua_pushinteger(L, KSYS_EVENT_IRQBEGIN); LUA_PUSH_INTEGER_FIELD(L, KSYS_EVENT_IRQBEGIN, "IRQBegin");
lua_setfield(L, -2, "IRQBegin");
lua_setfield(L, -2, "Event"); lua_setfield(L, -2, "Event");
} }
@@ -1680,20 +1662,15 @@ static inline void syscalls_push_buttonCodes(lua_State* L)
{ {
lua_newtable(L); lua_newtable(L);
lua_pushinteger(L, KSYS_MOUSE_LBUTTON_PRESSED); LUA_PUSH_INTEGER_FIELD(L, KSYS_MOUSE_LBUTTON_PRESSED, "LeftButton");
lua_setfield(L, -2, "LeftButton");
lua_pushinteger(L, KSYS_MOUSE_RBUTTON_PRESSED); LUA_PUSH_INTEGER_FIELD(L, KSYS_MOUSE_RBUTTON_PRESSED, "RightButton");
lua_setfield(L, -2, "RightButton");
lua_pushinteger(L, KSYS_MOUSE_MBUTTON_PRESSED); LUA_PUSH_INTEGER_FIELD(L, KSYS_MOUSE_MBUTTON_PRESSED, "MiddleButton");
lua_setfield(L, -2, "MiddleButton");
lua_pushinteger(L, KSYS_MOUSE_4BUTTON_PRESSED); LUA_PUSH_INTEGER_FIELD(L, KSYS_MOUSE_4BUTTON_PRESSED, "Button4");
lua_setfield(L, -2, "Button4");
lua_pushinteger(L, KSYS_MOUSE_5BUTTON_PRESSED); LUA_PUSH_INTEGER_FIELD(L, KSYS_MOUSE_5BUTTON_PRESSED, "Button5");
lua_setfield(L, -2, "Button5");
lua_setfield(L, -2, "mouseButtons"); lua_setfield(L, -2, "mouseButtons");
} }
@@ -1702,26 +1679,19 @@ static inline void syscalls_push_slotStates(lua_State* L)
{ {
lua_newtable(L); lua_newtable(L);
lua_pushinteger(L, KSYS_SLOT_STATE_RUNNING); LUA_PUSH_INTEGER_FIELD(L, KSYS_SLOT_STATE_RUNNING, "Running");
lua_setfield(L, -2, "Running");
lua_pushinteger(L, KSYS_SLOT_STATE_SUSPENDED); LUA_PUSH_INTEGER_FIELD(L, KSYS_SLOT_STATE_SUSPENDED, "Suspended");
lua_setfield(L, -2, "Suspended");
lua_pushinteger(L, KSYS_SLOT_STATE_SUSPENDED_WAIT_EVENT); LUA_PUSH_INTEGER_FIELD(L, KSYS_SLOT_STATE_SUSPENDED_WAIT_EVENT, "SuspendedWaitEvent");
lua_setfield(L, -2, "SuspendedWaitEvent");
lua_pushinteger(L, KSYS_SLOT_STATE_NORMAL_TERM); LUA_PUSH_INTEGER_FIELD(L, KSYS_SLOT_STATE_NORMAL_TERM, "NormalTerm");
lua_setfield(L, -2, "NormalTerm");
lua_pushinteger(L, KSYS_SLOT_STATE_EXCEPT_TERM); LUA_PUSH_INTEGER_FIELD(L, KSYS_SLOT_STATE_EXCEPT_TERM, "ExceptTerm");
lua_setfield(L, -2, "ExceptTerm");
lua_pushinteger(L, KSYS_SLOT_STATE_EXCEPT_TERM); LUA_PUSH_INTEGER_FIELD(L, KSYS_SLOT_STATE_EXCEPT_TERM, "WaitEvent");
lua_setfield(L, -2, "WaitEvent");
lua_pushinteger(L, KSYS_SLOT_STATE_WAIT_EVENT); LUA_PUSH_INTEGER_FIELD(L, KSYS_SLOT_STATE_WAIT_EVENT, "Free");
lua_setfield(L, -2, "Free");
lua_setfield(L, -2, "slotState"); lua_setfield(L, -2, "slotState");
} }
@@ -1730,21 +1700,15 @@ static inline void syscalls_push_hotkey_states(lua_State* L)
{ {
lua_newtable(L); lua_newtable(L);
lua_pushinteger(L, 0); LUA_PUSH_INTEGER_FIELD(L, 0, "NoOne");
lua_setfield(L, -2, "hotkeyNoOne");
lua_pushinteger(L, 1); LUA_PUSH_INTEGER_FIELD(L, 1, "OnlyOne");
lua_setfield(L, -2, "hotkeyOnlyOne");
lua_pushinteger(L, 2); LUA_PUSH_INTEGER_FIELD(L, 2, "Both");
lua_setfield(L, -2, "hotkeyBoth");
lua_pushinteger(L, 4); LUA_PUSH_INTEGER_FIELD(L, 4, "LeftOnly");
lua_setfield(L, -2, "hotkeyLeftOnly");
lua_pushinteger(L, 5);
lua_setfield(L, -2, "hotkeyRightOnly");
LUA_PUSH_INTEGER_FIELD(L, 5, "RightOnly");
lua_setfield(L, -2, "hotkeyStates"); lua_setfield(L, -2, "hotkeyStates");
} }
@@ -1753,12 +1717,9 @@ static inline void syscalls_push_buttonsStyle(lua_State* L)
{ {
lua_newtable(L); lua_newtable(L);
lua_pushinteger(L, 0); LUA_PUSH_INTEGER_FIELD(L, 0, "Flat");
lua_setfield(L, -2, "ButtonStyleFlat");
lua_pushinteger(L, 1);
lua_setfield(L, -2, "ButtonStyleVolume");
LUA_PUSH_INTEGER_FIELD(L, 1, "Volume");
lua_setfield(L, -2, "buttonStyle"); lua_setfield(L, -2, "buttonStyle");
} }
@@ -1767,20 +1728,15 @@ static inline void syscalls_push_windowStyles(lua_State* L)
{ {
lua_newtable(L); lua_newtable(L);
lua_pushinteger(L, 0); LUA_PUSH_INTEGER_FIELD(L, 0, "FixSizes");
lua_setfield(L, -2, "FixSizes");
lua_pushinteger(L, 1); LUA_PUSH_INTEGER_FIELD(L, 1, "NoDraw");
lua_setfield(L, -2, "NoDraw");
lua_pushinteger(L, 2); LUA_PUSH_INTEGER_FIELD(L, 2, "CanChangeSizes");
lua_setfield(L, -2, "CanChangeSizes");
lua_pushinteger(L, 3); LUA_PUSH_INTEGER_FIELD(L, 3, "WithSkin");
lua_setfield(L, -2, "WithSkin");
lua_pushinteger(L, 4); LUA_PUSH_INTEGER_FIELD(L, 4, "WithSkinFixSizes");
lua_setfield(L, -2, "WithSkinFixSizes");
lua_setfield(L, -2, "windowStyle"); lua_setfield(L, -2, "windowStyle");
} }
@@ -1789,11 +1745,9 @@ static inline void syscalls_push_buttons(lua_State* L)
{ {
lua_newtable(L); lua_newtable(L);
lua_pushinteger(L, 0xffff); LUA_PUSH_INTEGER_FIELD(L, 0xffff, "minimization");
lua_setfield(L, -2, "minimization");
lua_pushinteger(L, 1); LUA_PUSH_INTEGER_FIELD(L, 1, "close");
lua_setfield(L, -2, "close");
lua_setfield(L, -2, "buttons"); lua_setfield(L, -2, "buttons");
} }
@@ -1802,20 +1756,15 @@ static inline void syscalls_push_connectionStatus(lua_State* L)
{ {
lua_newtable(L); lua_newtable(L);
lua_pushinteger(L, NoConnect); LUA_PUSH_INTEGER_FIELD(L, NoConnect, "No");
lua_setfield(L, -2, "no");
lua_pushinteger(L, Unknown); LUA_PUSH_INTEGER_FIELD(L, Unknown, "Unknown");
lua_setfield(L, -2, "unknown");
lua_pushinteger(L, Mb10); LUA_PUSH_INTEGER_FIELD(L, Mb10, "10Mb");
lua_setfield(L, -2, "10Mb");
lua_pushinteger(L, Mb100); LUA_PUSH_INTEGER_FIELD(L, Mb100, "100Mb");
lua_setfield(L, -2, "100Mb");
lua_pushinteger(L, Gb); LUA_PUSH_INTEGER_FIELD(L, Gb, "1GB");
lua_setfield(L, -2, "1Gb");
lua_setfield(L, -2, "connectionStatus"); lua_setfield(L, -2, "connectionStatus");
} }

View File

@@ -53,4 +53,8 @@ inline void syscalls_ReturnStringOrNil(LUA_INTEGER cond, const char* value, lua_
} }
} }
#define LUA_PUSH_INTEGER_FIELD(L, val, name) lua_pushinteger(L, val); lua_setfield(L, -2, name);
#define LUA_PUSH_STRING_FIELD(L, val, name) lua_pushstring(L, val); lua_setfield(L, -2, name);
#define LUA_PUSH_NUMBER_FIELD(L, val, name) lua_pushnumber(L, val); lua_setfield(L, -2, name);
#endif // __SYSCALLS_H__ #endif // __SYSCALLS_H__