diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2021-07-04 10:05:05 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2021-07-04 10:05:05 +0200 |
| commit | 6f183aa1ccf1a5c5c815fb23ac99c2edfea8c59a (patch) | |
| tree | ad62740750efe50600c140d1436ecfc9200d2730 /src | |
| parent | 56f6ad84bbee5d6694d967d744fe0b377f0f68ab (diff) | |
| download | box64-6f183aa1ccf1a5c5c815fb23ac99c2edfea8c59a.tar.gz box64-6f183aa1ccf1a5c5c815fb23ac99c2edfea8c59a.zip | |
Added wrapped libxcb-xfixes (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 | 3 | ||||
| -rw-r--r-- | src/wrapped/generated/wrapper.h | 1 | ||||
| -rwxr-xr-x | src/wrapped/wrappedlibxcbxfixes.c | 23 | ||||
| -rwxr-xr-x | src/wrapped/wrappedlibxcbxfixes_private.h | 119 |
6 files changed, 148 insertions, 1 deletions
diff --git a/src/library_list.h b/src/library_list.h index 7eea73f8..7a9b6e3c 100755 --- a/src/library_list.h +++ b/src/library_list.h @@ -52,7 +52,7 @@ GO("libXau.so.6", libxau) GO("libXdmcp.so.6", libxdmcp) GO("libX11-xcb.so.1", libx11xcb) GO("libxcb.so.1", libxcb) -//GO("libxcb-xfixes.so.0", libxcbxfixes) +GO("libxcb-xfixes.so.0", libxcbxfixes) //GO("libxcb-shape.so.0", libxcbshape) //GO("libxcb-shm.so.0", libxcbshm) //GO("libxcb-randr.so.0", libxcbrandr) diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt index d8d1127e..8066b666 100644 --- a/src/wrapped/generated/functions_list.txt +++ b/src/wrapped/generated/functions_list.txt @@ -980,6 +980,7 @@ #() pFpCuuCC #() pFpCuuWW #() pFpCuuup +#() pFpuuwwu #() pFpuuuuu #() pFppiiii #() pFppiCCC diff --git a/src/wrapped/generated/wrapper.c b/src/wrapped/generated/wrapper.c index 7d940719..0e3c7f6d 100644 --- a/src/wrapped/generated/wrapper.c +++ b/src/wrapped/generated/wrapper.c @@ -1014,6 +1014,7 @@ typedef void* (*pFpipppp_t)(void*, int64_t, void*, void*, void*, void*); typedef void* (*pFpCuuCC_t)(void*, uint8_t, uint64_t, uint64_t, uint8_t, uint8_t); typedef void* (*pFpCuuWW_t)(void*, uint8_t, uint64_t, uint64_t, uint16_t, uint16_t); typedef void* (*pFpCuuup_t)(void*, uint8_t, uint64_t, uint64_t, uint64_t, void*); +typedef void* (*pFpuuwwu_t)(void*, uint64_t, uint64_t, int16_t, int16_t, uint64_t); typedef void* (*pFpuuuuu_t)(void*, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t); typedef void* (*pFppiiii_t)(void*, void*, int64_t, int64_t, int64_t, int64_t); typedef void* (*pFppiCCC_t)(void*, void*, int64_t, uint8_t, uint8_t, uint8_t); @@ -2321,6 +2322,7 @@ void pFpipppp(x64emu_t *emu, uintptr_t fcn) { pFpipppp_t fn = (pFpipppp_t)fcn; R void pFpCuuCC(x64emu_t *emu, uintptr_t fcn) { pFpCuuCC_t fn = (pFpCuuCC_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (uint8_t)R_R8, (uint8_t)R_R9); } void pFpCuuWW(x64emu_t *emu, uintptr_t fcn) { pFpCuuWW_t fn = (pFpCuuWW_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (uint16_t)R_R8, (uint16_t)R_R9); } void pFpCuuup(x64emu_t *emu, uintptr_t fcn) { pFpCuuup_t fn = (pFpCuuup_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, (void*)R_R9); } +void pFpuuwwu(x64emu_t *emu, uintptr_t fcn) { pFpuuwwu_t fn = (pFpuuwwu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (int16_t)R_RCX, (int16_t)R_R8, (uint64_t)R_R9); } void pFpuuuuu(x64emu_t *emu, uintptr_t fcn) { pFpuuuuu_t fn = (pFpuuuuu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8, (uint64_t)R_R9); } void pFppiiii(x64emu_t *emu, uintptr_t fcn) { pFppiiii_t fn = (pFppiiii_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9); } void pFppiCCC(x64emu_t *emu, uintptr_t fcn) { pFppiCCC_t fn = (pFppiCCC_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (uint8_t)R_RCX, (uint8_t)R_R8, (uint8_t)R_R9); } @@ -3494,6 +3496,7 @@ int isSimpleWrapper(wrapper_t fun) { if (fun == &pFpCuuCC) return 1; if (fun == &pFpCuuWW) return 1; if (fun == &pFpCuuup) return 1; + if (fun == &pFpuuwwu) return 1; if (fun == &pFpuuuuu) return 1; if (fun == &pFppiiii) return 1; if (fun == &pFppiCCC) return 1; diff --git a/src/wrapped/generated/wrapper.h b/src/wrapped/generated/wrapper.h index 27366729..5556ac9d 100644 --- a/src/wrapped/generated/wrapper.h +++ b/src/wrapped/generated/wrapper.h @@ -1010,6 +1010,7 @@ void pFpipppp(x64emu_t *emu, uintptr_t fnc); void pFpCuuCC(x64emu_t *emu, uintptr_t fnc); void pFpCuuWW(x64emu_t *emu, uintptr_t fnc); void pFpCuuup(x64emu_t *emu, uintptr_t fnc); +void pFpuuwwu(x64emu_t *emu, uintptr_t fnc); void pFpuuuuu(x64emu_t *emu, uintptr_t fnc); void pFppiiii(x64emu_t *emu, uintptr_t fnc); void pFppiCCC(x64emu_t *emu, uintptr_t fnc); diff --git a/src/wrapped/wrappedlibxcbxfixes.c b/src/wrapped/wrappedlibxcbxfixes.c new file mode 100755 index 00000000..e41c3b8b --- /dev/null +++ b/src/wrapped/wrappedlibxcbxfixes.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* libxcbxfixesName = "libxcb-xfixes.so.0"; +#define LIBNAME libxcbxfixes + +#include "wrappedlib_init.h" diff --git a/src/wrapped/wrappedlibxcbxfixes_private.h b/src/wrapped/wrappedlibxcbxfixes_private.h new file mode 100755 index 00000000..d18547ef --- /dev/null +++ b/src/wrapped/wrappedlibxcbxfixes_private.h @@ -0,0 +1,119 @@ +#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA)) +#error meh! +#endif + +//GO(xcb_xfixes_barrier_end, +//GO(xcb_xfixes_barrier_next, +//GO(xcb_xfixes_change_cursor, +//GO(xcb_xfixes_change_cursor_by_name, +//GO(xcb_xfixes_change_cursor_by_name_checked, +//GO(xcb_xfixes_change_cursor_by_name_name, +//GO(xcb_xfixes_change_cursor_by_name_name_end, +//GO(xcb_xfixes_change_cursor_by_name_name_length, +//GO(xcb_xfixes_change_cursor_by_name_sizeof, +//GO(xcb_xfixes_change_cursor_checked, +//GO(xcb_xfixes_change_save_set, +//GO(xcb_xfixes_change_save_set_checked, +//GO(xcb_xfixes_copy_region, +//GO(xcb_xfixes_copy_region_checked, +//GO(xcb_xfixes_create_pointer_barrier, +//GO(xcb_xfixes_create_pointer_barrier_checked, +//GO(xcb_xfixes_create_pointer_barrier_devices, +//GO(xcb_xfixes_create_pointer_barrier_devices_end, +//GO(xcb_xfixes_create_pointer_barrier_devices_length, +//GO(xcb_xfixes_create_pointer_barrier_sizeof, +GO(xcb_xfixes_create_region, pFpuup) +//GO(xcb_xfixes_create_region_checked, +//GO(xcb_xfixes_create_region_from_bitmap, +//GO(xcb_xfixes_create_region_from_bitmap_checked, +//GO(xcb_xfixes_create_region_from_gc, +//GO(xcb_xfixes_create_region_from_gc_checked, +//GO(xcb_xfixes_create_region_from_picture, +//GO(xcb_xfixes_create_region_from_picture_checked, +//GO(xcb_xfixes_create_region_from_window, +//GO(xcb_xfixes_create_region_from_window_checked, +//GO(xcb_xfixes_create_region_rectangles, +//GO(xcb_xfixes_create_region_rectangles_iterator, +//GO(xcb_xfixes_create_region_rectangles_length, +//GO(xcb_xfixes_create_region_sizeof, +//GO(xcb_xfixes_delete_pointer_barrier, +//GO(xcb_xfixes_delete_pointer_barrier_checked, +GO(xcb_xfixes_destroy_region, pFpu) +//GO(xcb_xfixes_destroy_region_checked, +//GO(xcb_xfixes_expand_region, +//GO(xcb_xfixes_expand_region_checked, +//GO(xcb_xfixes_fetch_region, +//GO(xcb_xfixes_fetch_region_rectangles, +//GO(xcb_xfixes_fetch_region_rectangles_iterator, +//GO(xcb_xfixes_fetch_region_rectangles_length, +//GO(xcb_xfixes_fetch_region_reply, +//GO(xcb_xfixes_fetch_region_sizeof, +//GO(xcb_xfixes_fetch_region_unchecked, +//GO(xcb_xfixes_get_cursor_image, +//GO(xcb_xfixes_get_cursor_image_and_name, +//GO(xcb_xfixes_get_cursor_image_and_name_cursor_image, +//GO(xcb_xfixes_get_cursor_image_and_name_cursor_image_end, +//GO(xcb_xfixes_get_cursor_image_and_name_cursor_image_length, +//GO(xcb_xfixes_get_cursor_image_and_name_name, +//GO(xcb_xfixes_get_cursor_image_and_name_name_end, +//GO(xcb_xfixes_get_cursor_image_and_name_name_length, +//GO(xcb_xfixes_get_cursor_image_and_name_reply, +//GO(xcb_xfixes_get_cursor_image_and_name_sizeof, +//GO(xcb_xfixes_get_cursor_image_and_name_unchecked, +//GO(xcb_xfixes_get_cursor_image_cursor_image, +//GO(xcb_xfixes_get_cursor_image_cursor_image_end, +//GO(xcb_xfixes_get_cursor_image_cursor_image_length, +//GO(xcb_xfixes_get_cursor_image_reply, +//GO(xcb_xfixes_get_cursor_image_sizeof, +//GO(xcb_xfixes_get_cursor_image_unchecked, +//GO(xcb_xfixes_get_cursor_name, +//GO(xcb_xfixes_get_cursor_name_name, +//GO(xcb_xfixes_get_cursor_name_name_end, +//GO(xcb_xfixes_get_cursor_name_name_length, +//GO(xcb_xfixes_get_cursor_name_reply, +//GO(xcb_xfixes_get_cursor_name_sizeof, +//GO(xcb_xfixes_get_cursor_name_unchecked, +//GO(xcb_xfixes_hide_cursor, +//GO(xcb_xfixes_hide_cursor_checked, +DATA(xcb_xfixes_id, 8) +//GO(xcb_xfixes_intersect_region, +//GO(xcb_xfixes_intersect_region_checked, +//GO(xcb_xfixes_invert_region, +//GO(xcb_xfixes_invert_region_checked, +//GO(xcb_xfixes_query_version, +GO(xcb_xfixes_query_version_reply, pFpup) +GO(xcb_xfixes_query_version_unchecked, pFpuu) +//GO(xcb_xfixes_region_end, +//GO(xcb_xfixes_region_extents, +//GO(xcb_xfixes_region_extents_checked, +//GO(xcb_xfixes_region_next, +//GO(xcb_xfixes_select_cursor_input, +//GO(xcb_xfixes_select_cursor_input_checked, +//GO(xcb_xfixes_select_selection_input, +//GO(xcb_xfixes_select_selection_input_checked, +//GO(xcb_xfixes_set_cursor_name, +//GO(xcb_xfixes_set_cursor_name_checked, +//GO(xcb_xfixes_set_cursor_name_name, +//GO(xcb_xfixes_set_cursor_name_name_end, +//GO(xcb_xfixes_set_cursor_name_name_length, +//GO(xcb_xfixes_set_cursor_name_sizeof, +//GO(xcb_xfixes_set_gc_clip_region, +//GO(xcb_xfixes_set_gc_clip_region_checked, +//GO(xcb_xfixes_set_picture_clip_region, +//GO(xcb_xfixes_set_picture_clip_region_checked, +//GO(xcb_xfixes_set_region, +//GO(xcb_xfixes_set_region_checked, +//GO(xcb_xfixes_set_region_rectangles, +//GO(xcb_xfixes_set_region_rectangles_iterator, +//GO(xcb_xfixes_set_region_rectangles_length, +//GO(xcb_xfixes_set_region_sizeof, +GO(xcb_xfixes_set_window_shape_region, pFpuuwwu) +GO(xcb_xfixes_set_window_shape_region_checked, pFpuuwwu) +//GO(xcb_xfixes_show_cursor, +//GO(xcb_xfixes_show_cursor_checked, +//GO(xcb_xfixes_subtract_region, +//GO(xcb_xfixes_subtract_region_checked, +//GO(xcb_xfixes_translate_region, +//GO(xcb_xfixes_translate_region_checked, +//GO(xcb_xfixes_union_region, +//GO(xcb_xfixes_union_region_checked, |