diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2025-06-08 10:50:08 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2025-06-08 10:50:08 +0200 |
| commit | 7de8687a79ea1e97b61b1a33d6a16e52b36d6a3e (patch) | |
| tree | 3969bbb737853c0f09f358193ec1faf01550fa58 /src | |
| parent | 4fc5885d744b8eacb5018ea9ddeaf5b7849a0378 (diff) | |
| download | box64-7de8687a79ea1e97b61b1a33d6a16e52b36d6a3e.tar.gz box64-7de8687a79ea1e97b61b1a33d6a16e52b36d6a3e.zip | |
[BOX32][WRAPPER] Added 2 more function to 32bits wrapped libxcb.so
Diffstat (limited to 'src')
| -rw-r--r-- | src/wrapped32/generated/functions_list.txt | 3 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrappedlibxcbdefs32.h | 2 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrappedlibxcbtypes32.h | 1 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrappedlibxcbundefs32.h | 2 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrapper32.c | 2 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrapper32.h | 1 | ||||
| -rw-r--r-- | src/wrapped32/wrappedlibxcb.c | 5 | ||||
| -rw-r--r-- | src/wrapped32/wrappedlibxcb_private.h | 4 |
8 files changed, 18 insertions, 2 deletions
diff --git a/src/wrapped32/generated/functions_list.txt b/src/wrapped32/generated/functions_list.txt index 097c8aa9..faf4d6d7 100644 --- a/src/wrapped32/generated/functions_list.txt +++ b/src/wrapped32/generated/functions_list.txt @@ -2127,6 +2127,7 @@ #() vFuuiiiiuuiiiiiii -> vFuuiiiiuuiiiiiii #() vFfffffffffffffff -> vFfffffffffffffff #() iFpppppppppppppppp -> iFpppppppppppppppp +#() pFEppnCuuwwWWWWuup -> pFEppnCuuwwWWWWuup #() vFuuuuiiiiuuiiiiiii -> vFuuuuiiiiuuiiiiiii #() vFXpuiiiiipuiiiiiiii -> vFXpuiiiiipuiiiiiiii #() uFippuuuuiiiiuuiiiiiiiipp -> uFippuuuuiiiiuuiiiiiiiipp @@ -3131,11 +3132,13 @@ wrappedlibxcb: - zFnCWp: - zFnCuuuuu: - zFnCuuuCup: +- zFpnCuuwwWWWWuup: % ZFEpp -> pFEppp % zFEnuu -> pFEpnuu % zFEnCWp -> pFEpnCWp % zFEnCuuuuu -> pFEpnCuuuuu % zFEnCuuuCup -> pFEpnCuuuCup +% zFEpnCuuwwWWWWuup -> pFEppnCuuwwWWWWuup wrappedlibxcbres: % Z my_xcb_XXX_iterator_t pii % z my_xcb_cookie_t u diff --git a/src/wrapped32/generated/wrappedlibxcbdefs32.h b/src/wrapped32/generated/wrappedlibxcbdefs32.h index 63160575..e685a2d7 100644 --- a/src/wrapped32/generated/wrappedlibxcbdefs32.h +++ b/src/wrapped32/generated/wrappedlibxcbdefs32.h @@ -14,5 +14,7 @@ #define zFEnCuuuuu_32 pFEpnCuuuuu_32 #define zFEnCuuuCup pFEpnCuuuCup #define zFEnCuuuCup_32 pFEpnCuuuCup_32 +#define zFEpnCuuwwWWWWuup pFEppnCuuwwWWWWuup +#define zFEpnCuuwwWWWWuup_32 pFEppnCuuwwWWWWuup_32 #endif // __wrappedlibxcbDEFS32_H_ diff --git a/src/wrapped32/generated/wrappedlibxcbtypes32.h b/src/wrapped32/generated/wrappedlibxcbtypes32.h index 7da67c9a..925d2a3c 100644 --- a/src/wrapped32/generated/wrappedlibxcbtypes32.h +++ b/src/wrapped32/generated/wrappedlibxcbtypes32.h @@ -18,6 +18,7 @@ typedef my_xcb_cookie_t (*zFnuu_t)(void*, uint32_t, uint32_t); typedef my_xcb_cookie_t (*zFnCWp_t)(void*, uint8_t, uint16_t, void*); typedef my_xcb_cookie_t (*zFnCuuuuu_t)(void*, uint8_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t); typedef my_xcb_cookie_t (*zFnCuuuCup_t)(void*, uint8_t, uint32_t, uint32_t, uint32_t, uint8_t, uint32_t, void*); +typedef my_xcb_cookie_t (*zFpnCuuwwWWWWuup_t)(void*, void*, uint8_t, uint32_t, uint32_t, int16_t, int16_t, uint16_t, uint16_t, uint16_t, uint16_t, uint32_t, uint32_t, void*); #define SUPER() ADDED_FUNCTIONS() \ GO(xcb_disconnect, vFp_t) \ diff --git a/src/wrapped32/generated/wrappedlibxcbundefs32.h b/src/wrapped32/generated/wrappedlibxcbundefs32.h index 3ac3f549..060385bb 100644 --- a/src/wrapped32/generated/wrappedlibxcbundefs32.h +++ b/src/wrapped32/generated/wrappedlibxcbundefs32.h @@ -14,5 +14,7 @@ #undef zFEnCuuuuu_32 #undef zFEnCuuuCup #undef zFEnCuuuCup_32 +#undef zFEpnCuuwwWWWWuup +#undef zFEpnCuuwwWWWWuup_32 #endif // __wrappedlibxcbUNDEFS32_H_ diff --git a/src/wrapped32/generated/wrapper32.c b/src/wrapped32/generated/wrapper32.c index b04c5a86..b0164497 100644 --- a/src/wrapped32/generated/wrapper32.c +++ b/src/wrapped32/generated/wrapper32.c @@ -2221,6 +2221,7 @@ typedef void (*vFuiiiiiuiiiiilll_t)(uint32_t, int32_t, int32_t, int32_t, int32_t typedef void (*vFuuiiiiuuiiiiiii_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t); typedef void (*vFfffffffffffffff_t)(float, float, float, float, float, float, float, float, float, float, float, float, float, float, float); typedef int32_t (*iFpppppppppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*); +typedef void* (*pFEppnCuuwwWWWWuup_t)(x64emu_t*, void*, void*, void*, uint8_t, uint32_t, uint32_t, int16_t, int16_t, uint16_t, uint16_t, uint16_t, uint16_t, uint32_t, uint32_t, void*); typedef void (*vFuuuuiiiiuuiiiiiii_t)(uint32_t, uint32_t, uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t); typedef void (*vFXpuiiiiipuiiiiiiii_t)(void*, void*, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t); typedef uint32_t (*uFippuuuuiiiiuuiiiiiiiipp_t)(int32_t, void*, void*, uint32_t, uint32_t, uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*, void*); @@ -4380,6 +4381,7 @@ void vFuiiiiiuiiiiilll_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiuiiiiilll_t fn void vFuuiiiiuuiiiiiii_32(x64emu_t *emu, uintptr_t fcn) { vFuuiiiiuuiiiiiii_t fn = (vFuuiiiiuuiiiiiii_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36), from_ptri(int32_t, R_ESP + 40), from_ptri(int32_t, R_ESP + 44), from_ptri(int32_t, R_ESP + 48), from_ptri(int32_t, R_ESP + 52), from_ptri(int32_t, R_ESP + 56), from_ptri(int32_t, R_ESP + 60)); } void vFfffffffffffffff_32(x64emu_t *emu, uintptr_t fcn) { vFfffffffffffffff_t fn = (vFfffffffffffffff_t)fcn; fn(from_ptri(float, R_ESP + 4), from_ptri(float, R_ESP + 8), from_ptri(float, R_ESP + 12), from_ptri(float, R_ESP + 16), from_ptri(float, R_ESP + 20), from_ptri(float, R_ESP + 24), from_ptri(float, R_ESP + 28), from_ptri(float, R_ESP + 32), from_ptri(float, R_ESP + 36), from_ptri(float, R_ESP + 40), from_ptri(float, R_ESP + 44), from_ptri(float, R_ESP + 48), from_ptri(float, R_ESP + 52), from_ptri(float, R_ESP + 56), from_ptri(float, R_ESP + 60)); } void iFpppppppppppppppp_32(x64emu_t *emu, uintptr_t fcn) { iFpppppppppppppppp_t fn = (iFpppppppppppppppp_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24), from_ptriv(R_ESP + 28), from_ptriv(R_ESP + 32), from_ptriv(R_ESP + 36), from_ptriv(R_ESP + 40), from_ptriv(R_ESP + 44), from_ptriv(R_ESP + 48), from_ptriv(R_ESP + 52), from_ptriv(R_ESP + 56), from_ptriv(R_ESP + 60), from_ptriv(R_ESP + 64)); } +void pFEppnCuuwwWWWWuup_32(x64emu_t *emu, uintptr_t fcn) { pFEppnCuuwwWWWWuup_t fn = (pFEppnCuuwwWWWWuup_t)fcn; void *aligned_xcb = align_xcb_connection32(from_ptriv(R_ESP + 12)); R_EAX = to_ptrv(fn(emu, from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), aligned_xcb, from_ptri(uint8_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(int16_t, R_ESP + 28), from_ptri(int16_t, R_ESP + 32), from_ptri(uint16_t, R_ESP + 36), from_ptri(uint16_t, R_ESP + 40), from_ptri(uint16_t, R_ESP + 44), from_ptri(uint16_t, R_ESP + 48), from_ptri(uint32_t, R_ESP + 52), from_ptri(uint32_t, R_ESP + 56), from_ptriv(R_ESP + 60))); unalign_xcb_connection32(aligned_xcb, from_ptriv(R_ESP + 12)); } void vFuuuuiiiiuuiiiiiii_32(x64emu_t *emu, uintptr_t fcn) { vFuuuuiiiiuuiiiiiii_t fn = (vFuuuuiiiiuuiiiiiii_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(uint32_t, R_ESP + 36), from_ptri(uint32_t, R_ESP + 40), from_ptri(int32_t, R_ESP + 44), from_ptri(int32_t, R_ESP + 48), from_ptri(int32_t, R_ESP + 52), from_ptri(int32_t, R_ESP + 56), from_ptri(int32_t, R_ESP + 60), from_ptri(int32_t, R_ESP + 64), from_ptri(int32_t, R_ESP + 68)); } void vFXpuiiiiipuiiiiiiii_32(x64emu_t *emu, uintptr_t fcn) { vFXpuiiiiipuiiiiiiii_t fn = (vFXpuiiiiipuiiiiiiii_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptriv(R_ESP + 36), from_ptri(uint32_t, R_ESP + 40), from_ptri(int32_t, R_ESP + 44), from_ptri(int32_t, R_ESP + 48), from_ptri(int32_t, R_ESP + 52), from_ptri(int32_t, R_ESP + 56), from_ptri(int32_t, R_ESP + 60), from_ptri(int32_t, R_ESP + 64), from_ptri(int32_t, R_ESP + 68), from_ptri(int32_t, R_ESP + 72)); } void uFippuuuuiiiiuuiiiiiiiipp_32(x64emu_t *emu, uintptr_t fcn) { uFippuuuuiiiiuuiiiiiiiipp_t fn = (uFippuuuuiiiiuuiiiiiiiipp_t)fcn; R_EAX = (uint32_t)fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36), from_ptri(int32_t, R_ESP + 40), from_ptri(int32_t, R_ESP + 44), from_ptri(uint32_t, R_ESP + 48), from_ptri(uint32_t, R_ESP + 52), from_ptri(int32_t, R_ESP + 56), from_ptri(int32_t, R_ESP + 60), from_ptri(int32_t, R_ESP + 64), from_ptri(int32_t, R_ESP + 68), from_ptri(int32_t, R_ESP + 72), from_ptri(int32_t, R_ESP + 76), from_ptri(int32_t, R_ESP + 80), from_ptri(int32_t, R_ESP + 84), from_ptriv(R_ESP + 88), from_ptriv(R_ESP + 92)); } diff --git a/src/wrapped32/generated/wrapper32.h b/src/wrapped32/generated/wrapper32.h index 4fb245c9..c8a62455 100644 --- a/src/wrapped32/generated/wrapper32.h +++ b/src/wrapped32/generated/wrapper32.h @@ -2168,6 +2168,7 @@ void vFuiiiiiuiiiiilll_32(x64emu_t *emu, uintptr_t fnc); void vFuuiiiiuuiiiiiii_32(x64emu_t *emu, uintptr_t fnc); void vFfffffffffffffff_32(x64emu_t *emu, uintptr_t fnc); void iFpppppppppppppppp_32(x64emu_t *emu, uintptr_t fnc); +void pFEppnCuuwwWWWWuup_32(x64emu_t *emu, uintptr_t fnc); void vFuuuuiiiiuuiiiiiii_32(x64emu_t *emu, uintptr_t fnc); void vFXpuiiiiipuiiiiiiii_32(x64emu_t *emu, uintptr_t fnc); void uFippuuuuiiiiuuiiiiiiiipp_32(x64emu_t *emu, uintptr_t fnc); diff --git a/src/wrapped32/wrappedlibxcb.c b/src/wrapped32/wrappedlibxcb.c index 47bc12e1..eab07c01 100644 --- a/src/wrapped32/wrappedlibxcb.c +++ b/src/wrapped32/wrappedlibxcb.c @@ -43,6 +43,7 @@ typedef my_xcb_cookie_t (*zFppp_t)(void*, void*, void*); typedef my_xcb_cookie_t (*zFpCWp_t)(void*, uint8_t, uint16_t, void*); typedef my_xcb_cookie_t (*zFpCuuuuu_t)(void*, uint8_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t); typedef my_xcb_cookie_t (*zFpCuuuCup_t)(void*, uint8_t, uint32_t, uint32_t, uint32_t, uint8_t, uint32_t, void*); +typedef my_xcb_cookie_t (*zFpCuuwwWWWWuup_t)(void*, uint8_t, uint32_t, uint32_t, int16_t, int16_t, uint16_t, uint16_t, uint16_t, uint16_t, uint32_t, uint32_t, void*); typedef my_xcb_XXX_iterator_t (*ZFp_t)(void*); #define ADDED_FUNCTIONS() \ @@ -51,6 +52,8 @@ GO(xcb_delete_property, zFppp_t) \ GO(xcb_get_property, zFpCuuuuu_t) \ GO(xcb_intern_atom, zFpCWp_t) \ GO(xcb_setup_roots_iterator, ZFp_t) \ +GO(xcb_create_window, zFpCuuwwWWWWuup_t) \ +GO(xcb_create_window_checked, zFpCuuwwWWWWuup_t)\ #include "generated/wrappedlibxcbtypes32.h" @@ -79,6 +82,8 @@ SUPER(xcb_change_property, (x64emu_t* emu, my_xcb_cookie_t* ret, void* c, uint8_ SUPER(xcb_delete_property, (x64emu_t* emu, my_xcb_cookie_t* ret, void* c, void* w, void* p), c, w, p) SUPER(xcb_get_property, (x64emu_t* emu, my_xcb_cookie_t* ret, void* c, uint8_t _del, uint32_t w, uint32_t p, uint32_t type, uint32_t off, uint32_t len), c, _del, w, p, type, off, len) SUPER(xcb_intern_atom, (x64emu_t* emu, my_xcb_cookie_t* ret, void* c, uint8_t only, uint16_t len, void* name), c, only, len, name) +SUPER(xcb_create_window, (x64emu_t* emu, my_xcb_cookie_t* ret, void* c, uint8_t depth, uint32_t w, uint32_t p, int16_t x, int16_t y, uint16_t width, uint16_t height, uint16_t bw, uint16_t cl, uint32_t vid, uint32_t mask, void* list), c, depth, w, p, x, y, width, height, bw, cl, vid, mask, list) +SUPER(xcb_create_window_checked, (x64emu_t* emu, my_xcb_cookie_t* ret, void* c, uint8_t depth, uint32_t w, uint32_t p, int16_t x, int16_t y, uint16_t width, uint16_t height, uint16_t bw, uint16_t cl, uint32_t vid, uint32_t mask, void* list), c, depth, w, p, x, y, width, height, bw, cl, vid, mask, list) #undef SUPER diff --git a/src/wrapped32/wrappedlibxcb_private.h b/src/wrapped32/wrappedlibxcb_private.h index 121d806f..5c7a1519 100644 --- a/src/wrapped32/wrappedlibxcb_private.h +++ b/src/wrapped32/wrappedlibxcb_private.h @@ -152,10 +152,10 @@ GO(xcb_create_gc_value_list_unpack, iFpup) //GOS(xcb_create_glyph_cursor_checked, pFpnuuuWWWWWWWW) //GOS(xcb_create_pixmap, pFpnCuuWW) //GOS(xcb_create_pixmap_checked, pFpnCuuWW) -//GOS(xcb_create_window, pFpnCuuwwWWWWuup) +GOS(xcb_create_window, zFEpnCuuwwWWWWuup) //%% //GOS(xcb_create_window_aux, pFpnCuuwwWWWWuup) //GOS(xcb_create_window_aux_checked, pFpnCuuwwWWWWuup) -//GOS(xcb_create_window_checked, pFpnCuuwwWWWWuup) +GOS(xcb_create_window_checked, zFEpnCuuwwWWWWuup) //%% GO(xcb_create_window_sizeof, iFp) GO(xcb_create_window_value_list, pFp) GO(xcb_create_window_value_list_serialize, iFbp_up) |