diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2024-10-04 17:37:07 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2024-10-04 17:37:07 +0200 |
| commit | 088720db2270207a8ddd5e57eb92c33550ea737c (patch) | |
| tree | 420d0a8d553dd4864fb02276f47fe600ae07f0db /src | |
| parent | 3d6ecc064fbcc2691b4ac188b5d1a7cd713509c1 (diff) | |
| download | box64-088720db2270207a8ddd5e57eb92c33550ea737c.tar.gz box64-088720db2270207a8ddd5e57eb92c33550ea737c.zip | |
[BOX32][WRAPPER] Added wraped mostly empty 32bits libXext
Diffstat (limited to 'src')
| -rw-r--r-- | src/library_list_32.h | 13 | ||||
| -rw-r--r-- | src/wrapped32/generated/functions_list.txt | 10 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrappedlibxextdefs32.h | 8 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrappedlibxexttypes32.h | 23 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrappedlibxextundefs32.h | 8 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrapper32.c | 6 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrapper32.h | 3 | ||||
| -rw-r--r-- | src/wrapped32/wrappedlibxext.c | 399 | ||||
| -rw-r--r-- | src/wrapped32/wrappedlibxext_private.h | 139 | ||||
| -rw-r--r-- | src/wrapped32/wrappedlibxrandr.c | 3 | ||||
| -rw-r--r-- | src/wrapped32/wrappedlibxxf86vm.c | 4 |
11 files changed, 611 insertions, 5 deletions
diff --git a/src/library_list_32.h b/src/library_list_32.h index 300fac33..f8c1fa2a 100644 --- a/src/library_list_32.h +++ b/src/library_list_32.h @@ -28,14 +28,25 @@ GO("libasound.so.2", libasound) GO("libasound.so", libasound) GO("libfreetype.so.6", freetype) GO("libfontconfig.so.1", fontconfig) +#ifdef ANDROID +GO("libX11.so", libx11) +GO("libXext.so", libxext) +GO("libXfixes.so", libxfixes) +GO("libXrender.so", libxrender) +GO("libXcursor.so", libxcursor) +GO("libXrandr.so", libxrandr) +GO("libxrandr.so", libxrandr) +GO("libXxf86vm.so", libxxf86vm) +#else GO("libX11.so.6", libx11) +GO("libXext.so.6", libxext) GO("libXfixes.so.3", libxfixes) GO("libXrender.so.1", libxrender) GO("libXcursor.so.1", libxcursor) GO("libXrandr.so.2", libxrandr) GO("libxrandr.so.2", libxrandr) GO("libXxf86vm.so.1", libxxf86vm) - +#endif GO("libopenal.so.1", openal) GO("libopenal.so.0", openal) GO("libopenal.so", openal) diff --git a/src/wrapped32/generated/functions_list.txt b/src/wrapped32/generated/functions_list.txt index a4163f7a..81215d3e 100644 --- a/src/wrapped32/generated/functions_list.txt +++ b/src/wrapped32/generated/functions_list.txt @@ -957,6 +957,7 @@ #() iFEpLiipV -> iFEpLiipV #() iFEpLiLpV -> iFEpLiLpV #() iFEpppppp -> iFEpppppp +#() iFEXLpiiL -> iFEXLpiiL #() iFEXLpppp -> iFEXLpppp #() iFuiiiuup -> iFuiiiuup #() iFpWCiWCi -> iFpWCiWCi @@ -1038,6 +1039,7 @@ #() uFuulpiuiuf -> uFuulpiuiuf #() pFEuiiiuuuu -> pFEuiiiuuuu #() pFEXLiiuuLi -> pFEXLiiuuLi +#() pFEXpuippuu -> pFEXpuippuu #() vFEXLpppippp -> vFEXLpppippp #() vFiiiiiiiiii -> vFiiiiiiiiii #() vFiiiiiiiiui -> vFiiiiiiiiui @@ -1088,6 +1090,7 @@ #() vFuuiiiiiiiuup -> vFuuiiiiiiiuup #() vFuuuuuuuuuuuu -> vFuuuuuuuuuuuu #() vFffffffffffff -> vFffffffffffff +#() iFEXLppiiiiuui -> iFEXLppiiiiuui #() pFEXLiiuuLipii -> pFEXLiiuuLipii #() iFXLLlliLBL_pBL_BL_Bp_ -> iFXLLlliLBpBBB #() vFuiiiiiiiiiuup -> vFuiiiiiiiiiuup @@ -1647,6 +1650,13 @@ wrappedlibx11: - LFXLiiuuuiupLp: - XCreateWindow wrappedlibxcursor: +wrappedlibxext: +- iFXLpiiL: + - XShmGetImage +- pFXpuippuu: + - XShmCreateImage +- iFXLppiiiiuui: + - XShmPutImage wrappedlibxfixes: wrappedlibxrandr: - pFXL: diff --git a/src/wrapped32/generated/wrappedlibxextdefs32.h b/src/wrapped32/generated/wrappedlibxextdefs32.h new file mode 100644 index 00000000..459b2b45 --- /dev/null +++ b/src/wrapped32/generated/wrappedlibxextdefs32.h @@ -0,0 +1,8 @@ +/********************************************************************* + * File automatically generated by rebuild_wrappers_32.py (v0.0.2.2) * + *********************************************************************/ +#ifndef __wrappedlibxextDEFS32_H_ +#define __wrappedlibxextDEFS32_H_ + + +#endif // __wrappedlibxextDEFS32_H_ diff --git a/src/wrapped32/generated/wrappedlibxexttypes32.h b/src/wrapped32/generated/wrappedlibxexttypes32.h new file mode 100644 index 00000000..ea95bec0 --- /dev/null +++ b/src/wrapped32/generated/wrappedlibxexttypes32.h @@ -0,0 +1,23 @@ +/********************************************************************* + * File automatically generated by rebuild_wrappers_32.py (v0.0.2.2) * + *********************************************************************/ +#ifndef __wrappedlibxextTYPES32_H_ +#define __wrappedlibxextTYPES32_H_ + +#ifndef LIBNAME +#error You should only #include this file inside a wrapped*.c file +#endif +#ifndef ADDED_FUNCTIONS +#define ADDED_FUNCTIONS() +#endif + +typedef int32_t (*iFXLpiiL_t)(void*, uintptr_t, void*, int32_t, int32_t, uintptr_t); +typedef void* (*pFXpuippuu_t)(void*, void*, uint32_t, int32_t, void*, void*, uint32_t, uint32_t); +typedef int32_t (*iFXLppiiiiuui_t)(void*, uintptr_t, void*, void*, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, int32_t); + +#define SUPER() ADDED_FUNCTIONS() \ + GO(XShmGetImage, iFXLpiiL_t) \ + GO(XShmCreateImage, pFXpuippuu_t) \ + GO(XShmPutImage, iFXLppiiiiuui_t) + +#endif // __wrappedlibxextTYPES32_H_ diff --git a/src/wrapped32/generated/wrappedlibxextundefs32.h b/src/wrapped32/generated/wrappedlibxextundefs32.h new file mode 100644 index 00000000..e7f1599e --- /dev/null +++ b/src/wrapped32/generated/wrappedlibxextundefs32.h @@ -0,0 +1,8 @@ +/********************************************************************* + * File automatically generated by rebuild_wrappers_32.py (v0.0.2.2) * + *********************************************************************/ +#ifndef __wrappedlibxextUNDEFS32_H_ +#define __wrappedlibxextUNDEFS32_H_ + + +#endif // __wrappedlibxextUNDEFS32_H_ diff --git a/src/wrapped32/generated/wrapper32.c b/src/wrapped32/generated/wrapper32.c index 00ec8ca1..baedb79c 100644 --- a/src/wrapped32/generated/wrapper32.c +++ b/src/wrapped32/generated/wrapper32.c @@ -1047,6 +1047,7 @@ typedef void (*vFpddiidd_t)(void*, double, double, int32_t, int32_t, double, dou typedef int32_t (*iFEpLiipV_t)(x64emu_t*, void*, uintptr_t, int32_t, int32_t, void*, void*); typedef int32_t (*iFEpLiLpV_t)(x64emu_t*, void*, uintptr_t, int32_t, uintptr_t, void*, void*); typedef int32_t (*iFEpppppp_t)(x64emu_t*, void*, void*, void*, void*, void*, void*); +typedef int32_t (*iFEXLpiiL_t)(x64emu_t*, void*, uintptr_t, void*, int32_t, int32_t, uintptr_t); typedef int32_t (*iFEXLpppp_t)(x64emu_t*, void*, uintptr_t, void*, void*, void*, void*); typedef int32_t (*iFuiiiuup_t)(uint32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*); typedef int32_t (*iFpWCiWCi_t)(void*, uint16_t, uint8_t, int32_t, uint16_t, uint8_t, int32_t); @@ -1128,6 +1129,7 @@ typedef int32_t (*iFXLLiiuuii_t)(void*, uintptr_t, uintptr_t, int32_t, int32_t, typedef uint32_t (*uFuulpiuiuf_t)(uint32_t, uint32_t, intptr_t, void*, int32_t, uint32_t, int32_t, uint32_t, float); typedef void* (*pFEuiiiuuuu_t)(x64emu_t*, uint32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, uint32_t, uint32_t); typedef void* (*pFEXLiiuuLi_t)(x64emu_t*, void*, uintptr_t, int32_t, int32_t, uint32_t, uint32_t, uintptr_t, int32_t); +typedef void* (*pFEXpuippuu_t)(x64emu_t*, void*, void*, uint32_t, int32_t, void*, void*, uint32_t, uint32_t); typedef void (*vFEXLpppippp_t)(x64emu_t*, void*, uintptr_t, void*, void*, void*, int32_t, void*, void*, void*); typedef void (*vFiiiiiiiiii_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t); typedef void (*vFiiiiiiiiui_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, int32_t); @@ -1178,6 +1180,7 @@ typedef void (*vFuuiiiiiiiuip_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, typedef void (*vFuuiiiiiiiuup_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*); typedef void (*vFuuuuuuuuuuuu_t)(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t); typedef void (*vFffffffffffff_t)(float, float, float, float, float, float, float, float, float, float, float, float); +typedef int32_t (*iFEXLppiiiiuui_t)(x64emu_t*, void*, uintptr_t, void*, void*, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, int32_t); typedef void* (*pFEXLiiuuLipii_t)(x64emu_t*, void*, uintptr_t, int32_t, int32_t, uint32_t, uint32_t, uintptr_t, int32_t, void*, int32_t, int32_t); typedef int32_t (*iFXLLlliLBL_pBL_BL_Bp__t)(void*, uintptr_t, uintptr_t, intptr_t, intptr_t, int32_t, uintptr_t, struct_L_t*, void*, struct_L_t*, struct_L_t*, struct_p_t*); typedef void (*vFuiiiiiiiiiuup_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*); @@ -2169,6 +2172,7 @@ void vFpddiidd_32(x64emu_t *emu, uintptr_t fcn) { vFpddiidd_t fn = (vFpddiidd_t) void iFEpLiipV_32(x64emu_t *emu, uintptr_t fcn) { iFEpLiipV_t fn = (iFEpLiipV_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptriv(R_ESP + 20), from_ptrv(R_ESP + 24)); } void iFEpLiLpV_32(x64emu_t *emu, uintptr_t fcn) { iFEpLiLpV_t fn = (iFEpLiLpV_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), from_ulong(from_ptri(ulong_t, R_ESP + 16)), from_ptriv(R_ESP + 20), from_ptrv(R_ESP + 24)); } void iFEpppppp_32(x64emu_t *emu, uintptr_t fcn) { iFEpppppp_t fn = (iFEpppppp_t)fcn; R_EAX = fn(emu, 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)); } +void iFEXLpiiL_32(x64emu_t *emu, uintptr_t fcn) { iFEXLpiiL_t fn = (iFEXLpiiL_t)fcn; R_EAX = fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ulong(from_ptri(ulong_t, R_ESP + 24))); } void iFEXLpppp_32(x64emu_t *emu, uintptr_t fcn) { iFEXLpppp_t fn = (iFEXLpppp_t)fcn; R_EAX = fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24)); } void iFuiiiuup_32(x64emu_t *emu, uintptr_t fcn) { iFuiiiuup_t fn = (iFuiiiuup_t)fcn; R_EAX = fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptriv(R_ESP + 28)); } void iFpWCiWCi_32(x64emu_t *emu, uintptr_t fcn) { iFpWCiWCi_t fn = (iFpWCiWCi_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(uint16_t, R_ESP + 8), from_ptri(uint8_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(uint16_t, R_ESP + 20), from_ptri(uint8_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28)); } @@ -2250,6 +2254,7 @@ void iFXLLiiuuii_32(x64emu_t *emu, uintptr_t fcn) { iFXLLiiuuii_t fn = (iFXLLiiu void uFuulpiuiuf_32(x64emu_t *emu, uintptr_t fcn) { uFuulpiuiuf_t fn = (uFuulpiuiuf_t)fcn; R_EAX = (uint32_t)fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_long(from_ptri(long_t, R_ESP + 12)), from_ptriv(R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32), from_ptri(float, R_ESP + 36)); } void pFEuiiiuuuu_32(x64emu_t *emu, uintptr_t fcn) { pFEuiiiuuuu_t fn = (pFEuiiiuuuu_t)fcn; R_EAX = to_ptrv(fn(emu, from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_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(uint32_t, R_ESP + 32))); } void pFEXLiiuuLi_32(x64emu_t *emu, uintptr_t fcn) { pFEXLiiuuLi_t fn = (pFEXLiiuuLi_t)fcn; R_EAX = to_ptrv(fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ulong(from_ptri(ulong_t, R_ESP + 28)), from_ptri(int32_t, R_ESP + 32))); } +void pFEXpuippuu_32(x64emu_t *emu, uintptr_t fcn) { pFEXpuippuu_t fn = (pFEXpuippuu_t)fcn; R_EAX = to_ptrv(fn(emu, 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_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32))); } void vFEXLpppippp_32(x64emu_t *emu, uintptr_t fcn) { vFEXLpppippp_t fn = (vFEXLpppippp_t)fcn; fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptriv(R_ESP + 28), from_ptriv(R_ESP + 32), from_ptriv(R_ESP + 36)); } void vFiiiiiiiiii_32(x64emu_t *emu, uintptr_t fcn) { vFiiiiiiiiii_t fn = (vFiiiiiiiiii_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_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(int32_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)); } void vFiiiiiiiiui_32(x64emu_t *emu, uintptr_t fcn) { vFiiiiiiiiui_t fn = (vFiiiiiiiiui_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_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(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(uint32_t, R_ESP + 36), from_ptri(int32_t, R_ESP + 40)); } @@ -2300,6 +2305,7 @@ void vFuuiiiiiiiuip_32(x64emu_t *emu, uintptr_t fcn) { vFuuiiiiiiiuip_t fn = (vF void vFuuiiiiiiiuup_32(x64emu_t *emu, uintptr_t fcn) { vFuuiiiiiiiuup_t fn = (vFuuiiiiiiiuup_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(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36), from_ptri(uint32_t, R_ESP + 40), from_ptri(uint32_t, R_ESP + 44), from_ptriv(R_ESP + 48)); } void vFuuuuuuuuuuuu_32(x64emu_t *emu, uintptr_t fcn) { vFuuuuuuuuuuuu_t fn = (vFuuuuuuuuuuuu_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(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32), from_ptri(uint32_t, R_ESP + 36), from_ptri(uint32_t, R_ESP + 40), from_ptri(uint32_t, R_ESP + 44), from_ptri(uint32_t, R_ESP + 48)); } void vFffffffffffff_32(x64emu_t *emu, uintptr_t fcn) { vFffffffffffff_t fn = (vFffffffffffff_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)); } +void iFEXLppiiiiuui_32(x64emu_t *emu, uintptr_t fcn) { iFEXLppiiiiuui_t fn = (iFEXLppiiiiuui_t)fcn; R_EAX = fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptriv(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)); } void pFEXLiiuuLipii_32(x64emu_t *emu, uintptr_t fcn) { pFEXLiiuuLipii_t fn = (pFEXLiiuuLipii_t)fcn; R_EAX = to_ptrv(fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ulong(from_ptri(ulong_t, R_ESP + 28)), from_ptri(int32_t, R_ESP + 32), from_ptriv(R_ESP + 36), from_ptri(int32_t, R_ESP + 40), from_ptri(int32_t, R_ESP + 44))); } void iFXLLlliLBL_pBL_BL_Bp__32(x64emu_t *emu, uintptr_t fcn) { iFXLLlliLBL_pBL_BL_Bp__t fn = (iFXLLlliLBL_pBL_BL_Bp__t)fcn; struct_L_t arg_32={0}; struct_L_t arg_40={0}; struct_L_t arg_44={0}; struct_p_t arg_48={0}; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_long(from_ptri(long_t, R_ESP + 16)), from_long(from_ptri(long_t, R_ESP + 20)), from_ptri(int32_t, R_ESP + 24), from_ulong(from_ptri(ulong_t, R_ESP + 28)), *(ptr_t*)(from_ptr((R_ESP + 32))) ? &arg_32 : NULL, from_ptriv(R_ESP + 36), *(ptr_t*)(from_ptr((R_ESP + 40))) ? &arg_40 : NULL, *(ptr_t*)(from_ptr((R_ESP + 44))) ? &arg_44 : NULL, *(ptr_t*)(from_ptr((R_ESP + 48))) ? &arg_48 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 32)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 32))), &arg_32); if (*(ptr_t*)(from_ptr((R_ESP + 40)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 40))), &arg_40); if (*(ptr_t*)(from_ptr((R_ESP + 44)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 44))), &arg_44); if (*(ptr_t*)(from_ptr((R_ESP + 48)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 48))), &arg_48); } void vFuiiiiiiiiiuup_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiiiiiuup_t fn = (vFuiiiiiiiiiuup_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_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(int32_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(uint32_t, R_ESP + 44), from_ptri(uint32_t, R_ESP + 48), from_ptriv(R_ESP + 52)); } diff --git a/src/wrapped32/generated/wrapper32.h b/src/wrapped32/generated/wrapper32.h index db428ed4..b1ba2016 100644 --- a/src/wrapped32/generated/wrapper32.h +++ b/src/wrapped32/generated/wrapper32.h @@ -998,6 +998,7 @@ void vFpddiidd_32(x64emu_t *emu, uintptr_t fnc); void iFEpLiipV_32(x64emu_t *emu, uintptr_t fnc); void iFEpLiLpV_32(x64emu_t *emu, uintptr_t fnc); void iFEpppppp_32(x64emu_t *emu, uintptr_t fnc); +void iFEXLpiiL_32(x64emu_t *emu, uintptr_t fnc); void iFEXLpppp_32(x64emu_t *emu, uintptr_t fnc); void iFuiiiuup_32(x64emu_t *emu, uintptr_t fnc); void iFpWCiWCi_32(x64emu_t *emu, uintptr_t fnc); @@ -1079,6 +1080,7 @@ void iFXLLiiuuii_32(x64emu_t *emu, uintptr_t fnc); void uFuulpiuiuf_32(x64emu_t *emu, uintptr_t fnc); void pFEuiiiuuuu_32(x64emu_t *emu, uintptr_t fnc); void pFEXLiiuuLi_32(x64emu_t *emu, uintptr_t fnc); +void pFEXpuippuu_32(x64emu_t *emu, uintptr_t fnc); void vFEXLpppippp_32(x64emu_t *emu, uintptr_t fnc); void vFiiiiiiiiii_32(x64emu_t *emu, uintptr_t fnc); void vFiiiiiiiiui_32(x64emu_t *emu, uintptr_t fnc); @@ -1129,6 +1131,7 @@ void vFuuiiiiiiiuip_32(x64emu_t *emu, uintptr_t fnc); void vFuuiiiiiiiuup_32(x64emu_t *emu, uintptr_t fnc); void vFuuuuuuuuuuuu_32(x64emu_t *emu, uintptr_t fnc); void vFffffffffffff_32(x64emu_t *emu, uintptr_t fnc); +void iFEXLppiiiiuui_32(x64emu_t *emu, uintptr_t fnc); void pFEXLiiuuLipii_32(x64emu_t *emu, uintptr_t fnc); void iFXLLlliLBL_pBL_BL_Bp__32(x64emu_t *emu, uintptr_t fnc); void vFuiiiiiiiiiuup_32(x64emu_t *emu, uintptr_t fnc); diff --git a/src/wrapped32/wrappedlibxext.c b/src/wrapped32/wrappedlibxext.c new file mode 100644 index 00000000..aadac165 --- /dev/null +++ b/src/wrapped32/wrappedlibxext.c @@ -0,0 +1,399 @@ +#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 "wrapper32.h" +#include "bridge.h" +#include "librarian/library_private.h" +#include "x64emu.h" +#include "emu/x64emu_private.h" +#include "callback.h" +#include "librarian.h" +#include "box32context.h" +#include "emu/x64emu_private.h" + +#ifdef ANDROID + static const char* libxextName = "libXext.so"; +#else + static const char* libxextName = "libXext.so.6"; +#endif + +#define LIBNAME libxext + +typedef struct _XImage XImage; +void BridgeImageFunc(x64emu_t *emu, XImage *img); +void UnbridgeImageFunc(x64emu_t *emu, XImage *img); +typedef int (*XextErrorHandler)(void *, void *, void*); + +typedef struct my32_XExtensionHooks { + int (*create_gc)(void*, uint32_t, void*); + int (*copy_gc)(void*, uint32_t, void*); + int (*flush_gc)(void*, uint32_t, void*); + int (*free_gc)(void*, uint32_t, void*); + int (*create_font)(void*, void*, void*); + int (*free_font)(void*, void*, void*); + int (*close_display)(void*, void*); + int (*wire_to_event)(void*, void*, void*); + int (*event_to_wire)(void*, void*, void*); + int (*error)(void*, void*, void*, int*); + char *(*error_string)(void*, int, void*, void*, int); +} my32_XExtensionHooks; + + +#include "generated/wrappedlibxexttypes32.h" + +#include "wrappercallback32.h" + +#define SUPER() \ +GO(0) \ +GO(1) \ +GO(2) \ +GO(3) \ +GO(4) + +// exterrorhandle ... +#define GO(A) \ +static uintptr_t my_exterrorhandle_fct_##A = 0; \ +static int my_exterrorhandle_##A(void* display, void* ext_name, void* reason) \ +{ \ + return RunFunctionFmt(my_exterrorhandle_fct_##A, "ppp", display, ext_name, reason); \ +} +SUPER() +#undef GO +static void* find_exterrorhandle_Fct(void* fct) +{ + if(!fct) return fct; + if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct); + #define GO(A) if(my_exterrorhandle_fct_##A == (uintptr_t)fct) return my_exterrorhandle_##A; + SUPER() + #undef GO + #define GO(A) if(my_exterrorhandle_fct_##A == 0) {my_exterrorhandle_fct_##A = (uintptr_t)fct; return my_exterrorhandle_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for libXext exterrorhandle callback\n"); + return NULL; +} +static void* reverse_exterrorhandleFct(void* fct) +{ + if(!fct) return fct; + if(CheckBridged(my_lib->w.bridge, fct)) + return (void*)CheckBridged(my_lib->w.bridge, fct); + #define GO(A) if(my_exterrorhandle_##A == fct) return (void*)my_exterrorhandle_fct_##A; + SUPER() + #undef GO + return (void*)AddBridge(my_lib->w.bridge, iFppp_32, fct, 0, NULL); +} +// create_gc ... +#define GO(A) \ +static uintptr_t my_create_gc_fct_##A = 0; \ +static int my_create_gc_##A(void* a, uint32_t b, void* c) \ +{ \ + return RunFunctionFmt(my_create_gc_fct_##A, "pup", a, b, c); \ +} +SUPER() +#undef GO +static void* find_create_gc_Fct(void* fct) +{ + if(!fct) return fct; + if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct); + #define GO(A) if(my_create_gc_fct_##A == (uintptr_t)fct) return my_create_gc_##A; + SUPER() + #undef GO + #define GO(A) if(my_create_gc_fct_##A == 0) {my_create_gc_fct_##A = (uintptr_t)fct; return my_create_gc_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for libXext create_gc callback\n"); + return NULL; +} +// copy_gc ... +#define GO(A) \ +static uintptr_t my_copy_gc_fct_##A = 0; \ +static int my_copy_gc_##A(void* a, uint32_t b, void* c) \ +{ \ + return RunFunctionFmt(my_copy_gc_fct_##A, "pup", a, b, c); \ +} +SUPER() +#undef GO +static void* find_copy_gc_Fct(void* fct) +{ + if(!fct) return fct; + if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct); + #define GO(A) if(my_copy_gc_fct_##A == (uintptr_t)fct) return my_copy_gc_##A; + SUPER() + #undef GO + #define GO(A) if(my_copy_gc_fct_##A == 0) {my_copy_gc_fct_##A = (uintptr_t)fct; return my_copy_gc_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for libXext copy_gc callback\n"); + return NULL; +} +// flush_gc ... +#define GO(A) \ +static uintptr_t my_flush_gc_fct_##A = 0; \ +static int my_flush_gc_##A(void* a, uint32_t b, void* c) \ +{ \ + return RunFunctionFmt(my_flush_gc_fct_##A, "pup", a, b, c); \ +} +SUPER() +#undef GO +static void* find_flush_gc_Fct(void* fct) +{ + if(!fct) return fct; + if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct); + #define GO(A) if(my_flush_gc_fct_##A == (uintptr_t)fct) return my_flush_gc_##A; + SUPER() + #undef GO + #define GO(A) if(my_flush_gc_fct_##A == 0) {my_flush_gc_fct_##A = (uintptr_t)fct; return my_flush_gc_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for libXext flush_gc callback\n"); + return NULL; +} +// free_gc ... +#define GO(A) \ +static uintptr_t my_free_gc_fct_##A = 0; \ +static int my_free_gc_##A(void* a, uint32_t b, void* c) \ +{ \ + return RunFunctionFmt(my_free_gc_fct_##A, "pup", a, b, c); \ +} +SUPER() +#undef GO +static void* find_free_gc_Fct(void* fct) +{ + if(!fct) return fct; + if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct); + #define GO(A) if(my_free_gc_fct_##A == (uintptr_t)fct) return my_free_gc_##A; + SUPER() + #undef GO + #define GO(A) if(my_free_gc_fct_##A == 0) {my_free_gc_fct_##A = (uintptr_t)fct; return my_free_gc_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for libXext free_gc callback\n"); + return NULL; +} +// create_font ... +#define GO(A) \ +static uintptr_t my_create_font_fct_##A = 0; \ +static int my_create_font_##A(void* a, void* b, void* c) \ +{ \ + return RunFunctionFmt(my_create_font_fct_##A, "ppp", a, b, c); \ +} +SUPER() +#undef GO +static void* find_create_font_Fct(void* fct) +{ + if(!fct) return fct; + if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct); + #define GO(A) if(my_create_font_fct_##A == (uintptr_t)fct) return my_create_font_##A; + SUPER() + #undef GO + #define GO(A) if(my_create_font_fct_##A == 0) {my_create_font_fct_##A = (uintptr_t)fct; return my_create_font_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for libXext create_font callback\n"); + return NULL; +} +// free_font ... +#define GO(A) \ +static uintptr_t my_free_font_fct_##A = 0; \ +static int my_free_font_##A(void* a, void* b, void* c) \ +{ \ + return RunFunctionFmt(my_free_font_fct_##A, "ppp", a, b, c); \ +} +SUPER() +#undef GO +static void* find_free_font_Fct(void* fct) +{ + if(!fct) return fct; + if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct); + #define GO(A) if(my_free_font_fct_##A == (uintptr_t)fct) return my_free_font_##A; + SUPER() + #undef GO + #define GO(A) if(my_free_font_fct_##A == 0) {my_free_font_fct_##A = (uintptr_t)fct; return my_free_font_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for libXext free_font callback\n"); + return NULL; +} +// close_display ... +#define GO(A) \ +static uintptr_t my_close_display_fct_##A = 0; \ +static int my_close_display_##A(void* a, void* b) \ +{ \ + return RunFunctionFmt(my_close_display_fct_##A, "pp", a, b);\ +} +SUPER() +#undef GO +static void* find_close_display_Fct(void* fct) +{ + if(!fct) return fct; + if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct); + #define GO(A) if(my_close_display_fct_##A == (uintptr_t)fct) return my_close_display_##A; + SUPER() + #undef GO + #define GO(A) if(my_close_display_fct_##A == 0) {my_close_display_fct_##A = (uintptr_t)fct; return my_close_display_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for libXext close_display callback\n"); + return NULL; +} +// wire_to_event ... +#define GO(A) \ +static uintptr_t my_wire_to_event_fct_##A = 0; \ +static int my_wire_to_event_##A(void* a, void* b, void* c) \ +{ \ + return RunFunctionFmt(my_wire_to_event_fct_##A, "ppp", a, b, c); \ +} +SUPER() +#undef GO +static void* find_wire_to_event_Fct(void* fct) +{ + if(!fct) return fct; + if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct); + #define GO(A) if(my_wire_to_event_fct_##A == (uintptr_t)fct) return my_wire_to_event_##A; + SUPER() + #undef GO + #define GO(A) if(my_wire_to_event_fct_##A == 0) {my_wire_to_event_fct_##A = (uintptr_t)fct; return my_wire_to_event_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for libXext wire_to_event callback\n"); + return NULL; +} +// event_to_wire ... +#define GO(A) \ +static uintptr_t my_event_to_wire_fct_##A = 0; \ +static int my_event_to_wire_##A(void* a, void* b, void* c) \ +{ \ + return RunFunctionFmt(my_event_to_wire_fct_##A, "ppp", a, b, c); \ +} +SUPER() +#undef GO +static void* find_event_to_wire_Fct(void* fct) +{ + if(!fct) return fct; + if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct); + #define GO(A) if(my_event_to_wire_fct_##A == (uintptr_t)fct) return my_event_to_wire_##A; + SUPER() + #undef GO + #define GO(A) if(my_event_to_wire_fct_##A == 0) {my_event_to_wire_fct_##A = (uintptr_t)fct; return my_event_to_wire_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for libXext event_to_wire callback\n"); + return NULL; +} +// error ... +#define GO(A) \ +static uintptr_t my_error_fct_##A = 0; \ +static int my_error_##A(void* a, void* b, void* c, int* d) \ +{ \ + return RunFunctionFmt(my_error_fct_##A, "pppp", a, b, c, d); \ +} +SUPER() +#undef GO +static void* find_error_Fct(void* fct) +{ + if(!fct) return fct; + if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct); + #define GO(A) if(my_error_fct_##A == (uintptr_t)fct) return my_error_##A; + SUPER() + #undef GO + #define GO(A) if(my_error_fct_##A == 0) {my_error_fct_##A = (uintptr_t)fct; return my_error_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for libXext error callback\n"); + return NULL; +} +// error_string ... +#define GO(A) \ +static uintptr_t my_error_string_fct_##A = 0; \ +static int my_error_string_##A(void* a, int b, void* c, void* d, int e) \ +{ \ + return RunFunctionFmt(my_error_string_fct_##A, "pippi", a, b, c, d, e); \ +} +SUPER() +#undef GO +static void* find_error_string_Fct(void* fct) +{ + if(!fct) return fct; + if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct); + #define GO(A) if(my_error_string_fct_##A == (uintptr_t)fct) return my_error_string_##A; + SUPER() + #undef GO + #define GO(A) if(my_error_string_fct_##A == 0) {my_error_string_fct_##A = (uintptr_t)fct; return my_error_string_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for libXext error_string callback\n"); + return NULL; +} + +#undef SUPER + +EXPORT void* my32_XShmCreateImage(x64emu_t* emu, void* disp, void* vis, uint32_t depth, int32_t fmt + , void* data, void* shminfo, uint32_t w, uint32_t h) +{ + XImage *img = my->XShmCreateImage(disp, vis, depth, fmt, data, shminfo, w, h); + if(!img) + return img; + // bridge all access functions... + BridgeImageFunc(emu, img); + return img; +} + +EXPORT int32_t my32_XShmPutImage(x64emu_t* emu, void* disp, size_t drawable, void* gc, void* image + , int32_t src_x, int32_t src_y, int32_t dst_x, int32_t dst_y + , uint32_t w, uint32_t h, int32_t sendevt) +{ + UnbridgeImageFunc(emu, (XImage*)image); + int32_t r = my->XShmPutImage(disp, drawable, gc, image, src_x, src_y, dst_x, dst_y, w, h, sendevt); + // bridge all access functions... + BridgeImageFunc(emu, (XImage*)image); + return r; +} + +EXPORT int32_t my32_XShmGetImage(x64emu_t* emu, void* disp, size_t drawable, void* image, int32_t x, int32_t y, size_t plane) +{ + UnbridgeImageFunc(emu, (XImage*)image); + int32_t r = my->XShmGetImage(disp, drawable, image, x, y, plane); + // bridge all access functions... + BridgeImageFunc(emu, (XImage*)image); + return r; +} + +//EXPORT void* my32_XSetExtensionErrorHandler(x64emu_t* emu, void* handler) +//{ +// (void)emu; +// return reverse_exterrorhandleFct(my->XSetExtensionErrorHandler(find_exterrorhandle_Fct(handler))); +//} + +//EXPORT void* my32_XextAddDisplay(x64emu_t* emu, void* extinfo, void* dpy, void* extname, my32_XExtensionHooks* hooks, int nevents, void* data) +//{ +// my32_XExtensionHooks natives = {0}; +// #define GO(A) natives.A = find_##A##_Fct(hooks->A); +// GO(create_gc) +// GO(copy_gc) +// GO(flush_gc) +// GO(free_gc) +// GO(create_font) +// GO(free_font) +// GO(close_display) +// GO(wire_to_event) +// GO(event_to_wire) +// GO(error) +// GO(error_string) +// #undef GO +// void *ret = my->XextAddDisplay(extinfo, dpy, extname, &natives, nevents, data); +// return ret; +//} +#if 0 +#ifdef ANDROID +#define NEEDED_LIBS "libX11.so", "libxcb.so", "libXau.so", "libdl.so", "libXdmcp.so" +#else +#define NEEDED_LIBS "libX11.so.6", "libxcb.so.1", "libXau.so.6", "libdl.so.2", "libXdmcp.so.6" +#endif +#endif +#include "wrappedlib_init32.h" diff --git a/src/wrapped32/wrappedlibxext_private.h b/src/wrapped32/wrappedlibxext_private.h new file mode 100644 index 00000000..3b5c50ea --- /dev/null +++ b/src/wrapped32/wrappedlibxext_private.h @@ -0,0 +1,139 @@ +#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA)) +#error Meh... +#endif + +//GO(DPMSCapable, iFp) +//GO(DPMSDisable, iFp) +//GO(DPMSEnable, iFp) +//GO(DPMSForceLevel, iFpW) +//GO(DPMSGetTimeouts, iFpppp) +//GO(DPMSGetVersion, iFppp) +//GO(DPMSInfo, iFppp) +//GO(DPMSQueryExtension, iFppp) +//GO(DPMSSetTimeouts, iFpWWW) +//GO(XagCreateAssociation, iFppp) +//GO(XagCreateEmbeddedApplicationGroup, iFpLLLLp) +//GO(XagCreateNonembeddedApplicationGroup, iFpp) +//GO(XagDestroyApplicationGroup, iFpL) +//GO(XagDestroyAssociation, iFpL) +//GOM(XagGetApplicationGroupAttributes, iFEpLV) +//GO(XagQueryApplicationGroup, iFpLp) +//GO(XagQueryVersion, iFppp) +//GO(XcupGetReservedColormapEntries, iFpipp) +//GO(XcupQueryVersion, iFppp) +//GO(XcupStoreColors, iFpLpi) +//GO(XdbeAllocateBackBufferName, LFpLC) +//GO(XdbeBeginIdiom, iFp) +//GO(XdbeDeallocateBackBufferName, iFpL) +//GO(XdbeEndIdiom, iFp) +//GO(XdbeFreeVisualInfo, vFp) +//GO(XdbeGetBackBufferAttributes, pFpL) +//GO(XdbeGetVisualInfo, pFppp) +//GO(XdbeQueryExtension, iFppp) +//GO(XdbeSwapBuffers, iFppi) +//GO(XeviGetVisualInfo, iFppipp) +//GO(XeviQueryExtension, iFp) +//GO(XeviQueryVersion, iFppp) +//GOM(XextAddDisplay, pFEppppip) +//GO(XextCreateExtension, pFv) +//GO(XextDestroyExtension, vFp) +//DATAB(_XExtensionErrorFunction, 4) +//GO(XextFindDisplay, pFpp) +//GO(XextRemoveDisplay, iFpp) +//GO(XGEQueryExtension, iFppp) +//GO(XGEQueryVersion, iFppp) +//GO(XLbxGetEventBase, iFp) +//GO(XLbxQueryExtension, iFpppp) +//GO(XLbxQueryVersion, iFppp) +//GO(XmbufChangeBufferAttributes, vFpLLp) +//GO(XmbufChangeWindowAttributes, vFpLLp) +//GO(XmbufClearBufferArea, vFpLiiuui) +//GO(XmbufCreateBuffers, iFpLiiip) +//GOM(XmbufCreateStereoWindow, LFEpLiiuuuiupLppp) +//GO(XmbufDestroyBuffers, vFpL) +//GO(XmbufDisplayBuffers, vFpipii) +//GO(XmbufGetBufferAttributes, iFpLp) +//GO(XmbufGetScreenInfo, iFpLpppp) +//GO(XmbufGetVersion, iFppp) +//GO(XmbufGetWindowAttributes, iFpLp) +//GO(XmbufQueryExtension, iFppp) +//GO(XMissingExtension, iFpp) +//GO(XMITMiscGetBugMode, iFp) +//GO(XMITMiscQueryExtension, iFppp) +//GO(XMITMiscSetBugMode, iFpi) +//GO(XSecurityAllocXauth, pFv) +//GO(XSecurityFreeXauth, vFp) +//GO(XSecurityGenerateAuthorization, pFppLpp) +//GO(XSecurityQueryExtension, iFppp) +//GO(XSecurityRevokeAuthorization, iFpL) +//GOM(XSetExtensionErrorHandler, pFEp) +//GO(XShapeCombineMask, vFpLiiiLi) +//GO(XShapeCombineRectangles, vFpLiiipiii) +//GO(XShapeCombineRegion, vFpLiiipi) +//GO(XShapeCombineShape, vFpLiiiLii) +//GO(XShapeGetRectangles, pFpLipp) +//GO(XShapeInputSelected, LFpL) +//GO(XShapeOffsetShape, vFpLiii) +//GO(XShapeQueryExtension, iFppp) +//GO(XShapeQueryExtents, iFpLpppppppppp) +//GO(XShapeQueryVersion, iFppp) +//GO(XShapeSelectInput, vFpLL) +//GO(XShmAttach, iFpp) +GOM(XShmCreateImage, pFEXpuippuu) //need brige/unbridge... +//GO(XShmCreatePixmap, LFpLppuuu) +//GO(XShmDetach, iFpp) +//GO(XShmGetEventBase, iFp) +GOM(XShmGetImage, iFEXLpiiL) //need brige/unbridge... +//GO(XShmPixmapFormat, iFp) +GOM(XShmPutImage, iFEXLppiiiiuui) //need brige/unbridge... +//GO(XShmQueryExtension, iFp) +//GO(XShmQueryVersion, iFpppp) +//GO(XSyncAwait, iFppi) +//GO(XSyncAwaitFence, iFppi) +//GO(XSyncChangeAlarm, iFpLLp) +//GO(XSyncChangeCounter, iFpuU) +//GO(XSyncCreateAlarm, LFpLp) // XSyncAlarm is an XID +//GO(XSyncCreateCounter, uFpU) // XSyncValue is a struct of 2 int +//GO(XSyncCreateFence, LFpLi) +//GO(XSyncDestroyAlarm, iFpL) +//GO(XSyncDestroyCounter, iFpL) +//GO(XSyncDestroyFence, iFpL) +//GO(XSyncFreeSystemCounterList, vFp) +//GO(XSyncGetPriority, iFpLp) +//GO(XSyncInitialize, iFppp) +//GO(XSyncIntsToValue, vFpui) +//GO(XSyncIntToValue, vFpi) +//GO(XSyncListSystemCounters, pFpp) +//GO(XSyncMaxValue, vFp) +//GO(XSyncMinValue, vFp) +//GO(XSyncQueryAlarm, iFpLp) +//GO(XSyncQueryCounter, iFpLp) +//GO(XSyncQueryExtension, iFppp) +//GO(XSyncQueryFence, iFpLp) +//GO(XSyncResetFence, iFpL) +//GO(XSyncSetCounter, iFpuU) // XSyncCounter is an XID +//GO(XSyncSetPriority, iFpLi) +//GO(XSyncTriggerFence, iFpL) +//GO(XSyncValueAdd, +//GO(XSyncValueEqual, +//GO(XSyncValueGreaterOrEqual, +//GO(XSyncValueGreaterThan, +//GO(XSyncValueHigh32, +//GO(XSyncValueIsNegative, +//GO(XSyncValueIsPositive, +//GO(XSyncValueIsZero, iFp) +//GO(XSyncValueLessOrEqual, +//GO(XSyncValueLessThan, +//GO(XSyncValueLow32, +//GO(XSyncValueSubtract, +//DATA(XTestFakeAckType, 4) +//GO(XTestFakeInput, iFppii) +//GO(XTestFlush, iFp) +//GO(XTestGetInput, iFpi) +//DATAB(XTestInputActionType, 4) +//GO(XTestMovePointer, iFpipppu) +//GO(XTestPressButton, iFpiLuu) +//GO(XTestPressKey, iFpiLuu) +//GO(XTestQueryInputSize, iFpp) +//GO(XTestReset, iFp) +//GO(XTestStopInput, iFp) diff --git a/src/wrapped32/wrappedlibxrandr.c b/src/wrapped32/wrappedlibxrandr.c index 5220524f..5b6108a9 100644 --- a/src/wrapped32/wrappedlibxrandr.c +++ b/src/wrapped32/wrappedlibxrandr.c @@ -239,11 +239,10 @@ EXPORT void* my32_XRRGetOutputInfo(x64emu_t* emu, void* dpy, void* res, XID wind return ret; } -#if 0 #ifdef ANDROID #define NEEDED_LIBS "libX11.so", "libXext.so", "libXrender.so" #else #define NEEDED_LIBS "libX11.so.6", "libXext.so.6", "libXrender.so.1" #endif -#endif + #include "wrappedlib_init32.h" diff --git a/src/wrapped32/wrappedlibxxf86vm.c b/src/wrapped32/wrappedlibxxf86vm.c index d204399b..bb5d1d87 100644 --- a/src/wrapped32/wrappedlibxxf86vm.c +++ b/src/wrapped32/wrappedlibxxf86vm.c @@ -24,11 +24,11 @@ #endif #define LIBNAME libxxf86vm -#if 0 + #ifdef ANDROID #define NEEDED_LIBS "libX11.so", "libXext.so" #else #define NEEDED_LIBS "libX11.so.6", "libXext.so.6" #endif -#endif + #include "wrappedlib_init32.h" |