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:05:05 +0200
committerptitSeb <sebastien.chev@gmail.com>2021-07-04 10:05:05 +0200
commit6f183aa1ccf1a5c5c815fb23ac99c2edfea8c59a (patch)
treead62740750efe50600c140d1436ecfc9200d2730 /src
parent56f6ad84bbee5d6694d967d744fe0b377f0f68ab (diff)
downloadbox64-6f183aa1ccf1a5c5c815fb23ac99c2edfea8c59a.tar.gz
box64-6f183aa1ccf1a5c5c815fb23ac99c2edfea8c59a.zip
Added wrapped libxcb-xfixes (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.c3
-rw-r--r--src/wrapped/generated/wrapper.h1
-rwxr-xr-xsrc/wrapped/wrappedlibxcbxfixes.c23
-rwxr-xr-xsrc/wrapped/wrappedlibxcbxfixes_private.h119
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,