diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2021-03-08 11:24:03 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2021-03-08 11:24:03 +0100 |
| commit | 9d0e59b31c4404b26976e70e4ecf81ad19f7838d (patch) | |
| tree | 6062093e4753adc2d8c2c15c53bb00abe6318c2d /src | |
| parent | 1771694ee192253579f5c2d91cc8e19f96669ac5 (diff) | |
| download | box64-9d0e59b31c4404b26976e70e4ecf81ad19f7838d.tar.gz box64-9d0e59b31c4404b26976e70e4ecf81ad19f7838d.zip | |
Added wrapped libX11
Diffstat (limited to 'src')
| -rwxr-xr-x | src/library_list.h | 2 | ||||
| -rw-r--r-- | src/wrapped/generated/functions_list.txt | 100 | ||||
| -rw-r--r-- | src/wrapped/generated/wrapper.c | 200 | ||||
| -rw-r--r-- | src/wrapped/generated/wrapper.h | 100 | ||||
| -rwxr-xr-x | src/wrapped/wrappedlibx11.c | 821 | ||||
| -rwxr-xr-x | src/wrapped/wrappedlibx11_private.h | 1093 |
6 files changed, 2315 insertions, 1 deletions
diff --git a/src/library_list.h b/src/library_list.h index 021d83ad..e78fc57f 100755 --- a/src/library_list.h +++ b/src/library_list.h @@ -8,7 +8,7 @@ GO("librt.so.1", librt) GO("libGL.so.1", libgl) GO("libGL.so", libgl) GO("libGLU.so.1", libglu) -//GO("libX11.so.6", libx11) +GO("libX11.so.6", libx11) //GO("libasound.so.2", libasound) GO("libdl.so.2", libdl) GO("libm.so.6", libm) diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt index b9230bbe..4a49811e 100644 --- a/src/wrapped/generated/functions_list.txt +++ b/src/wrapped/generated/functions_list.txt @@ -61,6 +61,7 @@ #() vFfp #() vFdd #() vFpi +#() vFpL #() vFpp #() cFpp #() iFEp @@ -77,6 +78,8 @@ #() iFpC #() iFpu #() iFpf +#() iFpl +#() iFpL #() iFpp #() IFEp #() CFui @@ -97,6 +100,7 @@ #() dFdd #() dFdp #() dFpp +#() LFpi #() LFpL #() pFEp #() pFii @@ -142,11 +146,13 @@ #() vFfpp #() vFddd #() vFdpp +#() vFLpp #() vFpii #() vFpiu #() vFpif #() vFpid #() vFpip +#() vFpui #() vFppi #() vFppu #() vFppp @@ -170,6 +176,8 @@ #() iFpup #() iFpfu #() iFpff +#() iFplp +#() iFpLp #() iFppi #() iFppu #() iFppL @@ -194,6 +202,7 @@ #() fFffp #() dFddd #() dFddp +#() LFpii #() pFEip #() pFEpi #() pFEpp @@ -208,6 +217,7 @@ #() pFpiL #() pFpip #() pFpuu +#() pFpuL #() pFppi #() pFppu #() pFppL @@ -255,10 +265,12 @@ #() vFpiii #() vFpiip #() vFpipp +#() vFpupp #() vFpdii #() vFpddd #() vFppip #() vFppui +#() vFpppu #() vFpppp #() cFpiii #() iFEupp @@ -271,16 +283,27 @@ #() iFuuff #() iFuppp #() iFpiiu +#() iFpiiL #() iFpiip +#() iFpiup +#() iFpipi #() iFpipp #() iFpCCC #() iFpWWu +#() iFpuip #() iFpuup +#() iFpuLL #() iFpupV #() iFppii #() iFppiu +#() iFppiL #() iFppip +#() iFppuu +#() iFppup +#() iFpplp +#() iFppLp #() iFpppi +#() iFpppL #() iFpppp #() IFEpIi #() uFuuuu @@ -288,8 +311,11 @@ #() uFpuip #() uFpuuu #() uFpppi +#() uFpppp +#() LFpuuu #() LFpLLp #() pFEupp +#() pFEpip #() pFEppi #() pFEppp #() pFiiiu @@ -298,8 +324,11 @@ #() pFpiii #() pFpipp #() pFpuii +#() pFplpp #() pFppiL +#() pFppip #() pFppuL +#() pFppup #() pFppLL #() pFpppi #() pFpppu @@ -372,11 +401,20 @@ #() iFpiiii #() iFpiiip #() iFpiiuu +#() iFpiipi #() iFpipii #() iFpippp #() iFpCCCC +#() iFpuuLL +#() iFpuupp +#() iFppiip +#() iFppiup #() iFppipi +#() iFppipp #() iFppupi +#() iFpppii +#() iFpppiL +#() iFppppi #() iFppppp #() IFppIII #() uFEppuu @@ -384,14 +422,21 @@ #() uFuiiiu #() uFpCCCC #() uFpuuuu +#() uFppiip #() uFppppp #() LFppppp #() pFuiiiu #() pFuiipp +#() pFpiiuu #() pFpuiii #() pFppipi +#() pFppipp +#() pFppuuu #() pFppuup +#() pFppLLp #() pFpppip +#() pFpppuu +#() pFppppp #() vFEiiipp #() vFiiiiii #() vFiiiuil @@ -440,17 +485,32 @@ #() vFppupii #() vFpppppp #() iFEpippi +#() iFEppppp #() iFiiiiii #() iFiiiiip +#() iFuppipp #() iFuppppp +#() iFpiiiii #() iFpiiipp +#() iFppiiuu #() iFppIppp +#() iFppuiii +#() iFppuiiL +#() iFppuupp +#() iFppupip +#() iFpppipi +#() iFpppipp +#() iFppppii +#() iFpppppi +#() iFpppppL +#() iFpppppp #() pFEpippp #() pFiCiiCi #() pFpiiiiu #() pFpippip #() pFpuuuuu #() pFppiiii +#() pFpppppp #() vFiiiiiip #() vFiiiiuup #() vFiiupuip @@ -488,11 +548,25 @@ #() vFudddddd #() vFpipipii #() vFpddiidd +#() vFpppiiii +#() iFEpppppp #() iFiiiiiip +#() iFpiupiii #() iFpuuiuui +#() iFpuppppp +#() iFppiiuui +#() iFppiipii +#() iFppipipi +#() iFppipppp +#() iFpppiiii +#() iFpppiiuu +#() iFpppiipi +#() iFppppiii #() iFppppdpi #() iFppppppp #() uFuippppp +#() pFpppppuu +#() pFppppppp #() vFiiiiuuip #() vFiupuiuup #() vFiupuuuup @@ -513,15 +587,21 @@ #() vFuuuuuuuu #() vFuuuuufff #() vFffffffff +#() vFppppiipi #() iFEpippppp #() iFiiiiiiip #() iFiiupiupi #() iFuiifpppp #() iFpupppppp #() iFppIIIppp +#() iFpppiippp #() iFpppipipi +#() iFpppipppp +#() iFppppiipi +#() iFpppppppp #() uFuipppppp #() pFuiiiuuuu +#() pFpppuuLLu #() vFuiiiiiiii #() vFuiiiiiuip #() vFuiiiiiuup @@ -537,10 +617,16 @@ #() vFuffffffff #() vFffuuuufff #() vFddddddddd +#() vFpppppippp #() iFiiiiiiiip #() iFiiiipiiip #() iFdddpppppp +#() iFppiuiippL +#() iFpppiiuuii +#() iFppppppppp +#() pFEppiiuuLi #() pFpiiiiuuuu +#() pFppiiuuuLL #() vFiiiiiiiiiu #() vFuiiiiiiiii #() vFuiiiiiiuup @@ -557,6 +643,10 @@ #() vFuddiiddiip #() vFffffffffff #() iFiiiiiiiiip +#() iFpuupiuiipp +#() iFppppiiuuii +#() pFppuiipuuii +#() pFpppppppppp #() vFuiiiiiiiiip #() vFuiiiiiiiuip #() vFuiiiiiiiuup @@ -568,20 +658,30 @@ #() vFuuddiiddiip #() vFuffffffffff #() vFpipipiipiii +#() iFEppppiiiiuu #() iFiiiiiiiiiip +#() iFppppiiuuiiL +#() pFEppuiipuuii #() vFuuiiiiiiiuip #() vFuuiiiiiiiuup #() vFuuuuuuuuuuuu #() vFffffffffffff +#() iFpppllipppppp +#() pFEppiiuuuipii +#() pFppiiuuuiupLp #() vFuiiiiiiiiiuup #() vFuuuuuuuuuuuuu #() vFuffffffffffff #() iFddddpppddpppp +#() iFpippuuuiipppp +#() pFppppppppppppp #() vFuffiiffiiffiip #() vFuddiiddiiddiip #() vFuuiiiiuuiiiiiii #() vFfffffffffffffff +#() uFpppppppppppppppp #() vFppuiiiiipuiiiiiiii +#() pFipppppppppppppppppppppp #defined(HAVE_LD80BITS) DFD #defined(HAVE_LD80BITS) DFDD #defined(HAVE_LD80BITS) DFDp diff --git a/src/wrapped/generated/wrapper.c b/src/wrapped/generated/wrapper.c index 3a70fbac..725b76c9 100644 --- a/src/wrapped/generated/wrapper.c +++ b/src/wrapped/generated/wrapper.c @@ -94,6 +94,7 @@ typedef void (*vFff_t)(float, float); typedef void (*vFfp_t)(float, void*); typedef void (*vFdd_t)(double, double); typedef void (*vFpi_t)(void*, int32_t); +typedef void (*vFpL_t)(void*, uintptr_t); typedef void (*vFpp_t)(void*, void*); typedef int8_t (*cFpp_t)(void*, void*); typedef int32_t (*iFEp_t)(x64emu_t*, void*); @@ -110,6 +111,8 @@ typedef int32_t (*iFpi_t)(void*, int32_t); typedef int32_t (*iFpC_t)(void*, uint8_t); typedef int32_t (*iFpu_t)(void*, uint32_t); typedef int32_t (*iFpf_t)(void*, float); +typedef int32_t (*iFpl_t)(void*, intptr_t); +typedef int32_t (*iFpL_t)(void*, uintptr_t); typedef int32_t (*iFpp_t)(void*, void*); typedef int64_t (*IFEp_t)(x64emu_t*, void*); typedef uint8_t (*CFui_t)(uint32_t, int32_t); @@ -130,6 +133,7 @@ typedef double (*dFdi_t)(double, int32_t); typedef double (*dFdd_t)(double, double); typedef double (*dFdp_t)(double, void*); typedef double (*dFpp_t)(void*, void*); +typedef uintptr_t (*LFpi_t)(void*, int32_t); typedef uintptr_t (*LFpL_t)(void*, uintptr_t); typedef void* (*pFEp_t)(x64emu_t*, void*); typedef void* (*pFii_t)(int32_t, int32_t); @@ -175,11 +179,13 @@ typedef void (*vFfff_t)(float, float, float); typedef void (*vFfpp_t)(float, void*, void*); typedef void (*vFddd_t)(double, double, double); typedef void (*vFdpp_t)(double, void*, void*); +typedef void (*vFLpp_t)(uintptr_t, void*, void*); typedef void (*vFpii_t)(void*, int32_t, int32_t); typedef void (*vFpiu_t)(void*, int32_t, uint32_t); typedef void (*vFpif_t)(void*, int32_t, float); typedef void (*vFpid_t)(void*, int32_t, double); typedef void (*vFpip_t)(void*, int32_t, void*); +typedef void (*vFpui_t)(void*, uint32_t, int32_t); typedef void (*vFppi_t)(void*, void*, int32_t); typedef void (*vFppu_t)(void*, void*, uint32_t); typedef void (*vFppp_t)(void*, void*, void*); @@ -203,6 +209,8 @@ typedef int32_t (*iFpuL_t)(void*, uint32_t, uintptr_t); typedef int32_t (*iFpup_t)(void*, uint32_t, void*); typedef int32_t (*iFpfu_t)(void*, float, uint32_t); typedef int32_t (*iFpff_t)(void*, float, float); +typedef int32_t (*iFplp_t)(void*, intptr_t, void*); +typedef int32_t (*iFpLp_t)(void*, uintptr_t, void*); typedef int32_t (*iFppi_t)(void*, void*, int32_t); typedef int32_t (*iFppu_t)(void*, void*, uint32_t); typedef int32_t (*iFppL_t)(void*, void*, uintptr_t); @@ -227,6 +235,7 @@ typedef float (*fFfff_t)(float, float, float); typedef float (*fFffp_t)(float, float, void*); typedef double (*dFddd_t)(double, double, double); typedef double (*dFddp_t)(double, double, void*); +typedef uintptr_t (*LFpii_t)(void*, int32_t, int32_t); typedef void* (*pFEip_t)(x64emu_t*, int32_t, void*); typedef void* (*pFEpi_t)(x64emu_t*, void*, int32_t); typedef void* (*pFEpp_t)(x64emu_t*, void*, void*); @@ -241,6 +250,7 @@ typedef void* (*pFpiu_t)(void*, int32_t, uint32_t); typedef void* (*pFpiL_t)(void*, int32_t, uintptr_t); typedef void* (*pFpip_t)(void*, int32_t, void*); typedef void* (*pFpuu_t)(void*, uint32_t, uint32_t); +typedef void* (*pFpuL_t)(void*, uint32_t, uintptr_t); typedef void* (*pFppi_t)(void*, void*, int32_t); typedef void* (*pFppu_t)(void*, void*, uint32_t); typedef void* (*pFppL_t)(void*, void*, uintptr_t); @@ -288,10 +298,12 @@ typedef void (*vFdddd_t)(double, double, double, double); typedef void (*vFpiii_t)(void*, int32_t, int32_t, int32_t); typedef void (*vFpiip_t)(void*, int32_t, int32_t, void*); typedef void (*vFpipp_t)(void*, int32_t, void*, void*); +typedef void (*vFpupp_t)(void*, uint32_t, void*, void*); typedef void (*vFpdii_t)(void*, double, int32_t, int32_t); typedef void (*vFpddd_t)(void*, double, double, double); typedef void (*vFppip_t)(void*, void*, int32_t, void*); typedef void (*vFppui_t)(void*, void*, uint32_t, int32_t); +typedef void (*vFpppu_t)(void*, void*, void*, uint32_t); typedef void (*vFpppp_t)(void*, void*, void*, void*); typedef int8_t (*cFpiii_t)(void*, int32_t, int32_t, int32_t); typedef int32_t (*iFEupp_t)(x64emu_t*, uint32_t, void*, void*); @@ -304,16 +316,27 @@ typedef int32_t (*iFuipp_t)(uint32_t, int32_t, void*, void*); typedef int32_t (*iFuuff_t)(uint32_t, uint32_t, float, float); typedef int32_t (*iFuppp_t)(uint32_t, void*, void*, void*); typedef int32_t (*iFpiiu_t)(void*, int32_t, int32_t, uint32_t); +typedef int32_t (*iFpiiL_t)(void*, int32_t, int32_t, uintptr_t); typedef int32_t (*iFpiip_t)(void*, int32_t, int32_t, void*); +typedef int32_t (*iFpiup_t)(void*, int32_t, uint32_t, void*); +typedef int32_t (*iFpipi_t)(void*, int32_t, void*, int32_t); typedef int32_t (*iFpipp_t)(void*, int32_t, void*, void*); typedef int32_t (*iFpCCC_t)(void*, uint8_t, uint8_t, uint8_t); typedef int32_t (*iFpWWu_t)(void*, uint16_t, uint16_t, uint32_t); +typedef int32_t (*iFpuip_t)(void*, uint32_t, int32_t, void*); typedef int32_t (*iFpuup_t)(void*, uint32_t, uint32_t, void*); +typedef int32_t (*iFpuLL_t)(void*, uint32_t, uintptr_t, uintptr_t); typedef int32_t (*iFpupV_t)(void*, uint32_t, void*, void*); typedef int32_t (*iFppii_t)(void*, void*, int32_t, int32_t); typedef int32_t (*iFppiu_t)(void*, void*, int32_t, uint32_t); +typedef int32_t (*iFppiL_t)(void*, void*, int32_t, uintptr_t); typedef int32_t (*iFppip_t)(void*, void*, int32_t, void*); +typedef int32_t (*iFppuu_t)(void*, void*, uint32_t, uint32_t); +typedef int32_t (*iFppup_t)(void*, void*, uint32_t, void*); +typedef int32_t (*iFpplp_t)(void*, void*, intptr_t, void*); +typedef int32_t (*iFppLp_t)(void*, void*, uintptr_t, void*); typedef int32_t (*iFpppi_t)(void*, void*, void*, int32_t); +typedef int32_t (*iFpppL_t)(void*, void*, void*, uintptr_t); typedef int32_t (*iFpppp_t)(void*, void*, void*, void*); typedef int64_t (*IFEpIi_t)(x64emu_t*, void*, int64_t, int32_t); typedef uint32_t (*uFuuuu_t)(uint32_t, uint32_t, uint32_t, uint32_t); @@ -321,8 +344,11 @@ typedef uint32_t (*uFpCCC_t)(void*, uint8_t, uint8_t, uint8_t); typedef uint32_t (*uFpuip_t)(void*, uint32_t, int32_t, void*); typedef uint32_t (*uFpuuu_t)(void*, uint32_t, uint32_t, uint32_t); typedef uint32_t (*uFpppi_t)(void*, void*, void*, int32_t); +typedef uint32_t (*uFpppp_t)(void*, void*, void*, void*); +typedef uintptr_t (*LFpuuu_t)(void*, uint32_t, uint32_t, uint32_t); typedef uintptr_t (*LFpLLp_t)(void*, uintptr_t, uintptr_t, void*); typedef void* (*pFEupp_t)(x64emu_t*, uint32_t, void*, void*); +typedef void* (*pFEpip_t)(x64emu_t*, void*, int32_t, void*); typedef void* (*pFEppi_t)(x64emu_t*, void*, void*, int32_t); typedef void* (*pFEppp_t)(x64emu_t*, void*, void*, void*); typedef void* (*pFiiiu_t)(int32_t, int32_t, int32_t, uint32_t); @@ -331,8 +357,11 @@ typedef void* (*pFuiii_t)(uint32_t, int32_t, int32_t, int32_t); typedef void* (*pFpiii_t)(void*, int32_t, int32_t, int32_t); typedef void* (*pFpipp_t)(void*, int32_t, void*, void*); typedef void* (*pFpuii_t)(void*, uint32_t, int32_t, int32_t); +typedef void* (*pFplpp_t)(void*, intptr_t, void*, void*); typedef void* (*pFppiL_t)(void*, void*, int32_t, uintptr_t); +typedef void* (*pFppip_t)(void*, void*, int32_t, void*); typedef void* (*pFppuL_t)(void*, void*, uint32_t, uintptr_t); +typedef void* (*pFppup_t)(void*, void*, uint32_t, void*); typedef void* (*pFppLL_t)(void*, void*, uintptr_t, uintptr_t); typedef void* (*pFpppi_t)(void*, void*, void*, int32_t); typedef void* (*pFpppu_t)(void*, void*, void*, uint32_t); @@ -405,11 +434,20 @@ typedef int32_t (*iFipppi_t)(int32_t, void*, void*, void*, int32_t); typedef int32_t (*iFpiiii_t)(void*, int32_t, int32_t, int32_t, int32_t); typedef int32_t (*iFpiiip_t)(void*, int32_t, int32_t, int32_t, void*); typedef int32_t (*iFpiiuu_t)(void*, int32_t, int32_t, uint32_t, uint32_t); +typedef int32_t (*iFpiipi_t)(void*, int32_t, int32_t, void*, int32_t); typedef int32_t (*iFpipii_t)(void*, int32_t, void*, int32_t, int32_t); typedef int32_t (*iFpippp_t)(void*, int32_t, void*, void*, void*); typedef int32_t (*iFpCCCC_t)(void*, uint8_t, uint8_t, uint8_t, uint8_t); +typedef int32_t (*iFpuuLL_t)(void*, uint32_t, uint32_t, uintptr_t, uintptr_t); +typedef int32_t (*iFpuupp_t)(void*, uint32_t, uint32_t, void*, void*); +typedef int32_t (*iFppiip_t)(void*, void*, int32_t, int32_t, void*); +typedef int32_t (*iFppiup_t)(void*, void*, int32_t, uint32_t, void*); typedef int32_t (*iFppipi_t)(void*, void*, int32_t, void*, int32_t); +typedef int32_t (*iFppipp_t)(void*, void*, int32_t, void*, void*); typedef int32_t (*iFppupi_t)(void*, void*, uint32_t, void*, int32_t); +typedef int32_t (*iFpppii_t)(void*, void*, void*, int32_t, int32_t); +typedef int32_t (*iFpppiL_t)(void*, void*, void*, int32_t, uintptr_t); +typedef int32_t (*iFppppi_t)(void*, void*, void*, void*, int32_t); typedef int32_t (*iFppppp_t)(void*, void*, void*, void*, void*); typedef int64_t (*IFppIII_t)(void*, void*, int64_t, int64_t, int64_t); typedef uint32_t (*uFEppuu_t)(x64emu_t*, void*, void*, uint32_t, uint32_t); @@ -417,14 +455,21 @@ typedef uint32_t (*uFiuuuu_t)(int32_t, uint32_t, uint32_t, uint32_t, uint32_t); typedef uint32_t (*uFuiiiu_t)(uint32_t, int32_t, int32_t, int32_t, uint32_t); typedef uint32_t (*uFpCCCC_t)(void*, uint8_t, uint8_t, uint8_t, uint8_t); typedef uint32_t (*uFpuuuu_t)(void*, uint32_t, uint32_t, uint32_t, uint32_t); +typedef uint32_t (*uFppiip_t)(void*, void*, int32_t, int32_t, void*); typedef uint32_t (*uFppppp_t)(void*, void*, void*, void*, void*); typedef uintptr_t (*LFppppp_t)(void*, void*, void*, void*, void*); typedef void* (*pFuiiiu_t)(uint32_t, int32_t, int32_t, int32_t, uint32_t); typedef void* (*pFuiipp_t)(uint32_t, int32_t, int32_t, void*, void*); +typedef void* (*pFpiiuu_t)(void*, int32_t, int32_t, uint32_t, uint32_t); typedef void* (*pFpuiii_t)(void*, uint32_t, int32_t, int32_t, int32_t); typedef void* (*pFppipi_t)(void*, void*, int32_t, void*, int32_t); +typedef void* (*pFppipp_t)(void*, void*, int32_t, void*, void*); +typedef void* (*pFppuuu_t)(void*, void*, uint32_t, uint32_t, uint32_t); typedef void* (*pFppuup_t)(void*, void*, uint32_t, uint32_t, void*); +typedef void* (*pFppLLp_t)(void*, void*, uintptr_t, uintptr_t, void*); typedef void* (*pFpppip_t)(void*, void*, void*, int32_t, void*); +typedef void* (*pFpppuu_t)(void*, void*, void*, uint32_t, uint32_t); +typedef void* (*pFppppp_t)(void*, void*, void*, void*, void*); typedef void (*vFEiiipp_t)(x64emu_t*, int32_t, int32_t, int32_t, void*, void*); typedef void (*vFiiiiii_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t); typedef void (*vFiiiuil_t)(int32_t, int32_t, int32_t, uint32_t, int32_t, intptr_t); @@ -473,17 +518,32 @@ typedef void (*vFppiiii_t)(void*, void*, int32_t, int32_t, int32_t, int32_t); typedef void (*vFppupii_t)(void*, void*, uint32_t, void*, int32_t, int32_t); typedef void (*vFpppppp_t)(void*, void*, void*, void*, void*, void*); typedef int32_t (*iFEpippi_t)(x64emu_t*, void*, int32_t, void*, void*, int32_t); +typedef int32_t (*iFEppppp_t)(x64emu_t*, void*, void*, void*, void*, void*); typedef int32_t (*iFiiiiii_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t); typedef int32_t (*iFiiiiip_t)(int32_t, int32_t, int32_t, int32_t, int32_t, void*); +typedef int32_t (*iFuppipp_t)(uint32_t, void*, void*, int32_t, void*, void*); typedef int32_t (*iFuppppp_t)(uint32_t, void*, void*, void*, void*, void*); +typedef int32_t (*iFpiiiii_t)(void*, int32_t, int32_t, int32_t, int32_t, int32_t); typedef int32_t (*iFpiiipp_t)(void*, int32_t, int32_t, int32_t, void*, void*); +typedef int32_t (*iFppiiuu_t)(void*, void*, int32_t, int32_t, uint32_t, uint32_t); typedef int32_t (*iFppIppp_t)(void*, void*, int64_t, void*, void*, void*); +typedef int32_t (*iFppuiii_t)(void*, void*, uint32_t, int32_t, int32_t, int32_t); +typedef int32_t (*iFppuiiL_t)(void*, void*, uint32_t, int32_t, int32_t, uintptr_t); +typedef int32_t (*iFppuupp_t)(void*, void*, uint32_t, uint32_t, void*, void*); +typedef int32_t (*iFppupip_t)(void*, void*, uint32_t, void*, int32_t, void*); +typedef int32_t (*iFpppipi_t)(void*, void*, void*, int32_t, void*, int32_t); +typedef int32_t (*iFpppipp_t)(void*, void*, void*, int32_t, void*, void*); +typedef int32_t (*iFppppii_t)(void*, void*, void*, void*, int32_t, int32_t); +typedef int32_t (*iFpppppi_t)(void*, void*, void*, void*, void*, int32_t); +typedef int32_t (*iFpppppL_t)(void*, void*, void*, void*, void*, uintptr_t); +typedef int32_t (*iFpppppp_t)(void*, void*, void*, void*, void*, void*); typedef void* (*pFEpippp_t)(x64emu_t*, void*, int32_t, void*, void*, void*); typedef void* (*pFiCiiCi_t)(int32_t, uint8_t, int32_t, int32_t, uint8_t, int32_t); typedef void* (*pFpiiiiu_t)(void*, int32_t, int32_t, int32_t, int32_t, uint32_t); typedef void* (*pFpippip_t)(void*, int32_t, void*, void*, int32_t, void*); typedef void* (*pFpuuuuu_t)(void*, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t); typedef void* (*pFppiiii_t)(void*, void*, int32_t, int32_t, int32_t, int32_t); +typedef void* (*pFpppppp_t)(void*, void*, void*, void*, void*, void*); typedef void (*vFiiiiiip_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*); typedef void (*vFiiiiuup_t)(int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*); typedef void (*vFiiupuip_t)(int32_t, int32_t, uint32_t, void*, uint32_t, int32_t, void*); @@ -521,11 +581,25 @@ typedef void (*vFuffffff_t)(uint32_t, float, float, float, float, float, float); typedef void (*vFudddddd_t)(uint32_t, double, double, double, double, double, double); typedef void (*vFpipipii_t)(void*, int32_t, void*, int32_t, void*, int32_t, int32_t); typedef void (*vFpddiidd_t)(void*, double, double, int32_t, int32_t, double, double); +typedef void (*vFpppiiii_t)(void*, void*, void*, int32_t, int32_t, int32_t, int32_t); +typedef int32_t (*iFEpppppp_t)(x64emu_t*, void*, void*, void*, void*, void*, void*); typedef int32_t (*iFiiiiiip_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*); +typedef int32_t (*iFpiupiii_t)(void*, int32_t, uint32_t, void*, int32_t, int32_t, int32_t); typedef int32_t (*iFpuuiuui_t)(void*, uint32_t, uint32_t, int32_t, uint32_t, uint32_t, int32_t); +typedef int32_t (*iFpuppppp_t)(void*, uint32_t, void*, void*, void*, void*, void*); +typedef int32_t (*iFppiiuui_t)(void*, void*, int32_t, int32_t, uint32_t, uint32_t, int32_t); +typedef int32_t (*iFppiipii_t)(void*, void*, int32_t, int32_t, void*, int32_t, int32_t); +typedef int32_t (*iFppipipi_t)(void*, void*, int32_t, void*, int32_t, void*, int32_t); +typedef int32_t (*iFppipppp_t)(void*, void*, int32_t, void*, void*, void*, void*); +typedef int32_t (*iFpppiiii_t)(void*, void*, void*, int32_t, int32_t, int32_t, int32_t); +typedef int32_t (*iFpppiiuu_t)(void*, void*, void*, int32_t, int32_t, uint32_t, uint32_t); +typedef int32_t (*iFpppiipi_t)(void*, void*, void*, int32_t, int32_t, void*, int32_t); +typedef int32_t (*iFppppiii_t)(void*, void*, void*, void*, int32_t, int32_t, int32_t); typedef int32_t (*iFppppdpi_t)(void*, void*, void*, void*, double, void*, int32_t); typedef int32_t (*iFppppppp_t)(void*, void*, void*, void*, void*, void*, void*); typedef uint32_t (*uFuippppp_t)(uint32_t, int32_t, void*, void*, void*, void*, void*); +typedef void* (*pFpppppuu_t)(void*, void*, void*, void*, void*, uint32_t, uint32_t); +typedef void* (*pFppppppp_t)(void*, void*, void*, void*, void*, void*, void*); typedef void (*vFiiiiuuip_t)(int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, int32_t, void*); typedef void (*vFiupuiuup_t)(int32_t, uint32_t, void*, uint32_t, int32_t, uint32_t, uint32_t, void*); typedef void (*vFiupuuuup_t)(int32_t, uint32_t, void*, uint32_t, uint32_t, uint32_t, uint32_t, void*); @@ -546,15 +620,21 @@ typedef void (*vFuuuipipp_t)(uint32_t, uint32_t, uint32_t, int32_t, void*, int32 typedef void (*vFuuuuuuuu_t)(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t); typedef void (*vFuuuuufff_t)(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, float, float, float); typedef void (*vFffffffff_t)(float, float, float, float, float, float, float, float); +typedef void (*vFppppiipi_t)(void*, void*, void*, void*, int32_t, int32_t, void*, int32_t); typedef int32_t (*iFEpippppp_t)(x64emu_t*, void*, int32_t, void*, void*, void*, void*, void*); typedef int32_t (*iFiiiiiiip_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*); typedef int32_t (*iFiiupiupi_t)(int32_t, int32_t, uint32_t, void*, int32_t, uint32_t, void*, int32_t); typedef int32_t (*iFuiifpppp_t)(uint32_t, int32_t, int32_t, float, void*, void*, void*, void*); typedef int32_t (*iFpupppppp_t)(void*, uint32_t, void*, void*, void*, void*, void*, void*); typedef int32_t (*iFppIIIppp_t)(void*, void*, int64_t, int64_t, int64_t, void*, void*, void*); +typedef int32_t (*iFpppiippp_t)(void*, void*, void*, int32_t, int32_t, void*, void*, void*); typedef int32_t (*iFpppipipi_t)(void*, void*, void*, int32_t, void*, int32_t, void*, int32_t); +typedef int32_t (*iFpppipppp_t)(void*, void*, void*, int32_t, void*, void*, void*, void*); +typedef int32_t (*iFppppiipi_t)(void*, void*, void*, void*, int32_t, int32_t, void*, int32_t); +typedef int32_t (*iFpppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*); typedef uint32_t (*uFuipppppp_t)(uint32_t, int32_t, void*, void*, void*, void*, void*, void*); typedef void* (*pFuiiiuuuu_t)(uint32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, uint32_t, uint32_t); +typedef void* (*pFpppuuLLu_t)(void*, void*, void*, uint32_t, uint32_t, uintptr_t, uintptr_t, uint32_t); typedef void (*vFuiiiiiiii_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t); typedef void (*vFuiiiiiuip_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, int32_t, void*); typedef void (*vFuiiiiiuup_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*); @@ -570,10 +650,16 @@ typedef void (*vFuupiuiuuf_t)(uint32_t, uint32_t, void*, int32_t, uint32_t, int3 typedef void (*vFuffffffff_t)(uint32_t, float, float, float, float, float, float, float, float); typedef void (*vFffuuuufff_t)(float, float, uint32_t, uint32_t, uint32_t, uint32_t, float, float, float); typedef void (*vFddddddddd_t)(double, double, double, double, double, double, double, double, double); +typedef void (*vFpppppippp_t)(void*, void*, void*, void*, void*, int32_t, void*, void*, void*); typedef int32_t (*iFiiiiiiiip_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*); typedef int32_t (*iFiiiipiiip_t)(int32_t, int32_t, int32_t, int32_t, void*, int32_t, int32_t, int32_t, void*); typedef int32_t (*iFdddpppppp_t)(double, double, double, void*, void*, void*, void*, void*, void*); +typedef int32_t (*iFppiuiippL_t)(void*, void*, int32_t, uint32_t, int32_t, int32_t, void*, void*, uintptr_t); +typedef int32_t (*iFpppiiuuii_t)(void*, void*, void*, int32_t, int32_t, uint32_t, uint32_t, int32_t, int32_t); +typedef int32_t (*iFppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*); +typedef void* (*pFEppiiuuLi_t)(x64emu_t*, void*, void*, int32_t, int32_t, uint32_t, uint32_t, uintptr_t, int32_t); typedef void* (*pFpiiiiuuuu_t)(void*, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, uint32_t, uint32_t); +typedef void* (*pFppiiuuuLL_t)(void*, void*, int32_t, int32_t, uint32_t, uint32_t, uint32_t, uintptr_t, uintptr_t); typedef void (*vFiiiiiiiiiu_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t); typedef void (*vFuiiiiiiiii_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t); typedef void (*vFuiiiiiiuup_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*); @@ -590,6 +676,10 @@ typedef void (*vFuffiiffiip_t)(uint32_t, float, float, int32_t, int32_t, float, typedef void (*vFuddiiddiip_t)(uint32_t, double, double, int32_t, int32_t, double, double, int32_t, int32_t, void*); typedef void (*vFffffffffff_t)(float, float, float, float, float, float, float, float, float, float); typedef int32_t (*iFiiiiiiiiip_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*); +typedef int32_t (*iFpuupiuiipp_t)(void*, uint32_t, uint32_t, void*, int32_t, uint32_t, int32_t, int32_t, void*, void*); +typedef int32_t (*iFppppiiuuii_t)(void*, void*, void*, void*, int32_t, int32_t, uint32_t, uint32_t, int32_t, int32_t); +typedef void* (*pFppuiipuuii_t)(void*, void*, uint32_t, int32_t, int32_t, void*, uint32_t, uint32_t, int32_t, int32_t); +typedef void* (*pFpppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, void*); typedef void (*vFuiiiiiiiiip_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*); typedef void (*vFuiiiiiiiuip_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, int32_t, void*); typedef void (*vFuiiiiiiiuup_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*); @@ -601,20 +691,30 @@ typedef void (*vFuufffffffff_t)(uint32_t, uint32_t, float, float, float, float, typedef void (*vFuuddiiddiip_t)(uint32_t, uint32_t, double, double, int32_t, int32_t, double, double, int32_t, int32_t, void*); typedef void (*vFuffffffffff_t)(uint32_t, float, float, float, float, float, float, float, float, float, float); typedef void (*vFpipipiipiii_t)(void*, int32_t, void*, int32_t, void*, int32_t, int32_t, void*, int32_t, int32_t, int32_t); +typedef int32_t (*iFEppppiiiiuu_t)(x64emu_t*, void*, void*, void*, void*, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t); typedef int32_t (*iFiiiiiiiiiip_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*); +typedef int32_t (*iFppppiiuuiiL_t)(void*, void*, void*, void*, int32_t, int32_t, uint32_t, uint32_t, int32_t, int32_t, uintptr_t); +typedef void* (*pFEppuiipuuii_t)(x64emu_t*, void*, void*, uint32_t, int32_t, int32_t, void*, uint32_t, uint32_t, int32_t, int32_t); typedef void (*vFuuiiiiiiiuip_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, int32_t, void*); 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 (*iFpppllipppppp_t)(void*, void*, void*, intptr_t, intptr_t, int32_t, void*, void*, void*, void*, void*, void*); +typedef void* (*pFEppiiuuuipii_t)(x64emu_t*, void*, void*, int32_t, int32_t, uint32_t, uint32_t, uint32_t, int32_t, void*, int32_t, int32_t); +typedef void* (*pFppiiuuuiupLp_t)(void*, void*, int32_t, int32_t, uint32_t, uint32_t, uint32_t, int32_t, uint32_t, void*, uintptr_t, void*); 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*); typedef void (*vFuuuuuuuuuuuuu_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, uint32_t); typedef void (*vFuffffffffffff_t)(uint32_t, float, float, float, float, float, float, float, float, float, float, float, float); typedef int32_t (*iFddddpppddpppp_t)(double, double, double, double, void*, void*, void*, double, double, void*, void*, void*, void*); +typedef int32_t (*iFpippuuuiipppp_t)(void*, int32_t, void*, void*, uint32_t, uint32_t, uint32_t, int32_t, int32_t, void*, void*, void*, void*); +typedef void* (*pFppppppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*); typedef void (*vFuffiiffiiffiip_t)(uint32_t, float, float, int32_t, int32_t, float, float, int32_t, int32_t, float, float, int32_t, int32_t, void*); typedef void (*vFuddiiddiiddiip_t)(uint32_t, double, double, int32_t, int32_t, double, double, int32_t, int32_t, double, double, int32_t, int32_t, void*); 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 uint32_t (*uFpppppppppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*); typedef void (*vFppuiiiiipuiiiiiiii_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 void* (*pFipppppppppppppppppppppp_t)(int32_t, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*); #if defined(HAVE_LD80BITS) typedef long double (*DFD_t)(long double); @@ -691,6 +791,7 @@ void vFff(x64emu_t *emu, uintptr_t fcn) { vFff_t fn = (vFff_t)fcn; fn(emu->xmm[0 void vFfp(x64emu_t *emu, uintptr_t fcn) { vFfp_t fn = (vFfp_t)fcn; fn(emu->xmm[0].f[0], (void*)R_RDI); } void vFdd(x64emu_t *emu, uintptr_t fcn) { vFdd_t fn = (vFdd_t)fcn; fn(emu->xmm[0].d[0], emu->xmm[1].d[0]); } void vFpi(x64emu_t *emu, uintptr_t fcn) { vFpi_t fn = (vFpi_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI); } +void vFpL(x64emu_t *emu, uintptr_t fcn) { vFpL_t fn = (vFpL_t)fcn; fn((void*)R_RDI, (uintptr_t)R_RSI); } void vFpp(x64emu_t *emu, uintptr_t fcn) { vFpp_t fn = (vFpp_t)fcn; fn((void*)R_RDI, (void*)R_RSI); } void cFpp(x64emu_t *emu, uintptr_t fcn) { cFpp_t fn = (cFpp_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI); } void iFEp(x64emu_t *emu, uintptr_t fcn) { iFEp_t fn = (iFEp_t)fcn; R_RAX=fn(emu, (void*)R_RDI); } @@ -707,6 +808,8 @@ void iFpi(x64emu_t *emu, uintptr_t fcn) { iFpi_t fn = (iFpi_t)fcn; R_RAX=fn((voi void iFpC(x64emu_t *emu, uintptr_t fcn) { iFpC_t fn = (iFpC_t)fcn; R_RAX=fn((void*)R_RDI, (uint8_t)R_RSI); } void iFpu(x64emu_t *emu, uintptr_t fcn) { iFpu_t fn = (iFpu_t)fcn; R_RAX=fn((void*)R_RDI, (uint32_t)R_RSI); } void iFpf(x64emu_t *emu, uintptr_t fcn) { iFpf_t fn = (iFpf_t)fcn; R_RAX=fn((void*)R_RDI, emu->xmm[0].f[0]); } +void iFpl(x64emu_t *emu, uintptr_t fcn) { iFpl_t fn = (iFpl_t)fcn; R_RAX=fn((void*)R_RDI, (intptr_t)R_RSI); } +void iFpL(x64emu_t *emu, uintptr_t fcn) { iFpL_t fn = (iFpL_t)fcn; R_RAX=fn((void*)R_RDI, (uintptr_t)R_RSI); } void iFpp(x64emu_t *emu, uintptr_t fcn) { iFpp_t fn = (iFpp_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI); } void IFEp(x64emu_t *emu, uintptr_t fcn) { IFEp_t fn = (IFEp_t)fcn; R_RAX=(uint64_t)fn(emu, (void*)R_RDI); } void CFui(x64emu_t *emu, uintptr_t fcn) { CFui_t fn = (CFui_t)fcn; R_RAX=(unsigned char)fn((uint32_t)R_RDI, (int32_t)R_RSI); } @@ -727,6 +830,7 @@ void dFdi(x64emu_t *emu, uintptr_t fcn) { dFdi_t fn = (dFdi_t)fcn; emu->xmm[0].d void dFdd(x64emu_t *emu, uintptr_t fcn) { dFdd_t fn = (dFdd_t)fcn; emu->xmm[0].d[0]=fn(emu->xmm[0].d[0], emu->xmm[1].d[0]); } void dFdp(x64emu_t *emu, uintptr_t fcn) { dFdp_t fn = (dFdp_t)fcn; emu->xmm[0].d[0]=fn(emu->xmm[0].d[0], (void*)R_RDI); } void dFpp(x64emu_t *emu, uintptr_t fcn) { dFpp_t fn = (dFpp_t)fcn; emu->xmm[0].d[0]=fn((void*)R_RDI, (void*)R_RSI); } +void LFpi(x64emu_t *emu, uintptr_t fcn) { LFpi_t fn = (LFpi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int32_t)R_RSI); } void LFpL(x64emu_t *emu, uintptr_t fcn) { LFpL_t fn = (LFpL_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI); } void pFEp(x64emu_t *emu, uintptr_t fcn) { pFEp_t fn = (pFEp_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI); } void pFii(x64emu_t *emu, uintptr_t fcn) { pFii_t fn = (pFii_t)fcn; R_RAX=(uintptr_t)fn((int32_t)R_RDI, (int32_t)R_RSI); } @@ -772,11 +876,13 @@ void vFfff(x64emu_t *emu, uintptr_t fcn) { vFfff_t fn = (vFfff_t)fcn; fn(emu->xm void vFfpp(x64emu_t *emu, uintptr_t fcn) { vFfpp_t fn = (vFfpp_t)fcn; fn(emu->xmm[0].f[0], (void*)R_RDI, (void*)R_RSI); } void vFddd(x64emu_t *emu, uintptr_t fcn) { vFddd_t fn = (vFddd_t)fcn; fn(emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0]); } void vFdpp(x64emu_t *emu, uintptr_t fcn) { vFdpp_t fn = (vFdpp_t)fcn; fn(emu->xmm[0].d[0], (void*)R_RDI, (void*)R_RSI); } +void vFLpp(x64emu_t *emu, uintptr_t fcn) { vFLpp_t fn = (vFLpp_t)fcn; fn((uintptr_t)R_RDI, (void*)R_RSI, (void*)R_RDX); } void vFpii(x64emu_t *emu, uintptr_t fcn) { vFpii_t fn = (vFpii_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX); } void vFpiu(x64emu_t *emu, uintptr_t fcn) { vFpiu_t fn = (vFpiu_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI, (uint32_t)R_RDX); } void vFpif(x64emu_t *emu, uintptr_t fcn) { vFpif_t fn = (vFpif_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI, emu->xmm[0].f[0]); } void vFpid(x64emu_t *emu, uintptr_t fcn) { vFpid_t fn = (vFpid_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI, emu->xmm[0].d[0]); } void vFpip(x64emu_t *emu, uintptr_t fcn) { vFpip_t fn = (vFpip_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX); } +void vFpui(x64emu_t *emu, uintptr_t fcn) { vFpui_t fn = (vFpui_t)fcn; fn((void*)R_RDI, (uint32_t)R_RSI, (int32_t)R_RDX); } void vFppi(x64emu_t *emu, uintptr_t fcn) { vFppi_t fn = (vFppi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX); } void vFppu(x64emu_t *emu, uintptr_t fcn) { vFppu_t fn = (vFppu_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX); } void vFppp(x64emu_t *emu, uintptr_t fcn) { vFppp_t fn = (vFppp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX); } @@ -800,6 +906,8 @@ void iFpuL(x64emu_t *emu, uintptr_t fcn) { iFpuL_t fn = (iFpuL_t)fcn; R_RAX=fn(( void iFpup(x64emu_t *emu, uintptr_t fcn) { iFpup_t fn = (iFpup_t)fcn; R_RAX=fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX); } void iFpfu(x64emu_t *emu, uintptr_t fcn) { iFpfu_t fn = (iFpfu_t)fcn; R_RAX=fn((void*)R_RDI, emu->xmm[0].f[0], (uint32_t)R_RSI); } void iFpff(x64emu_t *emu, uintptr_t fcn) { iFpff_t fn = (iFpff_t)fcn; R_RAX=fn((void*)R_RDI, emu->xmm[0].f[0], emu->xmm[1].f[0]); } +void iFplp(x64emu_t *emu, uintptr_t fcn) { iFplp_t fn = (iFplp_t)fcn; R_RAX=fn((void*)R_RDI, (intptr_t)R_RSI, (void*)R_RDX); } +void iFpLp(x64emu_t *emu, uintptr_t fcn) { iFpLp_t fn = (iFpLp_t)fcn; R_RAX=fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX); } void iFppi(x64emu_t *emu, uintptr_t fcn) { iFppi_t fn = (iFppi_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX); } void iFppu(x64emu_t *emu, uintptr_t fcn) { iFppu_t fn = (iFppu_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX); } void iFppL(x64emu_t *emu, uintptr_t fcn) { iFppL_t fn = (iFppL_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX); } @@ -824,6 +932,7 @@ void fFfff(x64emu_t *emu, uintptr_t fcn) { fFfff_t fn = (fFfff_t)fcn; emu->xmm[0 void fFffp(x64emu_t *emu, uintptr_t fcn) { fFffp_t fn = (fFffp_t)fcn; emu->xmm[0].f[0]=fn(emu->xmm[0].f[0], emu->xmm[1].f[0], (void*)R_RDI); } void dFddd(x64emu_t *emu, uintptr_t fcn) { dFddd_t fn = (dFddd_t)fcn; emu->xmm[0].d[0]=fn(emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0]); } void dFddp(x64emu_t *emu, uintptr_t fcn) { dFddp_t fn = (dFddp_t)fcn; emu->xmm[0].d[0]=fn(emu->xmm[0].d[0], emu->xmm[1].d[0], (void*)R_RDI); } +void LFpii(x64emu_t *emu, uintptr_t fcn) { LFpii_t fn = (LFpii_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX); } void pFEip(x64emu_t *emu, uintptr_t fcn) { pFEip_t fn = (pFEip_t)fcn; R_RAX=(uintptr_t)fn(emu, (int32_t)R_RDI, (void*)R_RSI); } void pFEpi(x64emu_t *emu, uintptr_t fcn) { pFEpi_t fn = (pFEpi_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (int32_t)R_RSI); } void pFEpp(x64emu_t *emu, uintptr_t fcn) { pFEpp_t fn = (pFEpp_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI); } @@ -838,6 +947,7 @@ void pFpiu(x64emu_t *emu, uintptr_t fcn) { pFpiu_t fn = (pFpiu_t)fcn; R_RAX=(uin void pFpiL(x64emu_t *emu, uintptr_t fcn) { pFpiL_t fn = (pFpiL_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int32_t)R_RSI, (uintptr_t)R_RDX); } void pFpip(x64emu_t *emu, uintptr_t fcn) { pFpip_t fn = (pFpip_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX); } void pFpuu(x64emu_t *emu, uintptr_t fcn) { pFpuu_t fn = (pFpuu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX); } +void pFpuL(x64emu_t *emu, uintptr_t fcn) { pFpuL_t fn = (pFpuL_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uintptr_t)R_RDX); } void pFppi(x64emu_t *emu, uintptr_t fcn) { pFppi_t fn = (pFppi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX); } void pFppu(x64emu_t *emu, uintptr_t fcn) { pFppu_t fn = (pFppu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX); } void pFppL(x64emu_t *emu, uintptr_t fcn) { pFppL_t fn = (pFppL_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX); } @@ -885,10 +995,12 @@ void vFdddd(x64emu_t *emu, uintptr_t fcn) { vFdddd_t fn = (vFdddd_t)fcn; fn(emu- void vFpiii(x64emu_t *emu, uintptr_t fcn) { vFpiii_t fn = (vFpiii_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX); } void vFpiip(x64emu_t *emu, uintptr_t fcn) { vFpiip_t fn = (vFpiip_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (void*)R_RCX); } void vFpipp(x64emu_t *emu, uintptr_t fcn) { vFpipp_t fn = (vFpipp_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX); } +void vFpupp(x64emu_t *emu, uintptr_t fcn) { vFpupp_t fn = (vFpupp_t)fcn; fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)R_RCX); } void vFpdii(x64emu_t *emu, uintptr_t fcn) { vFpdii_t fn = (vFpdii_t)fcn; fn((void*)R_RDI, emu->xmm[0].d[0], (int32_t)R_RSI, (int32_t)R_RDX); } void vFpddd(x64emu_t *emu, uintptr_t fcn) { vFpddd_t fn = (vFpddd_t)fcn; fn((void*)R_RDI, emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0]); } void vFppip(x64emu_t *emu, uintptr_t fcn) { vFppip_t fn = (vFppip_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX); } void vFppui(x64emu_t *emu, uintptr_t fcn) { vFppui_t fn = (vFppui_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX); } +void vFpppu(x64emu_t *emu, uintptr_t fcn) { vFpppu_t fn = (vFpppu_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint32_t)R_RCX); } void vFpppp(x64emu_t *emu, uintptr_t fcn) { vFpppp_t fn = (vFpppp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX); } void cFpiii(x64emu_t *emu, uintptr_t fcn) { cFpiii_t fn = (cFpiii_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX); } void iFEupp(x64emu_t *emu, uintptr_t fcn) { iFEupp_t fn = (iFEupp_t)fcn; R_RAX=fn(emu, (uint32_t)R_RDI, (void*)R_RSI, (void*)R_RDX); } @@ -901,16 +1013,27 @@ void iFuipp(x64emu_t *emu, uintptr_t fcn) { iFuipp_t fn = (iFuipp_t)fcn; R_RAX=f void iFuuff(x64emu_t *emu, uintptr_t fcn) { iFuuff_t fn = (iFuuff_t)fcn; R_RAX=fn((uint32_t)R_RDI, (uint32_t)R_RSI, emu->xmm[0].f[0], emu->xmm[1].f[0]); } void iFuppp(x64emu_t *emu, uintptr_t fcn) { iFuppp_t fn = (iFuppp_t)fcn; R_RAX=fn((uint32_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX); } void iFpiiu(x64emu_t *emu, uintptr_t fcn) { iFpiiu_t fn = (iFpiiu_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (uint32_t)R_RCX); } +void iFpiiL(x64emu_t *emu, uintptr_t fcn) { iFpiiL_t fn = (iFpiiL_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (uintptr_t)R_RCX); } void iFpiip(x64emu_t *emu, uintptr_t fcn) { iFpiip_t fn = (iFpiip_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (void*)R_RCX); } +void iFpiup(x64emu_t *emu, uintptr_t fcn) { iFpiup_t fn = (iFpiup_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX); } +void iFpipi(x64emu_t *emu, uintptr_t fcn) { iFpipi_t fn = (iFpipi_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX); } void iFpipp(x64emu_t *emu, uintptr_t fcn) { iFpipp_t fn = (iFpipp_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX); } void iFpCCC(x64emu_t *emu, uintptr_t fcn) { iFpCCC_t fn = (iFpCCC_t)fcn; R_RAX=fn((void*)R_RDI, (uint8_t)R_RSI, (uint8_t)R_RDX, (uint8_t)R_RCX); } void iFpWWu(x64emu_t *emu, uintptr_t fcn) { iFpWWu_t fn = (iFpWWu_t)fcn; R_RAX=fn((void*)R_RDI, (uint16_t)R_RSI, (uint16_t)R_RDX, (uint32_t)R_RCX); } +void iFpuip(x64emu_t *emu, uintptr_t fcn) { iFpuip_t fn = (iFpuip_t)fcn; R_RAX=fn((void*)R_RDI, (uint32_t)R_RSI, (int32_t)R_RDX, (void*)R_RCX); } void iFpuup(x64emu_t *emu, uintptr_t fcn) { iFpuup_t fn = (iFpuup_t)fcn; R_RAX=fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX); } +void iFpuLL(x64emu_t *emu, uintptr_t fcn) { iFpuLL_t fn = (iFpuLL_t)fcn; R_RAX=fn((void*)R_RDI, (uint32_t)R_RSI, (uintptr_t)R_RDX, (uintptr_t)R_RCX); } void iFpupV(x64emu_t *emu, uintptr_t fcn) { iFpupV_t fn = (iFpupV_t)fcn; R_RAX=fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)(R_RSP + 8)); } void iFppii(x64emu_t *emu, uintptr_t fcn) { iFppii_t fn = (iFppii_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX); } void iFppiu(x64emu_t *emu, uintptr_t fcn) { iFppiu_t fn = (iFppiu_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (uint32_t)R_RCX); } +void iFppiL(x64emu_t *emu, uintptr_t fcn) { iFppiL_t fn = (iFppiL_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (uintptr_t)R_RCX); } void iFppip(x64emu_t *emu, uintptr_t fcn) { iFppip_t fn = (iFppip_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX); } +void iFppuu(x64emu_t *emu, uintptr_t fcn) { iFppuu_t fn = (iFppuu_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX); } +void iFppup(x64emu_t *emu, uintptr_t fcn) { iFppup_t fn = (iFppup_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX); } +void iFpplp(x64emu_t *emu, uintptr_t fcn) { iFpplp_t fn = (iFpplp_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (intptr_t)R_RDX, (void*)R_RCX); } +void iFppLp(x64emu_t *emu, uintptr_t fcn) { iFppLp_t fn = (iFppLp_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX); } void iFpppi(x64emu_t *emu, uintptr_t fcn) { iFpppi_t fn = (iFpppi_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX); } +void iFpppL(x64emu_t *emu, uintptr_t fcn) { iFpppL_t fn = (iFpppL_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX); } void iFpppp(x64emu_t *emu, uintptr_t fcn) { iFpppp_t fn = (iFpppp_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX); } void IFEpIi(x64emu_t *emu, uintptr_t fcn) { IFEpIi_t fn = (IFEpIi_t)fcn; R_RAX=(uint64_t)fn(emu, (void*)R_RDI, (int64_t)R_RSI, (int32_t)R_RDX); } void uFuuuu(x64emu_t *emu, uintptr_t fcn) { uFuuuu_t fn = (uFuuuu_t)fcn; R_RAX=(uint32_t)fn((uint32_t)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX); } @@ -918,8 +1041,11 @@ void uFpCCC(x64emu_t *emu, uintptr_t fcn) { uFpCCC_t fn = (uFpCCC_t)fcn; R_RAX=( void uFpuip(x64emu_t *emu, uintptr_t fcn) { uFpuip_t fn = (uFpuip_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (int32_t)R_RDX, (void*)R_RCX); } void uFpuuu(x64emu_t *emu, uintptr_t fcn) { uFpuuu_t fn = (uFpuuu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX); } void uFpppi(x64emu_t *emu, uintptr_t fcn) { uFpppi_t fn = (uFpppi_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX); } +void uFpppp(x64emu_t *emu, uintptr_t fcn) { uFpppp_t fn = (uFpppp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX); } +void LFpuuu(x64emu_t *emu, uintptr_t fcn) { LFpuuu_t fn = (LFpuuu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX); } void LFpLLp(x64emu_t *emu, uintptr_t fcn) { LFpLLp_t fn = (LFpLLp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX); } void pFEupp(x64emu_t *emu, uintptr_t fcn) { pFEupp_t fn = (pFEupp_t)fcn; R_RAX=(uintptr_t)fn(emu, (uint32_t)R_RDI, (void*)R_RSI, (void*)R_RDX); } +void pFEpip(x64emu_t *emu, uintptr_t fcn) { pFEpip_t fn = (pFEpip_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX); } void pFEppi(x64emu_t *emu, uintptr_t fcn) { pFEppi_t fn = (pFEppi_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX); } void pFEppp(x64emu_t *emu, uintptr_t fcn) { pFEppp_t fn = (pFEppp_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX); } void pFiiiu(x64emu_t *emu, uintptr_t fcn) { pFiiiu_t fn = (pFiiiu_t)fcn; R_RAX=(uintptr_t)fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (uint32_t)R_RCX); } @@ -928,8 +1054,11 @@ void pFuiii(x64emu_t *emu, uintptr_t fcn) { pFuiii_t fn = (pFuiii_t)fcn; R_RAX=( void pFpiii(x64emu_t *emu, uintptr_t fcn) { pFpiii_t fn = (pFpiii_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX); } void pFpipp(x64emu_t *emu, uintptr_t fcn) { pFpipp_t fn = (pFpipp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX); } void pFpuii(x64emu_t *emu, uintptr_t fcn) { pFpuii_t fn = (pFpuii_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX); } +void pFplpp(x64emu_t *emu, uintptr_t fcn) { pFplpp_t fn = (pFplpp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (intptr_t)R_RSI, (void*)R_RDX, (void*)R_RCX); } void pFppiL(x64emu_t *emu, uintptr_t fcn) { pFppiL_t fn = (pFppiL_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (uintptr_t)R_RCX); } +void pFppip(x64emu_t *emu, uintptr_t fcn) { pFppip_t fn = (pFppip_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX); } void pFppuL(x64emu_t *emu, uintptr_t fcn) { pFppuL_t fn = (pFppuL_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uintptr_t)R_RCX); } +void pFppup(x64emu_t *emu, uintptr_t fcn) { pFppup_t fn = (pFppup_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX); } void pFppLL(x64emu_t *emu, uintptr_t fcn) { pFppLL_t fn = (pFppLL_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (uintptr_t)R_RCX); } void pFpppi(x64emu_t *emu, uintptr_t fcn) { pFpppi_t fn = (pFpppi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX); } void pFpppu(x64emu_t *emu, uintptr_t fcn) { pFpppu_t fn = (pFpppu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint32_t)R_RCX); } @@ -1002,11 +1131,20 @@ void iFipppi(x64emu_t *emu, uintptr_t fcn) { iFipppi_t fn = (iFipppi_t)fcn; R_RA void iFpiiii(x64emu_t *emu, uintptr_t fcn) { iFpiiii_t fn = (iFpiiii_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8); } void iFpiiip(x64emu_t *emu, uintptr_t fcn) { iFpiiip_t fn = (iFpiiip_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8); } void iFpiiuu(x64emu_t *emu, uintptr_t fcn) { iFpiiuu_t fn = (iFpiiuu_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8); } +void iFpiipi(x64emu_t *emu, uintptr_t fcn) { iFpiipi_t fn = (iFpiipi_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8); } void iFpipii(x64emu_t *emu, uintptr_t fcn) { iFpipii_t fn = (iFpipii_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8); } void iFpippp(x64emu_t *emu, uintptr_t fcn) { iFpippp_t fn = (iFpippp_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); } void iFpCCCC(x64emu_t *emu, uintptr_t fcn) { iFpCCCC_t fn = (iFpCCCC_t)fcn; R_RAX=fn((void*)R_RDI, (uint8_t)R_RSI, (uint8_t)R_RDX, (uint8_t)R_RCX, (uint8_t)R_R8); } +void iFpuuLL(x64emu_t *emu, uintptr_t fcn) { iFpuuLL_t fn = (iFpuuLL_t)fcn; R_RAX=fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uintptr_t)R_RCX, (uintptr_t)R_R8); } +void iFpuupp(x64emu_t *emu, uintptr_t fcn) { iFpuupp_t fn = (iFpuupp_t)fcn; R_RAX=fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8); } +void iFppiip(x64emu_t *emu, uintptr_t fcn) { iFppiip_t fn = (iFppiip_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8); } +void iFppiup(x64emu_t *emu, uintptr_t fcn) { iFppiup_t fn = (iFppiup_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (uint32_t)R_RCX, (void*)R_R8); } void iFppipi(x64emu_t *emu, uintptr_t fcn) { iFppipi_t fn = (iFppipi_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8); } +void iFppipp(x64emu_t *emu, uintptr_t fcn) { iFppipp_t fn = (iFppipp_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8); } void iFppupi(x64emu_t *emu, uintptr_t fcn) { iFppupi_t fn = (iFppupi_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8); } +void iFpppii(x64emu_t *emu, uintptr_t fcn) { iFpppii_t fn = (iFpppii_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8); } +void iFpppiL(x64emu_t *emu, uintptr_t fcn) { iFpppiL_t fn = (iFpppiL_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (uintptr_t)R_R8); } +void iFppppi(x64emu_t *emu, uintptr_t fcn) { iFppppi_t fn = (iFppppi_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8); } void iFppppp(x64emu_t *emu, uintptr_t fcn) { iFppppp_t fn = (iFppppp_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); } void IFppIII(x64emu_t *emu, uintptr_t fcn) { IFppIII_t fn = (IFppIII_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8); } void uFEppuu(x64emu_t *emu, uintptr_t fcn) { uFEppuu_t fn = (uFEppuu_t)fcn; R_RAX=(uint32_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX); } @@ -1014,14 +1152,21 @@ void uFiuuuu(x64emu_t *emu, uintptr_t fcn) { uFiuuuu_t fn = (uFiuuuu_t)fcn; R_RA void uFuiiiu(x64emu_t *emu, uintptr_t fcn) { uFuiiiu_t fn = (uFuiiiu_t)fcn; R_RAX=(uint32_t)fn((uint32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (uint32_t)R_R8); } void uFpCCCC(x64emu_t *emu, uintptr_t fcn) { uFpCCCC_t fn = (uFpCCCC_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint8_t)R_RDX, (uint8_t)R_RCX, (uint8_t)R_R8); } void uFpuuuu(x64emu_t *emu, uintptr_t fcn) { uFpuuuu_t fn = (uFpuuuu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8); } +void uFppiip(x64emu_t *emu, uintptr_t fcn) { uFppiip_t fn = (uFppiip_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8); } void uFppppp(x64emu_t *emu, uintptr_t fcn) { uFppppp_t fn = (uFppppp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); } void LFppppp(x64emu_t *emu, uintptr_t fcn) { LFppppp_t fn = (LFppppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); } void pFuiiiu(x64emu_t *emu, uintptr_t fcn) { pFuiiiu_t fn = (pFuiiiu_t)fcn; R_RAX=(uintptr_t)fn((uint32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (uint32_t)R_R8); } void pFuiipp(x64emu_t *emu, uintptr_t fcn) { pFuiipp_t fn = (pFuiipp_t)fcn; R_RAX=(uintptr_t)fn((uint32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8); } +void pFpiiuu(x64emu_t *emu, uintptr_t fcn) { pFpiiuu_t fn = (pFpiiuu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8); } void pFpuiii(x64emu_t *emu, uintptr_t fcn) { pFpuiii_t fn = (pFpuiii_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8); } void pFppipi(x64emu_t *emu, uintptr_t fcn) { pFppipi_t fn = (pFppipi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8); } +void pFppipp(x64emu_t *emu, uintptr_t fcn) { pFppipp_t fn = (pFppipp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8); } +void pFppuuu(x64emu_t *emu, uintptr_t fcn) { pFppuuu_t fn = (pFppuuu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8); } void pFppuup(x64emu_t *emu, uintptr_t fcn) { pFppuup_t fn = (pFppuup_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (void*)R_R8); } +void pFppLLp(x64emu_t *emu, uintptr_t fcn) { pFppLLp_t fn = (pFppLLp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (uintptr_t)R_RCX, (void*)R_R8); } void pFpppip(x64emu_t *emu, uintptr_t fcn) { pFpppip_t fn = (pFpppip_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8); } +void pFpppuu(x64emu_t *emu, uintptr_t fcn) { pFpppuu_t fn = (pFpppuu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8); } +void pFppppp(x64emu_t *emu, uintptr_t fcn) { pFppppp_t fn = (pFppppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); } void vFEiiipp(x64emu_t *emu, uintptr_t fcn) { vFEiiipp_t fn = (vFEiiipp_t)fcn; fn(emu, (int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8); } void vFiiiiii(x64emu_t *emu, uintptr_t fcn) { vFiiiiii_t fn = (vFiiiiii_t)fcn; fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9); } void vFiiiuil(x64emu_t *emu, uintptr_t fcn) { vFiiiuil_t fn = (vFiiiuil_t)fcn; fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (uint32_t)R_RCX, (int32_t)R_R8, (intptr_t)R_R9); } @@ -1070,17 +1215,32 @@ void vFppiiii(x64emu_t *emu, uintptr_t fcn) { vFppiiii_t fn = (vFppiiii_t)fcn; f void vFppupii(x64emu_t *emu, uintptr_t fcn) { vFppupii_t fn = (vFppupii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8, (int32_t)R_R9); } void vFpppppp(x64emu_t *emu, uintptr_t fcn) { vFpppppp_t fn = (vFpppppp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); } void iFEpippi(x64emu_t *emu, uintptr_t fcn) { iFEpippi_t fn = (iFEpippi_t)fcn; R_RAX=fn(emu, (void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8); } +void iFEppppp(x64emu_t *emu, uintptr_t fcn) { iFEppppp_t fn = (iFEppppp_t)fcn; R_RAX=fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); } void iFiiiiii(x64emu_t *emu, uintptr_t fcn) { iFiiiiii_t fn = (iFiiiiii_t)fcn; R_RAX=fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9); } void iFiiiiip(x64emu_t *emu, uintptr_t fcn) { iFiiiiip_t fn = (iFiiiiip_t)fcn; R_RAX=fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (void*)R_R9); } +void iFuppipp(x64emu_t *emu, uintptr_t fcn) { iFuppipp_t fn = (iFuppipp_t)fcn; R_RAX=fn((uint32_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8, (void*)R_R9); } void iFuppppp(x64emu_t *emu, uintptr_t fcn) { iFuppppp_t fn = (iFuppppp_t)fcn; R_RAX=fn((uint32_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); } +void iFpiiiii(x64emu_t *emu, uintptr_t fcn) { iFpiiiii_t fn = (iFpiiiii_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9); } void iFpiiipp(x64emu_t *emu, uintptr_t fcn) { iFpiiipp_t fn = (iFpiiipp_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8, (void*)R_R9); } +void iFppiiuu(x64emu_t *emu, uintptr_t fcn) { iFppiiuu_t fn = (iFppiiuu_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9); } void iFppIppp(x64emu_t *emu, uintptr_t fcn) { iFppIppp_t fn = (iFppIppp_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); } +void iFppuiii(x64emu_t *emu, uintptr_t fcn) { iFppuiii_t fn = (iFppuiii_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9); } +void iFppuiiL(x64emu_t *emu, uintptr_t fcn) { iFppuiiL_t fn = (iFppuiiL_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (uintptr_t)R_R9); } +void iFppuupp(x64emu_t *emu, uintptr_t fcn) { iFppuupp_t fn = (iFppuupp_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (void*)R_R9); } +void iFppupip(x64emu_t *emu, uintptr_t fcn) { iFppupip_t fn = (iFppupip_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8, (void*)R_R9); } +void iFpppipi(x64emu_t *emu, uintptr_t fcn) { iFpppipi_t fn = (iFpppipi_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8, (int32_t)R_R9); } +void iFpppipp(x64emu_t *emu, uintptr_t fcn) { iFpppipp_t fn = (iFpppipp_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8, (void*)R_R9); } +void iFppppii(x64emu_t *emu, uintptr_t fcn) { iFppppii_t fn = (iFppppii_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (int32_t)R_R9); } +void iFpppppi(x64emu_t *emu, uintptr_t fcn) { iFpppppi_t fn = (iFpppppi_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (int32_t)R_R9); } +void iFpppppL(x64emu_t *emu, uintptr_t fcn) { iFpppppL_t fn = (iFpppppL_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (uintptr_t)R_R9); } +void iFpppppp(x64emu_t *emu, uintptr_t fcn) { iFpppppp_t fn = (iFpppppp_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); } void pFEpippp(x64emu_t *emu, uintptr_t fcn) { pFEpippp_t fn = (pFEpippp_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); } void pFiCiiCi(x64emu_t *emu, uintptr_t fcn) { pFiCiiCi_t fn = (pFiCiiCi_t)fcn; R_RAX=(uintptr_t)fn((int32_t)R_RDI, (uint8_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (uint8_t)R_R8, (int32_t)R_R9); } void pFpiiiiu(x64emu_t *emu, uintptr_t fcn) { pFpiiiiu_t fn = (pFpiiiiu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (uint32_t)R_R9); } void pFpippip(x64emu_t *emu, uintptr_t fcn) { pFpippip_t fn = (pFpippip_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (void*)R_R9); } void pFpuuuuu(x64emu_t *emu, uintptr_t fcn) { pFpuuuuu_t fn = (pFpuuuuu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9); } void pFppiiii(x64emu_t *emu, uintptr_t fcn) { pFppiiii_t fn = (pFppiiii_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9); } +void pFpppppp(x64emu_t *emu, uintptr_t fcn) { pFpppppp_t fn = (pFpppppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); } void vFiiiiiip(x64emu_t *emu, uintptr_t fcn) { vFiiiiiip_t fn = (vFiiiiiip_t)fcn; fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8)); } void vFiiiiuup(x64emu_t *emu, uintptr_t fcn) { vFiiiiuup_t fn = (vFiiiiuup_t)fcn; fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(void**)(R_RSP + 8)); } void vFiiupuip(x64emu_t *emu, uintptr_t fcn) { vFiiupuip_t fn = (vFiiupuip_t)fcn; fn((int32_t)R_RDI, (int32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (uint32_t)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8)); } @@ -1118,11 +1278,25 @@ void vFuffffff(x64emu_t *emu, uintptr_t fcn) { vFuffffff_t fn = (vFuffffff_t)fcn void vFudddddd(x64emu_t *emu, uintptr_t fcn) { vFudddddd_t fn = (vFudddddd_t)fcn; fn((uint32_t)R_RDI, emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0], emu->xmm[3].d[0], emu->xmm[4].d[0], emu->xmm[5].d[0]); } void vFpipipii(x64emu_t *emu, uintptr_t fcn) { vFpipipii_t fn = (vFpipipii_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8)); } void vFpddiidd(x64emu_t *emu, uintptr_t fcn) { vFpddiidd_t fn = (vFpddiidd_t)fcn; fn((void*)R_RDI, emu->xmm[0].d[0], emu->xmm[1].d[0], (int32_t)R_RSI, (int32_t)R_RDX, emu->xmm[2].d[0], emu->xmm[3].d[0]); } +void vFpppiiii(x64emu_t *emu, uintptr_t fcn) { vFpppiiii_t fn = (vFpppiiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8)); } +void iFEpppppp(x64emu_t *emu, uintptr_t fcn) { iFEpppppp_t fn = (iFEpppppp_t)fcn; R_RAX=fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); } void iFiiiiiip(x64emu_t *emu, uintptr_t fcn) { iFiiiiiip_t fn = (iFiiiiiip_t)fcn; R_RAX=fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8)); } +void iFpiupiii(x64emu_t *emu, uintptr_t fcn) { iFpiupiii_t fn = (iFpiupiii_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8)); } void iFpuuiuui(x64emu_t *emu, uintptr_t fcn) { iFpuuiuui_t fn = (iFpuuiuui_t)fcn; R_RAX=fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(int32_t*)(R_RSP + 8)); } +void iFpuppppp(x64emu_t *emu, uintptr_t fcn) { iFpuppppp_t fn = (iFpuppppp_t)fcn; R_RAX=fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); } +void iFppiiuui(x64emu_t *emu, uintptr_t fcn) { iFppiiuui_t fn = (iFppiiuui_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(int32_t*)(R_RSP + 8)); } +void iFppiipii(x64emu_t *emu, uintptr_t fcn) { iFppiipii_t fn = (iFppiipii_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8)); } +void iFppipipi(x64emu_t *emu, uintptr_t fcn) { iFppipipi_t fn = (iFppipipi_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8, (void*)R_R9, *(int32_t*)(R_RSP + 8)); } +void iFppipppp(x64emu_t *emu, uintptr_t fcn) { iFppipppp_t fn = (iFppipppp_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); } +void iFpppiiii(x64emu_t *emu, uintptr_t fcn) { iFpppiiii_t fn = (iFpppiiii_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8)); } +void iFpppiiuu(x64emu_t *emu, uintptr_t fcn) { iFpppiiuu_t fn = (iFpppiiuu_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8)); } +void iFpppiipi(x64emu_t *emu, uintptr_t fcn) { iFpppiipi_t fn = (iFpppiipi_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (void*)R_R9, *(int32_t*)(R_RSP + 8)); } +void iFppppiii(x64emu_t *emu, uintptr_t fcn) { iFppppiii_t fn = (iFppppiii_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8)); } void iFppppdpi(x64emu_t *emu, uintptr_t fcn) { iFppppdpi_t fn = (iFppppdpi_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, emu->xmm[0].d[0], (void*)R_R8, (int32_t)R_R9); } void iFppppppp(x64emu_t *emu, uintptr_t fcn) { iFppppppp_t fn = (iFppppppp_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); } void uFuippppp(x64emu_t *emu, uintptr_t fcn) { uFuippppp_t fn = (uFuippppp_t)fcn; R_RAX=(uint32_t)fn((uint32_t)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); } +void pFpppppuu(x64emu_t *emu, uintptr_t fcn) { pFpppppuu_t fn = (pFpppppuu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8)); } +void pFppppppp(x64emu_t *emu, uintptr_t fcn) { pFppppppp_t fn = (pFppppppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); } void vFiiiiuuip(x64emu_t *emu, uintptr_t fcn) { vFiiiiuuip_t fn = (vFiiiiuuip_t)fcn; fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(int32_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); } void vFiupuiuup(x64emu_t *emu, uintptr_t fcn) { vFiupuiuup_t fn = (vFiupuiuup_t)fcn; fn((int32_t)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (int32_t)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); } void vFiupuuuup(x64emu_t *emu, uintptr_t fcn) { vFiupuuuup_t fn = (vFiupuuuup_t)fcn; fn((int32_t)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); } @@ -1143,15 +1317,21 @@ void vFuuuipipp(x64emu_t *emu, uintptr_t fcn) { vFuuuipipp_t fn = (vFuuuipipp_t) void vFuuuuuuuu(x64emu_t *emu, uintptr_t fcn) { vFuuuuuuuu_t fn = (vFuuuuuuuu_t)fcn; fn((uint32_t)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16)); } void vFuuuuufff(x64emu_t *emu, uintptr_t fcn) { vFuuuuufff_t fn = (vFuuuuufff_t)fcn; fn((uint32_t)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0]); } void vFffffffff(x64emu_t *emu, uintptr_t fcn) { vFffffffff_t fn = (vFffffffff_t)fcn; fn(emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0], emu->xmm[3].f[0], emu->xmm[4].f[0], emu->xmm[5].f[0], emu->xmm[6].f[0], emu->xmm[7].f[0]); } +void vFppppiipi(x64emu_t *emu, uintptr_t fcn) { vFppppiipi_t fn = (vFppppiipi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8), *(int32_t*)(R_RSP + 16)); } void iFEpippppp(x64emu_t *emu, uintptr_t fcn) { iFEpippppp_t fn = (iFEpippppp_t)fcn; R_RAX=fn(emu, (void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); } void iFiiiiiiip(x64emu_t *emu, uintptr_t fcn) { iFiiiiiiip_t fn = (iFiiiiiiip_t)fcn; R_RAX=fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); } void iFiiupiupi(x64emu_t *emu, uintptr_t fcn) { iFiiupiupi_t fn = (iFiiupiupi_t)fcn; R_RAX=fn((int32_t)R_RDI, (int32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8, (uint32_t)R_R9, *(void**)(R_RSP + 8), *(int32_t*)(R_RSP + 16)); } void iFuiifpppp(x64emu_t *emu, uintptr_t fcn) { iFuiifpppp_t fn = (iFuiifpppp_t)fcn; R_RAX=fn((uint32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, emu->xmm[0].f[0], (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); } void iFpupppppp(x64emu_t *emu, uintptr_t fcn) { iFpupppppp_t fn = (iFpupppppp_t)fcn; R_RAX=fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); } void iFppIIIppp(x64emu_t *emu, uintptr_t fcn) { iFppIIIppp_t fn = (iFppIIIppp_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); } +void iFpppiippp(x64emu_t *emu, uintptr_t fcn) { iFpppiippp_t fn = (iFpppiippp_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); } void iFpppipipi(x64emu_t *emu, uintptr_t fcn) { iFpppipipi_t fn = (iFpppipipi_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8), *(int32_t*)(R_RSP + 16)); } +void iFpppipppp(x64emu_t *emu, uintptr_t fcn) { iFpppipppp_t fn = (iFpppipppp_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); } +void iFppppiipi(x64emu_t *emu, uintptr_t fcn) { iFppppiipi_t fn = (iFppppiipi_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8), *(int32_t*)(R_RSP + 16)); } +void iFpppppppp(x64emu_t *emu, uintptr_t fcn) { iFpppppppp_t fn = (iFpppppppp_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); } void uFuipppppp(x64emu_t *emu, uintptr_t fcn) { uFuipppppp_t fn = (uFuipppppp_t)fcn; R_RAX=(uint32_t)fn((uint32_t)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); } void pFuiiiuuuu(x64emu_t *emu, uintptr_t fcn) { pFuiiiuuuu_t fn = (pFuiiiuuuu_t)fcn; R_RAX=(uintptr_t)fn((uint32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16)); } +void pFpppuuLLu(x64emu_t *emu, uintptr_t fcn) { pFpppuuLLu_t fn = (pFpppuuLLu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (uintptr_t)R_R9, *(uintptr_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16)); } void vFuiiiiiiii(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiiii_t fn = (vFuiiiiiiii_t)fcn; fn((uint32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(int32_t*)(R_RSP + 24)); } void vFuiiiiiuip(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiuip_t fn = (vFuiiiiiuip_t)fcn; fn((uint32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(uint32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(void**)(R_RSP + 24)); } void vFuiiiiiuup(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiuup_t fn = (vFuiiiiiuup_t)fcn; fn((uint32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(uint32_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16), *(void**)(R_RSP + 24)); } @@ -1167,10 +1347,16 @@ void vFuupiuiuuf(x64emu_t *emu, uintptr_t fcn) { vFuupiuiuuf_t fn = (vFuupiuiuuf void vFuffffffff(x64emu_t *emu, uintptr_t fcn) { vFuffffffff_t fn = (vFuffffffff_t)fcn; fn((uint32_t)R_RDI, emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0], emu->xmm[3].f[0], emu->xmm[4].f[0], emu->xmm[5].f[0], emu->xmm[6].f[0], emu->xmm[7].f[0]); } void vFffuuuufff(x64emu_t *emu, uintptr_t fcn) { vFffuuuufff_t fn = (vFffuuuufff_t)fcn; fn(emu->xmm[0].f[0], emu->xmm[1].f[0], (uint32_t)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, emu->xmm[2].f[0], emu->xmm[3].f[0], emu->xmm[4].f[0]); } void vFddddddddd(x64emu_t *emu, uintptr_t fcn) { vFddddddddd_t fn = (vFddddddddd_t)fcn; fn(emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0], emu->xmm[3].d[0], emu->xmm[4].d[0], emu->xmm[5].d[0], emu->xmm[6].d[0], emu->xmm[7].d[0], *(double*)(R_RSP + 8)); } +void vFpppppippp(x64emu_t *emu, uintptr_t fcn) { vFpppppippp_t fn = (vFpppppippp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24)); } void iFiiiiiiiip(x64emu_t *emu, uintptr_t fcn) { iFiiiiiiiip_t fn = (iFiiiiiiiip_t)fcn; R_RAX=fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(void**)(R_RSP + 24)); } void iFiiiipiiip(x64emu_t *emu, uintptr_t fcn) { iFiiiipiiip_t fn = (iFiiiipiiip_t)fcn; R_RAX=fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(void**)(R_RSP + 24)); } void iFdddpppppp(x64emu_t *emu, uintptr_t fcn) { iFdddpppppp_t fn = (iFdddpppppp_t)fcn; R_RAX=fn(emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0], (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); } +void iFppiuiippL(x64emu_t *emu, uintptr_t fcn) { iFppiuiippL_t fn = (iFppiuiippL_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (uint32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(uintptr_t*)(R_RSP + 24)); } +void iFpppiiuuii(x64emu_t *emu, uintptr_t fcn) { iFpppiiuuii_t fn = (iFpppiiuuii_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(int32_t*)(R_RSP + 24)); } +void iFppppppppp(x64emu_t *emu, uintptr_t fcn) { iFppppppppp_t fn = (iFppppppppp_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24)); } +void pFEppiiuuLi(x64emu_t *emu, uintptr_t fcn) { pFEppiiuuLi_t fn = (pFEppiiuuLi_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(uintptr_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16)); } void pFpiiiiuuuu(x64emu_t *emu, uintptr_t fcn) { pFpiiiiuuuu_t fn = (pFpiiiiuuuu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16), *(uint32_t*)(R_RSP + 24)); } +void pFppiiuuuLL(x64emu_t *emu, uintptr_t fcn) { pFppiiuuuLL_t fn = (pFppiiuuuLL_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8), *(uintptr_t*)(R_RSP + 16), *(uintptr_t*)(R_RSP + 24)); } void vFiiiiiiiiiu(x64emu_t *emu, uintptr_t fcn) { vFiiiiiiiiiu_t fn = (vFiiiiiiiiiu_t)fcn; fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(int32_t*)(R_RSP + 24), *(uint32_t*)(R_RSP + 32)); } void vFuiiiiiiiii(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiiiii_t fn = (vFuiiiiiiiii_t)fcn; fn((uint32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(int32_t*)(R_RSP + 24), *(int32_t*)(R_RSP + 32)); } void vFuiiiiiiuup(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiiuup_t fn = (vFuiiiiiiuup_t)fcn; fn((uint32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16), *(uint32_t*)(R_RSP + 24), *(void**)(R_RSP + 32)); } @@ -1187,6 +1373,10 @@ void vFuffiiffiip(x64emu_t *emu, uintptr_t fcn) { vFuffiiffiip_t fn = (vFuffiiff void vFuddiiddiip(x64emu_t *emu, uintptr_t fcn) { vFuddiiddiip_t fn = (vFuddiiddiip_t)fcn; fn((uint32_t)R_RDI, emu->xmm[0].d[0], emu->xmm[1].d[0], (int32_t)R_RSI, (int32_t)R_RDX, emu->xmm[2].d[0], emu->xmm[3].d[0], (int32_t)R_RCX, (int32_t)R_R8, (void*)R_R9); } void vFffffffffff(x64emu_t *emu, uintptr_t fcn) { vFffffffffff_t fn = (vFffffffffff_t)fcn; fn(emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0], emu->xmm[3].f[0], emu->xmm[4].f[0], emu->xmm[5].f[0], emu->xmm[6].f[0], emu->xmm[7].f[0], *(float*)(R_RSP + 8), *(float*)(R_RSP + 16)); } void iFiiiiiiiiip(x64emu_t *emu, uintptr_t fcn) { iFiiiiiiiiip_t fn = (iFiiiiiiiiip_t)fcn; R_RAX=fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(int32_t*)(R_RSP + 24), *(void**)(R_RSP + 32)); } +void iFpuupiuiipp(x64emu_t *emu, uintptr_t fcn) { iFpuupiuiipp_t fn = (iFpuupiuiipp_t)fcn; R_RAX=fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8, (uint32_t)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32)); } +void iFppppiiuuii(x64emu_t *emu, uintptr_t fcn) { iFppppiiuuii_t fn = (iFppppiiuuii_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(uint32_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16), *(int32_t*)(R_RSP + 24), *(int32_t*)(R_RSP + 32)); } +void pFppuiipuuii(x64emu_t *emu, uintptr_t fcn) { pFppuiipuuii_t fn = (pFppuiipuuii_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (void*)R_R9, *(uint32_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16), *(int32_t*)(R_RSP + 24), *(int32_t*)(R_RSP + 32)); } +void pFpppppppppp(x64emu_t *emu, uintptr_t fcn) { pFpppppppppp_t fn = (pFpppppppppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32)); } void vFuiiiiiiiiip(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiiiiip_t fn = (vFuiiiiiiiiip_t)fcn; fn((uint32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(int32_t*)(R_RSP + 24), *(int32_t*)(R_RSP + 32), *(void**)(R_RSP + 40)); } void vFuiiiiiiiuip(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiiiuip_t fn = (vFuiiiiiiiuip_t)fcn; fn((uint32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(uint32_t*)(R_RSP + 24), *(int32_t*)(R_RSP + 32), *(void**)(R_RSP + 40)); } void vFuiiiiiiiuup(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiiiuup_t fn = (vFuiiiiiiiuup_t)fcn; fn((uint32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(uint32_t*)(R_RSP + 24), *(uint32_t*)(R_RSP + 32), *(void**)(R_RSP + 40)); } @@ -1198,20 +1388,30 @@ void vFuufffffffff(x64emu_t *emu, uintptr_t fcn) { vFuufffffffff_t fn = (vFuufff void vFuuddiiddiip(x64emu_t *emu, uintptr_t fcn) { vFuuddiiddiip_t fn = (vFuuddiiddiip_t)fcn; fn((uint32_t)R_RDI, (uint32_t)R_RSI, emu->xmm[0].d[0], emu->xmm[1].d[0], (int32_t)R_RDX, (int32_t)R_RCX, emu->xmm[2].d[0], emu->xmm[3].d[0], (int32_t)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8)); } void vFuffffffffff(x64emu_t *emu, uintptr_t fcn) { vFuffffffffff_t fn = (vFuffffffffff_t)fcn; fn((uint32_t)R_RDI, emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0], emu->xmm[3].f[0], emu->xmm[4].f[0], emu->xmm[5].f[0], emu->xmm[6].f[0], emu->xmm[7].f[0], *(float*)(R_RSP + 8), *(float*)(R_RSP + 16)); } void vFpipipiipiii(x64emu_t *emu, uintptr_t fcn) { vFpipipiipiii_t fn = (vFpipipiipiii_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(void**)(R_RSP + 16), *(int32_t*)(R_RSP + 24), *(int32_t*)(R_RSP + 32), *(int32_t*)(R_RSP + 40)); } +void iFEppppiiiiuu(x64emu_t *emu, uintptr_t fcn) { iFEppppiiiiuu_t fn = (iFEppppiiiiuu_t)fcn; R_RAX=fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(uint32_t*)(R_RSP + 24), *(uint32_t*)(R_RSP + 32)); } void iFiiiiiiiiiip(x64emu_t *emu, uintptr_t fcn) { iFiiiiiiiiiip_t fn = (iFiiiiiiiiiip_t)fcn; R_RAX=fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(int32_t*)(R_RSP + 24), *(int32_t*)(R_RSP + 32), *(void**)(R_RSP + 40)); } +void iFppppiiuuiiL(x64emu_t *emu, uintptr_t fcn) { iFppppiiuuiiL_t fn = (iFppppiiuuiiL_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(uint32_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16), *(int32_t*)(R_RSP + 24), *(int32_t*)(R_RSP + 32), *(uintptr_t*)(R_RSP + 40)); } +void pFEppuiipuuii(x64emu_t *emu, uintptr_t fcn) { pFEppuiipuuii_t fn = (pFEppuiipuuii_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (void*)R_R9, *(uint32_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16), *(int32_t*)(R_RSP + 24), *(int32_t*)(R_RSP + 32)); } void vFuuiiiiiiiuip(x64emu_t *emu, uintptr_t fcn) { vFuuiiiiiiiuip_t fn = (vFuuiiiiiiiuip_t)fcn; fn((uint32_t)R_RDI, (uint32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(int32_t*)(R_RSP + 24), *(uint32_t*)(R_RSP + 32), *(int32_t*)(R_RSP + 40), *(void**)(R_RSP + 48)); } void vFuuiiiiiiiuup(x64emu_t *emu, uintptr_t fcn) { vFuuiiiiiiiuup_t fn = (vFuuiiiiiiiuup_t)fcn; fn((uint32_t)R_RDI, (uint32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(int32_t*)(R_RSP + 24), *(uint32_t*)(R_RSP + 32), *(uint32_t*)(R_RSP + 40), *(void**)(R_RSP + 48)); } void vFuuuuuuuuuuuu(x64emu_t *emu, uintptr_t fcn) { vFuuuuuuuuuuuu_t fn = (vFuuuuuuuuuuuu_t)fcn; fn((uint32_t)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16), *(uint32_t*)(R_RSP + 24), *(uint32_t*)(R_RSP + 32), *(uint32_t*)(R_RSP + 40), *(uint32_t*)(R_RSP + 48)); } void vFffffffffffff(x64emu_t *emu, uintptr_t fcn) { vFffffffffffff_t fn = (vFffffffffffff_t)fcn; fn(emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0], emu->xmm[3].f[0], emu->xmm[4].f[0], emu->xmm[5].f[0], emu->xmm[6].f[0], emu->xmm[7].f[0], *(float*)(R_RSP + 8), *(float*)(R_RSP + 16), *(float*)(R_RSP + 24), *(float*)(R_RSP + 32)); } +void iFpppllipppppp(x64emu_t *emu, uintptr_t fcn) { iFpppllipppppp_t fn = (iFpppllipppppp_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (intptr_t)R_RCX, (intptr_t)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48)); } +void pFEppiiuuuipii(x64emu_t *emu, uintptr_t fcn) { pFEppiiuuuipii_t fn = (pFEppiiuuuipii_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(void**)(R_RSP + 24), *(int32_t*)(R_RSP + 32), *(int32_t*)(R_RSP + 40)); } +void pFppiiuuuiupLp(x64emu_t *emu, uintptr_t fcn) { pFppiiuuuiupLp_t fn = (pFppiiuuuiupLp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(uint32_t*)(R_RSP + 24), *(void**)(R_RSP + 32), *(uintptr_t*)(R_RSP + 40), *(void**)(R_RSP + 48)); } void vFuiiiiiiiiiuup(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiiiiiuup_t fn = (vFuiiiiiiiiiuup_t)fcn; fn((uint32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(int32_t*)(R_RSP + 24), *(int32_t*)(R_RSP + 32), *(uint32_t*)(R_RSP + 40), *(uint32_t*)(R_RSP + 48), *(void**)(R_RSP + 56)); } void vFuuuuuuuuuuuuu(x64emu_t *emu, uintptr_t fcn) { vFuuuuuuuuuuuuu_t fn = (vFuuuuuuuuuuuuu_t)fcn; fn((uint32_t)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16), *(uint32_t*)(R_RSP + 24), *(uint32_t*)(R_RSP + 32), *(uint32_t*)(R_RSP + 40), *(uint32_t*)(R_RSP + 48), *(uint32_t*)(R_RSP + 56)); } void vFuffffffffffff(x64emu_t *emu, uintptr_t fcn) { vFuffffffffffff_t fn = (vFuffffffffffff_t)fcn; fn((uint32_t)R_RDI, emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0], emu->xmm[3].f[0], emu->xmm[4].f[0], emu->xmm[5].f[0], emu->xmm[6].f[0], emu->xmm[7].f[0], *(float*)(R_RSP + 8), *(float*)(R_RSP + 16), *(float*)(R_RSP + 24), *(float*)(R_RSP + 32)); } void iFddddpppddpppp(x64emu_t *emu, uintptr_t fcn) { iFddddpppddpppp_t fn = (iFddddpppddpppp_t)fcn; R_RAX=fn(emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0], emu->xmm[3].d[0], (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, emu->xmm[4].d[0], emu->xmm[5].d[0], (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); } +void iFpippuuuiipppp(x64emu_t *emu, uintptr_t fcn) { iFpippuuuiipppp_t fn = (iFpippuuuiipppp_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(int32_t*)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48), *(void**)(R_RSP + 56)); } +void pFppppppppppppp(x64emu_t *emu, uintptr_t fcn) { pFppppppppppppp_t fn = (pFppppppppppppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48), *(void**)(R_RSP + 56)); } void vFuffiiffiiffiip(x64emu_t *emu, uintptr_t fcn) { vFuffiiffiiffiip_t fn = (vFuffiiffiiffiip_t)fcn; fn((uint32_t)R_RDI, emu->xmm[0].f[0], emu->xmm[1].f[0], (int32_t)R_RSI, (int32_t)R_RDX, emu->xmm[2].f[0], emu->xmm[3].f[0], (int32_t)R_RCX, (int32_t)R_R8, emu->xmm[4].f[0], emu->xmm[5].f[0], (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); } void vFuddiiddiiddiip(x64emu_t *emu, uintptr_t fcn) { vFuddiiddiiddiip_t fn = (vFuddiiddiiddiip_t)fcn; fn((uint32_t)R_RDI, emu->xmm[0].d[0], emu->xmm[1].d[0], (int32_t)R_RSI, (int32_t)R_RDX, emu->xmm[2].d[0], emu->xmm[3].d[0], (int32_t)R_RCX, (int32_t)R_R8, emu->xmm[4].d[0], emu->xmm[5].d[0], (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); } void vFuuiiiiuuiiiiiii(x64emu_t *emu, uintptr_t fcn) { vFuuiiiiuuiiiiiii_t fn = (vFuuiiiiuuiiiiiii_t)fcn; fn((uint32_t)R_RDI, (uint32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(uint32_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16), *(int32_t*)(R_RSP + 24), *(int32_t*)(R_RSP + 32), *(int32_t*)(R_RSP + 40), *(int32_t*)(R_RSP + 48), *(int32_t*)(R_RSP + 56), *(int32_t*)(R_RSP + 64), *(int32_t*)(R_RSP + 72)); } void vFfffffffffffffff(x64emu_t *emu, uintptr_t fcn) { vFfffffffffffffff_t fn = (vFfffffffffffffff_t)fcn; fn(emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0], emu->xmm[3].f[0], emu->xmm[4].f[0], emu->xmm[5].f[0], emu->xmm[6].f[0], emu->xmm[7].f[0], *(float*)(R_RSP + 8), *(float*)(R_RSP + 16), *(float*)(R_RSP + 24), *(float*)(R_RSP + 32), *(float*)(R_RSP + 40), *(float*)(R_RSP + 48), *(float*)(R_RSP + 56)); } +void uFpppppppppppppppp(x64emu_t *emu, uintptr_t fcn) { uFpppppppppppppppp_t fn = (uFpppppppppppppppp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48), *(void**)(R_RSP + 56), *(void**)(R_RSP + 64), *(void**)(R_RSP + 72), *(void**)(R_RSP + 80)); } void vFppuiiiiipuiiiiiiii(x64emu_t *emu, uintptr_t fcn) { vFppuiiiiipuiiiiiiii_t fn = (vFppuiiiiipuiiiiiiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(void**)(R_RSP + 24), *(uint32_t*)(R_RSP + 32), *(int32_t*)(R_RSP + 40), *(int32_t*)(R_RSP + 48), *(int32_t*)(R_RSP + 56), *(int32_t*)(R_RSP + 64), *(int32_t*)(R_RSP + 72), *(int32_t*)(R_RSP + 80), *(int32_t*)(R_RSP + 88), *(int32_t*)(R_RSP + 96)); } +void pFipppppppppppppppppppppp(x64emu_t *emu, uintptr_t fcn) { pFipppppppppppppppppppppp_t fn = (pFipppppppppppppppppppppp_t)fcn; R_RAX=(uintptr_t)fn((int32_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48), *(void**)(R_RSP + 56), *(void**)(R_RSP + 64), *(void**)(R_RSP + 72), *(void**)(R_RSP + 80), *(void**)(R_RSP + 88), *(void**)(R_RSP + 96), *(void**)(R_RSP + 104), *(void**)(R_RSP + 112), *(void**)(R_RSP + 120), *(void**)(R_RSP + 128), *(void**)(R_RSP + 136)); } #if defined(HAVE_LD80BITS) void DFD(x64emu_t *emu, uintptr_t fcn) { DFD_t fn = (DFD_t)fcn; long double ld=fn(*(long double*)(R_RSP + 8)); fpu_do_push(emu); ST0val = ld; } diff --git a/src/wrapped/generated/wrapper.h b/src/wrapped/generated/wrapper.h index f9a81519..ac05123b 100644 --- a/src/wrapped/generated/wrapper.h +++ b/src/wrapped/generated/wrapper.h @@ -91,6 +91,7 @@ void vFff(x64emu_t *emu, uintptr_t fnc); void vFfp(x64emu_t *emu, uintptr_t fnc); void vFdd(x64emu_t *emu, uintptr_t fnc); void vFpi(x64emu_t *emu, uintptr_t fnc); +void vFpL(x64emu_t *emu, uintptr_t fnc); void vFpp(x64emu_t *emu, uintptr_t fnc); void cFpp(x64emu_t *emu, uintptr_t fnc); void iFEp(x64emu_t *emu, uintptr_t fnc); @@ -107,6 +108,8 @@ void iFpi(x64emu_t *emu, uintptr_t fnc); void iFpC(x64emu_t *emu, uintptr_t fnc); void iFpu(x64emu_t *emu, uintptr_t fnc); void iFpf(x64emu_t *emu, uintptr_t fnc); +void iFpl(x64emu_t *emu, uintptr_t fnc); +void iFpL(x64emu_t *emu, uintptr_t fnc); void iFpp(x64emu_t *emu, uintptr_t fnc); void IFEp(x64emu_t *emu, uintptr_t fnc); void CFui(x64emu_t *emu, uintptr_t fnc); @@ -127,6 +130,7 @@ void dFdi(x64emu_t *emu, uintptr_t fnc); void dFdd(x64emu_t *emu, uintptr_t fnc); void dFdp(x64emu_t *emu, uintptr_t fnc); void dFpp(x64emu_t *emu, uintptr_t fnc); +void LFpi(x64emu_t *emu, uintptr_t fnc); void LFpL(x64emu_t *emu, uintptr_t fnc); void pFEp(x64emu_t *emu, uintptr_t fnc); void pFii(x64emu_t *emu, uintptr_t fnc); @@ -172,11 +176,13 @@ void vFfff(x64emu_t *emu, uintptr_t fnc); void vFfpp(x64emu_t *emu, uintptr_t fnc); void vFddd(x64emu_t *emu, uintptr_t fnc); void vFdpp(x64emu_t *emu, uintptr_t fnc); +void vFLpp(x64emu_t *emu, uintptr_t fnc); void vFpii(x64emu_t *emu, uintptr_t fnc); void vFpiu(x64emu_t *emu, uintptr_t fnc); void vFpif(x64emu_t *emu, uintptr_t fnc); void vFpid(x64emu_t *emu, uintptr_t fnc); void vFpip(x64emu_t *emu, uintptr_t fnc); +void vFpui(x64emu_t *emu, uintptr_t fnc); void vFppi(x64emu_t *emu, uintptr_t fnc); void vFppu(x64emu_t *emu, uintptr_t fnc); void vFppp(x64emu_t *emu, uintptr_t fnc); @@ -200,6 +206,8 @@ void iFpuL(x64emu_t *emu, uintptr_t fnc); void iFpup(x64emu_t *emu, uintptr_t fnc); void iFpfu(x64emu_t *emu, uintptr_t fnc); void iFpff(x64emu_t *emu, uintptr_t fnc); +void iFplp(x64emu_t *emu, uintptr_t fnc); +void iFpLp(x64emu_t *emu, uintptr_t fnc); void iFppi(x64emu_t *emu, uintptr_t fnc); void iFppu(x64emu_t *emu, uintptr_t fnc); void iFppL(x64emu_t *emu, uintptr_t fnc); @@ -224,6 +232,7 @@ void fFfff(x64emu_t *emu, uintptr_t fnc); void fFffp(x64emu_t *emu, uintptr_t fnc); void dFddd(x64emu_t *emu, uintptr_t fnc); void dFddp(x64emu_t *emu, uintptr_t fnc); +void LFpii(x64emu_t *emu, uintptr_t fnc); void pFEip(x64emu_t *emu, uintptr_t fnc); void pFEpi(x64emu_t *emu, uintptr_t fnc); void pFEpp(x64emu_t *emu, uintptr_t fnc); @@ -238,6 +247,7 @@ void pFpiu(x64emu_t *emu, uintptr_t fnc); void pFpiL(x64emu_t *emu, uintptr_t fnc); void pFpip(x64emu_t *emu, uintptr_t fnc); void pFpuu(x64emu_t *emu, uintptr_t fnc); +void pFpuL(x64emu_t *emu, uintptr_t fnc); void pFppi(x64emu_t *emu, uintptr_t fnc); void pFppu(x64emu_t *emu, uintptr_t fnc); void pFppL(x64emu_t *emu, uintptr_t fnc); @@ -285,10 +295,12 @@ void vFdddd(x64emu_t *emu, uintptr_t fnc); void vFpiii(x64emu_t *emu, uintptr_t fnc); void vFpiip(x64emu_t *emu, uintptr_t fnc); void vFpipp(x64emu_t *emu, uintptr_t fnc); +void vFpupp(x64emu_t *emu, uintptr_t fnc); void vFpdii(x64emu_t *emu, uintptr_t fnc); void vFpddd(x64emu_t *emu, uintptr_t fnc); void vFppip(x64emu_t *emu, uintptr_t fnc); void vFppui(x64emu_t *emu, uintptr_t fnc); +void vFpppu(x64emu_t *emu, uintptr_t fnc); void vFpppp(x64emu_t *emu, uintptr_t fnc); void cFpiii(x64emu_t *emu, uintptr_t fnc); void iFEupp(x64emu_t *emu, uintptr_t fnc); @@ -301,16 +313,27 @@ void iFuipp(x64emu_t *emu, uintptr_t fnc); void iFuuff(x64emu_t *emu, uintptr_t fnc); void iFuppp(x64emu_t *emu, uintptr_t fnc); void iFpiiu(x64emu_t *emu, uintptr_t fnc); +void iFpiiL(x64emu_t *emu, uintptr_t fnc); void iFpiip(x64emu_t *emu, uintptr_t fnc); +void iFpiup(x64emu_t *emu, uintptr_t fnc); +void iFpipi(x64emu_t *emu, uintptr_t fnc); void iFpipp(x64emu_t *emu, uintptr_t fnc); void iFpCCC(x64emu_t *emu, uintptr_t fnc); void iFpWWu(x64emu_t *emu, uintptr_t fnc); +void iFpuip(x64emu_t *emu, uintptr_t fnc); void iFpuup(x64emu_t *emu, uintptr_t fnc); +void iFpuLL(x64emu_t *emu, uintptr_t fnc); void iFpupV(x64emu_t *emu, uintptr_t fnc); void iFppii(x64emu_t *emu, uintptr_t fnc); void iFppiu(x64emu_t *emu, uintptr_t fnc); +void iFppiL(x64emu_t *emu, uintptr_t fnc); void iFppip(x64emu_t *emu, uintptr_t fnc); +void iFppuu(x64emu_t *emu, uintptr_t fnc); +void iFppup(x64emu_t *emu, uintptr_t fnc); +void iFpplp(x64emu_t *emu, uintptr_t fnc); +void iFppLp(x64emu_t *emu, uintptr_t fnc); void iFpppi(x64emu_t *emu, uintptr_t fnc); +void iFpppL(x64emu_t *emu, uintptr_t fnc); void iFpppp(x64emu_t *emu, uintptr_t fnc); void IFEpIi(x64emu_t *emu, uintptr_t fnc); void uFuuuu(x64emu_t *emu, uintptr_t fnc); @@ -318,8 +341,11 @@ void uFpCCC(x64emu_t *emu, uintptr_t fnc); void uFpuip(x64emu_t *emu, uintptr_t fnc); void uFpuuu(x64emu_t *emu, uintptr_t fnc); void uFpppi(x64emu_t *emu, uintptr_t fnc); +void uFpppp(x64emu_t *emu, uintptr_t fnc); +void LFpuuu(x64emu_t *emu, uintptr_t fnc); void LFpLLp(x64emu_t *emu, uintptr_t fnc); void pFEupp(x64emu_t *emu, uintptr_t fnc); +void pFEpip(x64emu_t *emu, uintptr_t fnc); void pFEppi(x64emu_t *emu, uintptr_t fnc); void pFEppp(x64emu_t *emu, uintptr_t fnc); void pFiiiu(x64emu_t *emu, uintptr_t fnc); @@ -328,8 +354,11 @@ void pFuiii(x64emu_t *emu, uintptr_t fnc); void pFpiii(x64emu_t *emu, uintptr_t fnc); void pFpipp(x64emu_t *emu, uintptr_t fnc); void pFpuii(x64emu_t *emu, uintptr_t fnc); +void pFplpp(x64emu_t *emu, uintptr_t fnc); void pFppiL(x64emu_t *emu, uintptr_t fnc); +void pFppip(x64emu_t *emu, uintptr_t fnc); void pFppuL(x64emu_t *emu, uintptr_t fnc); +void pFppup(x64emu_t *emu, uintptr_t fnc); void pFppLL(x64emu_t *emu, uintptr_t fnc); void pFpppi(x64emu_t *emu, uintptr_t fnc); void pFpppu(x64emu_t *emu, uintptr_t fnc); @@ -402,11 +431,20 @@ void iFipppi(x64emu_t *emu, uintptr_t fnc); void iFpiiii(x64emu_t *emu, uintptr_t fnc); void iFpiiip(x64emu_t *emu, uintptr_t fnc); void iFpiiuu(x64emu_t *emu, uintptr_t fnc); +void iFpiipi(x64emu_t *emu, uintptr_t fnc); void iFpipii(x64emu_t *emu, uintptr_t fnc); void iFpippp(x64emu_t *emu, uintptr_t fnc); void iFpCCCC(x64emu_t *emu, uintptr_t fnc); +void iFpuuLL(x64emu_t *emu, uintptr_t fnc); +void iFpuupp(x64emu_t *emu, uintptr_t fnc); +void iFppiip(x64emu_t *emu, uintptr_t fnc); +void iFppiup(x64emu_t *emu, uintptr_t fnc); void iFppipi(x64emu_t *emu, uintptr_t fnc); +void iFppipp(x64emu_t *emu, uintptr_t fnc); void iFppupi(x64emu_t *emu, uintptr_t fnc); +void iFpppii(x64emu_t *emu, uintptr_t fnc); +void iFpppiL(x64emu_t *emu, uintptr_t fnc); +void iFppppi(x64emu_t *emu, uintptr_t fnc); void iFppppp(x64emu_t *emu, uintptr_t fnc); void IFppIII(x64emu_t *emu, uintptr_t fnc); void uFEppuu(x64emu_t *emu, uintptr_t fnc); @@ -414,14 +452,21 @@ void uFiuuuu(x64emu_t *emu, uintptr_t fnc); void uFuiiiu(x64emu_t *emu, uintptr_t fnc); void uFpCCCC(x64emu_t *emu, uintptr_t fnc); void uFpuuuu(x64emu_t *emu, uintptr_t fnc); +void uFppiip(x64emu_t *emu, uintptr_t fnc); void uFppppp(x64emu_t *emu, uintptr_t fnc); void LFppppp(x64emu_t *emu, uintptr_t fnc); void pFuiiiu(x64emu_t *emu, uintptr_t fnc); void pFuiipp(x64emu_t *emu, uintptr_t fnc); +void pFpiiuu(x64emu_t *emu, uintptr_t fnc); void pFpuiii(x64emu_t *emu, uintptr_t fnc); void pFppipi(x64emu_t *emu, uintptr_t fnc); +void pFppipp(x64emu_t *emu, uintptr_t fnc); +void pFppuuu(x64emu_t *emu, uintptr_t fnc); void pFppuup(x64emu_t *emu, uintptr_t fnc); +void pFppLLp(x64emu_t *emu, uintptr_t fnc); void pFpppip(x64emu_t *emu, uintptr_t fnc); +void pFpppuu(x64emu_t *emu, uintptr_t fnc); +void pFppppp(x64emu_t *emu, uintptr_t fnc); void vFEiiipp(x64emu_t *emu, uintptr_t fnc); void vFiiiiii(x64emu_t *emu, uintptr_t fnc); void vFiiiuil(x64emu_t *emu, uintptr_t fnc); @@ -470,17 +515,32 @@ void vFppiiii(x64emu_t *emu, uintptr_t fnc); void vFppupii(x64emu_t *emu, uintptr_t fnc); void vFpppppp(x64emu_t *emu, uintptr_t fnc); void iFEpippi(x64emu_t *emu, uintptr_t fnc); +void iFEppppp(x64emu_t *emu, uintptr_t fnc); void iFiiiiii(x64emu_t *emu, uintptr_t fnc); void iFiiiiip(x64emu_t *emu, uintptr_t fnc); +void iFuppipp(x64emu_t *emu, uintptr_t fnc); void iFuppppp(x64emu_t *emu, uintptr_t fnc); +void iFpiiiii(x64emu_t *emu, uintptr_t fnc); void iFpiiipp(x64emu_t *emu, uintptr_t fnc); +void iFppiiuu(x64emu_t *emu, uintptr_t fnc); void iFppIppp(x64emu_t *emu, uintptr_t fnc); +void iFppuiii(x64emu_t *emu, uintptr_t fnc); +void iFppuiiL(x64emu_t *emu, uintptr_t fnc); +void iFppuupp(x64emu_t *emu, uintptr_t fnc); +void iFppupip(x64emu_t *emu, uintptr_t fnc); +void iFpppipi(x64emu_t *emu, uintptr_t fnc); +void iFpppipp(x64emu_t *emu, uintptr_t fnc); +void iFppppii(x64emu_t *emu, uintptr_t fnc); +void iFpppppi(x64emu_t *emu, uintptr_t fnc); +void iFpppppL(x64emu_t *emu, uintptr_t fnc); +void iFpppppp(x64emu_t *emu, uintptr_t fnc); void pFEpippp(x64emu_t *emu, uintptr_t fnc); void pFiCiiCi(x64emu_t *emu, uintptr_t fnc); void pFpiiiiu(x64emu_t *emu, uintptr_t fnc); void pFpippip(x64emu_t *emu, uintptr_t fnc); void pFpuuuuu(x64emu_t *emu, uintptr_t fnc); void pFppiiii(x64emu_t *emu, uintptr_t fnc); +void pFpppppp(x64emu_t *emu, uintptr_t fnc); void vFiiiiiip(x64emu_t *emu, uintptr_t fnc); void vFiiiiuup(x64emu_t *emu, uintptr_t fnc); void vFiiupuip(x64emu_t *emu, uintptr_t fnc); @@ -518,11 +578,25 @@ void vFuffffff(x64emu_t *emu, uintptr_t fnc); void vFudddddd(x64emu_t *emu, uintptr_t fnc); void vFpipipii(x64emu_t *emu, uintptr_t fnc); void vFpddiidd(x64emu_t *emu, uintptr_t fnc); +void vFpppiiii(x64emu_t *emu, uintptr_t fnc); +void iFEpppppp(x64emu_t *emu, uintptr_t fnc); void iFiiiiiip(x64emu_t *emu, uintptr_t fnc); +void iFpiupiii(x64emu_t *emu, uintptr_t fnc); void iFpuuiuui(x64emu_t *emu, uintptr_t fnc); +void iFpuppppp(x64emu_t *emu, uintptr_t fnc); +void iFppiiuui(x64emu_t *emu, uintptr_t fnc); +void iFppiipii(x64emu_t *emu, uintptr_t fnc); +void iFppipipi(x64emu_t *emu, uintptr_t fnc); +void iFppipppp(x64emu_t *emu, uintptr_t fnc); +void iFpppiiii(x64emu_t *emu, uintptr_t fnc); +void iFpppiiuu(x64emu_t *emu, uintptr_t fnc); +void iFpppiipi(x64emu_t *emu, uintptr_t fnc); +void iFppppiii(x64emu_t *emu, uintptr_t fnc); void iFppppdpi(x64emu_t *emu, uintptr_t fnc); void iFppppppp(x64emu_t *emu, uintptr_t fnc); void uFuippppp(x64emu_t *emu, uintptr_t fnc); +void pFpppppuu(x64emu_t *emu, uintptr_t fnc); +void pFppppppp(x64emu_t *emu, uintptr_t fnc); void vFiiiiuuip(x64emu_t *emu, uintptr_t fnc); void vFiupuiuup(x64emu_t *emu, uintptr_t fnc); void vFiupuuuup(x64emu_t *emu, uintptr_t fnc); @@ -543,15 +617,21 @@ void vFuuuipipp(x64emu_t *emu, uintptr_t fnc); void vFuuuuuuuu(x64emu_t *emu, uintptr_t fnc); void vFuuuuufff(x64emu_t *emu, uintptr_t fnc); void vFffffffff(x64emu_t *emu, uintptr_t fnc); +void vFppppiipi(x64emu_t *emu, uintptr_t fnc); void iFEpippppp(x64emu_t *emu, uintptr_t fnc); void iFiiiiiiip(x64emu_t *emu, uintptr_t fnc); void iFiiupiupi(x64emu_t *emu, uintptr_t fnc); void iFuiifpppp(x64emu_t *emu, uintptr_t fnc); void iFpupppppp(x64emu_t *emu, uintptr_t fnc); void iFppIIIppp(x64emu_t *emu, uintptr_t fnc); +void iFpppiippp(x64emu_t *emu, uintptr_t fnc); void iFpppipipi(x64emu_t *emu, uintptr_t fnc); +void iFpppipppp(x64emu_t *emu, uintptr_t fnc); +void iFppppiipi(x64emu_t *emu, uintptr_t fnc); +void iFpppppppp(x64emu_t *emu, uintptr_t fnc); void uFuipppppp(x64emu_t *emu, uintptr_t fnc); void pFuiiiuuuu(x64emu_t *emu, uintptr_t fnc); +void pFpppuuLLu(x64emu_t *emu, uintptr_t fnc); void vFuiiiiiiii(x64emu_t *emu, uintptr_t fnc); void vFuiiiiiuip(x64emu_t *emu, uintptr_t fnc); void vFuiiiiiuup(x64emu_t *emu, uintptr_t fnc); @@ -567,10 +647,16 @@ void vFuupiuiuuf(x64emu_t *emu, uintptr_t fnc); void vFuffffffff(x64emu_t *emu, uintptr_t fnc); void vFffuuuufff(x64emu_t *emu, uintptr_t fnc); void vFddddddddd(x64emu_t *emu, uintptr_t fnc); +void vFpppppippp(x64emu_t *emu, uintptr_t fnc); void iFiiiiiiiip(x64emu_t *emu, uintptr_t fnc); void iFiiiipiiip(x64emu_t *emu, uintptr_t fnc); void iFdddpppppp(x64emu_t *emu, uintptr_t fnc); +void iFppiuiippL(x64emu_t *emu, uintptr_t fnc); +void iFpppiiuuii(x64emu_t *emu, uintptr_t fnc); +void iFppppppppp(x64emu_t *emu, uintptr_t fnc); +void pFEppiiuuLi(x64emu_t *emu, uintptr_t fnc); void pFpiiiiuuuu(x64emu_t *emu, uintptr_t fnc); +void pFppiiuuuLL(x64emu_t *emu, uintptr_t fnc); void vFiiiiiiiiiu(x64emu_t *emu, uintptr_t fnc); void vFuiiiiiiiii(x64emu_t *emu, uintptr_t fnc); void vFuiiiiiiuup(x64emu_t *emu, uintptr_t fnc); @@ -587,6 +673,10 @@ void vFuffiiffiip(x64emu_t *emu, uintptr_t fnc); void vFuddiiddiip(x64emu_t *emu, uintptr_t fnc); void vFffffffffff(x64emu_t *emu, uintptr_t fnc); void iFiiiiiiiiip(x64emu_t *emu, uintptr_t fnc); +void iFpuupiuiipp(x64emu_t *emu, uintptr_t fnc); +void iFppppiiuuii(x64emu_t *emu, uintptr_t fnc); +void pFppuiipuuii(x64emu_t *emu, uintptr_t fnc); +void pFpppppppppp(x64emu_t *emu, uintptr_t fnc); void vFuiiiiiiiiip(x64emu_t *emu, uintptr_t fnc); void vFuiiiiiiiuip(x64emu_t *emu, uintptr_t fnc); void vFuiiiiiiiuup(x64emu_t *emu, uintptr_t fnc); @@ -598,20 +688,30 @@ void vFuufffffffff(x64emu_t *emu, uintptr_t fnc); void vFuuddiiddiip(x64emu_t *emu, uintptr_t fnc); void vFuffffffffff(x64emu_t *emu, uintptr_t fnc); void vFpipipiipiii(x64emu_t *emu, uintptr_t fnc); +void iFEppppiiiiuu(x64emu_t *emu, uintptr_t fnc); void iFiiiiiiiiiip(x64emu_t *emu, uintptr_t fnc); +void iFppppiiuuiiL(x64emu_t *emu, uintptr_t fnc); +void pFEppuiipuuii(x64emu_t *emu, uintptr_t fnc); void vFuuiiiiiiiuip(x64emu_t *emu, uintptr_t fnc); void vFuuiiiiiiiuup(x64emu_t *emu, uintptr_t fnc); void vFuuuuuuuuuuuu(x64emu_t *emu, uintptr_t fnc); void vFffffffffffff(x64emu_t *emu, uintptr_t fnc); +void iFpppllipppppp(x64emu_t *emu, uintptr_t fnc); +void pFEppiiuuuipii(x64emu_t *emu, uintptr_t fnc); +void pFppiiuuuiupLp(x64emu_t *emu, uintptr_t fnc); void vFuiiiiiiiiiuup(x64emu_t *emu, uintptr_t fnc); void vFuuuuuuuuuuuuu(x64emu_t *emu, uintptr_t fnc); void vFuffffffffffff(x64emu_t *emu, uintptr_t fnc); void iFddddpppddpppp(x64emu_t *emu, uintptr_t fnc); +void iFpippuuuiipppp(x64emu_t *emu, uintptr_t fnc); +void pFppppppppppppp(x64emu_t *emu, uintptr_t fnc); void vFuffiiffiiffiip(x64emu_t *emu, uintptr_t fnc); void vFuddiiddiiddiip(x64emu_t *emu, uintptr_t fnc); void vFuuiiiiuuiiiiiii(x64emu_t *emu, uintptr_t fnc); void vFfffffffffffffff(x64emu_t *emu, uintptr_t fnc); +void uFpppppppppppppppp(x64emu_t *emu, uintptr_t fnc); void vFppuiiiiipuiiiiiiii(x64emu_t *emu, uintptr_t fnc); +void pFipppppppppppppppppppppp(x64emu_t *emu, uintptr_t fnc); #if defined(HAVE_LD80BITS) void DFD(x64emu_t *emu, uintptr_t fnc); diff --git a/src/wrapped/wrappedlibx11.c b/src/wrapped/wrappedlibx11.c new file mode 100755 index 00000000..0db63472 --- /dev/null +++ b/src/wrapped/wrappedlibx11.c @@ -0,0 +1,821 @@ +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#define _GNU_SOURCE /* See feature_test_macros(7) */ +#include <dlfcn.h> + +#include "wrappedlibs.h" + +#include "debug.h" +#include "wrapper.h" +#include "bridge.h" +#include "librarian/library_private.h" +#include "x64emu.h" +#include "callback.h" +#include "librarian.h" +#include "box64context.h" +#include "emu/x64emu_private.h" + +const char* libx11Name = "libX11.so.6"; +#define LIBNAME libx11 + +extern int x11threads; +extern int x11glx; + +typedef int (*XErrorHandler)(void *, void *); +void* my_XSetErrorHandler(x64emu_t* t, XErrorHandler handler); +typedef int (*XIOErrorHandler)(void *); +void* my_XSetIOErrorHandler(x64emu_t* t, XIOErrorHandler handler); +void* my_XESetCloseDisplay(x64emu_t* emu, void* display, int32_t extension, void* handler); +typedef int (*WireToEventProc)(void*, void*, void*); +typedef int(*EventHandler) (void*,void*,void*); +int32_t my_XIfEvent(x64emu_t* emu, void* d,void* ev, EventHandler h, void* arg); + +typedef struct XImageSave_s { + int anyEmu; + void* create; + void* destroy; + void* get; + void* put; + void* sub; + void* add; +} XImageSave_t; + +typedef struct ximage_s { + void*(*create_image)( + void* /* display */, + void* /* visual */, + uint32_t /* depth */, + int32_t /* format */, + int32_t /* offset */, + void* /* data */, + uint32_t /* width */, + uint32_t /* height */, + int32_t /* bitmap_pad */, + int32_t /* bytes_per_line */); + int32_t (*destroy_image) (void*); + uintptr_t (*get_pixel) (void*, int32_t, int32_t); + int32_t (*put_pixel) (void*, int32_t, int32_t, uintptr_t); + void*(*sub_image) (void*, int32_t, int32_t, uint32_t, uint32_t); //sub_image return a new XImage that need bridging => custom wrapper + int32_t (*add_pixel) (void*, intptr_t); +} ximage_t; + +typedef struct _XImage { + int32_t width, height; /* size of image */ + int32_t xoffset; /* number of pixels offset in X direction */ + int32_t format; /* XYBitmap, XYPixmap, ZPixmap */ + void* data; /* pointer to image data */ + int32_t byte_order; /* data byte order, LSBFirst, MSBFirst */ + int32_t bitmap_unit; /* quant. of scanline 8, 16, 32 */ + int32_t bitmap_bit_order; /* LSBFirst, MSBFirst */ + int32_t bitmap_pad; /* 8, 16, 32 either XY or ZPixmap */ + int32_t depth; /* depth of image */ + int32_t bytes_per_line; /* accelarator to next line */ + int32_t bits_per_pixel; /* bits per pixel (ZPixmap) */ + uintptr_t red_mask; /* bits in z arrangment */ + uintptr_t green_mask; + uintptr_t blue_mask; + void* obdata; /* hook for the object routines to hang on */ + ximage_t f; +} XImage; + +typedef uint32_t (*uFv_t)(void); +typedef void (*vFp_t)(void*); +typedef void* (*pFp_t)(void*); +typedef void (*vFpp_t)(void*, void*); +typedef void* (*pFpp_t)(void*, void*); +typedef void* (*pFpip_t)(void*, int32_t, void*); +typedef int32_t (*iFp_t)(void*); +typedef int32_t (*iFpi_t)(void*, int32_t); +typedef int32_t (*iFpl_t)(void*, intptr_t); +typedef int32_t (*iFppp_t)(void*, void*, void*); +typedef int32_t (*iFppu_t)(void*, void*, uint32_t); +typedef int32_t (*iFpppp_t)(void*, void*, void*, void*); +typedef uint32_t (*uFpii_t)(void*, int32_t, int32_t); +typedef uintptr_t (*LFpii_t)(void*, int32_t, int32_t); +typedef int32_t (*iFpiiu_t)(void*, int32_t, int32_t, uint32_t); +typedef int32_t (*iFpiiL_t)(void*, int32_t, int32_t, uintptr_t); +typedef void* (*pFppup_t)(void*, void*, uint32_t, void*); +typedef void* (*pFpiiuu_t)(void*, int32_t, int32_t, uint32_t, uint32_t); +typedef void* (*pFppiiuuui_t)(void*, void*, int32_t, int32_t, uint32_t, uint32_t, uint32_t, int32_t); +typedef void* (*pFppuiipuuii_t)(void*, void*, uint32_t, int32_t, int32_t, void*, uint32_t, uint32_t, int32_t, int32_t); +typedef void* (*pFppiiuuuipii_t)(void*, void*, int32_t, int32_t, uint32_t, uint32_t, uint32_t, int32_t, void*, int32_t, int32_t); +typedef int32_t (*iFppppiiiiuu_t)(void*, void*, void*, void*, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t); +typedef int (*iFppppp_t)(void*, void*, void*, void*, void*); +typedef int (*iFpppppp_t)(void*, void*, void*, void*, void*, void*); + +#define SUPER() \ + GO(XSetErrorHandler, pFp_t) \ + GO(XSetIOErrorHandler, pFp_t) \ + GO(XESetError, pFpip_t) \ + GO(XESetCloseDisplay, pFpip_t) \ + GO(XIfEvent, iFpppp_t) \ + GO(XCheckIfEvent, iFpppp_t) \ + GO(XPeekIfEvent, iFpppp_t) \ + GO(XCreateImage, pFppuiipuuii_t) \ + GO(XInitImage, iFp_t) \ + GO(XGetImage, pFppiiuuui_t) \ + GO(XPutImage, iFppppiiiiuu_t) \ + GO(XGetSubImage, pFppiiuuuipii_t) \ + GO(XDestroyImage, vFp_t) \ + GO(_XDeqAsyncHandler, vFpp_t) \ + GO(XLoadQueryFont, pFpp_t) \ + GO(XCreateGC, pFppup_t) \ + GO(XSetBackground, iFppu_t) \ + GO(XSetForeground, iFppu_t) \ + GO(XESetWireToEvent, pFpip_t) \ + GO(XESetEventToWire, pFpip_t) \ + GO(XCloseDisplay, iFp_t) \ + GO(XOpenDisplay, pFp_t) \ + GO(XInitThreads, uFv_t) \ + GO(XRegisterIMInstantiateCallback, iFpppppp_t) \ + GO(XUnregisterIMInstantiateCallback, iFpppppp_t) \ + GO(XQueryExtension, iFppppp_t) \ + GO(XAddConnectionWatch, iFppp_t) \ + GO(XRemoveConnectionWatch, iFppp_t) \ + +typedef struct x11_my_s { + // functions + #define GO(A, B) B A; + SUPER() + #undef GO +} x11_my_t; + +void* getX11My(library_t* lib) +{ + x11_my_t* my = (x11_my_t*)calloc(1, sizeof(x11_my_t)); + #define GO(A, W) my->A = (W)dlsym(lib->priv.w.lib, #A); + SUPER() + #undef GO + return my; +} + +void freeX11My(void* lib) +{ + // x11_my_t *my = (x11_my_t *)lib; +} +#undef SUPER + +#define SUPER() \ +GO(0) \ +GO(1) \ +GO(2) \ +GO(3) \ +GO(4) \ +GO(5) \ +GO(6) \ +GO(7) \ +GO(8) \ +GO(9) \ +GO(10) \ +GO(11) \ +GO(12) \ +GO(13) \ +GO(14) \ +GO(15) + +// wire_to_event +#define GO(A) \ +static uintptr_t my_wire_to_event_fct_##A = 0; \ +static int my_wire_to_event_##A(void* dpy, void* re, void* event) \ +{ \ + return (int)RunFunction(my_context, my_wire_to_event_fct_##A, 3, dpy, re, event);\ +} +SUPER() +#undef GO +static void* findwire_to_eventFct(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 libX11 wire_to_event callback\n"); + return NULL; +} +static void* reverse_wire_to_eventFct(library_t* lib, void* fct) +{ + if(!fct) return fct; + if(CheckBridged(lib->priv.w.bridge, fct)) + return (void*)CheckBridged(lib->priv.w.bridge, fct); + #define GO(A) if(my_wire_to_event_##A == fct) return (void*)my_wire_to_event_fct_##A; + SUPER() + #undef GO + return (void*)AddBridge(lib->priv.w.bridge, iFppp, fct, 0); +} + +// event_to_wire +#define GO(A) \ +static uintptr_t my_event_to_wire_fct_##A = 0; \ +static int my_event_to_wire_##A(void* dpy, void* re, void* event) \ +{ \ + return (int)RunFunction(my_context, my_event_to_wire_fct_##A, 3, dpy, re, event);\ +} +SUPER() +#undef GO +static void* findevent_to_wireFct(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 libX11 event_to_wire callback\n"); + return NULL; +} +static void* reverse_event_to_wireFct(library_t* lib, void* fct) +{ + if(!fct) return fct; + if(CheckBridged(lib->priv.w.bridge, fct)) + return (void*)CheckBridged(lib->priv.w.bridge, fct); + #define GO(A) if(my_event_to_wire_##A == fct) return (void*)my_event_to_wire_fct_##A; + SUPER() + #undef GO + return (void*)AddBridge(lib->priv.w.bridge, iFppp, fct, 0); +} + +// error_handler +#define GO(A) \ +static uintptr_t my_error_handler_fct_##A = 0; \ +static int my_error_handler_##A(void* dpy, void* error) \ +{ \ + return (int)RunFunction(my_context, my_error_handler_fct_##A, 2, dpy, error);\ +} +SUPER() +#undef GO +static void* finderror_handlerFct(void* fct) +{ + if(!fct) return fct; + if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct); + #define GO(A) if(my_error_handler_fct_##A == (uintptr_t)fct) return my_error_handler_##A; + SUPER() + #undef GO + #define GO(A) if(my_error_handler_fct_##A == 0) {my_error_handler_fct_##A = (uintptr_t)fct; return my_error_handler_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for libX11 error_handler callback\n"); + return NULL; +} +static void* reverse_error_handlerFct(library_t* lib, void* fct) +{ + if(!fct) return fct; + if(CheckBridged(lib->priv.w.bridge, fct)) + return (void*)CheckBridged(lib->priv.w.bridge, fct); + #define GO(A) if(my_error_handler_##A == fct) return (void*)my_error_handler_fct_##A; + SUPER() + #undef GO + return (void*)AddBridge(lib->priv.w.bridge, iFpp, fct, 0); +} + +// ioerror_handler +#define GO(A) \ +static uintptr_t my_ioerror_handler_fct_##A = 0; \ +static int my_ioerror_handler_##A(void* dpy) \ +{ \ + return (int)RunFunction(my_context, my_ioerror_handler_fct_##A, 1, dpy);\ +} +SUPER() +#undef GO +static void* findioerror_handlerFct(void* fct) +{ + if(!fct) return fct; + if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct); + #define GO(A) if(my_ioerror_handler_fct_##A == (uintptr_t)fct) return my_ioerror_handler_##A; + SUPER() + #undef GO + #define GO(A) if(my_ioerror_handler_fct_##A == 0) {my_ioerror_handler_fct_##A = (uintptr_t)fct; return my_ioerror_handler_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for libX11 ioerror_handler callback\n"); + return NULL; +} +static void* reverse_ioerror_handlerFct(library_t* lib, void* fct) +{ + if(!fct) return fct; + if(CheckBridged(lib->priv.w.bridge, fct)) + return (void*)CheckBridged(lib->priv.w.bridge, fct); + #define GO(A) if(my_ioerror_handler_##A == fct) return (void*)my_ioerror_handler_fct_##A; + SUPER() + #undef GO + return (void*)AddBridge(lib->priv.w.bridge, iFp, fct, 0); +} + +// exterror_handler +#define GO(A) \ +static uintptr_t my_exterror_handler_fct_##A = 0; \ +static int my_exterror_handler_##A(void* dpy, void* err, void* codes, int* ret_code) \ +{ \ + return (int)RunFunction(my_context, my_exterror_handler_fct_##A, 4, dpy, err, codes, ret_code);\ +} +SUPER() +#undef GO +static void* findexterror_handlerFct(void* fct) +{ + if(!fct) return fct; + if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct); + #define GO(A) if(my_exterror_handler_fct_##A == (uintptr_t)fct) return my_exterror_handler_##A; + SUPER() + #undef GO + #define GO(A) if(my_exterror_handler_fct_##A == 0) {my_exterror_handler_fct_##A = (uintptr_t)fct; return my_exterror_handler_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for libX11 exterror_handler callback\n"); + return NULL; +} +static void* reverse_exterror_handlerFct(library_t* lib, void* fct) +{ + if(!fct) return fct; + if(CheckBridged(lib->priv.w.bridge, fct)) + return (void*)CheckBridged(lib->priv.w.bridge, fct); + #define GO(A) if(my_exterror_handler_##A == fct) return (void*)my_exterror_handler_fct_##A; + SUPER() + #undef GO + return (void*)AddBridge(lib->priv.w.bridge, iFpppp, fct, 0); +} + +// close_display +#define GO(A) \ +static uintptr_t my_close_display_fct_##A = 0; \ +static int my_close_display_##A(void* dpy, void* codes) \ +{ \ + return (int)RunFunction(my_context, my_close_display_fct_##A, 2, dpy, codes);\ +} +SUPER() +#undef GO +static void* findclose_displayFct(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 libX11 close_display callback\n"); + return NULL; +} +static void* reverse_close_displayFct(library_t* lib, void* fct) +{ + if(!fct) return fct; + if(CheckBridged(lib->priv.w.bridge, fct)) + return (void*)CheckBridged(lib->priv.w.bridge, fct); + #define GO(A) if(my_close_display_##A == fct) return (void*)my_close_display_fct_##A; + SUPER() + #undef GO + return (void*)AddBridge(lib->priv.w.bridge, iFpp, fct, 0); +} + +// register_im +#define GO(A) \ +static uintptr_t my_register_im_fct_##A = 0; \ +static void my_register_im_##A(void* dpy, void* u, void* d) \ +{ \ + RunFunction(my_context, my_register_im_fct_##A, 3, dpy, u, d); \ +} +SUPER() +#undef GO +static void* findregister_imFct(void* fct) +{ + if(!fct) return fct; + if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct); + #define GO(A) if(my_register_im_fct_##A == (uintptr_t)fct) return my_register_im_##A; + SUPER() + #undef GO + #define GO(A) if(my_register_im_fct_##A == 0) {my_register_im_fct_##A = (uintptr_t)fct; return my_register_im_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for libX11 register_im callback\n"); + return NULL; +} +static void* reverse_register_imFct(library_t* lib, void* fct) +{ + if(!fct) return fct; + if(CheckBridged(lib->priv.w.bridge, fct)) + return (void*)CheckBridged(lib->priv.w.bridge, fct); + #define GO(A) if(my_register_im_##A == fct) return (void*)my_register_im_fct_##A; + SUPER() + #undef GO + return (void*)AddBridge(lib->priv.w.bridge, iFppp, fct, 0); +} + +// XConnectionWatchProc +#define GO(A) \ +static uintptr_t my_XConnectionWatchProc_fct_##A = 0; \ +static void my_XConnectionWatchProc_##A(void* dpy, void* data, int op, void* d) \ +{ \ + RunFunction(my_context, my_XConnectionWatchProc_fct_##A, 4, dpy, data, op, d); \ +} +SUPER() +#undef GO +static void* findXConnectionWatchProcFct(void* fct) +{ + if(!fct) return fct; + if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct); + #define GO(A) if(my_XConnectionWatchProc_fct_##A == (uintptr_t)fct) return my_XConnectionWatchProc_##A; + SUPER() + #undef GO + #define GO(A) if(my_XConnectionWatchProc_fct_##A == 0) {my_XConnectionWatchProc_fct_##A = (uintptr_t)fct; return my_XConnectionWatchProc_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for libX11 XConnectionWatchProc callback\n"); + return NULL; +} +// xifevent +#define GO(A) \ +static uintptr_t my_xifevent_fct_##A = 0; \ +static int my_xifevent_##A(void* dpy, void* event, void* d) \ +{ \ + return RunFunction(my_context, my_xifevent_fct_##A, 3, dpy, event, d); \ +} +SUPER() +#undef GO +static void* findxifeventFct(void* fct) +{ + if(!fct) return fct; + if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct); + #define GO(A) if(my_xifevent_fct_##A == (uintptr_t)fct) return my_xifevent_##A; + SUPER() + #undef GO + #define GO(A) if(my_xifevent_fct_##A == 0) {my_xifevent_fct_##A = (uintptr_t)fct; return my_xifevent_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for libX11 xifevent callback\n"); + return NULL; +} +// XInternalAsyncHandler +#define GO(A) \ +static uintptr_t my_XInternalAsyncHandler_fct_##A = 0; \ +static int my_XInternalAsyncHandler_##A(void* dpy, void* rep, void* buf, int len, void* data) \ +{ \ + return RunFunction(my_context, my_XInternalAsyncHandler_fct_##A, 5, dpy, rep, buf, len, data); \ +} +SUPER() +#undef GO +static void* findXInternalAsyncHandlerFct(void* fct) +{ + if(!fct) return fct; + if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct); + #define GO(A) if(my_XInternalAsyncHandler_fct_##A == (uintptr_t)fct) return my_XInternalAsyncHandler_##A; + SUPER() + #undef GO + #define GO(A) if(my_XInternalAsyncHandler_fct_##A == 0) {my_XInternalAsyncHandler_fct_##A = (uintptr_t)fct; return my_XInternalAsyncHandler_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for libX11 XInternalAsyncHandler callback\n"); + return NULL; +} +#undef SUPER + +void* my_XCreateImage(x64emu_t* emu, void* disp, void* vis, uint32_t depth, int32_t fmt, int32_t off + , void* data, uint32_t w, uint32_t h, int32_t pad, int32_t bpl); + +int32_t my_XInitImage(x64emu_t* emu, void* img); + +void* my_XGetImage(x64emu_t* emu, void* disp, void* drawable, int32_t x, int32_t y + , uint32_t w, uint32_t h, uint32_t plane, int32_t fmt); + +int32_t my_XPutImage(x64emu_t* emu, void* disp, void* 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); + +void* my_XGetSubImage(x64emu_t* emu, void* disp, void* drawable + , int32_t x, int32_t y + , uint32_t w, uint32_t h, uint32_t plane, int32_t fmt + , void* image, int32_t dst_x, int32_t dst_y); + +void my_XDestroyImage(x64emu_t* emu, void* image); + +#ifdef PANDORA +void* my_XLoadQueryFont(x64emu_t* emu, void* d, void* name); +#endif + +void* my_XVaCreateNestedList(int dummy, void* p); + +EXPORT void* my_XSetErrorHandler(x64emu_t* emu, XErrorHandler handler) +{ + library_t* lib = emu->context->x11lib; + x11_my_t *my = (x11_my_t *)lib->priv.w.p2; + void* ret = my->XSetErrorHandler(finderror_handlerFct(handler)); + return reverse_error_handlerFct(lib, ret); +} + +EXPORT void* my_XSetIOErrorHandler(x64emu_t* emu, XIOErrorHandler handler) +{ + library_t* lib = emu->context->x11lib; + x11_my_t *my = (x11_my_t *)lib->priv.w.p2; + void* ret = my->XSetIOErrorHandler(findioerror_handlerFct(handler)); + return reverse_ioerror_handlerFct(lib, ret); +} + +EXPORT void* my_XESetError(x64emu_t* emu, void* display, int32_t extension, void* handler) +{ + library_t* lib = emu->context->x11lib; + x11_my_t *my = (x11_my_t *)lib->priv.w.p2; + void* ret = my->XESetError(display, extension, findexterror_handlerFct(handler)); + return reverse_exterror_handlerFct(lib, ret); +} + +EXPORT void* my_XESetCloseDisplay(x64emu_t* emu, void* display, int32_t extension, void* handler) +{ + library_t* lib = emu->context->x11lib; + x11_my_t *my = (x11_my_t *)lib->priv.w.p2; + void* ret = my->XESetCloseDisplay(display, extension, findclose_displayFct(handler)); + return reverse_close_displayFct(lib, ret); +} + +EXPORT int32_t my_XIfEvent(x64emu_t* emu, void* d,void* ev, EventHandler h, void* arg) +{ + library_t* lib = emu->context->x11lib; + x11_my_t *my = (x11_my_t *)lib->priv.w.p2; + int32_t ret = my->XIfEvent(d, ev, findxifeventFct(h), arg); + return ret; +} + +EXPORT int32_t my_XCheckIfEvent(x64emu_t* emu, void* d,void* ev, EventHandler h, void* arg) +{ + library_t* lib = emu->context->x11lib; + x11_my_t *my = (x11_my_t *)lib->priv.w.p2; + int32_t ret = my->XCheckIfEvent(d, ev, findxifeventFct(h), arg); + return ret; +} + +EXPORT int32_t my_XPeekIfEvent(x64emu_t* emu, void* d,void* ev, EventHandler h, void* arg) +{ + library_t* lib = emu->context->x11lib; + x11_my_t *my = (x11_my_t *)lib->priv.w.p2; + int32_t ret = my->XPeekIfEvent(d, ev, findxifeventFct(h), arg); + return ret; +} + +void sub_image_wrapper(x64emu_t *emu, uintptr_t fnc); +typedef void* (*sub_image_wrapper_t)(void*, int32_t, int32_t, uint32_t, uint32_t); + + +void BridgeImageFunc(x64emu_t *emu, XImage *img) +{ + bridge_t* system = emu->context->system; + + #define GO(A, W) \ + fnc = CheckBridged(system, img->f.A); \ + if(!fnc) fnc = AddAutomaticBridge(emu, system, W, img->f.A, 0); \ + img->f.A = (W##_t)fnc; + + uintptr_t fnc; + + GO(create_image, pFppuiipuuii) + GO(destroy_image, iFp) + GO(get_pixel, LFpii) + GO(put_pixel, iFpiiL) + GO(sub_image, sub_image_wrapper) + GO(add_pixel, iFpl) + #undef GO +} + +void UnbridgeImageFunc(x64emu_t *emu, XImage *img) +{ + #define GO(A, W) \ + fnc = GetNativeFnc((uintptr_t)img->f.A); \ + if(fnc) \ + img->f.A = (W##_t)fnc; + + void* fnc; + + GO(create_image, pFppuiipuuii) + GO(destroy_image, iFp) + GO(get_pixel, LFpii) + GO(put_pixel, iFpiiL) + GO(sub_image, sub_image_wrapper) + GO(add_pixel, iFpl) + #undef GO +} + +void sub_image_wrapper(x64emu_t *emu, uintptr_t fnc) +{ + pFpiiuu_t fn = (pFpiiuu_t)fnc; + void* img = fn(*(void**)(R_RDI), *(int32_t*)(R_RSI), *(int32_t*)(R_RDX), *(uint32_t*)(R_RCX), *(uint32_t*)(R_R8)); + BridgeImageFunc(emu, (XImage*)img); + R_EAX=(uintptr_t)img; +} + + +EXPORT void* my_XCreateImage(x64emu_t* emu, void* disp, void* vis, uint32_t depth, int32_t fmt, int32_t off + , void* data, uint32_t w, uint32_t h, int32_t pad, int32_t bpl) +{ + library_t* lib = emu->context->x11lib; + x11_my_t *my = (x11_my_t *)lib->priv.w.p2; + + XImage *img = my->XCreateImage(disp, vis, depth, fmt, off, data, w, h, pad, bpl); + if(!img) + return img; + // bridge all access functions... + BridgeImageFunc(emu, img); + return img; +} + +EXPORT int32_t my_XInitImage(x64emu_t* emu, void* img) +{ + library_t* lib = emu->context->x11lib; + x11_my_t *my = (x11_my_t *)lib->priv.w.p2; + + int ret = my->XInitImage(img); + // bridge all access functions... + BridgeImageFunc(emu, img); + return ret; +} + +EXPORT void* my_XGetImage(x64emu_t* emu, void* disp, void* drawable, int32_t x, int32_t y + , uint32_t w, uint32_t h, uint32_t plane, int32_t fmt) +{ + library_t* lib = emu->context->x11lib; + x11_my_t *my = (x11_my_t *)lib->priv.w.p2; + + XImage *img = my->XGetImage(disp, drawable, x, y, w, h, plane, fmt); + if(!img) + return img; + // bridge all access functions... + BridgeImageFunc(emu, img); + return img; +} + +EXPORT int32_t my_XPutImage(x64emu_t* emu, void* disp, void* 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) +{ + library_t* lib = emu->context->x11lib; + x11_my_t *my = (x11_my_t *)lib->priv.w.p2; + UnbridgeImageFunc(emu, (XImage*)image); + int32_t r = my->XPutImage(disp, drawable, gc, image, src_x, src_y, dst_x, dst_y, w, h); + // bridge all access functions... + BridgeImageFunc(emu, (XImage*)image); + return r; +} + +EXPORT void* my_XGetSubImage(x64emu_t* emu, void* disp, void* drawable + , int32_t x, int32_t y + , uint32_t w, uint32_t h, uint32_t plane, int32_t fmt + , void* image, int32_t dst_x, int32_t dst_y) +{ + library_t* lib = emu->context->x11lib; + x11_my_t *my = (x11_my_t *)lib->priv.w.p2; + + UnbridgeImageFunc(emu, (XImage*)image); + XImage *img = my->XGetSubImage(disp, drawable, x, y, w, h, plane, fmt, image, dst_x, dst_y); + if(img) + BridgeImageFunc(emu, img); + + BridgeImageFunc(emu, (XImage*)image); + return img; +} + +EXPORT void my_XDestroyImage(x64emu_t* emu, void* image) +{ + library_t* lib = emu->context->x11lib; + x11_my_t *my = (x11_my_t *)lib->priv.w.p2; + + UnbridgeImageFunc(emu, (XImage*)image); + my->XDestroyImage(image); +} + +typedef struct xintasync_s { + struct xintasync_s *next; + int (*handler)( + void*, + void*, + void*, + int, + void* + ); + void* data; +} xintasync_t; + +EXPORT void my__XDeqAsyncHandler(x64emu_t* emu, void* cb, void* data) +{ + library_t* lib = emu->context->x11lib; + x11_my_t *my = (x11_my_t *)lib->priv.w.p2; + my->_XDeqAsyncHandler(findXInternalAsyncHandlerFct(cb), data); +} +#if 0 +typedef struct my_XIMArg_s { + char *name; + void *value; +} my_XIMArg_t; +#define my_XNVaNestedList "XNVaNestedList" + +EXPORT void* my_XVaCreateNestedList(int dummy, void* b) +{ + // need to create a similar function here... + void* p = b; + int n = 0; + while(p++) ++n; + void** ret = (void**)malloc(sizeof(void*)*n); + p = b; + n = 0; + while(p++) + ret[n++] = p; + return ret; +} +#endif + +EXPORT void* my_XESetWireToEvent(x64emu_t* emu, void* display, int32_t event_number, void* proc) +{ + library_t* lib = emu->context->x11lib; + x11_my_t *my = (x11_my_t *)lib->priv.w.p2; + void* ret = NULL; + + ret = my->XESetWireToEvent(display, event_number, findwire_to_eventFct(proc)); + + return reverse_wire_to_eventFct(lib, ret); +} +EXPORT void* my_XESetEventToWire(x64emu_t* emu, void* display, int32_t event_number, void* proc) +{ + library_t* lib = emu->context->x11lib; + x11_my_t *my = (x11_my_t *)lib->priv.w.p2; + void* ret = NULL; + + ret = my->XESetEventToWire(display, event_number, findevent_to_wireFct(proc)); + + return reverse_event_to_wireFct(lib, ret); +} + +EXPORT int my_XCloseDisplay(x64emu_t* emu, void* display) +{ + library_t* lib = emu->context->x11lib; + x11_my_t *my = (x11_my_t *)lib->priv.w.p2; + + int ret = my->XCloseDisplay(display); + return ret; +} + +EXPORT void* my_XOpenDisplay(x64emu_t* emu, void* d) +{ + library_t* lib = emu->context->x11lib; + x11_my_t *my = (x11_my_t *)lib->priv.w.p2; + + void* ret = my->XOpenDisplay(d); + return ret; +} + +EXPORT int my_XRegisterIMInstantiateCallback(x64emu_t* emu, void* d, void* db, void* res_name, void* res_class, void* cb, void* data) +{ + library_t* lib = emu->context->x11lib; + x11_my_t *my = (x11_my_t *)lib->priv.w.p2; + + return my->XRegisterIMInstantiateCallback(d, db, res_name, res_class, findregister_imFct(cb), data); +} + +EXPORT int my_XUnregisterIMInstantiateCallback(x64emu_t* emu, void* d, void* db, void* res_name, void* res_class, void* cb, void* data) +{ + library_t* lib = emu->context->x11lib; + x11_my_t *my = (x11_my_t *)lib->priv.w.p2; + + return my->XUnregisterIMInstantiateCallback(d, db, res_name, res_class, reverse_register_imFct(lib, cb), data); +} + +EXPORT int my_XQueryExtension(x64emu_t* emu, void* display, char* name, int* major, int* first_event, int* first_error) +{ + library_t* lib = emu->context->x11lib; + x11_my_t *my = (x11_my_t *)lib->priv.w.p2; + + int ret = my->XQueryExtension(display, name, major, first_event, first_error); + if(!ret && name && !strcmp(name, "GLX") && x11glx) { + // hack to force GLX to be accepted, even if not present + // left major and first_XXX to default... + ret = 1; + } + return ret; +} + +EXPORT int my_XAddConnectionWatch(x64emu_t* emu, void* display, char* f, void* data) +{ + library_t* lib = emu->context->x11lib; + x11_my_t *my = (x11_my_t *)lib->priv.w.p2; + + return my->XAddConnectionWatch(display, findXConnectionWatchProcFct(f), data); +} + +EXPORT int my_XRemoveConnectionWatch(x64emu_t* emu, void* display, char* f, void* data) +{ + library_t* lib = emu->context->x11lib; + x11_my_t *my = (x11_my_t *)lib->priv.w.p2; + + return my->XRemoveConnectionWatch(display, findXConnectionWatchProcFct(f), data); +} + +#define CUSTOM_INIT \ + box64->x11lib = lib; \ + lib->priv.w.p2 = getX11My(lib); \ + if(x11threads) ((x11_my_t*)lib->priv.w.p2)->XInitThreads(); + +#define CUSTOM_FINI \ + freeX11My(lib->priv.w.p2); \ + free(lib->priv.w.p2); \ + ((box64context_t*)(lib->context))->x11lib = NULL; \ + +#include "wrappedlib_init.h" diff --git a/src/wrapped/wrappedlibx11_private.h b/src/wrapped/wrappedlibx11_private.h new file mode 100755 index 00000000..ac6270b7 --- /dev/null +++ b/src/wrapped/wrappedlibx11_private.h @@ -0,0 +1,1093 @@ +#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA)) +#error meh! +#endif + +// all those bss stuff are suspicious +//DATAB(__bss_end__, 4) +//DATAB(_bss_end__, 4) +//DATAB(__bss_start, 4) +//DATAB(__bss_start__, 4) +//DATA(__data_start, 4) +//DATA(_edata, 4) +//DATAB(_end, 4) +//DATAB(__end__, 4) +// __exidx_end // type r +// __exidx_start // type r +// _fini +// _init +// KeySymToUcs4 +DATAB(_qfree, 4) +// _Utf8GetConvByName +//GO(XActivateScreenSaver +GOM(XAddConnectionWatch, iFEppp) +GO(XAddExtension, pFp) +//GO(XAddHost +//GO(XAddHosts +//GO(XAddPixel +//GO(XAddToExtensionList +//GO(XAddToSaveSet +GO(XAllocClassHint, pFv) +GO(XAllocColor, iFppp) +GO(XAllocColorCells, iFppipipi) +//GO(XAllocColorPlanes +//GO(XAllocIconSize +// _XAllocID +// _XAllocIDs +GO(XAllocNamedColor, iFppppp) +// _XAllocScratch +GO(XAllocSizeHints, pFv) +//GO(XAllocStandardColormap +// _XAllocTemp +GO(XAllocWMHints, pFv) +//GO(XAllowEvents +GO(XAllPlanes, LFv) +// _XAsyncErrorHandler +GO(XAutoRepeatOff, iFp) +GO(XAutoRepeatOn, iFp) +GO(XBaseFontNameListOfFontSet, pFp) +GO(XBell, iFpi) +//GO(XBitmapBitOrder +//GO(XBitmapPad +//GO(XBitmapUnit +GO(XBlackPixel, LFpi) +//GO(XBlackPixelOfScreen +//GO(XCellsOfScreen +GO(XChangeActivePointerGrab, vFpupp) +GO(XChangeGC, iFppLp) +GO(XChangeKeyboardControl, iFpLp) +GO(XChangeKeyboardMapping, iFpiipi) +GO(XChangePointerControl, iFpiiiii) +GO(XChangeProperty, iFppppiipi) +//GO(XChangeSaveSet +GO(XChangeWindowAttributes, iFppLp) +GOM(XCheckIfEvent, iFEpppp) +GO(XCheckMaskEvent, iFplp) +GO(XCheckTypedEvent, iFpip) +GO(XCheckTypedWindowEvent, iFppip) +GO(XCheckWindowEvent, iFpplp) +//GO(XCirculateSubwindows +//GO(XCirculateSubwindowsDown +//GO(XCirculateSubwindowsUp +GO(XClearArea, iFppiiuui) +GO(XClearWindow, iFpp) +GO(XClipBox, iFpp) +GOM(XCloseDisplay, iFEp) +GO(XCloseIM, iFp) +// _XCloseLC +//GO(XCloseOM +// _XcmsAddCmapRec +//GO(XcmsAddColorSpace +//GO(XcmsAddFunctionSet +//GO(XcmsAllocColor +//GO(XcmsAllocNamedColor +// _XcmsArcTangent +//GO(XcmsCCCOfColormap +//GO(XcmsCIELabClipab +//GO(XcmsCIELabClipL +//GO(XcmsCIELabClipLab +DATA(XcmsCIELabColorSpace, 6*sizeof(void*)) +// _XcmsCIELab_prefix // type r +//GO(XcmsCIELabQueryMaxC +//GO(XcmsCIELabQueryMaxL +//GO(XcmsCIELabQueryMaxLC +// _XcmsCIELabQueryMaxLCRGB +//GO(XcmsCIELabQueryMinL +//GO(XcmsCIELabToCIEXYZ +//GO(XcmsCIELabWhiteShiftColors +//GO(XcmsCIELuvClipL +//GO(XcmsCIELuvClipLuv +//GO(XcmsCIELuvClipuv +DATA(XcmsCIELuvColorSpace, 6*sizeof(void*)) +// _XcmsCIELuv_prefix // type r +//GO(XcmsCIELuvQueryMaxC +//GO(XcmsCIELuvQueryMaxL +//GO(XcmsCIELuvQueryMaxLC +// _XcmsCIELuvQueryMaxLCRGB +//GO(XcmsCIELuvQueryMinL +//GO(XcmsCIELuvToCIEuvY +//GO(XcmsCIELuvWhiteShiftColors +DATA(XcmsCIEuvYColorSpace, 6*sizeof(void*)) +// _XcmsCIEuvY_prefix // type r +//GO(XcmsCIEuvYToCIELuv +//GO(XcmsCIEuvYToCIEXYZ +//GO(XcmsCIEuvYToTekHVC +// _XcmsCIEuvY_ValidSpec +DATA(XcmsCIExyYColorSpace, 6*sizeof(void*)) // probably need some wrapping +// _XcmsCIExyY_prefix // type r +//GO(XcmsCIExyYToCIEXYZ +DATA(XcmsCIEXYZColorSpace, 6*sizeof(void*)) +// _XcmsCIEXYZ_prefix // type r +//GO(XcmsCIEXYZToCIELab +//GO(XcmsCIEXYZToCIEuvY +//GO(XcmsCIEXYZToCIExyY +//GO(XcmsCIEXYZToRGBi +// _XcmsCIEXYZ_ValidSpec +//GO(XcmsClientWhitePointOfCCC +//GO(XcmsConvertColors +// _XcmsConvertColorsWithWhitePt +// _XcmsCopyCmapRecAndFree +// _XcmsCopyISOLatin1Lowered +// _XcmsCopyPointerArray +// _XcmsCosine +//GO(XcmsCreateCCC +// _XcmsCubeRoot +DATA(_XcmsDDColorSpaces, 6*sizeof(void*)) +DATA(_XcmsDDColorSpacesInit, 6*sizeof(void*)) +// _XcmsDDConvertColors +//GO(XcmsDefaultCCC +// _XcmsDeleteCmapRec +DATA(_XcmsDIColorSpaces, 6*sizeof(void*)) +DATA(_XcmsDIColorSpacesInit, 6*sizeof(void*)) +// _XcmsDIConvertColors +//GO(XcmsDisplayOfCCC +// _XcmsEqualWhitePts +//GO(XcmsFormatOfPrefix +//GO(XcmsFreeCCC +// _XcmsFreeIntensityMaps +// _XcmsFreePointerArray +// _XcmsGetElement +// _XcmsGetIntensityMap +// _XcmsGetProperty +// _XcmsInitDefaultCCCs +// _XcmsInitScrnInfo +DATA(XcmsLinearRGBFunctionSet, 3*sizeof(void*)) // probably needs some wrapping +//GO(XcmsLookupColor +// _XcmsLRGB_InitScrnDefault +//GO(XcmsPrefixOfFormat +// _XcmsPushPointerArray +//GO(XcmsQueryBlack +//GO(XcmsQueryBlue +//GO(XcmsQueryColor +//GO(XcmsQueryColors +//GO(XcmsQueryGreen +//GO(XcmsQueryRed +//GO(XcmsQueryWhite +DATA(_XcmsRegColorSpaces, 6*sizeof(void*)) +// _XcmsRegFormatOfPrefix +// _XcmsResolveColor +// _XcmsResolveColorString +DATA(XcmsRGBColorSpace, 6*sizeof(void*)) +DATA(XcmsRGBiColorSpace, 6*sizeof(void*)) +// _XcmsRGBi_prefix // type r +//GO(XcmsRGBiToCIEXYZ +//GO(XcmsRGBiToRGB +// _XcmsRGB_prefix // type r +//GO(XcmsRGBToRGBi +// _XcmsRGB_to_XColor +DATA(_XcmsSCCFuncSets, 3*sizeof(void*)) +DATA(_XcmsSCCFuncSetsInit, 3*sizeof(void*)) +//GO(XcmsScreenNumberOfCCC +//GO(XcmsScreenWhitePointOfCCC +//GO(XcmsSetCCCOfColormap +//GO(XcmsSetCompressionProc +// _XcmsSetGetColor +// _XcmsSetGetColors +//GO(XcmsSetWhiteAdjustProc +//GO(XcmsSetWhitePoint +// _XcmsSine +// _XcmsSquareRoot +//GO(XcmsStoreColor +//GO(XcmsStoreColors +// _XcmsTekHVC_CheckModify +//GO(XcmsTekHVCClipC +//GO(XcmsTekHVCClipV +//GO(XcmsTekHVCClipVC +DATA(XcmsTekHVCColorSpace, 6*sizeof(void*)) +// _XcmsTekHVC_prefix // type r +//GO(XcmsTekHVCQueryMaxC +//GO(XcmsTekHVCQueryMaxV +//GO(XcmsTekHVCQueryMaxVC +// _XcmsTekHVCQueryMaxVCRGB +//GO(XcmsTekHVCQueryMaxVSamples +//GO(XcmsTekHVCQueryMinV +//GO(XcmsTekHVCToCIEuvY +//GO(XcmsTekHVCWhiteShiftColors +DATA(XcmsUNDEFINEDColorSpace, 6*sizeof(void*)) +// _XcmsUnresolveColor +//GO(XcmsVisualOfCCC +// _XColor_to_XcmsRGB +GO(XConfigureWindow, iFppup) +GO(XConnectionNumber, iFp) +// _XConnectXCB +//GO(XContextDependentDrawing +//GO(XContextualDrawing +GO(XConvertCase, vFLpp) +GO(XConvertSelection, iFpppppL) +GO(XCopyArea, iFppppiiuuii) +GO(XCopyColormapAndFree, uFpp) +// _XCopyEventCookie +GO(XCopyGC, iFpppL) +GO(XCopyPlane, iFppppiiuuiiL) +// _XCopyToArg +GO(XCreateBitmapFromData, pFpppuu) +GO(XCreateColormap, pFpppi) +GO(XCreateFontCursor, pFpu) +GO(XCreateFontSet, pFppppp) +GO(XCreateGC, pFppup) +//GO(XCreateGlyphCursor +GO(XCreateIC, uFpppppppppppppppp) // use ..., so putting an arbitrary number of args, also can have Callbacks ?! Allegro have 7 args and no callback +GOM(XCreateImage, pFEppuiipuuii) +GO(dummy_XCreateImage, pFppuiipuuii) // to have the wrapper +DATAB(_XCreateMutex_fn, sizeof(void*)) +//GO(XCreateOC +GO(XCreatePixmap, pFppuuu) +GO(XCreatePixmapCursor, pFpppppuu) +GO(XCreatePixmapFromBitmapData, pFpppuuLLu) +GO(XCreateRegion, pFv) +GO(XCreateSimpleWindow, pFppiiuuuLL) +GO(XCreateWindow, pFppiiuuuiupLp) +DATAB(_Xdebug, sizeof(void*)) +GO(XDefaultColormap, pFpi) +//GO(XDefaultColormapOfScreen +GO(XDefaultDepth, iFpi) +//GO(XDefaultDepthOfScreen +// _XDefaultError +GO(XDefaultGC, pFpi) +//GO(XDefaultGCOfScreen +GO(_XDefaultIOError, iFp) +// _XDefaultOpenIM +// _XDefaultOpenOM +GO(XDefaultRootWindow, pFp) +GO(XDefaultScreen, pFp) +GO(XDefaultScreenOfDisplay, pFp) +//GO(XDefaultString +GO(XDefaultVisual, pFpi) +//GO(XDefaultVisualOfScreen +// _XDefaultWireError +GO(XDefineCursor, iFppp) +GO(XDeleteContext, iFppp) +//GO(XDeleteModifiermapEntry +GO(XDeleteProperty, iFppp) +// _XDeq +GO(_XDeqAsyncHandler, vFEpp) +GO(XDestroyIC, vFp) +GOM(XDestroyImage, iFEp) //need to unbridge +//GO(XDestroyOC +GO(XDestroyRegion, iFp) +GO(XDestroySubwindows, iFpp) +GO(XDestroyWindow, iFpp) +//GO(XDirectionalDependentDrawing +//GO(XDisableAccessControl +//GO(XDisplayCells +GO(XDisplayHeight, iFpi) +GO(XDisplayHeightMM, iFpi) +GO(XDisplayKeycodes, iFppp) +//GO(XDisplayMotionBufferSize +GO(XDisplayName, pFp) +GO(XDisplayOfIM, pFp) +//GO(XDisplayOfOM +//GO(XDisplayOfScreen +//GO(XDisplayPlanes +GO(XDisplayString, pFp) +GO(XDisplayWidth, iFpi) +GO(XDisplayWidthMM, iFpi) +//GO(XDoesBackingStore +//GO(XDoesSaveUnders +GO(XDrawArc, iFpppiiuuii) +//GO(XDrawArcs +//GO(XDrawImageString +//GO(XDrawImageString16 +GO(XDrawLine, iFpppiiii) +GO(XDrawLines, iFppppii) +GO(XDrawPoint, iFpppii) +GO(XDrawPoints, iFppppii) +GO(XDrawRectangle, iFpppiiuu) +GO(XDrawRectangles, iFppppi) +GO(XDrawSegments, iFppppi) +GO(XDrawString, iFpppiipi) +GO(XDrawString16, iFpppiipi) +//GO(XDrawText +//GO(XDrawText16 +GO(_XEatData, vFpL) +GO(_XEatDataWords, vFpL) +//GO(XEHeadOfExtensionList +GO(XEmptyRegion, iFp) +//GO(XEnableAccessControl +// _XEnq +GO(XEqualRegion, iFpp) +// _XError +DATAB(_XErrorFunction, sizeof(void*)) +//GO(XESetBeforeFlush +GOM(XESetCloseDisplay, pFEpip) +//GO(XESetCopyEventCookie +//GO(XESetCopyGC +//GO(XESetCreateFont +//GO(XESetCreateGC +GOM(XESetError, pFEpip) +//GO(XESetErrorString +GOM(XESetEventToWire, pFEpip) +//GO(XESetFlushGC +//GO(XESetFreeFont +//GO(XESetFreeGC +//GO(XESetPrintErrorValues +//GO(XESetWireToError +GOM(XESetWireToEvent, pFEpip) +//GO(XESetWireToEventCookie +//GO(XEventMaskOfScreen +GO(XEventsQueued, iFpi) +// _XEventsQueued +// _Xevent_to_mask // type r +// _XEventToWire +GO(XExtendedMaxRequestSize, lFp) +//GO(XExtentsOfFontSet +// _XF86BigfontFreeFontMetrics +// _XF86LoadQueryLocaleFont +//GO(XFetchBuffer +//GO(XFetchBytes +// _XFetchEventCookie +//GO(XFetchName +GO(XFillArc, iFpppiiuuii) +//GO(XFillArcs +GO(XFillPolygon, iFppppiii) +GO(XFillRectangle, iFpppiiuu) +GO(XFillRectangles, iFppppi) +GO(XFilterEvent, iFpp) +GO(XFindContext, iFpppp) +//GO(XFindOnExtensionList +GO(XFlush, iFp) +GO(_XFlush, vFp) +GO(XFlushGC, vFpp) +GO(_XFlushGCCache, vFpp) +GO(XFontsOfFontSet, iFppp) +GO(XForceScreenSaver, iFpi) +GO(XFree, iFp) +// _XFreeAtomTable +GO(XFreeColormap, iFpp) +GO(XFreeColors, iFpppiL) +GO(XFreeCursor, iFpp) +DATAB(_XFreeDisplayLock_fn, sizeof(void*)) +// _XFreeDisplayStructure +// _XFreeEventCookies +GO(XFreeEventData, vFpp) +// _XFreeExtData +GO(XFreeExtensionList, iFp) +GO(XFreeFont, iFpp) +GO(XFreeFontInfo, iFppi) +GO(XFreeFontNames, iFp) +GO(XFreeFontPath, iFp) +GO(XFreeFontSet, vFpp) +GO(XFreeGC, iFpp) +GO(XFreeModifiermap, iFp) +DATAB(_XFreeMutex_fn, sizeof(void*)) +GO(XFreePixmap, iFpp) +GO(XFreeStringList, vFp) +// _XFreeTemp +// _XFreeX11XCBStructure +GO(XGContextFromGC, pFp) +GO(XGeometry, iFpippuuuiipppp) +GO(_XGetAsyncData, vFpppiiii) +// _XGetAsyncReply +GO(XGetAtomName, pFpp) +GO(XGetAtomNames, iFppip) +// _XGetBitsPerPixel +GO(XGetClassHint, iFppp) +GO(XGetCommand, iFpppp) +GO(XGetDefault, pFppp) +GO(XGetErrorDatabaseText, iFpppppi) +GO(XGetErrorText, iFpipi) +GO(XGetEventData, iFpp) +GO(XGetFontPath, pFpp) +GO(XGetFontProperty, iFppp) +GO(XGetGCValues, iFppLp) +GO(XGetGeometry, iFppppppppp) +// _XGetHostname +GO(XGetIconName, iFppp) +//GO(XGetIconSizes +GO(XGetICValues, pFpppppppppp) // use varargs... +GOM(XGetImage, pFEppiiuuLi) // return an XImage with callbacks that needs wrapping +GO(XGetIMValues, pFppppppp) // use varargs +GO(XGetInputFocus, iFppp) +GO(XGetKeyboardControl, iFpp) +GO(XGetKeyboardMapping, pFppip) +// _XGetLCValues +GO(XGetModifierMapping, pFp) +GO(XGetMotionEvents, pFppLLp) +//GO(XGetNormalHints +//GO(XGetOCValues +//GO(XGetOMValues +//GOM(XGetPixel, LFEpii) // need unbridging +GO(dummy_XGetPixel, LFpii) // for the wrapper +GO(XGetPointerControl, iFpppp) +GO(XGetPointerMapping, iFppi) +GO(_XGetRequest, pFpuL) +GO(XGetRGBColormaps, iFppppp) +// _XGetScanlinePad +GO(XGetScreenSaver, iFppppp) +GO(XGetSelectionOwner, pFpp) +//GO(XGetSizeHints +//GO(XGetStandardColormap +GOM(XGetSubImage, pFEppiiuuuipii) +//GO(XGetTextProperty +GO(XGetTransientForHint, iFppp) +GO(XGetVisualInfo, pFplpp) +GO(XGetWindowAttributes, iFppp) +// _XGetWindowAttributes +GO(XGetWindowProperty, iFpppllipppppp) +//GO(XGetWMClientMachine +GO(XGetWMColormapWindows, iFpppp) +GO(XGetWMHints, pFpp) +GO(XGetWMIconName, iFppp) +GO(XGetWMName, iFppp) +GO(XGetWMNormalHints, iFpppp) +//GO(XGetWMProtocols +GO(XGetWMSizeHints, iFppppp) +//GO(XGetZoomHints +DATAB(_Xglobal_lock, sizeof(void*)) +GO(XGrabButton, iFpuupiuiipp) +GO(XGrabKey, iFpiupiii) +GO(XGrabKeyboard, iFppuiiL) +GO(XGrabPointer, iFppiuiippL) +GO(XGrabServer, iFp) +DATAB(_XHeadOfDisplayList, sizeof(void*)) +GO(XHeightMMOfScreen, iFp) +GO(XHeightOfScreen, iFp) +DATAB(_Xi18n_lock, sizeof(void*)) +GO(XIconifyWindow, iFppi) +GOM(XIfEvent, iFEpppp) +GO(XImageByteOrder, iFp) +// _XIMCompileResourceList +// _XimGetCharCode +// _XimGetLocaleCode +// _XimLookupMBText +// _XimLookupUTF8Text +// _XimLookupWCText +GO(XIMOfIC, pFp) +// _XimXTransBytesReadable +// _XimXTransClose +// _XimXTransCloseForCloning +// _XimXTransConnect +// _XimXTransDisconnect +// _XimXTransFreeConnInfo +// _XimXTransGetConnectionNumber +// _XimXTransGetHostname +// _XimXTransGetMyAddr +// _XimXTransGetPeerAddr +// _XimXTransIsLocal +// _XimXTransOpenCLTSClient +// _XimXTransOpenCOTSClient +// _XimXTransRead +// _XimXTransReadv +// _XimXTransSetOption +DATA(_XimXTransSocketINET6Funcs, sizeof(void*)) +DATA(_XimXTransSocketINETFuncs, sizeof(void*)) +DATA(_XimXTransSocketLocalFuncs, sizeof(void*)) +DATA(_XimXTransSocketTCPFuncs, sizeof(void*)) +DATA(_XimXTransSocketUNIXFuncs, sizeof(void*)) +// _XimXTransWrite +// _XimXTransWritev +// _XInitDefaultIM +// _XInitDefaultOM +DATAB(_XInitDisplayLock_fn, sizeof(void*)) +// _XInitDynamicIM +// _XInitDynamicOM +GO(XInitExtension, pFpp) +GOM(XInitImage, iFEp) +// _XInitImageFuncPtrs +// _XInitKeysymDB +GO(XInitThreads, iFv) +//GO(XInsertModifiermapEntry +GO(XInstallColormap, iFpp) +GO(XInternalConnectionNumbers, iFppp) +GO(XInternAtom, pFppi) +GO(XInternAtoms, iFppiip) +GO(XIntersectRegion, iFppp) +GO(_XIOError, iFp) +DATAB(_XIOErrorFunction, sizeof(void*)) +// _XIsEventCookie +//GO(XkbAddDeviceLedInfo +//GO(XkbAddGeomColor +//GO(XkbAddGeomDoodad +//GO(XkbAddGeomKey +//GO(XkbAddGeomKeyAlias +//GO(XkbAddGeomOutline +//GO(XkbAddGeomOverlay +//GO(XkbAddGeomOverlayKey +//GO(XkbAddGeomOverlayRow +//GO(XkbAddGeomProperty +//GO(XkbAddGeomRow +//GO(XkbAddGeomSection +//GO(XkbAddGeomShape +//GO(XkbAddKeyType +//GO(XkbAllocClientMap +//GO(XkbAllocCompatMap +//GO(XkbAllocControls +//GO(XkbAllocDeviceInfo +//GO(XkbAllocGeomColors +//GO(XkbAllocGeomDoodads +//GO(XkbAllocGeometry +//GO(XkbAllocGeomKeyAliases +//GO(XkbAllocGeomKeys +//GO(XkbAllocGeomOutlines +//GO(XkbAllocGeomOverlayKeys +//GO(XkbAllocGeomOverlayRows +//GO(XkbAllocGeomOverlays +//GO(XkbAllocGeomPoints +//GO(XkbAllocGeomProps +//GO(XkbAllocGeomRows +//GO(XkbAllocGeomSectionDoodads +//GO(XkbAllocGeomSections +//GO(XkbAllocGeomShapes +//GO(XkbAllocIndicatorMaps +//GO(XkbAllocKeyboard +//GO(XkbAllocNames +//GO(XkbAllocServerMap +//GO(XkbApplyCompatMapToKey +//GO(XkbApplyVirtualModChanges +//GO(XkbBell +//GO(XkbBellEvent +//GO(XkbChangeDeviceInfo +//GO(XkbChangeEnabledControls +//GO(XkbChangeKeycodeRange +//GO(XkbChangeMap +//GO(XkbChangeNames +//GO(XkbChangeTypesOfKey +//GO(XkbComputeEffectiveMap +//GO(XkbComputeRowBounds +//GO(XkbComputeSectionBounds +//GO(XkbComputeShapeBounds +//GO(XkbComputeShapeTop +// _XkbCopyFromReadBuffer +//GO(XkbCopyKeyType +//GO(XkbCopyKeyTypes +//GO(XkbDeviceBell +//GO(XkbDeviceBellEvent +//GO(XkbFindOverlayForKey +//GO(XkbForceBell +//GO(XkbForceDeviceBell +GO(XkbFreeClientMap, vFpui) +//GO(XkbFreeCompatMap +//GO(XkbFreeComponentList +//GO(XkbFreeControls +//GO(XkbFreeDeviceInfo +//GO(XkbFreeGeomColors +//GO(XkbFreeGeomDoodads +//GO(XkbFreeGeometry +//GO(XkbFreeGeomKeyAliases +//GO(XkbFreeGeomKeys +//GO(XkbFreeGeomOutlines +//GO(XkbFreeGeomOverlayKeys +//GO(XkbFreeGeomOverlayRows +//GO(XkbFreeGeomOverlays +//GO(XkbFreeGeomPoints +//GO(XkbFreeGeomProperties +//GO(XkbFreeGeomRows +//GO(XkbFreeGeomSections +//GO(XkbFreeGeomShapes +//GO(XkbFreeIndicatorMaps +GO(XkbFreeKeyboard, vFpui) +GO(XkbFreeNames, vFpui) +// _XkbFreeReadBuffer +//GO(XkbFreeServerMap +DATA(_XkbGetAtomNameFunc, sizeof(void*)) +//GO(XkbGetAutoRepeatRate +//GO(XkbGetAutoResetControls +// _XkbGetCharset +//GO(XkbGetCompatMap +//GO(XkbGetControls +// _XkbGetConverters +//GO(XkbGetDetectableAutoRepeat +//GO(XkbGetDeviceButtonActions +//GO(XkbGetDeviceInfo +//GO(XkbGetDeviceInfoChanges +//GO(XkbGetDeviceLedInfo +//GO(XkbGetGeometry +//GO(XkbGetIndicatorMap +//GO(XkbGetIndicatorState +//GO(XkbGetKeyActions +//GO(XkbGetKeyBehaviors +GO(XkbGetKeyboard, pFpuu) +//GO(XkbGetKeyboardByName +//GO(XkbGetKeyExplicitComponents +//GO(XkbGetKeyModifierMap +//GO(XkbGetKeySyms +//GO(XkbGetKeyTypes +//GO(XkbGetKeyVirtualModMap +GO(XkbGetMap, pFpuu) +//GO(XkbGetMapChanges +//GO(XkbGetNamedDeviceIndicator +//GO(XkbGetNamedGeometry +GO(XkbGetNamedIndicator, iFpuppppp) +GO(XkbGetNames, iFpup) +//GO(XkbGetPerClientControls +// _XkbGetReadBufferCountedString +// _XkbGetReadBufferPtr +GO(XkbGetState, iFpup) +GO(XkbGetUpdatedMap, iFpup) +//GO(XkbGetVirtualMods +//GO(XkbGetXlibControls +GO(XkbIgnoreExtension, iFp) +//GO(XkbInitCanonicalKeyTypes +// _XkbInitReadBuffer +DATA(_XkbInternAtomFunc, sizeof(void*)) +GO(XkbKeycodeToKeysym, LFpuuu) +//GO(XkbKeysymToModifiers +//GO(XkbKeyTypesForCoreSymbols +//GO(XkbLatchGroup +//GO(XkbLatchModifiers +GO(XkbLibraryVersion, iFpp) +//GO(XkbListComponents +//GO(XkbLockGroup +//GO(XkbLockModifiers +//GO(XkbLookupKeyBinding +GO(XkbLookupKeySym, iFpuupp) +//GO(XkbNoteControlsChanges +// _XkbNoteCoreMapChanges +//GO(XkbNoteDeviceChanges +//GO(XkbNoteMapChanges +//GO(XkbNoteNameChanges +//GO(XkbOpenDisplay +// _XkbPeekAtReadBuffer +GO(XkbQueryExtension, iFpppppp) +// _XkbReadBufferCopyKeySyms +// _XkbReadCopyKeySyms +// _XkbReadGetCompatMapReply +// _XkbReadGetGeometryReply +// _XkbReadGetIndicatorMapReply +// _XkbReadGetMapReply +// _XkbReadGetNamesReply +//GO(XkbRefreshKeyboardMapping +// _XkbReloadDpy +//GO(XkbResizeDeviceButtonActions +//GO(XkbResizeKeyActions +//GO(XkbResizeKeySyms +//GO(XkbResizeKeyType +GO(XkbSelectEventDetails, iFpuuLL) +GO(XkbSelectEvents, iFpuLL) +//GO(XkbSetAtomFuncs +//GO(XkbSetAutoRepeatRate +//GO(XkbSetAutoResetControls +//GO(XkbSetCompatMap +//GO(XkbSetControlslib +//GO(XkbSetDebuggingFlags +GO(XkbSetDetectableAutoRepeat, iFpip) +//GO(XkbSetDeviceButtonActions +//GO(XkbSetDeviceInfo +//GO(XkbSetDeviceLedInfo +//GO(XkbSetGeometry +//GO(XkbSetIgnoreLockMods +//GO(XkbSetIndicatorMap +//GO(XkbSetMap +//GO(XkbSetNamedDeviceIndicator +//GO(XkbSetNamedIndicator +//GO(XkbSetNames +GO(XkbSetPerClientControls, iFpup) +//GO(XkbSetServerInternalMods +//GO(XkbSetXlibControls +// _XkbSkipReadBufferData +//GO(XkbToControl +//GO(XkbTranslateKey +//GO(XkbTranslateKeyCode +GO(XkbTranslateKeySym, iFppupip) +//GO(XkbUpdateActionVirtualMods +//GO(XkbUpdateKeyTypeVirtualMods +//GO(XkbUpdateMapFromCore +GO(XkbUseExtension, iFppp) +//GO(XkbVirtualModsToReal +// _XkbWriteCopyKeySyms +//GO(XkbXlibControlsImplemented +GO(XKeycodeToKeysym, pFppi) +// _XKeycodeToKeysym +// _XKeyInitialize +GO(XKeysymToKeycode, uFpp) +// _XKeysymToKeycode +// _XKeysymToModifiers +GO(XKeysymToString, pFp) +// _XkeyTable // type r +//GO(XKillClient +//GO(XLastKnownRequestProcessed +// _XlcAddCharSet +// _XlcAddCT +// _XlcAddGB18030LocaleConverters +// _XlcAddLoader +// _XlcAddUtf8Converters +// _XlcAddUtf8LocaleConverters +// _XlcCloseConverter +// _XlcCompareISOLatin1 +// _XlcCompileResourceList +// _XlcConvert +// _XlcCopyFromArg +// _XlcCopyToArg +// _XlcCountVaList +// _XlcCreateDefaultCharSet +// _XlcCreateLC +// _XlcCreateLocaleDataBase +// _XlcCurrentLC +// _XlcDbg_printValue +// _XlcDefaultMapModifiers +// _XlcDeInitLoader +// _XlcDestroyLC +// _XlcDestroyLocaleDataBase +// _XlcDynamicLoad +// _XlcFileName +DATA(_XlcGenericMethods, sizeof(void*)) +// _XlcGetCharSet +// _XlcGetCharSetWithSide +// _XlcGetCSValues +// _XlcGetLocaleDataBase +// _XlcGetResource +// _XlcGetValues +// _XlcInitCTInfo +// _XlcInitLoader +// _XlcLocaleDirName +// _XlcLocaleLibDirName +// _XlcMapOSLocaleName +// _Xlcmbstoutf8 +// _Xlcmbstowcs +// _Xlcmbtowc +// _XlcNCompareISOLatin1 +// _XlcOpenConverter +// _XlcParseCharSet +// _XlcParse_scopemaps +DATA(_XlcPublicMethods, sizeof(void*)) +// _XlcRemoveLoader +// _XlcResetConverter +// _XlcResolveI18NPath +// _XlcResolveLocaleName +// _XlcSetConverter +// _XlcSetValues +// _XlcValidModSyntax +// _XlcVaToArgList +// _Xlcwcstombs +// _Xlcwctomb +GO(XListDepths, pFpip) +GO(XListExtensions, pFpp) +GO(XListFonts, pFppip) +GO(XListFontsWithInfo, pFppipp) +//GO(XListHosts +//GO(XListInstalledColormaps +GO(XListPixmapFormats, pFpp) +GO(XListProperties, pFppp) +GO(XLoadFont, pFpp) +GO(XLoadQueryFont, pFpp) +// xlocaledir +//GO(XLocaleOfFontSet +GO(XLocaleOfIM, pFp) +//GO(XLocaleOfOM +GO(XLockDisplay, vFp) +DATAB(_XLockMutex_fn, sizeof(void*)) +GO(XLookupColor, iFppppp) +GO(XLookupKeysym, pFpi) +// _XLookupKeysym +GO(XLookupString, iFppipp) +// _XLookupString +GO(XLowerWindow, iFpp) +GO(XMapRaised, iFpp) +GO(XMapSubwindows, iFpp) +GO(XMapWindow, iFpp) +GO(XMaskEvent, iFplp) +GO(XMatchVisualInfo, iFpiiip) +//GO(XMaxCmapsOfScreen +GO(XMaxRequestSize, iFp) +//GO(XmbDrawImageString +GO(XmbDrawString, vFppppiipi) +//GO(XmbDrawText +// _Xmblen +GO(XmbLookupString, iFpppipp) +GO(XmbResetIC, pFp) +GO(XmbSetWMProperties, vFpppppippp) +// _Xmbstoutf8 +// _Xmbstowcs +GO(XmbTextEscapement, iFppi) +GO(XmbTextExtents, iFppipp) +GO(XmbTextListToTextProperty, iFppiip) +// _XmbTextListToTextProperty +//GO(XmbTextPerCharExtents +GO(XmbTextPropertyToTextList, iFpppp) +// _XmbTextPropertyToTextList +// _Xmbtowc +//GO(XMinCmapsOfScreen +GO(XMoveResizeWindow, iFppiiuu) +GO(XMoveWindow, iFppii) +//GO(XNewModifiermap +GO(XNextEvent, iFpp) +GO(XNextRequest, LFp) +GO(XNoOp, iFp) +// _XNoticeCreateBitmap +// _XNoticePutBitmap +GO(XOffsetRegion, iFpii) +//GO(XOMOfOC +GOM(XOpenDisplay, pFEp) +GO(XOpenIM, uFpppp) +// _XOpenLC +//GO(XOpenOM +// _XParseBaseFontNameList +GO(XParseColor, iFpppp) +GO(XParseGeometry, iFppppp) +GO(XPeekEvent, iFpp) +GOM(XPeekIfEvent, iFEpppp) +GO(XPending, iFp) +//GO(Xpermalloc +//GO(XPlanesOfScreen +GO(XPointInRegion, iFpp) +// _XPollfdCacheAdd +// _XPollfdCacheDel +// _XPollfdCacheInit +GO(XPolygonRegion, pFpii) +GO(XProcessInternalConnection, vFpi) +// _XProcessInternalConnection +// _XProcessWindowAttributes +//GO(XProtocolRevision +//GO(XProtocolVersion +GO(XPutBackEvent, iFpp) +// _XPutBackEvent +GOM(XPutImage, iFEppppiiiiuu) +//GO(XPutPixel +GO(XQLength, iFp) +GO(XQueryBestCursor, iFppuupp) +//GO(XQueryBestSize +//GO(XQueryBestStipple +//GO(XQueryBestTile +GO(XQueryColor, iFppp) +GO(XQueryColors, iFpppi) +GOM(XQueryExtension, iFEppppp) +GO(XQueryFont, pFpp) +GO(XQueryKeymap, iFpp) +GO(XQueryPointer, iFppppppppp) +GO(XQueryTextExtents, iFpppipppp) +GO(XQueryTextExtents16, iFpppipppp) +GO(XQueryTree, pFpppppp) +GO(XRaiseWindow, iFpp) +GO(_XRead, iFppi) +//GO(XReadBitmapFile +//GO(XReadBitmapFileData +// _XReadEvents +GO(_XReadPad, vFppi) +GO(XRebindKeysym, iFpppipi) +GO(XRecolorCursor, iFpppp) +GO(XReconfigureWMWindow, iFppiup) +GO(XRectInRegion, iFpiiuu) +GO(XRefreshKeyboardMapping, iFp) +// _XRefreshKeyboardMapping +// _XRegisterFilterByMask +// _XRegisterFilterByType +GOM(XRegisterIMInstantiateCallback, iFEpppppp) +// _XRegisterInternalConnection +GOM(XRemoveConnectionWatch, iFEppp) +//GO(XRemoveFromSaveSet +//GO(XRemoveHost +//GO(XRemoveHosts +GO(XReparentWindow, iFpppii) +GO(_XReply, iFppii) +GO(XResetScreenSaver, iFp) +GO(XResizeWindow, iFppuu) +GO(XResourceManagerString, pFp) +GO(XRestackWindows, iFppi) +// _XReverse_Bytes +GO(XrmCombineDatabase, vFppi) +GO(XrmCombineFileDatabase, iFppi) +// _XrmDefaultInitParseInfo +GO(XrmDestroyDatabase, vFp) +//GOM(XrmEnumerateDatabase +GO(XrmGetDatabase, pFp) +GO(XrmGetFileDatabase, pFp) +GO(XrmGetResource, iFppppp) +GO(XrmGetStringDatabase, pFp) +GO(XrmInitialize, vFv) +// _XrmInitParseInfo +// _XrmInternalStringToQuark +//GO(XrmLocaleOfDatabase +//GO(XrmMergeDatabases +//GO(XrmParseCommand +//GO(XrmPermStringToQuark +//GO(XrmPutFileDatabase +//GO(XrmPutLineResource +//GO(XrmPutResource +//GO(XrmPutStringResource +//GO(XrmQGetResource +//GO(XrmQGetSearchList +//GO(XrmQGetSearchResource +//GO(XrmQPutResource +//GO(XrmQPutStringResource +//GO(XrmQuarkToString +//GO(XrmSetDatabase +//GO(XrmStringToBindingQuarkList +//GO(XrmStringToQuark +//GO(XrmStringToQuarkList +GO(XrmUniqueQuark, iFv) //typedef int XrmQuark, *XrmQuarkList; +GO(XRootWindow, pFpi) +//GO(XRootWindowOfScreen +GO(XRotateBuffers, iFpi) +GO(XRotateWindowProperties, iFpppii) +GO(XSaveContext, iFpuip) +GO(XScreenCount, iFp) +GO(XScreenNumberOfScreen, iFp) +GO(XScreenOfDisplay, pFpi) +// _XScreenOfWindow +//GO(XScreenResourceString +GO(XSelectInput, iFppi) +GO(_XSend, vFppi) +GO(XSendEvent, uFppiip) +GO(XServerVendor, pFp) +GO(XSetAccessControl, iFpi) +//GO(XSetAfterFunction +GO(XSetArcMode, iFppi) +//GO(XSetAuthorization +GO(XSetBackground, iFppL) +GO(XSetClassHint, iFppp) +GO(XSetClipMask, iFppp) +GO(XSetClipOrigin, iFppii) +GO(XSetClipRectangles, iFppiipii) +// _XSetClipRectangles +GO(XSetCloseDownMode, iFpi) +GO(XSetCommand, iFpppi) +GO(XSetDashes, iFppipi) +GOM(XSetErrorHandler, pFEp) +GO(XSetFillRule, iFppi) +GO(XSetFillStyle, iFppp) +GO(XSetFont, iFppp) +GO(XSetFontPath, iFppi) +GO(XSetForeground, iFppL) +GO(XSetFunction, iFppi) +GO(XSetGraphicsExposures, iFppi) +GO(XSetICFocus, vFp) +GO(XSetIconName, iFppp) +//GO(XSetIconSizes +GO(XSetICValues, pFpppppp) // use vaarg +// _XSetImage +GO(XSetIMValues, pFppppppppppppp) // use vaarg +GO(XSetInputFocus, iFppiL) +GOM(XSetIOErrorHandler, pFEp) +GO(_XSetLastRequestRead, uFpp) +GO(XSetLineAttributes, iFppuiii) +GO(XSetLocaleModifiers, pFp) +//GO(XSetModifierMapping +GO(XSetNormalHints, iFpppp) +//GO(XSetOCValues +//GO(XSetOMValues +//GO(XSetPlaneMask +//GO(XSetPointerMapping +GO(XSetRegion, iFppp) +//GO(XSetRGBColormaps +GO(XSetScreenSaver, iFpiiii) +GO(XSetSelectionOwner, iFpppL) +//GO(XSetSizeHints +//GO(XSetStandardColormap +GO(XSetStandardProperties, iFpppppppp) +//GO(XSetState +GO(XSetStipple, iFppp) +GO(XSetSubwindowMode, iFppi) +GO(XSetTextProperty, vFpppp) +GO(XSetTile, iFppp) +GO(XSetTransientForHint, iFppp) +GO(XSetTSOrigin, iFppii) +GO(XSetWindowBackground, iFppu) +GO(XSetWindowBackgroundPixmap, iFppp) +//GO(XSetWindowBorder +//GO(XSetWindowBorderPixmap +GO(XSetWindowBorderWidth, iFppu) +GO(XSetWindowColormap, iFppp) +//GO(XSetWMClientMachine +GO(XSetWMColormapWindows, iFpppi) +GO(XSetWMHints, iFppp) +GO(XSetWMIconName, vFppp) +GO(XSetWMName, vFppp) +GO(XSetWMNormalHints, iFppp) +GO(XSetWMProperties, vFpppppippp) +GO(XSetWMProtocols, iFpppi) +GO(XSetWMSizeHints, vFpppu) +//GO(XSetZoomHints +GO(XShrinkRegion, iFpii) +//GO(XStoreBuffer +//GO(XStoreBytes +GO(XStoreColor, iFppp) +GO(XStoreColors, iFpppi) +// _XStoreEventCookie +GO(XStoreName, iFppp) +//GO(XStoreNamedColor +GO(XStringListToTextProperty, iFpip) +GO(XStringToKeysym, pFp) +//GOM(XSubImage, pFEpiiuu) // need unbridging +GO(dummy_XSubImage, pFpiiuu) // for the wrapper +GO(XSubtractRegion, iFppp) +GO(XSupportsLocale, iFv) +GO(XSync, iFpu) +//GOM(XSynchronize, pFEpi) // Needs wrapping, return a function +GO(XTextExtents, iFppipppp) +GO(XTextExtents16, iFppipppp) +// _XTextHeight +// _XTextHeight16 +//GO(XTextPropertyToStringList +GO(XTextWidth, iFppi) +GO(XTextWidth16, iFppi) +DATAB(_Xthread_self_fn, sizeof(void*)) +GO(XTranslateCoordinates, iFpppiippp) +// _XTranslateKey +// _XTranslateKeySym +// _XTryShapeBitmapCursor +GO(XUndefineCursor, iFpp) +//GO(XUngrabButton +GO(XUngrabKey, iFpiup) +GO(XUngrabKeyboard, iFpL) +GO(XUngrabPointer, iFpL) +GO(XUngrabServer, iFp) +GO(XUninstallColormap, iFpp) +GO(XUnionRectWithRegion, iFppp) +GO(XUnionRegion, iFppp) +// _XUnknownCopyEventCookie +// _XUnknownNativeEvent +// _XUnknownWireEvent +// _XUnknownWireEventCookie +GO(XUnloadFont, iFpp) +GO(XUnlockDisplay, vFp) +DATAB(_XUnlockMutex_fn, sizeof(void*)) +GO(XUnmapSubwindows, iFpp) +GO(XUnmapWindow, iFpp) +// _XUnregisterFilter +GOM(XUnregisterIMInstantiateCallback, iFEpppppp) +// _XUnregisterInternalConnection +// _XUnresolveColor +GO(XUnsetICFocus, vFp) +// _XUpdateAtomCache +// _XUpdateGCCache +//GO(Xutf8DrawImageString +GO(Xutf8DrawString, vFppppiipi) +//GO(Xutf8DrawText +GO(Xutf8LookupString, iFuppipp) +GO(Xutf8ResetIC, pFu) +GO(Xutf8SetWMProperties, vFpppppippp) +//GO(Xutf8TextEscapement +GO(Xutf8TextExtents, iFppipp) +GO(Xutf8TextListToTextProperty, iFppiup) +// _Xutf8TextListToTextProperty +//GO(Xutf8TextPerCharExtents +GO(Xutf8TextPropertyToTextList, iFpppp) +// _Xutf8TextPropertyToTextList +GO(XVaCreateNestedList, pFipppppppppppppppppppppp) // should recreate the function instead... +GO(XVendorRelease, iFp) +// _XVIDtoVisual +GO(XVisualIDFromVisual, LFp) +GO(XWarpPointer, iFpppiiuuii) +//GO(XwcDrawImageString +GO(XwcDrawString, vFppppiipi) +//GO(XwcDrawText +GO(XwcFreeStringList, vFp) +// _XwcFreeStringList +GO(XwcLookupString, iFpppipp) +//GO(XwcResetIC +// _Xwcscmp +// _Xwcscpy +// _Xwcslen +// _Xwcsncmp +// _Xwcsncpy +// _Xwcstombs +GO(XwcTextEscapement, iFppi) +GO(XwcTextExtents, iFppipp) +GO(XwcTextListToTextProperty, iFppiip) +// _XwcTextListToTextProperty +//GO(XwcTextPerCharExtents +GO(XwcTextPropertyToTextList, iFpppp) +// _XwcTextPropertyToTextList +// _Xwctomb +//GO(XWhitePixel +//GO(XWhitePixelOfScreen +//GO(XWidthMMOfScreen +GO(XWidthOfScreen, iFp) +GO(XWindowEvent, iFpplp) +GO(_XWireToEvent, iFppp) +GO(XWithdrawWindow, iFppi) +//GO(XWMGeometry +//GO(XWriteBitmapFile +GO(XXorRegion, iFppp) + +GO(dummy_putpixel, iFpiiL) +GO(dummy_addpixel, iFpl) \ No newline at end of file |