add IPC to build && fix errors
This commit is contained in:
7
Makefile
7
Makefile
@@ -31,9 +31,10 @@ MYOBJS =
|
|||||||
|
|
||||||
|
|
||||||
Socket_O = src/sockets/socket.o src/sockets/socket_lua.o src/sockets/sockaddr.o
|
Socket_O = src/sockets/socket.o src/sockets/socket_lua.o src/sockets/sockaddr.o
|
||||||
|
IPC_O = src/IPC/ipc.o src/IPC/IPC_msg.o
|
||||||
Debug_O = src/debug/debug.o src/debug/registers.o
|
Debug_O = src/debug/debug.o src/debug/registers.o
|
||||||
|
|
||||||
ALL_O = src/syscalls.o src/ARP_entry.o src/systemColors.o src/graphic.o $(Socket_O) $(Debug_O)
|
ALL_O = src/syscalls.o src/ARP_entry.o src/systemColors.o src/graphic.o $(Socket_O) $(Debug_O) $(IPC_O)
|
||||||
|
|
||||||
syscalls.dll: $(ALL_O)
|
syscalls.dll: $(ALL_O)
|
||||||
$(CC) -shared -T dll.lds --entry _DllStartup -o $@ $(ALL_O) $(LIBS)
|
$(CC) -shared -T dll.lds --entry _DllStartup -o $@ $(ALL_O) $(LIBS)
|
||||||
@@ -54,6 +55,8 @@ src/sockets/sockaddr.o: src/sockets/sockaddr.c src/sockets/sockaddr.h
|
|||||||
src/graphic.o: src/graphic.c src/graphic.h
|
src/graphic.o: src/graphic.c src/graphic.h
|
||||||
src/debug/debug.o: src/debug/debug.c src/debug/debug.h src/debug/registers.h
|
src/debug/debug.o: src/debug/debug.c src/debug/debug.h src/debug/registers.h
|
||||||
src/debug/registers.o: src/debug/registers.c src/debug/registers.h src/syscalls.h
|
src/debug/registers.o: src/debug/registers.c src/debug/registers.h src/syscalls.h
|
||||||
|
src/IPC/ipc.o: src/IPC/ipc.c src/IPC/ipc.h src/IPC/IPC_msg.h
|
||||||
|
src/IPC/IPC_msg.o: src/IPC/IPC_msg.c src/IPC/IPC_msg.h
|
||||||
|
|
||||||
## headers
|
## headers
|
||||||
|
|
||||||
@@ -62,3 +65,5 @@ src/sockets/socket_lua.h: src/syscalls.h src/sockets/socket.h
|
|||||||
src/sockets/sockaddr.h: src/sockets/socket.h src/syscalls.h
|
src/sockets/sockaddr.h: src/sockets/socket.h src/syscalls.h
|
||||||
src/debug/debug.h: src/syscalls.h
|
src/debug/debug.h: src/syscalls.h
|
||||||
src/debug/registers.h: src/syscalls.h
|
src/debug/registers.h: src/syscalls.h
|
||||||
|
src/IPC/IPC_msg.h: src/syscalls.h
|
||||||
|
src/IPC/ipc.h: src/syscalls.h
|
||||||
|
@@ -36,6 +36,7 @@ static int syscalls_newindexIPC_msg(lua_State* L)
|
|||||||
if (!index_i)
|
if (!index_i)
|
||||||
{
|
{
|
||||||
const char* index = luaL_checkstring(L, 2);
|
const char* index = luaL_checkstring(L, 2);
|
||||||
|
|
||||||
if (strcmp(index, "size") == 0)
|
if (strcmp(index, "size") == 0)
|
||||||
{
|
{
|
||||||
r->datalen = val;
|
r->datalen = val;
|
||||||
@@ -76,7 +77,7 @@ static bool compare_ipc_msg(ksys_ipc_msg* a, ksys_ipc_msg* b)
|
|||||||
a->datalen
|
a->datalen
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
else
|
else // длина сообщений не совпадает, занчитт они зразу не могут быть равны
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@@ -7,13 +7,13 @@
|
|||||||
#define syscalls_IPC_msg_metatable_name "syscalls IPC_msg metatable"
|
#define syscalls_IPC_msg_metatable_name "syscalls IPC_msg metatable"
|
||||||
#define syscalls_IPC_msg_name "IPC_msg"
|
#define syscalls_IPC_msg_name "IPC_msg"
|
||||||
|
|
||||||
int syscalls_newSystemColors(lua_State* L);
|
int syscalls_newIPC_msg(lua_State* L);
|
||||||
|
|
||||||
ksys_colors_table_t* syscalls_pushSystemColors(lua_State* L);
|
ksys_colors_table_t* syscalls_pushIPC_msg(lua_State* L);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Register SystemColors lib
|
* Register SystemColors lib
|
||||||
*/
|
*/
|
||||||
void syscalls_register_SystemColors(lua_State* L);
|
void syscalls_register_IPC_msg(lua_State* L);
|
||||||
|
|
||||||
#endif // _SYSCALLS_IPC_MSG_H_
|
#endif // _SYSCALLS_IPC_MSG_H_
|
||||||
|
@@ -17,7 +17,7 @@ inline static enum SendIPCErrors send_ipc(int pid, ksys_ipc_msg* msg)
|
|||||||
asm_inline(
|
asm_inline(
|
||||||
"int $0x40"
|
"int $0x40"
|
||||||
: "=a"(ret)
|
: "=a"(ret)
|
||||||
: "a"(60), "b"(1), "c"(pid), "d"(msg), "S"(sizeof(ksys_ipc_msg) + msg->datalen)
|
: "a"(60), "b"(2), "c"(pid), "d"(msg), "S"(sizeof(ksys_ipc_msg) + msg->datalen)
|
||||||
);
|
);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
@@ -28,10 +28,9 @@ int syscalls_DefineIPCBuffer(lua_State* L)
|
|||||||
uint32_t len = luaL_checkinteger(L, 1);
|
uint32_t len = luaL_checkinteger(L, 1);
|
||||||
ksys_ipc_buffer* buffer;
|
ksys_ipc_buffer* buffer;
|
||||||
|
|
||||||
|
|
||||||
define_ipc(buffer, len);
|
define_ipc(buffer, len);
|
||||||
|
|
||||||
return 1;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int syscalls_SendIPCMessage(lua_State* L)
|
int syscalls_SendIPCMessage(lua_State* L)
|
||||||
@@ -39,7 +38,7 @@ int syscalls_SendIPCMessage(lua_State* L)
|
|||||||
lua_pushinteger(
|
lua_pushinteger(
|
||||||
L,
|
L,
|
||||||
send_ipc(
|
send_ipc(
|
||||||
lua_checkinteger(L, 1),
|
luaL_checkinteger(L, 1),
|
||||||
luaL_checkudata(L, 1, syscalls_IPC_msg_metatable_name)
|
luaL_checkudata(L, 1, syscalls_IPC_msg_metatable_name)
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
@@ -9,13 +9,14 @@
|
|||||||
|
|
||||||
#include "syscalls.h"
|
#include "syscalls.h"
|
||||||
#include "scancodes.h"
|
#include "scancodes.h"
|
||||||
#include "ARP_entry.h"
|
|
||||||
|
|
||||||
|
#include "ARP_entry.h"
|
||||||
#include "systemColors.h"
|
#include "systemColors.h"
|
||||||
#include "sockets/socket_lua.h"
|
#include "sockets/socket_lua.h"
|
||||||
#include "debug/debug.h"
|
#include "debug/debug.h"
|
||||||
#include "graphic.h"
|
#include "graphic.h"
|
||||||
|
#include "IPC/ipc.h"
|
||||||
|
#include "IPC/IPC_msg.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Режим ввода с клавиатуры
|
Режим ввода с клавиатуры
|
||||||
@@ -1636,6 +1637,8 @@ static const luaL_Reg syscallsLib[] = {
|
|||||||
{ "Done", syscalls_Done },
|
{ "Done", syscalls_Done },
|
||||||
{ "DefineBreakpoint", syscalls_DefineBreakpoint },
|
{ "DefineBreakpoint", syscalls_DefineBreakpoint },
|
||||||
{ "UndefBreakpoint", syscalls_UndefBreakpoint },
|
{ "UndefBreakpoint", syscalls_UndefBreakpoint },
|
||||||
|
{ "DefineIPCBuffer", syscalls_DefineIPCBuffer },
|
||||||
|
{ "SendIPCMessage", syscalls_SendIPCMessage },
|
||||||
{ NULL, NULL }
|
{ NULL, NULL }
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -1835,6 +1838,7 @@ LUALIB_API int luaopen_syscalls(lua_State* L)
|
|||||||
syscalls_push_buttons(L);
|
syscalls_push_buttons(L);
|
||||||
syscalls_push_connectionStatus(L);
|
syscalls_push_connectionStatus(L);
|
||||||
syscalls_push_graphic(L);
|
syscalls_push_graphic(L);
|
||||||
|
syscalls_register_IPC_msg(L);
|
||||||
|
|
||||||
syscalls_register_ARPEntry(L);
|
syscalls_register_ARPEntry(L);
|
||||||
syscalls_register_SystemColors(L);
|
syscalls_register_SystemColors(L);
|
||||||
|
Reference in New Issue
Block a user