diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2021-03-08 16:21:33 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2021-03-08 16:21:33 +0100 |
| commit | 544a496f088f62756ad0804eae1a3919dcb15468 (patch) | |
| tree | 84b287ccd3876f6f6a5080d84ff708e0f07048f3 /src/wrapped | |
| parent | 14f0497e640f9777c3d30979bf6a30e5c06c8b02 (diff) | |
| download | box64-544a496f088f62756ad0804eae1a3919dcb15468.tar.gz box64-544a496f088f62756ad0804eae1a3919dcb15468.zip | |
Added a bunch of X11 related lib (copy from box86, mostly un-verified)
Diffstat (limited to 'src/wrapped')
| -rw-r--r-- | src/wrapped/generated/functions_list.txt | 62 | ||||
| -rw-r--r-- | src/wrapped/generated/wrapper.c | 124 | ||||
| -rw-r--r-- | src/wrapped/generated/wrapper.h | 62 | ||||
| -rwxr-xr-x | src/wrapped/wrappedlibxau.c | 17 | ||||
| -rwxr-xr-x | src/wrapped/wrappedlibxau_private.h | 12 | ||||
| -rwxr-xr-x | src/wrapped/wrappedlibxcb.c | 23 | ||||
| -rwxr-xr-x | src/wrapped/wrappedlibxcb_private.h | 678 | ||||
| -rwxr-xr-x | src/wrapped/wrappedlibxdmcp.c | 17 | ||||
| -rwxr-xr-x | src/wrapped/wrappedlibxdmcp_private.h | 47 | ||||
| -rwxr-xr-x | src/wrapped/wrappedlibxext.c | 271 | ||||
| -rwxr-xr-x | src/wrapped/wrappedlibxext_private.h | 139 | ||||
| -rwxr-xr-x | src/wrapped/wrappedlibxi.c | 24 | ||||
| -rwxr-xr-x | src/wrapped/wrappedlibxi_private.h | 88 |
13 files changed, 1564 insertions, 0 deletions
diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt index 760757fc..09132527 100644 --- a/src/wrapped/generated/functions_list.txt +++ b/src/wrapped/generated/functions_list.txt @@ -97,6 +97,7 @@ #() uFup #() uFpi #() uFpu +#() uFpU #() uFpp #() UFEp #() fFif @@ -119,6 +120,7 @@ #() pFlp #() pFLL #() pFpi +#() pFpC #() pFpu #() pFpL #() pFpp @@ -182,8 +184,11 @@ #() iFfff #() iFpii #() iFpiu +#() iFpiL #() iFpip +#() iFpui #() iFpuu +#() iFpuU #() iFpuL #() iFpup #() iFpfu @@ -208,6 +213,7 @@ #() uFupu #() uFupp #() uFpiu +#() uFpLp #() uFppi #() uFppu #() UFppi @@ -230,8 +236,11 @@ #() pFpiu #() pFpiL #() pFpip +#() pFpCC #() pFpuu #() pFpuL +#() pFpup +#() pFpUp #() pFppi #() pFppu #() pFppL @@ -284,6 +293,7 @@ #() vFpddd #() vFppip #() vFppui +#() vFpppi #() vFpppu #() vFpppp #() cFpiii @@ -294,6 +304,7 @@ #() iFEppp #() iFiiii #() iFiiiu +#() iFippi #() iFippp #() iFuipp #() iFuuff @@ -309,8 +320,10 @@ #() iFpWWu #() iFpuip #() iFpuui +#() iFpuuu #() iFpuup #() iFpuLL +#() iFpuLp #() iFpupV #() iFppii #() iFppiu @@ -328,11 +341,13 @@ #() iFpppp #() IFEpIi #() uFuuuu +#() uFpipp #() uFpCCC #() uFpuip #() uFpuuu #() uFpppi #() uFpppp +#() UFpipp #() LFpuuu #() LFpLLp #() pFEupp @@ -345,7 +360,13 @@ #() pFpiii #() pFpiuu #() pFpipp +#() pFpCWp +#() pFpCuW +#() pFpCuu #() pFpuii +#() pFpuWp +#() pFpuuu +#() pFpuup #() pFplpp #() pFppiL #() pFppip @@ -413,6 +434,7 @@ #() vFpipii #() vFpuipp #() vFpddii +#() vFppiii #() vFppWui #() vFpppii #() vFppppp @@ -455,7 +477,12 @@ #() pFuiiiu #() pFuiipp #() pFpiiuu +#() pFpCuup +#() pFpCppp #() pFpuiii +#() pFpuWWW +#() pFpuuWW +#() pFpuuup #() pFppipi #() pFppipp #() pFppuuu @@ -534,10 +561,15 @@ #() iFpppppi #() iFpppppL #() iFpppppp +#() uFpippup +#() UFpippup #() pFEpippp #() pFiCiiCi #() pFpiiiiu #() pFpippip +#() pFpCuuCC +#() pFpCuuWW +#() pFpCuuup #() pFpuuuuu #() pFppiiii #() pFpppppp @@ -578,7 +610,9 @@ #() vFudddddd #() vFpipipii #() vFpddiidd +#() vFppiiipi #() vFpppiiii +#() iFEpppiiu #() iFEpppppp #() iFiiiiiip #() iFpiiuuiu @@ -597,6 +631,14 @@ #() iFppppdpi #() iFppppppp #() uFuippppp +#() pFEppppip +#() pFuupupup +#() pFpCuwwWW +#() pFpCuWCCC +#() pFpCuuwwp +#() pFpCuuuuu +#() pFppuuppp +#() pFppppuuu #() pFpppppuu #() pFppppppp #() vFiiiiuuip @@ -619,6 +661,8 @@ #() vFuuuuuuuu #() vFuuuuufff #() vFffffffff +#() vFpippiipi +#() vFppiiipii #() vFppppiipi #() iFEpippppp #() iFiiiiiiip @@ -634,6 +678,9 @@ #() iFpppppppp #() uFuipppppp #() pFuiiiuuuu +#() pFuupupipp +#() pFpCuwwWWu +#() pFpCuuuCup #() pFpppuuLLu #() vFuiiiiiiii #() vFuiiiiiuip @@ -650,15 +697,21 @@ #() vFuffffffff #() vFffuuuufff #() vFddddddddd +#() vFppiiipiii #() vFpppppippp #() iFiiiiiiiip #() iFiiiipiiip #() iFdddpppppp +#() iFpipLpiiip #() iFppiuiippL #() iFpppiiuuii +#() iFpppiipiiu #() iFppppppppp #() pFEppiiuuLi +#() pFEppuippuu #() pFpiiiiuuuu +#() pFpCuWCCuuu +#() pFpuuwwWWww #() pFppiiuuuLL #() vFiiiiiiiiiu #() vFuiiiiiiiii @@ -679,6 +732,8 @@ #() iFpuupiuiipp #() iFppuuiiiiii #() iFppppiiuuii +#() pFpCuWCCuuCW +#() pFpuuuwwwwWW #() pFppuiipuuii #() pFpppppppppp #() vFuiiiiiiiiip @@ -694,20 +749,27 @@ #() vFpipipiipiii #() iFEppppiiiiuu #() iFiiiiiiiiiip +#() iFpipllippppp #() iFppppiiuuiiL #() pFEppuiipuuii #() vFuuiiiiiiiuip #() vFuuiiiiiiiuup #() vFuuuuuuuuuuuu #() vFffffffffffff +#() iFEppppiiiiuui +#() iFpipppppppppp #() iFpppllipppppp +#() iFpppppppppppp #() pFEppiiuuuipii +#() pFpCuuWWwwCCup +#() pFpuuuWWWWWWWW #() pFppiiuuuiupLp #() vFuiiiiiiiiiuup #() vFuuuuuuuuuuuuu #() vFuffffffffffff #() iFddddpppddpppp #() iFpippuuuiipppp +#() pFpCuuwwWWWWuup #() pFppppppppppppp #() vFuffiiffiiffiip #() vFuddiiddiiddiip diff --git a/src/wrapped/generated/wrapper.c b/src/wrapped/generated/wrapper.c index 1480967c..53ec5da1 100644 --- a/src/wrapped/generated/wrapper.c +++ b/src/wrapped/generated/wrapper.c @@ -130,6 +130,7 @@ typedef uint32_t (*uFuu_t)(uint32_t, uint32_t); typedef uint32_t (*uFup_t)(uint32_t, void*); typedef uint32_t (*uFpi_t)(void*, int32_t); typedef uint32_t (*uFpu_t)(void*, uint32_t); +typedef uint32_t (*uFpU_t)(void*, uint64_t); typedef uint32_t (*uFpp_t)(void*, void*); typedef uint64_t (*UFEp_t)(x64emu_t*, void*); typedef float (*fFif_t)(int32_t, float); @@ -152,6 +153,7 @@ typedef void* (*pFup_t)(uint32_t, void*); typedef void* (*pFlp_t)(intptr_t, void*); typedef void* (*pFLL_t)(uintptr_t, uintptr_t); typedef void* (*pFpi_t)(void*, int32_t); +typedef void* (*pFpC_t)(void*, uint8_t); typedef void* (*pFpu_t)(void*, uint32_t); typedef void* (*pFpL_t)(void*, uintptr_t); typedef void* (*pFpp_t)(void*, void*); @@ -215,8 +217,11 @@ typedef int32_t (*iFuff_t)(uint32_t, float, float); typedef int32_t (*iFfff_t)(float, float, float); typedef int32_t (*iFpii_t)(void*, int32_t, int32_t); typedef int32_t (*iFpiu_t)(void*, int32_t, uint32_t); +typedef int32_t (*iFpiL_t)(void*, int32_t, uintptr_t); typedef int32_t (*iFpip_t)(void*, int32_t, void*); +typedef int32_t (*iFpui_t)(void*, uint32_t, int32_t); typedef int32_t (*iFpuu_t)(void*, uint32_t, uint32_t); +typedef int32_t (*iFpuU_t)(void*, uint32_t, uint64_t); 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); @@ -241,6 +246,7 @@ typedef uint32_t (*uFuup_t)(uint32_t, uint32_t, void*); typedef uint32_t (*uFupu_t)(uint32_t, void*, uint32_t); typedef uint32_t (*uFupp_t)(uint32_t, void*, void*); typedef uint32_t (*uFpiu_t)(void*, int32_t, uint32_t); +typedef uint32_t (*uFpLp_t)(void*, uintptr_t, void*); typedef uint32_t (*uFppi_t)(void*, void*, int32_t); typedef uint32_t (*uFppu_t)(void*, void*, uint32_t); typedef uint64_t (*UFppi_t)(void*, void*, int32_t); @@ -263,8 +269,11 @@ typedef void* (*pFpii_t)(void*, int32_t, int32_t); 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* (*pFpCC_t)(void*, uint8_t, uint8_t); typedef void* (*pFpuu_t)(void*, uint32_t, uint32_t); typedef void* (*pFpuL_t)(void*, uint32_t, uintptr_t); +typedef void* (*pFpup_t)(void*, uint32_t, void*); +typedef void* (*pFpUp_t)(void*, uint64_t, void*); typedef void* (*pFppi_t)(void*, void*, int32_t); typedef void* (*pFppu_t)(void*, void*, uint32_t); typedef void* (*pFppL_t)(void*, void*, uintptr_t); @@ -317,6 +326,7 @@ 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 (*vFpppi_t)(void*, void*, void*, 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); @@ -327,6 +337,7 @@ typedef int32_t (*iFEppi_t)(x64emu_t*, void*, void*, int32_t); typedef int32_t (*iFEppp_t)(x64emu_t*, void*, void*, void*); typedef int32_t (*iFiiii_t)(int32_t, int32_t, int32_t, int32_t); typedef int32_t (*iFiiiu_t)(int32_t, int32_t, int32_t, uint32_t); +typedef int32_t (*iFippi_t)(int32_t, void*, void*, int32_t); typedef int32_t (*iFippp_t)(int32_t, void*, void*, void*); typedef int32_t (*iFuipp_t)(uint32_t, int32_t, void*, void*); typedef int32_t (*iFuuff_t)(uint32_t, uint32_t, float, float); @@ -342,8 +353,10 @@ 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 (*iFpuui_t)(void*, uint32_t, uint32_t, int32_t); +typedef int32_t (*iFpuuu_t)(void*, uint32_t, uint32_t, uint32_t); 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 (*iFpuLp_t)(void*, uint32_t, uintptr_t, void*); 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); @@ -361,11 +374,13 @@ 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); +typedef uint32_t (*uFpipp_t)(void*, int32_t, void*, void*); 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 uint64_t (*UFpipp_t)(void*, int32_t, 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*); @@ -378,7 +393,13 @@ 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* (*pFpiuu_t)(void*, int32_t, uint32_t, uint32_t); typedef void* (*pFpipp_t)(void*, int32_t, void*, void*); +typedef void* (*pFpCWp_t)(void*, uint8_t, uint16_t, void*); +typedef void* (*pFpCuW_t)(void*, uint8_t, uint32_t, uint16_t); +typedef void* (*pFpCuu_t)(void*, uint8_t, uint32_t, uint32_t); typedef void* (*pFpuii_t)(void*, uint32_t, int32_t, int32_t); +typedef void* (*pFpuWp_t)(void*, uint32_t, uint16_t, void*); +typedef void* (*pFpuuu_t)(void*, uint32_t, uint32_t, uint32_t); +typedef void* (*pFpuup_t)(void*, uint32_t, uint32_t, void*); 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*); @@ -446,6 +467,7 @@ typedef void (*vFpiiii_t)(void*, int32_t, int32_t, int32_t, int32_t); typedef void (*vFpipii_t)(void*, int32_t, void*, int32_t, int32_t); typedef void (*vFpuipp_t)(void*, uint32_t, int32_t, void*, void*); typedef void (*vFpddii_t)(void*, double, double, int32_t, int32_t); +typedef void (*vFppiii_t)(void*, void*, int32_t, int32_t, int32_t); typedef void (*vFppWui_t)(void*, void*, uint16_t, uint32_t, int32_t); typedef void (*vFpppii_t)(void*, void*, void*, int32_t, int32_t); typedef void (*vFppppp_t)(void*, void*, void*, void*, void*); @@ -488,7 +510,12 @@ typedef void* (*pFEpipL_t)(x64emu_t*, void*, int32_t, void*, uintptr_t); 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* (*pFpCuup_t)(void*, uint8_t, uint32_t, uint32_t, void*); +typedef void* (*pFpCppp_t)(void*, uint8_t, void*, void*, void*); typedef void* (*pFpuiii_t)(void*, uint32_t, int32_t, int32_t, int32_t); +typedef void* (*pFpuWWW_t)(void*, uint32_t, uint16_t, uint16_t, uint16_t); +typedef void* (*pFpuuWW_t)(void*, uint32_t, uint32_t, uint16_t, uint16_t); +typedef void* (*pFpuuup_t)(void*, uint32_t, uint32_t, uint32_t, void*); 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); @@ -567,10 +594,15 @@ 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 uint32_t (*uFpippup_t)(void*, int32_t, void*, void*, uint32_t, void*); +typedef uint64_t (*UFpippup_t)(void*, int32_t, void*, void*, uint32_t, 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* (*pFpCuuCC_t)(void*, uint8_t, uint32_t, uint32_t, uint8_t, uint8_t); +typedef void* (*pFpCuuWW_t)(void*, uint8_t, uint32_t, uint32_t, uint16_t, uint16_t); +typedef void* (*pFpCuuup_t)(void*, uint8_t, uint32_t, uint32_t, uint32_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*); @@ -611,7 +643,9 @@ 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 (*vFppiiipi_t)(void*, void*, int32_t, int32_t, int32_t, void*, int32_t); typedef void (*vFpppiiii_t)(void*, void*, void*, int32_t, int32_t, int32_t, int32_t); +typedef int32_t (*iFEpppiiu_t)(x64emu_t*, void*, void*, void*, int32_t, int32_t, uint32_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 (*iFpiiuuiu_t)(void*, int32_t, int32_t, uint32_t, uint32_t, int32_t, uint32_t); @@ -630,6 +664,14 @@ typedef int32_t (*iFppppiii_t)(void*, void*, void*, void*, int32_t, int32_t, int 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* (*pFEppppip_t)(x64emu_t*, void*, void*, void*, void*, int32_t, void*); +typedef void* (*pFuupupup_t)(uint32_t, uint32_t, void*, uint32_t, void*, uint32_t, void*); +typedef void* (*pFpCuwwWW_t)(void*, uint8_t, uint32_t, int16_t, int16_t, uint16_t, uint16_t); +typedef void* (*pFpCuWCCC_t)(void*, uint8_t, uint32_t, uint16_t, uint8_t, uint8_t, uint8_t); +typedef void* (*pFpCuuwwp_t)(void*, uint8_t, uint32_t, uint32_t, int16_t, int16_t, void*); +typedef void* (*pFpCuuuuu_t)(void*, uint8_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t); +typedef void* (*pFppuuppp_t)(void*, void*, uint32_t, uint32_t, void*, void*, void*); +typedef void* (*pFppppuuu_t)(void*, void*, void*, void*, uint32_t, uint32_t, uint32_t); 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*); @@ -652,6 +694,8 @@ 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 (*vFpippiipi_t)(void*, int32_t, void*, void*, int32_t, int32_t, void*, int32_t); +typedef void (*vFppiiipii_t)(void*, void*, int32_t, int32_t, int32_t, void*, int32_t, int32_t); 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*); @@ -667,6 +711,9 @@ typedef int32_t (*iFppppiipi_t)(void*, void*, void*, void*, int32_t, int32_t, vo 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* (*pFuupupipp_t)(uint32_t, uint32_t, void*, uint32_t, void*, int32_t, void*, void*); +typedef void* (*pFpCuwwWWu_t)(void*, uint8_t, uint32_t, int16_t, int16_t, uint16_t, uint16_t, uint32_t); +typedef void* (*pFpCuuuCup_t)(void*, uint8_t, uint32_t, uint32_t, uint32_t, uint8_t, uint32_t, void*); 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*); @@ -683,15 +730,21 @@ 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 (*vFppiiipiii_t)(void*, void*, int32_t, int32_t, int32_t, void*, int32_t, int32_t, int32_t); 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 (*iFpipLpiiip_t)(void*, int32_t, void*, uintptr_t, void*, int32_t, int32_t, int32_t, 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 (*iFpppiipiiu_t)(void*, void*, void*, int32_t, int32_t, void*, int32_t, int32_t, uint32_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* (*pFEppuippuu_t)(x64emu_t*, void*, void*, uint32_t, int32_t, void*, void*, uint32_t, uint32_t); typedef void* (*pFpiiiiuuuu_t)(void*, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, uint32_t, uint32_t); +typedef void* (*pFpCuWCCuuu_t)(void*, uint8_t, uint32_t, uint16_t, uint8_t, uint8_t, uint32_t, uint32_t, uint32_t); +typedef void* (*pFpuuwwWWww_t)(void*, uint32_t, uint32_t, int16_t, int16_t, uint16_t, uint16_t, int16_t, int16_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); @@ -712,6 +765,8 @@ typedef int32_t (*iFiiiiiiiiip_t)(int32_t, int32_t, int32_t, int32_t, int32_t, i typedef int32_t (*iFpuupiuiipp_t)(void*, uint32_t, uint32_t, void*, int32_t, uint32_t, int32_t, int32_t, void*, void*); typedef int32_t (*iFppuuiiiiii_t)(void*, void*, uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t); typedef int32_t (*iFppppiiuuii_t)(void*, void*, void*, void*, int32_t, int32_t, uint32_t, uint32_t, int32_t, int32_t); +typedef void* (*pFpCuWCCuuCW_t)(void*, uint8_t, uint32_t, uint16_t, uint8_t, uint8_t, uint32_t, uint32_t, uint8_t, uint16_t); +typedef void* (*pFpuuuwwwwWW_t)(void*, uint32_t, uint32_t, uint32_t, int16_t, int16_t, int16_t, int16_t, uint16_t, uint16_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*); @@ -727,20 +782,27 @@ typedef void (*vFuffffffffff_t)(uint32_t, float, float, float, float, float, flo 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 (*iFpipllippppp_t)(void*, int32_t, void*, intptr_t, intptr_t, int32_t, void*, void*, void*, void*, 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 (*iFEppppiiiiuui_t)(x64emu_t*, void*, void*, void*, void*, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, int32_t); +typedef int32_t (*iFpipppppppppp_t)(void*, int32_t, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*); typedef int32_t (*iFpppllipppppp_t)(void*, void*, void*, intptr_t, intptr_t, int32_t, void*, void*, void*, void*, void*, void*); +typedef int32_t (*iFpppppppppppp_t)(void*, void*, void*, void*, void*, void*, 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* (*pFpCuuWWwwCCup_t)(void*, uint8_t, uint32_t, uint32_t, uint16_t, uint16_t, int16_t, int16_t, uint8_t, uint8_t, uint32_t, void*); +typedef void* (*pFpuuuWWWWWWWW_t)(void*, uint32_t, uint32_t, uint32_t, uint16_t, uint16_t, uint16_t, uint16_t, uint16_t, uint16_t, uint16_t, uint16_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* (*pFpCuuwwWWWWuup_t)(void*, uint8_t, uint32_t, uint32_t, int16_t, int16_t, uint16_t, uint16_t, uint16_t, uint16_t, uint32_t, uint32_t, void*); typedef 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*); @@ -861,6 +923,7 @@ void uFuu(x64emu_t *emu, uintptr_t fcn) { uFuu_t fn = (uFuu_t)fcn; R_RAX=(uint32 void uFup(x64emu_t *emu, uintptr_t fcn) { uFup_t fn = (uFup_t)fcn; R_RAX=(uint32_t)fn((uint32_t)R_RDI, (void*)R_RSI); } void uFpi(x64emu_t *emu, uintptr_t fcn) { uFpi_t fn = (uFpi_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (int32_t)R_RSI); } void uFpu(x64emu_t *emu, uintptr_t fcn) { uFpu_t fn = (uFpu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI); } +void uFpU(x64emu_t *emu, uintptr_t fcn) { uFpU_t fn = (uFpU_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint64_t)R_RSI); } void uFpp(x64emu_t *emu, uintptr_t fcn) { uFpp_t fn = (uFpp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI); } void UFEp(x64emu_t *emu, uintptr_t fcn) { UFEp_t fn = (UFEp_t)fcn; R_RAX=fn(emu, (void*)R_RDI); } void fFif(x64emu_t *emu, uintptr_t fcn) { fFif_t fn = (fFif_t)fcn; emu->xmm[0].f[0]=fn((int32_t)R_RDI, emu->xmm[0].f[0]); } @@ -883,6 +946,7 @@ void pFup(x64emu_t *emu, uintptr_t fcn) { pFup_t fn = (pFup_t)fcn; R_RAX=(uintpt void pFlp(x64emu_t *emu, uintptr_t fcn) { pFlp_t fn = (pFlp_t)fcn; R_RAX=(uintptr_t)fn((intptr_t)R_RDI, (void*)R_RSI); } void pFLL(x64emu_t *emu, uintptr_t fcn) { pFLL_t fn = (pFLL_t)fcn; R_RAX=(uintptr_t)fn((uintptr_t)R_RDI, (uintptr_t)R_RSI); } void pFpi(x64emu_t *emu, uintptr_t fcn) { pFpi_t fn = (pFpi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int32_t)R_RSI); } +void pFpC(x64emu_t *emu, uintptr_t fcn) { pFpC_t fn = (pFpC_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint8_t)R_RSI); } void pFpu(x64emu_t *emu, uintptr_t fcn) { pFpu_t fn = (pFpu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint32_t)R_RSI); } void pFpL(x64emu_t *emu, uintptr_t fcn) { pFpL_t fn = (pFpL_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI); } void pFpp(x64emu_t *emu, uintptr_t fcn) { pFpp_t fn = (pFpp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI); } @@ -946,8 +1010,11 @@ void iFuff(x64emu_t *emu, uintptr_t fcn) { iFuff_t fn = (iFuff_t)fcn; R_RAX=fn(( void iFfff(x64emu_t *emu, uintptr_t fcn) { iFfff_t fn = (iFfff_t)fcn; R_RAX=fn(emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0]); } void iFpii(x64emu_t *emu, uintptr_t fcn) { iFpii_t fn = (iFpii_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX); } void iFpiu(x64emu_t *emu, uintptr_t fcn) { iFpiu_t fn = (iFpiu_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (uint32_t)R_RDX); } +void iFpiL(x64emu_t *emu, uintptr_t fcn) { iFpiL_t fn = (iFpiL_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (uintptr_t)R_RDX); } void iFpip(x64emu_t *emu, uintptr_t fcn) { iFpip_t fn = (iFpip_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX); } +void iFpui(x64emu_t *emu, uintptr_t fcn) { iFpui_t fn = (iFpui_t)fcn; R_RAX=fn((void*)R_RDI, (uint32_t)R_RSI, (int32_t)R_RDX); } void iFpuu(x64emu_t *emu, uintptr_t fcn) { iFpuu_t fn = (iFpuu_t)fcn; R_RAX=fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX); } +void iFpuU(x64emu_t *emu, uintptr_t fcn) { iFpuU_t fn = (iFpuU_t)fcn; R_RAX=fn((void*)R_RDI, (uint32_t)R_RSI, (uint64_t)R_RDX); } void iFpuL(x64emu_t *emu, uintptr_t fcn) { iFpuL_t fn = (iFpuL_t)fcn; R_RAX=fn((void*)R_RDI, (uint32_t)R_RSI, (uintptr_t)R_RDX); } 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); } @@ -972,6 +1039,7 @@ void uFuup(x64emu_t *emu, uintptr_t fcn) { uFuup_t fn = (uFuup_t)fcn; R_RAX=(uin void uFupu(x64emu_t *emu, uintptr_t fcn) { uFupu_t fn = (uFupu_t)fcn; R_RAX=(uint32_t)fn((uint32_t)R_RDI, (void*)R_RSI, (uint32_t)R_RDX); } void uFupp(x64emu_t *emu, uintptr_t fcn) { uFupp_t fn = (uFupp_t)fcn; R_RAX=(uint32_t)fn((uint32_t)R_RDI, (void*)R_RSI, (void*)R_RDX); } void uFpiu(x64emu_t *emu, uintptr_t fcn) { uFpiu_t fn = (uFpiu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (int32_t)R_RSI, (uint32_t)R_RDX); } +void uFpLp(x64emu_t *emu, uintptr_t fcn) { uFpLp_t fn = (uFpLp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX); } void uFppi(x64emu_t *emu, uintptr_t fcn) { uFppi_t fn = (uFppi_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX); } void uFppu(x64emu_t *emu, uintptr_t fcn) { uFppu_t fn = (uFppu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX); } void UFppi(x64emu_t *emu, uintptr_t fcn) { UFppi_t fn = (UFppi_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX); } @@ -994,8 +1062,11 @@ void pFpii(x64emu_t *emu, uintptr_t fcn) { pFpii_t fn = (pFpii_t)fcn; R_RAX=(uin void pFpiu(x64emu_t *emu, uintptr_t fcn) { pFpiu_t fn = (pFpiu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int32_t)R_RSI, (uint32_t)R_RDX); } 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 pFpCC(x64emu_t *emu, uintptr_t fcn) { pFpCC_t fn = (pFpCC_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint8_t)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 pFpup(x64emu_t *emu, uintptr_t fcn) { pFpup_t fn = (pFpup_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX); } +void pFpUp(x64emu_t *emu, uintptr_t fcn) { pFpUp_t fn = (pFpUp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint64_t)R_RSI, (void*)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); } @@ -1048,6 +1119,7 @@ void vFpdii(x64emu_t *emu, uintptr_t fcn) { vFpdii_t fn = (vFpdii_t)fcn; fn((voi 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 vFpppi(x64emu_t *emu, uintptr_t fcn) { vFpppi_t fn = (vFpppi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)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); } @@ -1058,6 +1130,7 @@ void iFEppi(x64emu_t *emu, uintptr_t fcn) { iFEppi_t fn = (iFEppi_t)fcn; R_RAX=f void iFEppp(x64emu_t *emu, uintptr_t fcn) { iFEppp_t fn = (iFEppp_t)fcn; R_RAX=fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX); } void iFiiii(x64emu_t *emu, uintptr_t fcn) { iFiiii_t fn = (iFiiii_t)fcn; R_RAX=fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX); } void iFiiiu(x64emu_t *emu, uintptr_t fcn) { iFiiiu_t fn = (iFiiiu_t)fcn; R_RAX=fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (uint32_t)R_RCX); } +void iFippi(x64emu_t *emu, uintptr_t fcn) { iFippi_t fn = (iFippi_t)fcn; R_RAX=fn((int32_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX); } void iFippp(x64emu_t *emu, uintptr_t fcn) { iFippp_t fn = (iFippp_t)fcn; R_RAX=fn((int32_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX); } void iFuipp(x64emu_t *emu, uintptr_t fcn) { iFuipp_t fn = (iFuipp_t)fcn; R_RAX=fn((uint32_t)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX); } 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]); } @@ -1073,8 +1146,10 @@ void iFpCCC(x64emu_t *emu, uintptr_t fcn) { iFpCCC_t fn = (iFpCCC_t)fcn; R_RAX=f 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 iFpuui(x64emu_t *emu, uintptr_t fcn) { iFpuui_t fn = (iFpuui_t)fcn; R_RAX=fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX); } +void iFpuuu(x64emu_t *emu, uintptr_t fcn) { iFpuuu_t fn = (iFpuuu_t)fcn; R_RAX=fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)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 iFpuLp(x64emu_t *emu, uintptr_t fcn) { iFpuLp_t fn = (iFpuLp_t)fcn; R_RAX=fn((void*)R_RDI, (uint32_t)R_RSI, (uintptr_t)R_RDX, (void*)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); } @@ -1092,11 +1167,13 @@ void iFpppL(x64emu_t *emu, uintptr_t fcn) { iFpppL_t fn = (iFpppL_t)fcn; R_RAX=f 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); } +void uFpipp(x64emu_t *emu, uintptr_t fcn) { uFpipp_t fn = (uFpipp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX); } void uFpCCC(x64emu_t *emu, uintptr_t fcn) { uFpCCC_t fn = (uFpCCC_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint8_t)R_RDX, (uint8_t)R_RCX); } 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 UFpipp(x64emu_t *emu, uintptr_t fcn) { UFpipp_t fn = (UFpipp_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)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); } @@ -1109,7 +1186,13 @@ 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 pFpiuu(x64emu_t *emu, uintptr_t fcn) { pFpiuu_t fn = (pFpiuu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int32_t)R_RSI, (uint32_t)R_RDX, (uint32_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 pFpCWp(x64emu_t *emu, uintptr_t fcn) { pFpCWp_t fn = (pFpCWp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint16_t)R_RDX, (void*)R_RCX); } +void pFpCuW(x64emu_t *emu, uintptr_t fcn) { pFpCuW_t fn = (pFpCuW_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint32_t)R_RDX, (uint16_t)R_RCX); } +void pFpCuu(x64emu_t *emu, uintptr_t fcn) { pFpCuu_t fn = (pFpCuu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint32_t)R_RDX, (uint32_t)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 pFpuWp(x64emu_t *emu, uintptr_t fcn) { pFpuWp_t fn = (pFpuWp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint16_t)R_RDX, (void*)R_RCX); } +void pFpuuu(x64emu_t *emu, uintptr_t fcn) { pFpuuu_t fn = (pFpuuu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX); } +void pFpuup(x64emu_t *emu, uintptr_t fcn) { pFpuup_t fn = (pFpuup_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (void*)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); } @@ -1177,6 +1260,7 @@ void vFpiiii(x64emu_t *emu, uintptr_t fcn) { vFpiiii_t fn = (vFpiiii_t)fcn; fn(( void vFpipii(x64emu_t *emu, uintptr_t fcn) { vFpipii_t fn = (vFpipii_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8); } void vFpuipp(x64emu_t *emu, uintptr_t fcn) { vFpuipp_t fn = (vFpuipp_t)fcn; fn((void*)R_RDI, (uint32_t)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8); } void vFpddii(x64emu_t *emu, uintptr_t fcn) { vFpddii_t fn = (vFpddii_t)fcn; fn((void*)R_RDI, emu->xmm[0].d[0], emu->xmm[1].d[0], (int32_t)R_RSI, (int32_t)R_RDX); } +void vFppiii(x64emu_t *emu, uintptr_t fcn) { vFppiii_t fn = (vFppiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8); } void vFppWui(x64emu_t *emu, uintptr_t fcn) { vFppWui_t fn = (vFppWui_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uint16_t)R_RDX, (uint32_t)R_RCX, (int32_t)R_R8); } void vFpppii(x64emu_t *emu, uintptr_t fcn) { vFpppii_t fn = (vFpppii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8); } void vFppppp(x64emu_t *emu, uintptr_t fcn) { vFppppp_t fn = (vFppppp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); } @@ -1219,7 +1303,12 @@ void pFEpipL(x64emu_t *emu, uintptr_t fcn) { pFEpipL_t fn = (pFEpipL_t)fcn; R_RA 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 pFpCuup(x64emu_t *emu, uintptr_t fcn) { pFpCuup_t fn = (pFpCuup_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (void*)R_R8); } +void pFpCppp(x64emu_t *emu, uintptr_t fcn) { pFpCppp_t fn = (pFpCppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint8_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)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 pFpuWWW(x64emu_t *emu, uintptr_t fcn) { pFpuWWW_t fn = (pFpuWWW_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint16_t)R_RDX, (uint16_t)R_RCX, (uint16_t)R_R8); } +void pFpuuWW(x64emu_t *emu, uintptr_t fcn) { pFpuuWW_t fn = (pFpuuWW_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint16_t)R_RCX, (uint16_t)R_R8); } +void pFpuuup(x64emu_t *emu, uintptr_t fcn) { pFpuuup_t fn = (pFpuuup_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (void*)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); } @@ -1298,10 +1387,15 @@ void iFppppii(x64emu_t *emu, uintptr_t fcn) { iFppppii_t fn = (iFppppii_t)fcn; R 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 uFpippup(x64emu_t *emu, uintptr_t fcn) { uFpippup_t fn = (uFpippup_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (uint32_t)R_R8, (void*)R_R9); } +void UFpippup(x64emu_t *emu, uintptr_t fcn) { UFpippup_t fn = (UFpippup_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (uint32_t)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 pFpCuuCC(x64emu_t *emu, uintptr_t fcn) { pFpCuuCC_t fn = (pFpCuuCC_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint8_t)R_R8, (uint8_t)R_R9); } +void pFpCuuWW(x64emu_t *emu, uintptr_t fcn) { pFpCuuWW_t fn = (pFpCuuWW_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint16_t)R_R8, (uint16_t)R_R9); } +void pFpCuuup(x64emu_t *emu, uintptr_t fcn) { pFpCuuup_t fn = (pFpCuuup_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_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); } @@ -1342,7 +1436,9 @@ 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 vFppiiipi(x64emu_t *emu, uintptr_t fcn) { vFppiiipi_t fn = (vFppiiipi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (void*)R_R9, *(int32_t*)(R_RSP + 8)); } 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 iFEpppiiu(x64emu_t *emu, uintptr_t fcn) { iFEpppiiu_t fn = (iFEpppiiu_t)fcn; R_RAX=fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (uint32_t)R_R9); } 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 iFpiiuuiu(x64emu_t *emu, uintptr_t fcn) { iFpiiuuiu_t fn = (iFpiiuuiu_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (int32_t)R_R9, *(uint32_t*)(R_RSP + 8)); } @@ -1361,6 +1457,14 @@ void iFppppiii(x64emu_t *emu, uintptr_t fcn) { iFppppiii_t fn = (iFppppiii_t)fcn 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 pFEppppip(x64emu_t *emu, uintptr_t fcn) { pFEppppip_t fn = (pFEppppip_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (void*)R_R9); } +void pFuupupup(x64emu_t *emu, uintptr_t fcn) { pFuupupup_t fn = (pFuupupup_t)fcn; R_RAX=(uintptr_t)fn((uint32_t)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (uint32_t)R_R9, *(void**)(R_RSP + 8)); } +void pFpCuwwWW(x64emu_t *emu, uintptr_t fcn) { pFpCuwwWW_t fn = (pFpCuwwWW_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint32_t)R_RDX, (int16_t)R_RCX, (int16_t)R_R8, (uint16_t)R_R9, *(uint16_t*)(R_RSP + 8)); } +void pFpCuWCCC(x64emu_t *emu, uintptr_t fcn) { pFpCuWCCC_t fn = (pFpCuWCCC_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint32_t)R_RDX, (uint16_t)R_RCX, (uint8_t)R_R8, (uint8_t)R_R9, *(uint8_t*)(R_RSP + 8)); } +void pFpCuuwwp(x64emu_t *emu, uintptr_t fcn) { pFpCuuwwp_t fn = (pFpCuuwwp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (int16_t)R_R8, (int16_t)R_R9, *(void**)(R_RSP + 8)); } +void pFpCuuuuu(x64emu_t *emu, uintptr_t fcn) { pFpCuuuuu_t fn = (pFpCuuuuu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8)); } +void pFppuuppp(x64emu_t *emu, uintptr_t fcn) { pFppuuppp_t fn = (pFppuuppp_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*)R_R9, *(void**)(R_RSP + 8)); } +void pFppppuuu(x64emu_t *emu, uintptr_t fcn) { pFppppuuu_t fn = (pFppppuuu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(uint32_t*)(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)); } @@ -1383,6 +1487,8 @@ 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 vFpippiipi(x64emu_t *emu, uintptr_t fcn) { vFpippiipi_t fn = (vFpippiipi_t)fcn; fn((void*)R_RDI, (int32_t)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 vFppiiipii(x64emu_t *emu, uintptr_t fcn) { vFppiiipii_t fn = (vFppiiipii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (void*)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16)); } 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)); } @@ -1398,6 +1504,9 @@ void iFppppiipi(x64emu_t *emu, uintptr_t fcn) { iFppppiipi_t fn = (iFppppiipi_t) 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 pFuupupipp(x64emu_t *emu, uintptr_t fcn) { pFuupupipp_t fn = (pFuupupipp_t)fcn; R_RAX=(uintptr_t)fn((uint32_t)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); } +void pFpCuwwWWu(x64emu_t *emu, uintptr_t fcn) { pFpCuwwWWu_t fn = (pFpCuwwWWu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint32_t)R_RDX, (int16_t)R_RCX, (int16_t)R_R8, (uint16_t)R_R9, *(uint16_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16)); } +void pFpCuuuCup(x64emu_t *emu, uintptr_t fcn) { pFpCuuuCup_t fn = (pFpCuuuCup_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (uint8_t)R_R9, *(uint32_t*)(R_RSP + 8), *(void**)(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)); } @@ -1414,15 +1523,21 @@ 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 vFppiiipiii(x64emu_t *emu, uintptr_t fcn) { vFppiiipiii_t fn = (vFppiiipiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (void*)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(int32_t*)(R_RSP + 24)); } 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 iFpipLpiiip(x64emu_t *emu, uintptr_t fcn) { iFpipLpiiip_t fn = (iFpipLpiiip_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (uintptr_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 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 iFpppiipiiu(x64emu_t *emu, uintptr_t fcn) { iFpppiipiiu_t fn = (iFpppiipiiu_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), *(int32_t*)(R_RSP + 16), *(uint32_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 pFEppuippuu(x64emu_t *emu, uintptr_t fcn) { pFEppuippuu_t fn = (pFEppuippuu_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8, (void*)R_R9, *(uint32_t*)(R_RSP + 8), *(uint32_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 pFpCuWCCuuu(x64emu_t *emu, uintptr_t fcn) { pFpCuWCCuuu_t fn = (pFpCuWCCuuu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint32_t)R_RDX, (uint16_t)R_RCX, (uint8_t)R_R8, (uint8_t)R_R9, *(uint32_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16), *(uint32_t*)(R_RSP + 24)); } +void pFpuuwwWWww(x64emu_t *emu, uintptr_t fcn) { pFpuuwwWWww_t fn = (pFpuuwwWWww_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (int16_t)R_RCX, (int16_t)R_R8, (uint16_t)R_R9, *(uint16_t*)(R_RSP + 8), *(int16_t*)(R_RSP + 16), *(int16_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)); } @@ -1443,6 +1558,8 @@ void iFiiiiiiiiip(x64emu_t *emu, uintptr_t fcn) { iFiiiiiiiiip_t fn = (iFiiiiiii 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 iFppuuiiiiii(x64emu_t *emu, uintptr_t fcn) { iFppuuiiiiii_t fn = (iFppuuiiiiii_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_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 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 pFpCuWCCuuCW(x64emu_t *emu, uintptr_t fcn) { pFpCuWCCuuCW_t fn = (pFpCuWCCuuCW_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint32_t)R_RDX, (uint16_t)R_RCX, (uint8_t)R_R8, (uint8_t)R_R9, *(uint32_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16), *(uint8_t*)(R_RSP + 24), *(uint16_t*)(R_RSP + 32)); } +void pFpuuuwwwwWW(x64emu_t *emu, uintptr_t fcn) { pFpuuuwwwwWW_t fn = (pFpuuuwwwwWW_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (int16_t)R_R8, (int16_t)R_R9, *(int16_t*)(R_RSP + 8), *(int16_t*)(R_RSP + 16), *(uint16_t*)(R_RSP + 24), *(uint16_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)); } @@ -1458,20 +1575,27 @@ void vFuffffffffff(x64emu_t *emu, uintptr_t fcn) { vFuffffffffff_t fn = (vFuffff 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 iFpipllippppp(x64emu_t *emu, uintptr_t fcn) { iFpipllippppp_t fn = (iFpipllippppp_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)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 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 iFEppppiiiiuui(x64emu_t *emu, uintptr_t fcn) { iFEppppiiiiuui_t fn = (iFEppppiiiiuui_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), *(int32_t*)(R_RSP + 40)); } +void iFpipppppppppp(x64emu_t *emu, uintptr_t fcn) { iFpipppppppppp_t fn = (iFpipppppppppp_t)fcn; R_RAX=fn((void*)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**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48)); } 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 iFpppppppppppp(x64emu_t *emu, uintptr_t fcn) { iFpppppppppppp_t fn = (iFpppppppppppp_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**)(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 pFpCuuWWwwCCup(x64emu_t *emu, uintptr_t fcn) { pFpCuuWWwwCCup_t fn = (pFpCuuWWwwCCup_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint16_t)R_R8, (uint16_t)R_R9, *(int16_t*)(R_RSP + 8), *(int16_t*)(R_RSP + 16), *(uint8_t*)(R_RSP + 24), *(uint8_t*)(R_RSP + 32), *(uint32_t*)(R_RSP + 40), *(void**)(R_RSP + 48)); } +void pFpuuuWWWWWWWW(x64emu_t *emu, uintptr_t fcn) { pFpuuuWWWWWWWW_t fn = (pFpuuuWWWWWWWW_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint16_t)R_R8, (uint16_t)R_R9, *(uint16_t*)(R_RSP + 8), *(uint16_t*)(R_RSP + 16), *(uint16_t*)(R_RSP + 24), *(uint16_t*)(R_RSP + 32), *(uint16_t*)(R_RSP + 40), *(uint16_t*)(R_RSP + 48)); } 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 pFpCuuwwWWWWuup(x64emu_t *emu, uintptr_t fcn) { pFpCuuwwWWWWuup_t fn = (pFpCuuwwWWWWuup_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (int16_t)R_R8, (int16_t)R_R9, *(uint16_t*)(R_RSP + 8), *(uint16_t*)(R_RSP + 16), *(uint16_t*)(R_RSP + 24), *(uint16_t*)(R_RSP + 32), *(uint32_t*)(R_RSP + 40), *(uint32_t*)(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)); } diff --git a/src/wrapped/generated/wrapper.h b/src/wrapped/generated/wrapper.h index 37a913d9..0cb07aa0 100644 --- a/src/wrapped/generated/wrapper.h +++ b/src/wrapped/generated/wrapper.h @@ -127,6 +127,7 @@ void uFuu(x64emu_t *emu, uintptr_t fnc); void uFup(x64emu_t *emu, uintptr_t fnc); void uFpi(x64emu_t *emu, uintptr_t fnc); void uFpu(x64emu_t *emu, uintptr_t fnc); +void uFpU(x64emu_t *emu, uintptr_t fnc); void uFpp(x64emu_t *emu, uintptr_t fnc); void UFEp(x64emu_t *emu, uintptr_t fnc); void fFif(x64emu_t *emu, uintptr_t fnc); @@ -149,6 +150,7 @@ void pFup(x64emu_t *emu, uintptr_t fnc); void pFlp(x64emu_t *emu, uintptr_t fnc); void pFLL(x64emu_t *emu, uintptr_t fnc); void pFpi(x64emu_t *emu, uintptr_t fnc); +void pFpC(x64emu_t *emu, uintptr_t fnc); void pFpu(x64emu_t *emu, uintptr_t fnc); void pFpL(x64emu_t *emu, uintptr_t fnc); void pFpp(x64emu_t *emu, uintptr_t fnc); @@ -212,8 +214,11 @@ void iFuff(x64emu_t *emu, uintptr_t fnc); void iFfff(x64emu_t *emu, uintptr_t fnc); void iFpii(x64emu_t *emu, uintptr_t fnc); void iFpiu(x64emu_t *emu, uintptr_t fnc); +void iFpiL(x64emu_t *emu, uintptr_t fnc); void iFpip(x64emu_t *emu, uintptr_t fnc); +void iFpui(x64emu_t *emu, uintptr_t fnc); void iFpuu(x64emu_t *emu, uintptr_t fnc); +void iFpuU(x64emu_t *emu, uintptr_t fnc); void iFpuL(x64emu_t *emu, uintptr_t fnc); void iFpup(x64emu_t *emu, uintptr_t fnc); void iFpfu(x64emu_t *emu, uintptr_t fnc); @@ -238,6 +243,7 @@ void uFuup(x64emu_t *emu, uintptr_t fnc); void uFupu(x64emu_t *emu, uintptr_t fnc); void uFupp(x64emu_t *emu, uintptr_t fnc); void uFpiu(x64emu_t *emu, uintptr_t fnc); +void uFpLp(x64emu_t *emu, uintptr_t fnc); void uFppi(x64emu_t *emu, uintptr_t fnc); void uFppu(x64emu_t *emu, uintptr_t fnc); void UFppi(x64emu_t *emu, uintptr_t fnc); @@ -260,8 +266,11 @@ void pFpii(x64emu_t *emu, uintptr_t fnc); 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 pFpCC(x64emu_t *emu, uintptr_t fnc); void pFpuu(x64emu_t *emu, uintptr_t fnc); void pFpuL(x64emu_t *emu, uintptr_t fnc); +void pFpup(x64emu_t *emu, uintptr_t fnc); +void pFpUp(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); @@ -314,6 +323,7 @@ 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 vFpppi(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); @@ -324,6 +334,7 @@ void iFEppi(x64emu_t *emu, uintptr_t fnc); void iFEppp(x64emu_t *emu, uintptr_t fnc); void iFiiii(x64emu_t *emu, uintptr_t fnc); void iFiiiu(x64emu_t *emu, uintptr_t fnc); +void iFippi(x64emu_t *emu, uintptr_t fnc); void iFippp(x64emu_t *emu, uintptr_t fnc); void iFuipp(x64emu_t *emu, uintptr_t fnc); void iFuuff(x64emu_t *emu, uintptr_t fnc); @@ -339,8 +350,10 @@ 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 iFpuui(x64emu_t *emu, uintptr_t fnc); +void iFpuuu(x64emu_t *emu, uintptr_t fnc); void iFpuup(x64emu_t *emu, uintptr_t fnc); void iFpuLL(x64emu_t *emu, uintptr_t fnc); +void iFpuLp(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); @@ -358,11 +371,13 @@ 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); +void uFpipp(x64emu_t *emu, uintptr_t fnc); 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 UFpipp(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); @@ -375,7 +390,13 @@ void pFuiii(x64emu_t *emu, uintptr_t fnc); void pFpiii(x64emu_t *emu, uintptr_t fnc); void pFpiuu(x64emu_t *emu, uintptr_t fnc); void pFpipp(x64emu_t *emu, uintptr_t fnc); +void pFpCWp(x64emu_t *emu, uintptr_t fnc); +void pFpCuW(x64emu_t *emu, uintptr_t fnc); +void pFpCuu(x64emu_t *emu, uintptr_t fnc); void pFpuii(x64emu_t *emu, uintptr_t fnc); +void pFpuWp(x64emu_t *emu, uintptr_t fnc); +void pFpuuu(x64emu_t *emu, uintptr_t fnc); +void pFpuup(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); @@ -443,6 +464,7 @@ void vFpiiii(x64emu_t *emu, uintptr_t fnc); void vFpipii(x64emu_t *emu, uintptr_t fnc); void vFpuipp(x64emu_t *emu, uintptr_t fnc); void vFpddii(x64emu_t *emu, uintptr_t fnc); +void vFppiii(x64emu_t *emu, uintptr_t fnc); void vFppWui(x64emu_t *emu, uintptr_t fnc); void vFpppii(x64emu_t *emu, uintptr_t fnc); void vFppppp(x64emu_t *emu, uintptr_t fnc); @@ -485,7 +507,12 @@ void pFEpipL(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 pFpCuup(x64emu_t *emu, uintptr_t fnc); +void pFpCppp(x64emu_t *emu, uintptr_t fnc); void pFpuiii(x64emu_t *emu, uintptr_t fnc); +void pFpuWWW(x64emu_t *emu, uintptr_t fnc); +void pFpuuWW(x64emu_t *emu, uintptr_t fnc); +void pFpuuup(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); @@ -564,10 +591,15 @@ 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 uFpippup(x64emu_t *emu, uintptr_t fnc); +void UFpippup(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 pFpCuuCC(x64emu_t *emu, uintptr_t fnc); +void pFpCuuWW(x64emu_t *emu, uintptr_t fnc); +void pFpCuuup(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); @@ -608,7 +640,9 @@ 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 vFppiiipi(x64emu_t *emu, uintptr_t fnc); void vFpppiiii(x64emu_t *emu, uintptr_t fnc); +void iFEpppiiu(x64emu_t *emu, uintptr_t fnc); void iFEpppppp(x64emu_t *emu, uintptr_t fnc); void iFiiiiiip(x64emu_t *emu, uintptr_t fnc); void iFpiiuuiu(x64emu_t *emu, uintptr_t fnc); @@ -627,6 +661,14 @@ 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 pFEppppip(x64emu_t *emu, uintptr_t fnc); +void pFuupupup(x64emu_t *emu, uintptr_t fnc); +void pFpCuwwWW(x64emu_t *emu, uintptr_t fnc); +void pFpCuWCCC(x64emu_t *emu, uintptr_t fnc); +void pFpCuuwwp(x64emu_t *emu, uintptr_t fnc); +void pFpCuuuuu(x64emu_t *emu, uintptr_t fnc); +void pFppuuppp(x64emu_t *emu, uintptr_t fnc); +void pFppppuuu(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); @@ -649,6 +691,8 @@ 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 vFpippiipi(x64emu_t *emu, uintptr_t fnc); +void vFppiiipii(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); @@ -664,6 +708,9 @@ 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 pFuupupipp(x64emu_t *emu, uintptr_t fnc); +void pFpCuwwWWu(x64emu_t *emu, uintptr_t fnc); +void pFpCuuuCup(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); @@ -680,15 +727,21 @@ 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 vFppiiipiii(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 iFpipLpiiip(x64emu_t *emu, uintptr_t fnc); void iFppiuiippL(x64emu_t *emu, uintptr_t fnc); void iFpppiiuuii(x64emu_t *emu, uintptr_t fnc); +void iFpppiipiiu(x64emu_t *emu, uintptr_t fnc); void iFppppppppp(x64emu_t *emu, uintptr_t fnc); void pFEppiiuuLi(x64emu_t *emu, uintptr_t fnc); +void pFEppuippuu(x64emu_t *emu, uintptr_t fnc); void pFpiiiiuuuu(x64emu_t *emu, uintptr_t fnc); +void pFpCuWCCuuu(x64emu_t *emu, uintptr_t fnc); +void pFpuuwwWWww(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); @@ -709,6 +762,8 @@ void iFiiiiiiiiip(x64emu_t *emu, uintptr_t fnc); void iFpuupiuiipp(x64emu_t *emu, uintptr_t fnc); void iFppuuiiiiii(x64emu_t *emu, uintptr_t fnc); void iFppppiiuuii(x64emu_t *emu, uintptr_t fnc); +void pFpCuWCCuuCW(x64emu_t *emu, uintptr_t fnc); +void pFpuuuwwwwWW(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); @@ -724,20 +779,27 @@ 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 iFpipllippppp(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 iFEppppiiiiuui(x64emu_t *emu, uintptr_t fnc); +void iFpipppppppppp(x64emu_t *emu, uintptr_t fnc); void iFpppllipppppp(x64emu_t *emu, uintptr_t fnc); +void iFpppppppppppp(x64emu_t *emu, uintptr_t fnc); void pFEppiiuuuipii(x64emu_t *emu, uintptr_t fnc); +void pFpCuuWWwwCCup(x64emu_t *emu, uintptr_t fnc); +void pFpuuuWWWWWWWW(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 pFpCuuwwWWWWuup(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); diff --git a/src/wrapped/wrappedlibxau.c b/src/wrapped/wrappedlibxau.c new file mode 100755 index 00000000..7537eb09 --- /dev/null +++ b/src/wrapped/wrappedlibxau.c @@ -0,0 +1,17 @@ +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#define _GNU_SOURCE /* See feature_test_macros(7) */ +#include <dlfcn.h> + +#include "wrappedlibs.h" + +#include "wrapper.h" +#include "bridge.h" +#include "librarian/library_private.h" +#include "x64emu.h" + +const char* libxauName = "libXau.so.6"; +#define LIBNAME libxau + +#include "wrappedlib_init.h" diff --git a/src/wrapped/wrappedlibxau_private.h b/src/wrapped/wrappedlibxau_private.h new file mode 100755 index 00000000..fae289d4 --- /dev/null +++ b/src/wrapped/wrappedlibxau_private.h @@ -0,0 +1,12 @@ +#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA)) +#error Meh... +#endif + +GO(XauDisposeAuth, iFp) +GO(XauFileName, pFv) +GO(XauGetAuthByAddr, pFuupupup) +GO(XauGetBestAuthByAddr, pFuupupipp) +GO(XauLockAuth, iFpiii) +GO(XauReadAuth, pFp) +GO(XauUnlockAuth, iFp) +GO(XauWriteAuth, iFpp) diff --git a/src/wrapped/wrappedlibxcb.c b/src/wrapped/wrappedlibxcb.c new file mode 100755 index 00000000..d3798d45 --- /dev/null +++ b/src/wrapped/wrappedlibxcb.c @@ -0,0 +1,23 @@ +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#define _GNU_SOURCE /* See feature_test_macros(7) */ +#include <dlfcn.h> + +#include "wrappedlibs.h" + +#include "debug.h" +#include "wrapper.h" +#include "bridge.h" +#include "librarian/library_private.h" +#include "x64emu.h" +#include "emu/x64emu_private.h" +#include "callback.h" +#include "librarian.h" +#include "box64context.h" +#include "emu/x64emu_private.h" + +const char* libxcbName = "libxcb.so.1"; +#define LIBNAME libxcb + +#include "wrappedlib_init.h" diff --git a/src/wrapped/wrappedlibxcb_private.h b/src/wrapped/wrappedlibxcb_private.h new file mode 100755 index 00000000..2b1f6551 --- /dev/null +++ b/src/wrapped/wrappedlibxcb_private.h @@ -0,0 +1,678 @@ +#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA)) +#error meh! +#endif + +GO(xcb_alloc_color, pFpuWWW) +//GO(xcb_alloc_color_cells, +//GO(xcb_alloc_color_cells_masks, +//GO(xcb_alloc_color_cells_masks_end, +//GO(xcb_alloc_color_cells_masks_length, +//GO(xcb_alloc_color_cells_pixels, +//GO(xcb_alloc_color_cells_pixels_end, +//GO(xcb_alloc_color_cells_pixels_length, +//GO(xcb_alloc_color_cells_reply, +//GO(xcb_alloc_color_cells_sizeof, +//GO(xcb_alloc_color_cells_unchecked, +//GO(xcb_alloc_color_planes, +//GO(xcb_alloc_color_planes_pixels, +//GO(xcb_alloc_color_planes_pixels_end, +//GO(xcb_alloc_color_planes_pixels_length, +//GO(xcb_alloc_color_planes_reply, +//GO(xcb_alloc_color_planes_sizeof, +//GO(xcb_alloc_color_planes_unchecked, +GO(xcb_alloc_color_reply, pFpup) +//GO(xcb_alloc_color_unchecked, +//GO(xcb_alloc_named_color, +//GO(xcb_alloc_named_color_reply, +//GO(xcb_alloc_named_color_sizeof, +//GO(xcb_alloc_named_color_unchecked, +//GO(xcb_allow_events, +//GO(xcb_allow_events_checked, +//GO(xcb_arc_end, +//GO(xcb_arc_next, +//GO(xcb_atom_end, +//GO(xcb_atom_next, +GO(xcb_bell, pFpC) +//GO(xcb_bell_checked, +//GO(xcb_big_requests_enable, +//GO(xcb_big_requests_enable_reply, +//GO(xcb_big_requests_enable_unchecked, +DATA(xcb_big_requests_id, sizeof(void*)) +//GO(xcb_bool32_end, +//GO(xcb_bool32_next, +//GO(xcb_button_end, +//GO(xcb_button_next, +//GO(xcb_change_active_pointer_grab, +//GO(xcb_change_active_pointer_grab_checked, +GO(xcb_change_gc, pFpuup) +//GO(xcb_change_gc_aux, +//GO(xcb_change_gc_aux_checked, +GO(xcb_change_gc_checked, pFpuup) +//GO(xcb_change_gc_sizeof, +//GO(xcb_change_gc_value_list, +//GO(xcb_change_gc_value_list_serialize, +//GO(xcb_change_gc_value_list_sizeof, +//GO(xcb_change_gc_value_list_unpack, +//GO(xcb_change_hosts, +//GO(xcb_change_hosts_address, +//GO(xcb_change_hosts_address_end, +//GO(xcb_change_hosts_address_length, +//GO(xcb_change_hosts_checked, +//GO(xcb_change_hosts_sizeof, +GO(xcb_change_keyboard_control, pFpup) +//GO(xcb_change_keyboard_control_aux, +//GO(xcb_change_keyboard_control_aux_checked, +//GO(xcb_change_keyboard_control_checked, +//GO(xcb_change_keyboard_control_sizeof, +//GO(xcb_change_keyboard_control_value_list, +//GO(xcb_change_keyboard_control_value_list_serialize, +//GO(xcb_change_keyboard_control_value_list_sizeof, +//GO(xcb_change_keyboard_control_value_list_unpack, +//GO(xcb_change_keyboard_mapping, +//GO(xcb_change_keyboard_mapping_checked, +//GO(xcb_change_keyboard_mapping_keysyms, +//GO(xcb_change_keyboard_mapping_keysyms_end, +//GO(xcb_change_keyboard_mapping_keysyms_length, +//GO(xcb_change_keyboard_mapping_sizeof, +//GO(xcb_change_pointer_control, +//GO(xcb_change_pointer_control_checked, +GO(xcb_change_property, pFpCuuuCup) +GO(xcb_change_property_checked, pFpCuuuCup) +//GO(xcb_change_property_data, +//GO(xcb_change_property_data_end, +//GO(xcb_change_property_data_length, +//GO(xcb_change_property_sizeof, +//GO(xcb_change_save_set, +//GO(xcb_change_save_set_checked, +GO(xcb_change_window_attributes, pFpuup) +//GO(xcb_change_window_attributes_aux, +//GO(xcb_change_window_attributes_aux_checked, +GO(xcb_change_window_attributes_checked, pFpuup) +//GO(xcb_change_window_attributes_sizeof, +//GO(xcb_change_window_attributes_value_list, +//GO(xcb_change_window_attributes_value_list_serialize, +//GO(xcb_change_window_attributes_value_list_sizeof, +//GO(xcb_change_window_attributes_value_list_unpack, +//GO(xcb_char2b_end, +//GO(xcb_char2b_next, +//GO(xcb_charinfo_end, +//GO(xcb_charinfo_next, +//GO(xcb_circulate_window, +//GO(xcb_circulate_window_checked, +GO(xcb_clear_area, pFpCuwwWW) +//GO(xcb_clear_area_checked, +//GO(xcb_client_message_data_end, +//GO(xcb_client_message_data_next, +GO(xcb_close_font, pFpu) +GO(xcb_close_font_checked, pFpu) +//GO(xcb_coloritem_end, +//GO(xcb_coloritem_next, +//GO(xcb_colormap_end, +//GO(xcb_colormap_next, +GO(xcb_configure_window, pFpuWp) +//GO(xcb_configure_window_aux, +//GO(xcb_configure_window_aux_checked, +//GO(xcb_configure_window_checked, +//GO(xcb_configure_window_sizeof, +//GO(xcb_configure_window_value_list, +//GO(xcb_configure_window_value_list_serialize, +//GO(xcb_configure_window_value_list_sizeof, +//GO(xcb_configure_window_value_list_unpack, +GO(xcb_connect, pFpp) +GO(xcb_connection_has_error, iFp) +//GO(xcb_connect_to_display_with_auth_info, +//GO(xcb_connect_to_fd, +GO(xcb_convert_selection, pFpuuuuu) +//GO(xcb_convert_selection_checked, +GO(xcb_copy_area, pFpuuuwwwwWW) +//GO(xcb_copy_area_checked, +//GO(xcb_copy_colormap_and_free, +//GO(xcb_copy_colormap_and_free_checked, +//GO(xcb_copy_gc, +//GO(xcb_copy_gc_checked, +//GO(xcb_copy_plane, +//GO(xcb_copy_plane_checked, +GO(xcb_create_colormap, pFpCppp) +//GO(xcb_create_colormap_checked, +GO(xcb_create_cursor, pFpuuuWWWWWWWW) +//GO(xcb_create_cursor_checked, +GO(xcb_create_gc, pFpuuup) +//GO(xcb_create_gc_aux, +//GO(xcb_create_gc_aux_checked, +GO(xcb_create_gc_checked, pFpuuup) +//GO(xcb_create_gc_sizeof, +//GO(xcb_create_gc_value_list, +//GO(xcb_create_gc_value_list_serialize, +//GO(xcb_create_gc_value_list_sizeof, +//GO(xcb_create_gc_value_list_unpack, +GO(xcb_create_glyph_cursor, pFpuuuWWWWWWWW) +//GO(xcb_create_glyph_cursor_checked, +GO(xcb_create_pixmap, pFpCuuWW) +//GO(xcb_create_pixmap_checked, +GO(xcb_create_window, pFpCuuwwWWWWuup) +//GO(xcb_create_window_aux, +//GO(xcb_create_window_aux_checked, +GO(xcb_create_window_checked, pFpCuuwwWWWWuup) +//GO(xcb_create_window_sizeof, +//GO(xcb_create_window_value_list, +//GO(xcb_create_window_value_list_serialize, +//GO(xcb_create_window_value_list_sizeof, +//GO(xcb_create_window_value_list_unpack, +//GO(xcb_cursor_end, +//GO(xcb_cursor_next, +GO(xcb_delete_property, pFppp) +//GO(xcb_delete_property_checked, +//GO(xcb_depth_end, +GO(xcb_depth_next, vFp) +GO(xcb_depth_sizeof, iFp) +GO(xcb_depth_visuals, pFp) +GO(xcb_depth_visuals_iterator, HFp) //xcb_visualtype_iterator_t is a structure +//GO(xcb_depth_visuals_length, +//GO(xcb_destroy_subwindows, +//GO(xcb_destroy_subwindows_checked, +GO(xcb_destroy_window, pFpu) +//GO(xcb_destroy_window_checked, +//GO(xcb_discard_reply, +//GO(xcb_discard_reply64, +GO(xcb_disconnect, vFp) +//GO(xcb_drawable_end, +//GO(xcb_drawable_next, +//GO(xcb_fill_poly, +//GO(xcb_fill_poly_checked, +//GO(xcb_fill_poly_points, +//GO(xcb_fill_poly_points_iterator, +//GO(xcb_fill_poly_points_length, +//GO(xcb_fill_poly_sizeof, +GO(xcb_flush, iFp) +//GO(xcb_fontable_end, +//GO(xcb_fontable_next, +//GO(xcb_font_end, +//GO(xcb_font_next, +//GO(xcb_fontprop_end, +//GO(xcb_fontprop_next, +//GO(xcb_force_screen_saver, +//GO(xcb_force_screen_saver_checked, +//GO(xcb_format_end, +GO(xcb_format_next, vFp) +GO(xcb_free_colormap, pFpu) +GO(xcb_free_colormap_checked, pFpu) +//GO(xcb_free_colors, +//GO(xcb_free_colors_checked, +//GO(xcb_free_colors_pixels, +//GO(xcb_free_colors_pixels_end, +//GO(xcb_free_colors_pixels_length, +//GO(xcb_free_colors_sizeof, +GO(xcb_free_cursor, pFpp) +//GO(xcb_free_cursor_checked, +GO(xcb_free_gc, pFpu) +//GO(xcb_free_gc_checked, +GO(xcb_free_pixmap, pFpu) +//GO(xcb_free_pixmap_checked, +//GO(xcb_gcontext_end, +//GO(xcb_gcontext_next, +GO(xcb_generate_id, uFp) +GO(xcb_get_atom_name, pFpu) +GO(xcb_get_atom_name_name, pFp) +//GO(xcb_get_atom_name_name_end, +GO(xcb_get_atom_name_name_length, iFp) +GO(xcb_get_atom_name_reply, pFpup) +//GO(xcb_get_atom_name_sizeof, +//GO(xcb_get_atom_name_unchecked, +GO(xcb_get_extension_data, pFpp) +GO(xcb_get_file_descriptor, iFp) +//GO(xcb_get_font_path, +//GO(xcb_get_font_path_path_iterator, +//GO(xcb_get_font_path_path_length, +//GO(xcb_get_font_path_reply, +//GO(xcb_get_font_path_sizeof, +//GO(xcb_get_font_path_unchecked, +GO(xcb_get_geometry, pFpu) +GO(xcb_get_geometry_reply, pFpup) +GO(xcb_get_geometry_unchecked, pFpu) +GO(xcb_get_image, pFpCuwwWWu) +GO(xcb_get_image_data, pFp) +//GO(xcb_get_image_data_end, +GO(xcb_get_image_data_length, iFp) +GO(xcb_get_image_reply, pFpup) +//GO(xcb_get_image_sizeof, +GO(xcb_get_image_unchecked, pFpCuwwWWu) +GO(xcb_get_input_focus, pFp) +GO(xcb_get_input_focus_reply, pFpup) +//GO(xcb_get_input_focus_unchecked, +//GO(xcb_get_keyboard_control, +//GO(xcb_get_keyboard_control_reply, +//GO(xcb_get_keyboard_control_unchecked, +GO(xcb_get_keyboard_mapping, pFpCC) +GO(xcb_get_keyboard_mapping_keysyms, pFp) +//GO(xcb_get_keyboard_mapping_keysyms_end, +GO(xcb_get_keyboard_mapping_keysyms_length, iFp) +GO(xcb_get_keyboard_mapping_reply, pFpup) +//GO(xcb_get_keyboard_mapping_sizeof, +//GO(xcb_get_keyboard_mapping_unchecked, +GO(xcb_get_maximum_request_length, uFp) +GO(xcb_get_modifier_mapping, pFp) +GO(xcb_get_modifier_mapping_keycodes, pFp) +//GO(xcb_get_modifier_mapping_keycodes_end, +GO(xcb_get_modifier_mapping_keycodes_length, iFp) +GO(xcb_get_modifier_mapping_reply, pFpup) +//GO(xcb_get_modifier_mapping_sizeof, pFp) +//GO(xcb_get_modifier_mapping_unchecked, +//GO(xcb_get_motion_events, +//GO(xcb_get_motion_events_events, +//GO(xcb_get_motion_events_events_iterator, +//GO(xcb_get_motion_events_events_length, +//GO(xcb_get_motion_events_reply, +//GO(xcb_get_motion_events_sizeof, +//GO(xcb_get_motion_events_unchecked, +//GO(xcb_get_pointer_control, +//GO(xcb_get_pointer_control_reply, +//GO(xcb_get_pointer_control_unchecked, +//GO(xcb_get_pointer_mapping, +//GO(xcb_get_pointer_mapping_map, +//GO(xcb_get_pointer_mapping_map_end, +//GO(xcb_get_pointer_mapping_map_length, +//GO(xcb_get_pointer_mapping_reply, +//GO(xcb_get_pointer_mapping_sizeof, +//GO(xcb_get_pointer_mapping_unchecked, +GO(xcb_get_property, pFpCuuuuu) +GO(xcb_get_property_reply, pFpup) +//GO(xcb_get_property_sizeof, +GO(xcb_get_property_unchecked, pFpCuuuuu) +GO(xcb_get_property_value, pFp) +//GO(xcb_get_property_value_end, +GO(xcb_get_property_value_length, iFp) +GO(xcb_get_reply_fds, pFppu) +//GO(xcb_get_screen_saver, +//GO(xcb_get_screen_saver_reply, +//GO(xcb_get_screen_saver_unchecked, +GO(xcb_get_selection_owner, pFpu) +GO(xcb_get_selection_owner_reply, pFpup) +GO(xcb_get_selection_owner_unchecked, pFpu) +GO(xcb_get_setup, pFp) +GO(xcb_get_window_attributes, pFpu) +GO(xcb_get_window_attributes_reply, pFpup) +GO(xcb_get_window_attributes_unchecked, pFpu) +GO(xcb_grab_button, pFpCuWCCuuCW) +GO(xcb_grab_button_checked, pFpCuWCCuuCW) +GO(xcb_grab_key, pFpCuWCCC) +GO(xcb_grab_keyboard, pFpCuuCC) +GO(xcb_grab_keyboard_reply, pFpup) +//GO(xcb_grab_keyboard_unchecked, +GO(xcb_grab_key_checked, pFpCuWCCC) +GO(xcb_grab_pointer, pFpCuWCCuuu) +GO(xcb_grab_pointer_reply, pFpup) +//GO(xcb_grab_pointer_unchecked, +GO(xcb_grab_server, pFp) +//GO(xcb_grab_server_checked, +//GO(xcb_host_address, +//GO(xcb_host_address_end, +//GO(xcb_host_address_length, +//GO(xcb_host_end, +//GO(xcb_host_next, +//GO(xcb_host_sizeof, +//GO(xcb_image_text_16, +//GO(xcb_image_text_16_checked, +//GO(xcb_image_text_16_sizeof, +//GO(xcb_image_text_16_string, +//GO(xcb_image_text_16_string_iterator, +//GO(xcb_image_text_16_string_length, +GO(xcb_image_text_8, pFpCuuwwp) +GO(xcb_image_text_8_checked, pFpCuuwwp) +//GO(xcb_image_text_8_sizeof, +//GO(xcb_image_text_8_string, +//GO(xcb_image_text_8_string_end, +//GO(xcb_image_text_8_string_length, +//GO(xcb_install_colormap, +//GO(xcb_install_colormap_checked, +GO(xcb_intern_atom, pFpCWp) +GO(xcb_intern_atom_reply, pFpup) +//GO(xcb_intern_atom_sizeof, +GO(xcb_intern_atom_unchecked, pFpCWp) +//GO(xcb_keycode32_end, +//GO(xcb_keycode32_next, +//GO(xcb_keycode_end, +//GO(xcb_keycode_next, +//GO(xcb_keysym_end, +//GO(xcb_keysym_next, +//GO(xcb_kill_client, +//GO(xcb_kill_client_checked, +//GO(xcb_list_extensions, +//GO(xcb_list_extensions_names_iterator, +//GO(xcb_list_extensions_names_length, +//GO(xcb_list_extensions_reply, +//GO(xcb_list_extensions_sizeof, +//GO(xcb_list_extensions_unchecked, +//GO(xcb_list_fonts, +//GO(xcb_list_fonts_names_iterator, +//GO(xcb_list_fonts_names_length, +//GO(xcb_list_fonts_reply, +//GO(xcb_list_fonts_sizeof, +//GO(xcb_list_fonts_unchecked, +//GO(xcb_list_fonts_with_info, +//GO(xcb_list_fonts_with_info_name, +//GO(xcb_list_fonts_with_info_name_end, +//GO(xcb_list_fonts_with_info_name_length, +//GO(xcb_list_fonts_with_info_properties, +//GO(xcb_list_fonts_with_info_properties_iterator, +//GO(xcb_list_fonts_with_info_properties_length, +//GO(xcb_list_fonts_with_info_reply, +//GO(xcb_list_fonts_with_info_sizeof, +//GO(xcb_list_fonts_with_info_unchecked, +//GO(xcb_list_hosts, +//GO(xcb_list_hosts_hosts_iterator, +//GO(xcb_list_hosts_hosts_length, +//GO(xcb_list_hosts_reply, +//GO(xcb_list_hosts_sizeof, +//GO(xcb_list_hosts_unchecked, +//GO(xcb_list_installed_colormaps, +//GO(xcb_list_installed_colormaps_cmaps, +//GO(xcb_list_installed_colormaps_cmaps_end, +//GO(xcb_list_installed_colormaps_cmaps_length, +//GO(xcb_list_installed_colormaps_reply, +//GO(xcb_list_installed_colormaps_sizeof, +//GO(xcb_list_installed_colormaps_unchecked, +//GO(xcb_list_properties, +//GO(xcb_list_properties_atoms, +//GO(xcb_list_properties_atoms_end, +//GO(xcb_list_properties_atoms_length, +//GO(xcb_list_properties_reply, +//GO(xcb_list_properties_sizeof, +//GO(xcb_list_properties_unchecked, +//GO(xcb_lookup_color, +//GO(xcb_lookup_color_reply, +//GO(xcb_lookup_color_sizeof, +//GO(xcb_lookup_color_unchecked, +GO(xcb_map_subwindows, pFpu) +//GO(xcb_map_subwindows_checked, +GO(xcb_map_window, pFpu) +GO(xcb_map_window_checked, pFpu) +//GO(xcb_no_operation, +//GO(xcb_no_operation_checked, +GO(xcb_open_font, pFpuWp) +GO(xcb_open_font_checked, pFpuWp) +//GO(xcb_open_font_name, +//GO(xcb_open_font_name_end, +//GO(xcb_open_font_name_length, +//GO(xcb_open_font_sizeof, +//GO(xcb_parse_display, +//GO(xcb_pixmap_end, +//GO(xcb_pixmap_next, +//GO(xcb_point_end, +//GO(xcb_point_next, +GO(xcb_poll_for_event, pFp) +GO(xcb_poll_for_queued_event, pFp) +//GO(xcb_poll_for_reply, +//GO(xcb_poll_for_reply64, +GO(xcb_poll_for_special_event, pFpp) +GO(xcb_poly_arc, pFpuuup) +//GO(xcb_poly_arc_arcs, +//GO(xcb_poly_arc_arcs_iterator, +//GO(xcb_poly_arc_arcs_length, +//GO(xcb_poly_arc_checked, +//GO(xcb_poly_arc_sizeof, +//GO(xcb_poly_fill_arc, +//GO(xcb_poly_fill_arc_arcs, +//GO(xcb_poly_fill_arc_arcs_iterator, +//GO(xcb_poly_fill_arc_arcs_length, +//GO(xcb_poly_fill_arc_checked, +//GO(xcb_poly_fill_arc_sizeof, +GO(xcb_poly_fill_rectangle, pFpuuup) +//GO(xcb_poly_fill_rectangle_checked, +//GO(xcb_poly_fill_rectangle_rectangles, +//GO(xcb_poly_fill_rectangle_rectangles_iterator, +//GO(xcb_poly_fill_rectangle_rectangles_length, +//GO(xcb_poly_fill_rectangle_sizeof, +GO(xcb_poly_line, pFpCuuup) +GO(xcb_poly_line_checked, pFpCuuup) +//GO(xcb_poly_line_points, +//GO(xcb_poly_line_points_iterator, +//GO(xcb_poly_line_points_length, +//GO(xcb_poly_line_sizeof, +GO(xcb_poly_point, pFpCuuup) +//GO(xcb_poly_point_checked, +//GO(xcb_poly_point_points, +//GO(xcb_poly_point_points_iterator, +//GO(xcb_poly_point_points_length, +//GO(xcb_poly_point_sizeof, +GO(xcb_poly_rectangle, pFpuuup) +//GO(xcb_poly_rectangle_checked, +//GO(xcb_poly_rectangle_rectangles, +//GO(xcb_poly_rectangle_rectangles_iterator, +//GO(xcb_poly_rectangle_rectangles_length, +//GO(xcb_poly_rectangle_sizeof, +GO(xcb_poly_segment, pFpuuup) +//GO(xcb_poly_segment_checked, +//GO(xcb_poly_segment_segments, +//GO(xcb_poly_segment_segments_iterator, +//GO(xcb_poly_segment_segments_length, +//GO(xcb_poly_segment_sizeof, +//GO(xcb_poly_text_16, +//GO(xcb_poly_text_16_checked, +//GO(xcb_poly_text_16_items, +//GO(xcb_poly_text_16_items_end, +//GO(xcb_poly_text_16_items_length, +//GO(xcb_poly_text_16_sizeof, +//GO(xcb_poly_text_8, +//GO(xcb_poly_text_8_checked, +//GO(xcb_poly_text_8_items, +//GO(xcb_poly_text_8_items_end, +//GO(xcb_poly_text_8_items_length, +//GO(xcb_poly_text_8_sizeof, +GO(xcb_popcount, iFu) +GO(xcb_prefetch_extension_data, vFpp) +//GO(xcb_prefetch_maximum_request_length, +GO(xcb_put_image, pFpCuuWWwwCCup) +//GO(xcb_put_image_checked, +//GO(xcb_put_image_data, +//GO(xcb_put_image_data_end, +//GO(xcb_put_image_data_length, +//GO(xcb_put_image_sizeof, +//GO(xcb_query_best_size, +//GO(xcb_query_best_size_reply, +//GO(xcb_query_best_size_unchecked, +//GO(xcb_query_colors, +//GO(xcb_query_colors_colors, +//GO(xcb_query_colors_colors_iterator, +//GO(xcb_query_colors_colors_length, +//GO(xcb_query_colors_reply, +//GO(xcb_query_colors_sizeof, +//GO(xcb_query_colors_unchecked, +//GO(xcb_query_extension, +//GO(xcb_query_extension_reply, +//GO(xcb_query_extension_sizeof, +//GO(xcb_query_extension_unchecked, +//GO(xcb_query_font, +//GO(xcb_query_font_char_infos, +//GO(xcb_query_font_char_infos_iterator, +//GO(xcb_query_font_char_infos_length, +//GO(xcb_query_font_properties, +//GO(xcb_query_font_properties_iterator, +//GO(xcb_query_font_properties_length, +//GO(xcb_query_font_reply, +//GO(xcb_query_font_sizeof, +//GO(xcb_query_font_unchecked, +//GO(xcb_query_keymap, +//GO(xcb_query_keymap_reply, +//GO(xcb_query_keymap_unchecked, +GO(xcb_query_pointer, pFpu) +GO(xcb_query_pointer_reply, pFpup) +//GO(xcb_query_pointer_unchecked, +GO(xcb_query_text_extents, pFpuup) +GO(xcb_query_text_extents_reply, pFpup) +//GO(xcb_query_text_extents_sizeof, +//GO(xcb_query_text_extents_unchecked, +GO(xcb_query_tree, pFpu) +GO(xcb_query_tree_children, pFp) +//GO(xcb_query_tree_children_end, +GO(xcb_query_tree_children_length, iFp) +GO(xcb_query_tree_reply, pFpup) +//GO(xcb_query_tree_sizeof, +GO(xcb_query_tree_unchecked, pFpu) +//GO(xcb_recolor_cursor, +//GO(xcb_recolor_cursor_checked, +//GO(xcb_rectangle_end, +//GO(xcb_rectangle_next, +GO(xcb_register_for_special_xge, pFppup) +GO(xcb_reparent_window, pFpuuWW) +//GO(xcb_reparent_window_checked, +GO(xcb_request_check, pFpu) +//GO(xcb_rgb_end, +//GO(xcb_rgb_next, +//GO(xcb_rotate_properties, +//GO(xcb_rotate_properties_atoms, +//GO(xcb_rotate_properties_atoms_end, +//GO(xcb_rotate_properties_atoms_length, +//GO(xcb_rotate_properties_checked, +//GO(xcb_rotate_properties_sizeof, +GO(xcb_screen_allowed_depths_iterator, HFp) //xcb_depth_iterator_t is a structure +//GO(xcb_screen_allowed_depths_length, +//GO(xcb_screen_end, +GO(xcb_screen_next, vFp) +//GO(xcb_screen_sizeof, +//GO(xcb_segment_end, +//GO(xcb_segment_next, +GO(xcb_send_event, pFpCuup) +//GO(xcb_send_event_checked, +//GO(xcb_send_fd, +GO(xcb_send_request, uFpipp) +GO(xcb_send_request64, UFpipp) +GO(xcb_send_request_with_fds, uFpippup) +GO(xcb_send_request_with_fds64, UFpippup) +//GO(xcb_set_access_control, +//GO(xcb_set_access_control_checked, +//GO(xcb_set_clip_rectangles, +//GO(xcb_set_clip_rectangles_checked, +//GO(xcb_set_clip_rectangles_rectangles, +//GO(xcb_set_clip_rectangles_rectangles_iterator, +//GO(xcb_set_clip_rectangles_rectangles_length, +//GO(xcb_set_clip_rectangles_sizeof, +//GO(xcb_set_close_down_mode, +//GO(xcb_set_close_down_mode_checked, +//GO(xcb_set_dashes, +//GO(xcb_set_dashes_checked, +//GO(xcb_set_dashes_dashes, +//GO(xcb_set_dashes_dashes_end, +//GO(xcb_set_dashes_dashes_length, +//GO(xcb_set_dashes_sizeof, +//GO(xcb_set_font_path, +//GO(xcb_set_font_path_checked, +//GO(xcb_set_font_path_font_iterator, +//GO(xcb_set_font_path_font_length, +//GO(xcb_set_font_path_sizeof, +GO(xcb_set_input_focus, pFpCuu) // xcb_void_cookie_t is a struct with only 1 uint inside +//GO(xcb_set_input_focus_checked, +//GO(xcb_set_modifier_mapping, +//GO(xcb_set_modifier_mapping_reply, +//GO(xcb_set_modifier_mapping_sizeof, +//GO(xcb_set_modifier_mapping_unchecked, +//GO(xcb_set_pointer_mapping, +//GO(xcb_set_pointer_mapping_reply, +//GO(xcb_set_pointer_mapping_sizeof, +//GO(xcb_set_pointer_mapping_unchecked, +//GO(xcb_set_screen_saver, +//GO(xcb_set_screen_saver_checked, +GO(xcb_set_selection_owner, pFpuuu) +//GO(xcb_set_selection_owner_checked, +//GO(xcb_setup_authenticate_end, +//GO(xcb_setup_authenticate_next, +//GO(xcb_setup_authenticate_reason, +//GO(xcb_setup_authenticate_reason_end, +//GO(xcb_setup_authenticate_reason_length, +//GO(xcb_setup_authenticate_sizeof, +//GO(xcb_setup_end, +//GO(xcb_setup_failed_end, +//GO(xcb_setup_failed_next, +//GO(xcb_setup_failed_reason, +//GO(xcb_setup_failed_reason_end, +//GO(xcb_setup_failed_reason_length, +//GO(xcb_setup_failed_sizeof, +//GO(xcb_setup_next, +GO(xcb_setup_pixmap_formats, pFp) +GO(xcb_setup_pixmap_formats_iterator, HFp) +GO(xcb_setup_pixmap_formats_length, iFp) +//GO(xcb_setup_request_authorization_protocol_data, +//GO(xcb_setup_request_authorization_protocol_data_end, +//GO(xcb_setup_request_authorization_protocol_data_length, +//GO(xcb_setup_request_authorization_protocol_name, +//GO(xcb_setup_request_authorization_protocol_name_end, +//GO(xcb_setup_request_authorization_protocol_name_length, +//GO(xcb_setup_request_end, +//GO(xcb_setup_request_next, +//GO(xcb_setup_request_sizeof, +GO(xcb_setup_roots_iterator, HFp) +GO(xcb_setup_roots_length, iFp) +//GO(xcb_setup_sizeof, +//GO(xcb_setup_vendor, +//GO(xcb_setup_vendor_end, +//GO(xcb_setup_vendor_length, +//GO(xcb_store_colors, +//GO(xcb_store_colors_checked, +//GO(xcb_store_colors_items, +//GO(xcb_store_colors_items_iterator, +//GO(xcb_store_colors_items_length, +//GO(xcb_store_colors_sizeof, +//GO(xcb_store_named_color, +//GO(xcb_store_named_color_checked, +//GO(xcb_store_named_color_name, +//GO(xcb_store_named_color_name_end, +//GO(xcb_store_named_color_name_length, +//GO(xcb_store_named_color_sizeof, +//GO(xcb_str_end, +//GO(xcb_str_name, +//GO(xcb_str_name_end, +//GO(xcb_str_name_length, +//GO(xcb_str_next, +//GO(xcb_str_sizeof, +//GO(xcb_sumof, +//GO(xcb_take_socket, +//GO(xcb_timecoord_end, +//GO(xcb_timecoord_next, +//GO(xcb_timestamp_end, +//GO(xcb_timestamp_next, +GO(xcb_translate_coordinates, pFpuuWW) +GO(xcb_translate_coordinates_reply, pFpup) +GO(xcb_translate_coordinates_unchecked, pFpuuWW) +GO(xcb_ungrab_button, pFpCuW) +GO(xcb_ungrab_button_checked, pFpCuW) +GO(xcb_ungrab_key, pFpCuW) +GO(xcb_ungrab_keyboard, pFpu) +GO(xcb_ungrab_keyboard_checked, pFpu) +GO(xcb_ungrab_key_checked, pFpCuW) +GO(xcb_ungrab_pointer, pFpu) +//GO(xcb_ungrab_pointer_checked, +GO(xcb_ungrab_server, pFp) +//GO(xcb_ungrab_server_checked, +//GO(xcb_uninstall_colormap, +//GO(xcb_uninstall_colormap_checked, +//GO(xcb_unmap_subwindows, +//GO(xcb_unmap_subwindows_checked, +GO(xcb_unmap_window, pFpu) +//GO(xcb_unmap_window_checked, +GO(xcb_unregister_for_special_event, vFpp) +//GO(xcb_visualid_end, +//GO(xcb_visualid_next, +//GO(xcb_visualtype_end, +GO(xcb_visualtype_next, vFp) +GO(xcb_wait_for_event, pFp) +GO(xcb_wait_for_reply, pFpup) +GO(xcb_wait_for_reply64, pFpUp) +//GO(xcb_wait_for_special_event, +GO(xcb_warp_pointer, pFpuuwwWWww) +//GO(xcb_warp_pointer_checked, +//GO(xcb_window_end, +//GO(xcb_window_next, +//GO(xcb_writev, +//GO(xcb_xc_misc_get_version, +//GO(xcb_xc_misc_get_version_reply, +//GO(xcb_xc_misc_get_version_unchecked, +//GO(xcb_xc_misc_get_xid_list, +//GO(xcb_xc_misc_get_xid_list_ids, +//GO(xcb_xc_misc_get_xid_list_ids_end, +//GO(xcb_xc_misc_get_xid_list_ids_length, +//GO(xcb_xc_misc_get_xid_list_reply, +//GO(xcb_xc_misc_get_xid_list_sizeof, +//GO(xcb_xc_misc_get_xid_list_unchecked, +//GO(xcb_xc_misc_get_xid_range, +//GO(xcb_xc_misc_get_xid_range_reply, +//GO(xcb_xc_misc_get_xid_range_unchecked, +DATA(xcb_xc_misc_id, 4) diff --git a/src/wrapped/wrappedlibxdmcp.c b/src/wrapped/wrappedlibxdmcp.c new file mode 100755 index 00000000..c320caa3 --- /dev/null +++ b/src/wrapped/wrappedlibxdmcp.c @@ -0,0 +1,17 @@ +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#define _GNU_SOURCE /* See feature_test_macros(7) */ +#include <dlfcn.h> + +#include "wrappedlibs.h" + +#include "wrapper.h" +#include "bridge.h" +#include "librarian/library_private.h" +#include "x64emu.h" + +const char* libxdmcpName = "libXdmcp.so.6"; +#define LIBNAME libxdmcp + +#include "wrappedlib_init.h" diff --git a/src/wrapped/wrappedlibxdmcp_private.h b/src/wrapped/wrappedlibxdmcp_private.h new file mode 100755 index 00000000..d5831085 --- /dev/null +++ b/src/wrapped/wrappedlibxdmcp_private.h @@ -0,0 +1,47 @@ +#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA)) +#error Meh... +#endif + +GO(XdmcpWriteARRAY16, iFpp) +GO(XdmcpWriteARRAY32, iFpp) +GO(XdmcpWriteARRAY8, iFpp) +GO(XdmcpWriteARRAYofARRAY8, iFpp) +GO(XdmcpWriteCARD16, iFpu) +GO(XdmcpWriteCARD32, iFpu) +GO(XdmcpWriteCARD8, iFpu) +GO(XdmcpWriteHeader, iFpp) +GO(XdmcpFlush, iFippi) +GO(XdmcpReadARRAY16, iFpp) +GO(XdmcpReadARRAY32, iFpp) +GO(XdmcpReadARRAY8, iFpp) +GO(XdmcpReadARRAYofARRAY8, iFpp) +GO(XdmcpReadCARD16, iFpp) +GO(XdmcpReadCARD32, iFpp) +GO(XdmcpReadCARD8, iFpp) +GO(XdmcpReadHeader, iFpp) +GO(XdmcpFill, iFippp) +GO(XdmcpReadRemaining, iFp) +GO(XdmcpDisposeARRAY8, vFp) +GO(XdmcpDisposeARRAY16, vFp) +GO(XdmcpDisposeARRAY32, vFp) +GO(XdmcpDisposeARRAYofARRAY8, vFp) +GO(XdmcpCopyARRAY8, iFpp) +GO(XdmcpARRAY8Equal, iFpp) +GO(XdmcpGenerateKey, vFp) +GO(XdmcpIncrementKey, vFp) +GO(XdmcpDecrementKey, vFp) +GO(XdmcpWrap, vFpppi) +GO(XdmcpUnwrap, vFpppi) +GO(XdmcpCompareKeys, iFpp) +GO(XdmcpAllocARRAY16, iFpi) +GO(XdmcpAllocARRAY32, iFpi) +GO(XdmcpAllocARRAY8, iFpi) +GO(XdmcpAllocARRAYofARRAY8, iFpi) +GO(XdmcpReallocARRAY16, iFpi) +GO(XdmcpReallocARRAY32, iFpi) +GO(XdmcpReallocARRAY8, iFpi) +GO(XdmcpReallocARRAYofARRAY8, iFpi) + +GO(_XdmcpAuthDoIt, vFpppi) +GO(_XdmcpAuthSetup, vFpp) +GO(_XdmcpWrapperToOddParity, vFpp) \ No newline at end of file diff --git a/src/wrapped/wrappedlibxext.c b/src/wrapped/wrappedlibxext.c new file mode 100755 index 00000000..9482b70f --- /dev/null +++ b/src/wrapped/wrappedlibxext.c @@ -0,0 +1,271 @@ +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#define _GNU_SOURCE /* See feature_test_macros(7) */ +#include <dlfcn.h> + +#include "wrappedlibs.h" + +#include "debug.h" +#include "wrapper.h" +#include "bridge.h" +#include "librarian/library_private.h" +#include "x64emu.h" +#include "emu/x64emu_private.h" +#include "callback.h" +#include "librarian.h" +#include "box64context.h" +#include "emu/x64emu_private.h" + +const char* libxextName = "libXext.so.6"; +#define LIBNAME libxext +static library_t* my_lib = NULL; + +typedef struct _XImage XImage; +void BridgeImageFunc(x64emu_t *emu, XImage *img); +void UnbridgeImageFunc(x64emu_t *emu, XImage *img); +typedef int (*XextErrorHandler)(void *, void *, void*); + +typedef struct my_XExtensionHooks { + int (*create_gc)(void*, uint32_t, void*); + int (*copy_gc)(void*, uint32_t, void*); + int (*flush_gc)(void*, uint32_t, void*); + int (*free_gc)(void*, uint32_t, void*); + int (*create_font)(void*, void*, void*); + int (*free_font)(void*, void*, void*); + int (*close_display)(void*, void*); + int (*wire_to_event)(void*, void*, void*); + int (*event_to_wire)(void*, void*, void*); + int (*error)(void*, void*, void*, int*); + char *(*error_string)(void*, int, void*, void*, int); +} my_XExtensionHooks; + + +typedef void* (*pFp_t)(void*); +typedef int32_t (*iFpppiiu_t)(void*, void*, void*, int32_t, int32_t, uint32_t); +typedef int32_t (*pFppppip_t)(void*, void*, void*, void*, int32_t, void*); +typedef void* (*pFppuippuu_t)(void*, void*, uint32_t, int32_t, void*, void*, uint32_t, uint32_t); +typedef int32_t (*iFppppiiiiuui_t)(void*, void*, void*, void*, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, int32_t); + +typedef struct xext_my_s { + // functions + pFppuippuu_t XShmCreateImage; + iFpppiiu_t XShmGetImage; + iFppppiiiiuui_t XShmPutImage; + pFp_t XSetExtensionErrorHandler; + pFppppip_t XextAddDisplay; +} xext_my_t; + +void* getXextMy(library_t* lib) +{ + xext_my_t* my = (xext_my_t*)calloc(1, sizeof(xext_my_t)); + #define GO(A, W) my->A = (W)dlsym(lib->priv.w.lib, #A); + GO(XShmCreateImage, pFppuippuu_t) + GO(XShmGetImage, iFpppiiu_t) + GO(XShmPutImage, iFppppiiiiuui_t) + GO(XSetExtensionErrorHandler, pFp_t) + GO(XextAddDisplay, pFppppip_t) + #undef GO + return my; +} + +void freeXextMy(void* lib) +{ + //xext_my_t *my = (xext_my_t *)lib; +} + +#define SUPER() \ +GO(0) \ +GO(1) \ +GO(2) \ +GO(3) \ +GO(4) + +// exterrorhandle ... +#define GO(A) \ +static uintptr_t my_exterrorhandle_fct_##A = 0; \ +static int my_exterrorhandle_##A(void* display, void* ext_name, void* reason) \ +{ \ + return RunFunction(my_context, my_exterrorhandle_fct_##A, 3, display, ext_name, reason); \ +} +SUPER() +#undef GO +static void* find_exterrorhandle_Fct(void* fct) +{ + if(!fct) return fct; + if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct); + #define GO(A) if(my_exterrorhandle_fct_##A == (uintptr_t)fct) return my_exterrorhandle_##A; + SUPER() + #undef GO + #define GO(A) if(my_exterrorhandle_fct_##A == 0) {my_exterrorhandle_fct_##A = (uintptr_t)fct; return my_exterrorhandle_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for libXext exterrorhandle callback\n"); + return NULL; +} +static void* reverse_exterrorhandleFct(void* fct) +{ + if(!fct) return fct; + if(CheckBridged(my_lib->priv.w.bridge, fct)) + return (void*)CheckBridged(my_lib->priv.w.bridge, fct); + #define GO(A) if(my_exterrorhandle_##A == fct) return (void*)my_exterrorhandle_fct_##A; + SUPER() + #undef GO + return (void*)AddBridge(my_lib->priv.w.bridge, iFppp, fct, 0); +} + +#undef SUPER + +EXPORT void* my_XShmCreateImage(x64emu_t* emu, void* disp, void* vis, uint32_t depth, int32_t fmt + , void* data, void* shminfo, uint32_t w, uint32_t h) +{ + xext_my_t *my = (xext_my_t*)my_lib->priv.w.p2; + + XImage *img = my->XShmCreateImage(disp, vis, depth, fmt, data, shminfo, w, h); + if(!img) + return img; + // bridge all access functions... + BridgeImageFunc(emu, img); + return img; +} + +EXPORT int32_t my_XShmPutImage(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, int32_t sendevt) +{ + xext_my_t *my = (xext_my_t*)my_lib->priv.w.p2; + + UnbridgeImageFunc(emu, (XImage*)image); + int32_t r = my->XShmPutImage(disp, drawable, gc, image, src_x, src_y, dst_x, dst_y, w, h, sendevt); + // bridge all access functions... + BridgeImageFunc(emu, (XImage*)image); + return r; +} + +EXPORT int32_t my_XShmGetImage(x64emu_t* emu, void* disp, void* drawable, void* image, int32_t x, int32_t y, uint32_t plane) +{ + xext_my_t *my = (xext_my_t*)my_lib->priv.w.p2; + + UnbridgeImageFunc(emu, (XImage*)image); + int32_t r = my->XShmGetImage(disp, drawable, image, x, y, plane); + // bridge all access functions... + BridgeImageFunc(emu, (XImage*)image); + return r; +} + +EXPORT void* my_XSetExtensionErrorHandler(x64emu_t* emu, void* handler) +{ + xext_my_t *my = (xext_my_t*)my_lib->priv.w.p2; + return reverse_exterrorhandleFct(my->XSetExtensionErrorHandler(find_exterrorhandle_Fct(handler))); +} + +static box64context_t *context = NULL; +static uintptr_t my_hook_create_gc_fnc = 0; +static uintptr_t my_hook_copy_gc_fnc = 0; +static uintptr_t my_hook_flush_gc_fnc = 0; +static uintptr_t my_hook_free_gc_fnc = 0; +static uintptr_t my_hook_create_font_fnc = 0; +static uintptr_t my_hook_free_font_fnc = 0; +static uintptr_t my_hook_close_display_fnc = 0; +static uintptr_t my_hook_wire_to_event_fnc = 0; +static uintptr_t my_hook_event_to_wire_fnc = 0; +static uintptr_t my_hook_error_fnc = 0; +static uintptr_t my_hook_error_string_fnc = 0; +static int my_hook_create_gc(void* a, uint32_t b, void* c) { + if(my_hook_create_gc_fnc) + return (int)RunFunction(context, my_hook_create_gc_fnc, 3, a, b, c); + return 0; +} +static int my_hook_copy_gc(void* a, uint32_t b, void* c) { + if(my_hook_copy_gc_fnc) + return (int)RunFunction(context, my_hook_copy_gc_fnc, 3, a, b, c); + return 0; +} +static int my_hook_flush_gc(void* a, uint32_t b, void* c) { + if(my_hook_flush_gc_fnc) + return (int)RunFunction(context, my_hook_flush_gc_fnc, 3, a, b, c); + return 0; +} +static int my_hook_free_gc(void* a, uint32_t b, void* c) { + if(my_hook_free_gc_fnc) + return (int)RunFunction(context, my_hook_free_gc_fnc, 3, a, b, c); + return 0; +} +static int my_hook_create_font(void* a, void* b, void* c) { + if(my_hook_create_font_fnc) + return (int)RunFunction(context, my_hook_create_font_fnc, 3, a, b, c); + return 0; +} +static int my_hook_free_font(void* a, void* b, void* c) { + if(my_hook_free_font_fnc) + return (int)RunFunction(context, my_hook_free_font_fnc, 3, a, b, c); + return 0; +} +static int my_hook_close_display(void* a, void* b) { + if(my_hook_close_display_fnc) + return (int)RunFunction(context, my_hook_close_display_fnc, 2, a, b); + return 0; +} +static int my_hook_wire_to_event(void* a, void* b, void* c) { + if(my_hook_wire_to_event_fnc) + return (int)RunFunction(context, my_hook_wire_to_event_fnc, 3, a, b, c); + return 0; +} +static int my_hook_event_to_wire(void* a, void* b, void* c) { + if(my_hook_event_to_wire_fnc) + return (int)RunFunction(context, my_hook_event_to_wire_fnc, 3, a, b, c); + return 0; +} +static int my_hook_error(void* a, void* b, void* c, int* d) { + if(my_hook_error_fnc) + return (int)RunFunction(context, my_hook_error_fnc, 4, a, b, c, d); + return 0; +} +static char* my_hook_error_string(void* a, int b, void* c, void* d, int e) { + if(my_hook_error_string_fnc) + return (char*)RunFunction(context, my_hook_error_string_fnc, 5, a, b, c, d, e); + return 0; +} + +EXPORT int32_t my_XextAddDisplay(x64emu_t* emu, void* extinfo, void* dpy, void* extname, my_XExtensionHooks* hooks, int nevents, void* data) +{ + xext_my_t *my = (xext_my_t*)my_lib->priv.w.p2; + + if(!context) + context = emu->context; + + my_XExtensionHooks natives = {0}; + #define GO(A) if(hooks->A) {my_hook_##A##_fnc = (uintptr_t)hooks->A; natives.A = my_hook_##A;} + GO(create_gc) + GO(copy_gc) + GO(flush_gc) + GO(free_gc) + GO(create_font) + GO(free_font) + GO(close_display) + GO(wire_to_event) + GO(event_to_wire) + GO(error) + GO(error_string) + #undef GO + int32_t ret = my->XextAddDisplay(extinfo, dpy, extname, &natives, nevents, data); + return ret; +} + +#define CUSTOM_INIT \ + lib->priv.w.p2 = getXextMy(lib); \ + my_lib = lib; \ + lib->priv.w.needed = 4; \ + lib->priv.w.neededlibs = (char**)calloc(lib->priv.w.needed, sizeof(char*)); \ + lib->priv.w.neededlibs[0] = strdup("libX11.so.6"); \ + lib->priv.w.neededlibs[1] = strdup("libxcb.so.1"); \ + lib->priv.w.neededlibs[2] = strdup("libXau.so.6"); \ + lib->priv.w.neededlibs[3] = strdup("libXdmcp.so.6"); + +#define CUSTOM_FINI \ + freeXextMy(lib->priv.w.p2); \ + free(lib->priv.w.p2); \ + my_lib = NULL; + +#include "wrappedlib_init.h" + diff --git a/src/wrapped/wrappedlibxext_private.h b/src/wrapped/wrappedlibxext_private.h new file mode 100755 index 00000000..2e2ac8ea --- /dev/null +++ b/src/wrapped/wrappedlibxext_private.h @@ -0,0 +1,139 @@ +#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA)) +#error Meh.... +#endif + +GO(DPMSCapable, iFp) +GO(DPMSDisable, iFp) +GO(DPMSEnable, iFp) +GO(DPMSForceLevel, iFpu) +GO(DPMSGetTimeouts, iFpppp) +GO(DPMSGetVersion, iFppp) +GO(DPMSInfo, iFppp) +GO(DPMSQueryExtension, iFppp) +GO(DPMSSetTimeouts, iFpuuu) +//GO(XagCreateAssociation, +//GO(XagCreateEmbeddedApplicationGroup, +//GO(XagCreateNonembeddedApplicationGroup, +//GO(XagDestroyApplicationGroup, +//GO(XagDestroyAssociation, +//GO(XagGetApplicationGroupAttributes, +//GO(XagQueryApplicationGroup, +//GO(XagQueryVersion, +//GO(XcupGetReservedColormapEntries, +//GO(XcupQueryVersion, +//GO(XcupStoreColors, +GO(XdbeAllocateBackBufferName, pFppu) +GO(XdbeBeginIdiom, iFp) +GO(XdbeDeallocateBackBufferName, iFpp) +GO(XdbeEndIdiom, iFp) +GO(XdbeFreeVisualInfo, vFp) +GO(XdbeGetBackBufferAttributes, pFpp) +GO(XdbeGetVisualInfo, pFppp) +GO(XdbeQueryExtension, iFppp) +GO(XdbeSwapBuffers, iFppi) +//GO(XeviGetVisualInfo, +//GO(XeviQueryExtension, +//GO(XeviQueryVersion, +GOM(XextAddDisplay, pFEppppip) +GO(XextCreateExtension, pFv) +GO(XextDestroyExtension, vFp) +DATAB(_XExtensionErrorFunction, 4) +GO(XextFindDisplay, pFpp) +GO(XextRemoveDisplay, iFpp) +//GO(XGEQueryExtension, +//GO(XGEQueryVersion, +//GO(XLbxGetEventBase, +//GO(XLbxQueryExtension, +//GO(XLbxQueryVersion, +//GO(XmbufChangeBufferAttributes, +//GO(XmbufChangeWindowAttributes, +//GO(XmbufClearBufferArea, +//GO(XmbufCreateBuffers, +//GO(XmbufCreateStereoWindow, +//GO(XmbufDestroyBuffers, +//GO(XmbufDisplayBuffers, +//GO(XmbufGetBufferAttributes, +//GO(XmbufGetScreenInfo, +//GO(XmbufGetVersion, +//GO(XmbufGetWindowAttributes, +//GO(XmbufQueryExtension, +GO(XMissingExtension, iFpp) +//GO(XMITMiscGetBugMode, +//GO(XMITMiscQueryExtension, +//GO(XMITMiscSetBugMode, +//GO(XSecurityAllocXauth, +//GO(XSecurityFreeXauth, +//GO(XSecurityGenerateAuthorization, +//GO(XSecurityQueryExtension, +//GO(XSecurityRevokeAuthorization, +GOM(XSetExtensionErrorHandler, pFEp) +GO(XShapeCombineMask, vFppiiipi) +GO(XShapeCombineRectangles, vFppiiipiii) +GO(XShapeCombineRegion, vFppiiipi) +GO(XShapeCombineShape, vFppiiipii) +GO(XShapeGetRectangles, pFppipp) +GO(XShapeInputSelected, uFpp) +GO(XShapeOffsetShape, vFppiii) +GO(XShapeQueryExtension, iFppp) +GO(XShapeQueryExtents, iFpppppppppppp) +GO(XShapeQueryVersion, iFppp) +GO(XShapeSelectInput, vFppu) +GO(XShmAttach, iFpp) +GOM(XShmCreateImage, pFEppuippuu) //need brige/unbridge... +GO(XShmCreatePixmap, pFppppuuu) +GO(XShmDetach, iFpp) +GO(XShmGetEventBase, iFp) +GOM(XShmGetImage, iFEpppiiu) //need brige/unbridge... +GO(XShmPixmapFormat, iFp) +GOM(XShmPutImage, iFEppppiiiiuui) //need brige/unbridge... +GO(XShmQueryExtension, iFp) +GO(XShmQueryVersion, iFpppp) +GO(XSyncAwait, iFppi) +//GO(XSyncAwaitFence, +GO(XSyncChangeAlarm, iFpuLp) +GO(XSyncChangeCounter, iFpuU) +GO(XSyncCreateAlarm, uFpLp) // XSyncAlarm is an XID +GO(XSyncCreateCounter, uFpU) // XSyncValue is a struct of 2 int +//GO(XSyncCreateFence, +GO(XSyncDestroyAlarm, iFpu) +GO(XSyncDestroyCounter, iFpu) +//GO(XSyncDestroyFence, +GO(XSyncFreeSystemCounterList, vFp) +GO(XSyncGetPriority, iFpup) +GO(XSyncInitialize, iFppp) +GO(XSyncIntsToValue, vFpui) +GO(XSyncIntToValue, vFpi) +GO(XSyncListSystemCounters, pFpp) +//GO(XSyncMaxValue, +//GO(XSyncMinValue, +GO(XSyncQueryAlarm, iFpup) +GO(XSyncQueryCounter, iFpup) +GO(XSyncQueryExtension, iFppp) +//GO(XSyncQueryFence, +//GO(XSyncResetFence, +GO(XSyncSetCounter, iFpuU) // XSyncCounter is an XID +GO(XSyncSetPriority, iFpui) +//GO(XSyncTriggerFence, +//GO(XSyncValueAdd, +//GO(XSyncValueEqual, +//GO(XSyncValueGreaterOrEqual, +//GO(XSyncValueGreaterThan, +//GO(XSyncValueHigh32, +//GO(XSyncValueIsNegative, +//GO(XSyncValueIsPositive, +//GO(XSyncValueIsZero, +//GO(XSyncValueLessOrEqual, +//GO(XSyncValueLessThan, +//GO(XSyncValueLow32, +//GO(XSyncValueSubtract, +DATA(XTestFakeAckType, sizeof(void*)) +//GO(XTestFakeInput, +//GO(XTestFlush, +//GO(XTestGetInput, +DATAB(XTestInputActionType, sizeof(void*)) +//GO(XTestMovePointer, +//GO(XTestPressButton, +//GO(XTestPressKey, +//GO(XTestQueryInputSize, +//GO(XTestReset, +//GO(XTestStopInput, diff --git a/src/wrapped/wrappedlibxi.c b/src/wrapped/wrappedlibxi.c new file mode 100755 index 00000000..9f1005b0 --- /dev/null +++ b/src/wrapped/wrappedlibxi.c @@ -0,0 +1,24 @@ +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#define _GNU_SOURCE /* See feature_test_macros(7) */ +#include <dlfcn.h> + +#include "wrappedlibs.h" + +#include "wrapper.h" +#include "bridge.h" +#include "librarian/library_private.h" +#include "x64emu.h" + +const char* libxiName = "libXi.so.6"; +#define LIBNAME libxi + +#define CUSTOM_INIT \ + lib->priv.w.needed = 2; \ + lib->priv.w.neededlibs = (char**)calloc(lib->priv.w.needed, sizeof(char*)); \ + lib->priv.w.neededlibs[0] = strdup("libX11.so.6"); \ + lib->priv.w.neededlibs[1] = strdup("libXext.so.6"); + +#include "wrappedlib_init.h" + diff --git a/src/wrapped/wrappedlibxi_private.h b/src/wrapped/wrappedlibxi_private.h new file mode 100755 index 00000000..052bfed2 --- /dev/null +++ b/src/wrapped/wrappedlibxi_private.h @@ -0,0 +1,88 @@ +#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA)) +#error Meh.... +#endif + +//GO(XAllowDeviceEvents, +//GO(XChangeDeviceControl, +//GO(XChangeDeviceDontPropagateList, +//GO(XChangeDeviceKeyMapping, +GO(XChangeDeviceProperty, vFppppiipi) +//GO(XChangeFeedbackControl, +//GO(XChangeKeyboardDevice, +//GO(XChangePointerDevice, +GO(XCloseDevice, iFpp) +GO(XDeleteDeviceProperty, vFppp) +//GO(XDeviceBell, +//GO(XFreeDeviceControl, +GO(XFreeDeviceList, iFp) +GO(XFreeDeviceMotionEvents, iFv) +GO(XFreeDeviceState, vFp) +//GO(XFreeFeedbackList, +GO(XGetDeviceButtonMapping, iFpppi) +//GO(XGetDeviceControl, +//GO(XGetDeviceDontPropagateList, +//GO(XGetDeviceFocus, +//GO(XGetDeviceKeyMapping, +//GO(XGetDeviceModifierMapping, +GO(XGetDeviceMotionEvents, pFppuuppp) +GO(XGetDeviceProperty, iFpppllipppppp) +//GO(XGetExtensionVersion, +//GO(XGetFeedbackControl, +//GO(XGetSelectedExtensionEvents, +GO(XGrabDevice, iFpppiipiiu) +//GO(XGrabDeviceButton, +//GO(XGrabDeviceKey, +//GO(XIAllowEvents, +//GO(XIAllowTouchEvents, +//GO(XIBarrierReleasePointer, +//GO(XIBarrierReleasePointers, +//GO(XIChangeHierarchy, +GO(XIChangeProperty, vFpippiipi) +//GO(XIDefineCursor, +GO(XIDeleteProperty, vFpip) +GO(XIFreeDeviceInfo, vFp) +GO(XIGetClientPointer, iFppp) +//GO(XIGetFocus, +GO(XIGetProperty, iFpipllippppp) +GO(XIGetSelectedEvents, iFpppi) +//GO(XIGrabButton, +GO(XIGrabDevice, iFpipLpiiip) +//GO(XIGrabEnter, +//GO(XIGrabFocusIn, +//GO(XIGrabKeycode, +//GO(XIGrabTouchBegin, +//GO(XIListProperties, +GO(XIQueryDevice, pFpip) +GO(XIQueryPointer, iFpipppppppppp) +GO(XIQueryVersion, iFppp) +GO(XISelectEvents, iFpppi) +GO(XISetClientPointer, iFppi) +//GO(XISetFocus, +//GO(XIUndefineCursor, +//GO(XIUngrabButton, +GO(XIUngrabDevice, iFpiL) +//GO(XIUngrabEnter, +//GO(XIUngrabFocusIn, +//GO(XIUngrabKeycode, +//GO(XIUngrabTouchBegin, +//GO(XIWarpPointer, +//GO(XListDeviceProperties, +GO(XListInputDevices, pFpp) +GO(XOpenDevice, pFpp) +GO(XQueryDeviceState, pFpp) +GO(XSelectExtensionEvent, iFpppi) +//GO(XSendExtensionEvent, +GO(XSetDeviceButtonMapping, iFpppi) +//GO(XSetDeviceFocus, +//GO(XSetDeviceMode, +//GO(XSetDeviceModifierMapping, +//GO(XSetDeviceValuators, +GO(XUngrabDevice, iFppu) +//GO(XUngrabDeviceButton, +//GO(XUngrabDeviceKey, +//GO(_XiGetDevicePresenceNotifyEvent, +//GO(_xibadclass, +//GO(_xibaddevice, +//GO(_xibadevent, +//GO(_xibadmode, +//GO(_xidevicebusy, |