mirror of
https://github.com/ptitSeb/box64.git
synced 2025-02-18 13:29:44 +00:00
[BOX32][WRAPPER] Added wraped mostly empty 32bits libXext
This commit is contained in:
parent
3d6ecc064f
commit
088720db22
@ -794,6 +794,7 @@ if(BOX32)
|
||||
"${BOX64_ROOT}/src/wrapped32/wrappedfreetype.c"
|
||||
"${BOX64_ROOT}/src/wrapped32/wrappedfontconfig.c"
|
||||
"${BOX64_ROOT}/src/wrapped32/wrappedlibx11.c"
|
||||
"${BOX64_ROOT}/src/wrapped32/wrappedlibxext.c"
|
||||
"${BOX64_ROOT}/src/wrapped32/wrappedlibxfixes.c"
|
||||
"${BOX64_ROOT}/src/wrapped32/wrappedlibxrender.c"
|
||||
"${BOX64_ROOT}/src/wrapped32/wrappedlibxcursor.c"
|
||||
|
@ -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)
|
||||
|
@ -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:
|
||||
|
8
src/wrapped32/generated/wrappedlibxextdefs32.h
Normal file
8
src/wrapped32/generated/wrappedlibxextdefs32.h
Normal file
@ -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_
|
23
src/wrapped32/generated/wrappedlibxexttypes32.h
Normal file
23
src/wrapped32/generated/wrappedlibxexttypes32.h
Normal file
@ -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_
|
8
src/wrapped32/generated/wrappedlibxextundefs32.h
Normal file
8
src/wrapped32/generated/wrappedlibxextundefs32.h
Normal file
@ -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_
|
@ -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)); }
|
||||
|
@ -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);
|
||||
|
399
src/wrapped32/wrappedlibxext.c
Normal file
399
src/wrapped32/wrappedlibxext.c
Normal file
@ -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"
|
139
src/wrapped32/wrappedlibxext_private.h
Normal file
139
src/wrapped32/wrappedlibxext_private.h
Normal file
@ -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)
|
@ -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"
|
||||
|
@ -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"
|
||||
|
Loading…
x
Reference in New Issue
Block a user