diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2021-07-04 10:34:02 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2021-07-04 10:34:02 +0200 |
| commit | 9c0daf0ed5922f59ef8b15aa4909e6dc87ed0f92 (patch) | |
| tree | eb6193e14a6f49c282fefc3f299f3119d0610b8e /src | |
| parent | 796e6d3a875210051760d5a894c898231a13a268 (diff) | |
| download | box64-9c0daf0ed5922f59ef8b15aa4909e6dc87ed0f92.tar.gz box64-9c0daf0ed5922f59ef8b15aa4909e6dc87ed0f92.zip | |
Added wrapped libxcb-test (for #17)
Diffstat (limited to 'src')
| -rwxr-xr-x | src/library_list.h | 2 | ||||
| -rw-r--r-- | src/wrapped/generated/functions_list.txt | 1 | ||||
| -rw-r--r-- | src/wrapped/generated/wrapper.c | 2 | ||||
| -rw-r--r-- | src/wrapped/generated/wrapper.h | 1 | ||||
| -rwxr-xr-x | src/wrapped/wrappedlibxcbxtest.c | 23 | ||||
| -rwxr-xr-x | src/wrapped/wrappedlibxcbxtest_private.h | 15 |
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) |