about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2021-07-04 10:34:02 +0200
committerptitSeb <sebastien.chev@gmail.com>2021-07-04 10:34:02 +0200
commit9c0daf0ed5922f59ef8b15aa4909e6dc87ed0f92 (patch)
treeeb6193e14a6f49c282fefc3f299f3119d0610b8e /src
parent796e6d3a875210051760d5a894c898231a13a268 (diff)
downloadbox64-9c0daf0ed5922f59ef8b15aa4909e6dc87ed0f92.tar.gz
box64-9c0daf0ed5922f59ef8b15aa4909e6dc87ed0f92.zip
Added wrapped libxcb-test (for #17)
Diffstat (limited to 'src')
-rwxr-xr-xsrc/library_list.h2
-rw-r--r--src/wrapped/generated/functions_list.txt1
-rw-r--r--src/wrapped/generated/wrapper.c2
-rw-r--r--src/wrapped/generated/wrapper.h1
-rwxr-xr-xsrc/wrapped/wrappedlibxcbxtest.c23
-rwxr-xr-xsrc/wrapped/wrappedlibxcbxtest_private.h15
6 files changed, 43 insertions, 1 deletions
diff --git a/src/library_list.h b/src/library_list.h
index 93767946..9f2dad0c 100755
--- a/src/library_list.h
+++ b/src/library_list.h
@@ -58,7 +58,7 @@ GO("libxcb-shm.so.0", libxcbshm)
 GO("libxcb-randr.so.0", libxcbrandr)
 GO("libxcb-image.so.0", libxcbimage)
 GO("libxcb-keysyms.so.1", libxcbkeysyms)
-//GO("libxcb-xtest.so.0", libxcbxtest)
+GO("libxcb-xtest.so.0", libxcbxtest)
 //GO("libxcb-dri2.so.0", libxcbdri2)
 //GO("libxcb-dri3.so.0", libxcbdri3)
 //GO("libxcb-present.so.0", libxcbpresent)
diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt
index a4afd1e1..93d0f7f5 100644
--- a/src/wrapped/generated/functions_list.txt
+++ b/src/wrapped/generated/functions_list.txt
@@ -1158,6 +1158,7 @@
 #() pFEppppppp
 #() pFuiiiuuuu
 #() pFuupupipp
+#() pFpCCuuwwC
 #() pFpCuwwWWu
 #() pFpCuuuCup
 #() pFpWWiCpup
diff --git a/src/wrapped/generated/wrapper.c b/src/wrapped/generated/wrapper.c
index 55d03bda..d889b997 100644
--- a/src/wrapped/generated/wrapper.c
+++ b/src/wrapped/generated/wrapper.c
@@ -1192,6 +1192,7 @@ typedef uint64_t (*uFuipppppp_t)(uint64_t, int64_t, void*, void*, void*, void*,
 typedef void* (*pFEppppppp_t)(x64emu_t*, void*, void*, void*, void*, void*, void*, void*);
 typedef void* (*pFuiiiuuuu_t)(uint64_t, int64_t, int64_t, int64_t, uint64_t, uint64_t, uint64_t, uint64_t);
 typedef void* (*pFuupupipp_t)(uint64_t, uint64_t, void*, uint64_t, void*, int64_t, void*, void*);
+typedef void* (*pFpCCuuwwC_t)(void*, uint8_t, uint8_t, uint64_t, uint64_t, int16_t, int16_t, uint8_t);
 typedef void* (*pFpCuwwWWu_t)(void*, uint8_t, uint64_t, int16_t, int16_t, uint16_t, uint16_t, uint64_t);
 typedef void* (*pFpCuuuCup_t)(void*, uint8_t, uint64_t, uint64_t, uint64_t, uint8_t, uint64_t, void*);
 typedef void* (*pFpWWiCpup_t)(void*, uint16_t, uint16_t, int64_t, uint8_t, void*, uint64_t, void*);
@@ -2516,6 +2517,7 @@ void uFuipppppp(x64emu_t *emu, uintptr_t fcn) { uFuipppppp_t fn = (uFuipppppp_t)
 void pFEppppppp(x64emu_t *emu, uintptr_t fcn) { pFEppppppp_t fn = (pFEppppppp_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void pFuiiiuuuu(x64emu_t *emu, uintptr_t fcn) { pFuiiiuuuu_t fn = (pFuiiiuuuu_t)fcn; R_RAX=(uintptr_t)fn((uint64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (uint64_t)R_R8, (uint64_t)R_R9, *(uint64_t*)(R_RSP + 8), *(uint64_t*)(R_RSP + 16)); }
 void pFuupupipp(x64emu_t *emu, uintptr_t fcn) { pFuupupipp_t fn = (pFuupupipp_t)fcn; R_RAX=(uintptr_t)fn((uint64_t)R_RDI, (uint64_t)R_RSI, (void*)R_RDX, (uint64_t)R_RCX, (void*)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
+void pFpCCuuwwC(x64emu_t *emu, uintptr_t fcn) { pFpCCuuwwC_t fn = (pFpCCuuwwC_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint8_t)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8, (int16_t)R_R9, *(int16_t*)(R_RSP + 8), *(uint8_t*)(R_RSP + 16)); }
 void pFpCuwwWWu(x64emu_t *emu, uintptr_t fcn) { pFpCuwwWWu_t fn = (pFpCuwwWWu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint64_t)R_RDX, (int16_t)R_RCX, (int16_t)R_R8, (uint16_t)R_R9, *(uint16_t*)(R_RSP + 8), *(uint64_t*)(R_RSP + 16)); }
 void pFpCuuuCup(x64emu_t *emu, uintptr_t fcn) { pFpCuuuCup_t fn = (pFpCuuuCup_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8, (uint8_t)R_R9, *(uint64_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void pFpWWiCpup(x64emu_t *emu, uintptr_t fcn) { pFpWWiCpup_t fn = (pFpWWiCpup_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint16_t)R_RSI, (uint16_t)R_RDX, (int64_t)R_RCX, (uint8_t)R_R8, (void*)R_R9, *(uint64_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); }
diff --git a/src/wrapped/generated/wrapper.h b/src/wrapped/generated/wrapper.h
index a1ca9cb2..8000286f 100644
--- a/src/wrapped/generated/wrapper.h
+++ b/src/wrapped/generated/wrapper.h
@@ -1188,6 +1188,7 @@ void uFuipppppp(x64emu_t *emu, uintptr_t fnc);
 void pFEppppppp(x64emu_t *emu, uintptr_t fnc);
 void pFuiiiuuuu(x64emu_t *emu, uintptr_t fnc);
 void pFuupupipp(x64emu_t *emu, uintptr_t fnc);
+void pFpCCuuwwC(x64emu_t *emu, uintptr_t fnc);
 void pFpCuwwWWu(x64emu_t *emu, uintptr_t fnc);
 void pFpCuuuCup(x64emu_t *emu, uintptr_t fnc);
 void pFpWWiCpup(x64emu_t *emu, uintptr_t fnc);
diff --git a/src/wrapped/wrappedlibxcbxtest.c b/src/wrapped/wrappedlibxcbxtest.c
new file mode 100755
index 00000000..b08fb352
--- /dev/null
+++ b/src/wrapped/wrappedlibxcbxtest.c
@@ -0,0 +1,23 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#define _GNU_SOURCE         /* See feature_test_macros(7) */
+#include <dlfcn.h>
+
+#include "wrappedlibs.h"
+
+#include "debug.h"
+#include "wrapper.h"
+#include "bridge.h"
+#include "librarian/library_private.h"
+#include "x64emu.h"
+#include "emu/x64emu_private.h"
+#include "callback.h"
+#include "librarian.h"
+#include "box64context.h"
+#include "emu/x64emu_private.h"
+
+const char* libxcbxtestName = "libxcb-xtest.so.0";
+#define LIBNAME libxcbxtest
+
+#include "wrappedlib_init.h"
diff --git a/src/wrapped/wrappedlibxcbxtest_private.h b/src/wrapped/wrappedlibxcbxtest_private.h
new file mode 100755
index 00000000..27725703
--- /dev/null
+++ b/src/wrapped/wrappedlibxcbxtest_private.h
@@ -0,0 +1,15 @@
+#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA))
+#error meh!
+#endif
+
+//GO(xcb_test_compare_cursor, 
+//GO(xcb_test_compare_cursor_reply, 
+//GO(xcb_test_compare_cursor_unchecked, 
+GO(xcb_test_fake_input, pFpCCuuwwC)
+GO(xcb_test_fake_input_checked, pFpCCuuwwC)
+//GO(xcb_test_get_version, 
+//GO(xcb_test_get_version_reply, 
+//GO(xcb_test_get_version_unchecked, 
+//GO(xcb_test_grab_control, 
+//GO(xcb_test_grab_control_checked, 
+DATA(xcb_test_id, 8)