diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2021-03-25 13:26:02 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2021-03-25 13:26:02 +0100 |
| commit | 348bd64449843f70e08dd591c867973d83ea87eb (patch) | |
| tree | 831a18b17437f0d3d29f4097a5b3487aea3b8b01 /src | |
| parent | b36eca9792b55ccf038407470e480edc80daf543 (diff) | |
| download | box64-348bd64449843f70e08dd591c867973d83ea87eb.tar.gz box64-348bd64449843f70e08dd591c867973d83ea87eb.zip | |
Added a bunch of X11 related wrapped libs
Diffstat (limited to 'src')
24 files changed, 1344 insertions, 10 deletions
diff --git a/src/library_list.h b/src/library_list.h index 10d7a401..7c37cd9b 100755 --- a/src/library_list.h +++ b/src/library_list.h @@ -34,15 +34,15 @@ GO("libXxf86vm.so.1", libxxf86vm) GO("libXinerama.so.1", xinerama) GO("libXrandr.so.2", libxrandr) GO("libXext.so.6", libxext) -//GO("libXfixes.so.3", libxfixes) -//GO("libXcursor.so.1", libxcursor) +GO("libXfixes.so.3", libxfixes) +GO("libXcursor.so.1", libxcursor) GO("libXrender.so.1", libxrender) GO("libXi.so.6", libxi) -//GO("libXss.so.1", libxss) -//GO("libXpm.so.4", libxpm) +GO("libXss.so.1", libxss) +GO("libXpm.so.4", libxpm) GO("libXau.so.6", libxau) GO("libXdmcp.so.6", libxdmcp) -//GO("libX11-xcb.so.1", libx11xcb) +GO("libX11-xcb.so.1", libx11xcb) GO("libxcb.so.1", libxcb) //GO("libxcb-xfixes.so.0", libxcbxfixes) //GO("libxcb-shape.so.0", libxcbshape) @@ -54,11 +54,11 @@ GO("libxcb.so.1", libxcb) //GO("libxcb-dri2.so.0", libxcbdri2) //GO("libxcb-dri3.so.0", libxcbdri3) //GO("libxcb-present.so.0", libxcbpresent) -//GO("libXtst.so.6", libxtst) -//GO("libXt.so.6", libxt) -//GO("libXcomposite.so.1", libxcomposite) -//GO("libXdamage.so.1", libxdamage) -//GO("libXmu.so.6", libxmu) +GO("libXtst.so.6", libxtst) +GO("libXt.so.6", libxt) +GO("libXcomposite.so.1", libxcomposite) +GO("libXdamage.so.1", libxdamage) +GO("libXmu.so.6", libxmu) GO("libz.so.1", libz) GO("libopenal.so.1", openal) GO("libopenal.so.0", openal) diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt index 3fca489f..b7a2e4d5 100644 --- a/src/wrapped/generated/functions_list.txt +++ b/src/wrapped/generated/functions_list.txt @@ -198,6 +198,8 @@ #() vFpuI #() vFpuu #() vFpup +#() vFpLi +#() vFpLL #() vFppi #() vFppu #() vFppL @@ -290,6 +292,7 @@ #() LFLpL #() LFpii #() LFpup +#() LFpLi #() LFpLp #() LFppi #() LFppL @@ -368,13 +371,17 @@ #() vFdddd #() vFpiii #() vFpiip +#() vFpiup #() vFpipp +#() vFpuuu #() vFpupp #() vFpdii #() vFpddd +#() vFpLLL #() vFppii #() vFppip #() vFppui +#() vFppuu #() vFppup #() vFpppi #() vFpppu @@ -415,6 +422,7 @@ #() iFpipp #() iFpCCC #() iFpWWu +#() iFpuiL #() iFpuip #() iFpuui #() iFpuuu @@ -422,6 +430,7 @@ #() iFpuLL #() iFpuLp #() iFpupV +#() iFpLpi #() iFppii #() iFppiu #() iFppiL @@ -578,6 +587,8 @@ #() iFipppi #() iFipppp #() iFpiiii +#() iFpiiiu +#() iFpiiiL #() iFpiiip #() iFpiiuu #() iFpiipi @@ -645,6 +656,7 @@ #() pFppppi #() pFppppp #() vFEiiipp +#() vFEpuipp #() vFEpLLpp #() vFiiiiii #() vFiiiuil @@ -688,12 +700,15 @@ #() vFuppppp #() vFffffff #() vFdddddd +#() vFpiiuuu #() vFpipipV #() vFpipppi #() vFpdddii #() vFppiiii +#() vFppiiip #() vFppiipi #() vFppupii +#() vFpppiii #() vFpppppp #() iFEiippi #() iFEpilpV @@ -711,6 +726,7 @@ #() iFpipppp #() iFpupuui #() iFppiiuu +#() iFppipiL #() iFppIppp #() iFppuiii #() iFppuiiL @@ -728,6 +744,7 @@ #() UFpippup #() lFipLipu #() lFipLipp +#() LFpipipi #() LFSpLiip #() pFEpippp #() pFEpuipp @@ -745,6 +762,7 @@ #() pFpCuuup #() pFpuuuuu #() pFppiiii +#() pFpppppu #() pFpppppp #() pFSpiiii #() vFiiiiiip @@ -786,6 +804,7 @@ #() vFpddiidd #() vFppiiipi #() vFpppiiii +#() vFpppuuuu #() vFppppipi #() iFEpLiLpV #() iFEppLpIi @@ -793,15 +812,19 @@ #() iFEpppppp #() iFiiiiiip #() iFpiiuuiu +#() iFpiuiipp #() iFpiupiii #() iFpuuiuui #() iFpupuuui #() iFpuppppp +#() iFpLipipi #() iFppiiiip #() iFppiiuui #() iFppiipii +#() iFppiipiL #() iFppipipi #() iFppipppp +#() iFppuipiL #() iFpppiiii #() iFpppiiuu #() iFpppiipi @@ -819,6 +842,7 @@ #() pFpCuuwwp #() pFpCuuuuu #() pFppuuppp +#() pFpppuupp #() pFppppuuu #() pFpppppuu #() pFppppppp @@ -865,6 +889,7 @@ #() pFpCuwwWWu #() pFpCuuuCup #() pFpppuuLLu +#() pFpppppupp #() vFuiiiiiiii #() vFuiiiiiuip #() vFuiiiiiuup @@ -880,6 +905,7 @@ #() vFuffffffff #() vFffuuuufff #() vFddddddddd +#() vFpipiuiipp #() vFpipppiipi #() vFppiiipiii #() vFpppppippp @@ -898,6 +924,7 @@ #() pFpiiiiuuuu #() pFpCuWCCuuu #() pFpuuwwWWww +#() pFppiiiiiip #() pFppiiuuuLL #() pFppipppppp #() vFiiiiiiiiiu @@ -947,6 +974,7 @@ #() vFffffffffffff #() vFpipppiiiipii #() vFpippppiiiipi +#() vFppiiuuuiupup #() iFEppppiiiiuui #() iFpipppppppppp #() iFpppllipppppp @@ -967,6 +995,7 @@ #() vFuddiiddiiddiip #() vFuuiiiiuuiiiiiii #() vFfffffffffffffff +#() pFppppppppppppppp #() pFpppppppppppppppp #() vFppuiiiiipuiiiiiiii #() pFipppppppppppppppppppppp diff --git a/src/wrapped/generated/wrapper.c b/src/wrapped/generated/wrapper.c index 838512f4..c793f52a 100644 --- a/src/wrapped/generated/wrapper.c +++ b/src/wrapped/generated/wrapper.c @@ -231,6 +231,8 @@ typedef void (*vFpui_t)(void*, uint32_t, int32_t); typedef void (*vFpuI_t)(void*, uint32_t, int64_t); typedef void (*vFpuu_t)(void*, uint32_t, uint32_t); typedef void (*vFpup_t)(void*, uint32_t, void*); +typedef void (*vFpLi_t)(void*, uintptr_t, int32_t); +typedef void (*vFpLL_t)(void*, uintptr_t, uintptr_t); typedef void (*vFppi_t)(void*, void*, int32_t); typedef void (*vFppu_t)(void*, void*, uint32_t); typedef void (*vFppL_t)(void*, void*, uintptr_t); @@ -323,6 +325,7 @@ typedef uintptr_t (*LFLpu_t)(uintptr_t, void*, uint32_t); typedef uintptr_t (*LFLpL_t)(uintptr_t, void*, uintptr_t); typedef uintptr_t (*LFpii_t)(void*, int32_t, int32_t); typedef uintptr_t (*LFpup_t)(void*, uint32_t, void*); +typedef uintptr_t (*LFpLi_t)(void*, uintptr_t, int32_t); typedef uintptr_t (*LFpLp_t)(void*, uintptr_t, void*); typedef uintptr_t (*LFppi_t)(void*, void*, int32_t); typedef uintptr_t (*LFppL_t)(void*, void*, uintptr_t); @@ -401,13 +404,17 @@ typedef void (*vFffff_t)(float, float, float, float); typedef void (*vFdddd_t)(double, double, double, double); typedef void (*vFpiii_t)(void*, int32_t, int32_t, int32_t); typedef void (*vFpiip_t)(void*, int32_t, int32_t, void*); +typedef void (*vFpiup_t)(void*, int32_t, uint32_t, void*); typedef void (*vFpipp_t)(void*, int32_t, void*, void*); +typedef void (*vFpuuu_t)(void*, uint32_t, uint32_t, uint32_t); typedef void (*vFpupp_t)(void*, uint32_t, void*, void*); typedef void (*vFpdii_t)(void*, double, int32_t, int32_t); typedef void (*vFpddd_t)(void*, double, double, double); +typedef void (*vFpLLL_t)(void*, uintptr_t, uintptr_t, uintptr_t); typedef void (*vFppii_t)(void*, void*, int32_t, int32_t); typedef void (*vFppip_t)(void*, void*, int32_t, void*); typedef void (*vFppui_t)(void*, void*, uint32_t, int32_t); +typedef void (*vFppuu_t)(void*, void*, uint32_t, uint32_t); typedef void (*vFppup_t)(void*, void*, uint32_t, void*); typedef void (*vFpppi_t)(void*, void*, void*, int32_t); typedef void (*vFpppu_t)(void*, void*, void*, uint32_t); @@ -448,6 +455,7 @@ typedef int32_t (*iFpipi_t)(void*, int32_t, void*, int32_t); typedef int32_t (*iFpipp_t)(void*, int32_t, void*, void*); typedef int32_t (*iFpCCC_t)(void*, uint8_t, uint8_t, uint8_t); typedef int32_t (*iFpWWu_t)(void*, uint16_t, uint16_t, uint32_t); +typedef int32_t (*iFpuiL_t)(void*, uint32_t, int32_t, uintptr_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); @@ -455,6 +463,7 @@ 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 (*iFpLpi_t)(void*, uintptr_t, void*, int32_t); typedef int32_t (*iFppii_t)(void*, void*, int32_t, int32_t); typedef int32_t (*iFppiu_t)(void*, void*, int32_t, uint32_t); typedef int32_t (*iFppiL_t)(void*, void*, int32_t, uintptr_t); @@ -611,6 +620,8 @@ typedef int32_t (*iFipuip_t)(int32_t, void*, uint32_t, int32_t, void*); typedef int32_t (*iFipppi_t)(int32_t, void*, void*, void*, int32_t); typedef int32_t (*iFipppp_t)(int32_t, void*, void*, void*, void*); typedef int32_t (*iFpiiii_t)(void*, int32_t, int32_t, int32_t, int32_t); +typedef int32_t (*iFpiiiu_t)(void*, int32_t, int32_t, int32_t, uint32_t); +typedef int32_t (*iFpiiiL_t)(void*, int32_t, int32_t, int32_t, uintptr_t); typedef int32_t (*iFpiiip_t)(void*, int32_t, int32_t, int32_t, void*); typedef int32_t (*iFpiiuu_t)(void*, int32_t, int32_t, uint32_t, uint32_t); typedef int32_t (*iFpiipi_t)(void*, int32_t, int32_t, void*, int32_t); @@ -678,6 +689,7 @@ typedef void* (*pFpppup_t)(void*, void*, void*, uint32_t, void*); typedef void* (*pFppppi_t)(void*, void*, void*, void*, int32_t); typedef void* (*pFppppp_t)(void*, void*, void*, void*, void*); typedef void (*vFEiiipp_t)(x64emu_t*, int32_t, int32_t, int32_t, void*, void*); +typedef void (*vFEpuipp_t)(x64emu_t*, void*, uint32_t, int32_t, void*, void*); typedef void (*vFEpLLpp_t)(x64emu_t*, void*, uintptr_t, uintptr_t, void*, void*); typedef void (*vFiiiiii_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t); typedef void (*vFiiiuil_t)(int32_t, int32_t, int32_t, uint32_t, int32_t, intptr_t); @@ -721,12 +733,15 @@ typedef void (*vFupupip_t)(uint32_t, void*, uint32_t, void*, int32_t, void*); typedef void (*vFuppppp_t)(uint32_t, void*, void*, void*, void*, void*); typedef void (*vFffffff_t)(float, float, float, float, float, float); typedef void (*vFdddddd_t)(double, double, double, double, double, double); +typedef void (*vFpiiuuu_t)(void*, int32_t, int32_t, uint32_t, uint32_t, uint32_t); typedef void (*vFpipipV_t)(void*, int32_t, void*, int32_t, void*, void*); typedef void (*vFpipppi_t)(void*, int32_t, void*, void*, void*, int32_t); typedef void (*vFpdddii_t)(void*, double, double, double, int32_t, int32_t); typedef void (*vFppiiii_t)(void*, void*, int32_t, int32_t, int32_t, int32_t); +typedef void (*vFppiiip_t)(void*, void*, int32_t, int32_t, int32_t, void*); typedef void (*vFppiipi_t)(void*, void*, int32_t, int32_t, void*, int32_t); typedef void (*vFppupii_t)(void*, void*, uint32_t, void*, int32_t, int32_t); +typedef void (*vFpppiii_t)(void*, void*, void*, int32_t, int32_t, int32_t); typedef void (*vFpppppp_t)(void*, void*, void*, void*, void*, void*); typedef int32_t (*iFEiippi_t)(x64emu_t*, int32_t, int32_t, void*, void*, int32_t); typedef int32_t (*iFEpilpV_t)(x64emu_t*, void*, int32_t, intptr_t, void*, void*); @@ -744,6 +759,7 @@ typedef int32_t (*iFpiippp_t)(void*, int32_t, int32_t, void*, void*, void*); typedef int32_t (*iFpipppp_t)(void*, int32_t, void*, void*, void*, void*); typedef int32_t (*iFpupuui_t)(void*, uint32_t, void*, uint32_t, uint32_t, int32_t); typedef int32_t (*iFppiiuu_t)(void*, void*, int32_t, int32_t, uint32_t, uint32_t); +typedef int32_t (*iFppipiL_t)(void*, void*, int32_t, void*, int32_t, uintptr_t); typedef int32_t (*iFppIppp_t)(void*, void*, int64_t, void*, void*, void*); typedef int32_t (*iFppuiii_t)(void*, void*, uint32_t, int32_t, int32_t, int32_t); typedef int32_t (*iFppuiiL_t)(void*, void*, uint32_t, int32_t, int32_t, uintptr_t); @@ -761,6 +777,7 @@ 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 intptr_t (*lFipLipu_t)(int32_t, void*, uintptr_t, int32_t, void*, uint32_t); typedef intptr_t (*lFipLipp_t)(int32_t, void*, uintptr_t, int32_t, void*, void*); +typedef uintptr_t (*LFpipipi_t)(void*, int32_t, void*, int32_t, void*, int32_t); typedef uintptr_t (*LFSpLiip_t)(void*, void*, uintptr_t, int32_t, int32_t, void*); typedef void* (*pFEpippp_t)(x64emu_t*, void*, int32_t, void*, void*, void*); typedef void* (*pFEpuipp_t)(x64emu_t*, void*, uint32_t, int32_t, void*, void*); @@ -778,6 +795,7 @@ typedef void* (*pFpCuuWW_t)(void*, uint8_t, uint32_t, uint32_t, uint16_t, uint16 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* (*pFpppppu_t)(void*, void*, void*, void*, void*, uint32_t); typedef void* (*pFpppppp_t)(void*, void*, void*, void*, void*, void*); typedef void* (*pFSpiiii_t)(void*, void*, int32_t, int32_t, int32_t, int32_t); typedef void (*vFiiiiiip_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*); @@ -819,6 +837,7 @@ typedef void (*vFpipipii_t)(void*, int32_t, void*, int32_t, void*, int32_t, int3 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 void (*vFpppuuuu_t)(void*, void*, void*, uint32_t, uint32_t, uint32_t, uint32_t); typedef void (*vFppppipi_t)(void*, void*, void*, void*, int32_t, void*, int32_t); typedef int32_t (*iFEpLiLpV_t)(x64emu_t*, void*, uintptr_t, int32_t, uintptr_t, void*, void*); typedef int32_t (*iFEppLpIi_t)(x64emu_t*, void*, void*, uintptr_t, void*, int64_t, int32_t); @@ -826,15 +845,19 @@ typedef int32_t (*iFEpppiiu_t)(x64emu_t*, void*, void*, void*, int32_t, int32_t, typedef int32_t (*iFEpppppp_t)(x64emu_t*, void*, void*, void*, void*, void*, void*); typedef int32_t (*iFiiiiiip_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*); typedef int32_t (*iFpiiuuiu_t)(void*, int32_t, int32_t, uint32_t, uint32_t, int32_t, uint32_t); +typedef int32_t (*iFpiuiipp_t)(void*, int32_t, uint32_t, int32_t, int32_t, void*, void*); typedef int32_t (*iFpiupiii_t)(void*, int32_t, uint32_t, void*, int32_t, int32_t, int32_t); typedef int32_t (*iFpuuiuui_t)(void*, uint32_t, uint32_t, int32_t, uint32_t, uint32_t, int32_t); typedef int32_t (*iFpupuuui_t)(void*, uint32_t, void*, uint32_t, uint32_t, uint32_t, int32_t); typedef int32_t (*iFpuppppp_t)(void*, uint32_t, void*, void*, void*, void*, void*); +typedef int32_t (*iFpLipipi_t)(void*, uintptr_t, int32_t, void*, int32_t, void*, int32_t); typedef int32_t (*iFppiiiip_t)(void*, void*, int32_t, int32_t, int32_t, int32_t, void*); typedef int32_t (*iFppiiuui_t)(void*, void*, int32_t, int32_t, uint32_t, uint32_t, int32_t); typedef int32_t (*iFppiipii_t)(void*, void*, int32_t, int32_t, void*, int32_t, int32_t); +typedef int32_t (*iFppiipiL_t)(void*, void*, int32_t, int32_t, void*, int32_t, uintptr_t); typedef int32_t (*iFppipipi_t)(void*, void*, int32_t, void*, int32_t, void*, int32_t); typedef int32_t (*iFppipppp_t)(void*, void*, int32_t, void*, void*, void*, void*); +typedef int32_t (*iFppuipiL_t)(void*, void*, uint32_t, int32_t, void*, int32_t, uintptr_t); typedef int32_t (*iFpppiiii_t)(void*, void*, void*, int32_t, int32_t, int32_t, int32_t); typedef int32_t (*iFpppiiuu_t)(void*, void*, void*, int32_t, int32_t, uint32_t, uint32_t); typedef int32_t (*iFpppiipi_t)(void*, void*, void*, int32_t, int32_t, void*, int32_t); @@ -852,6 +875,7 @@ typedef void* (*pFpCuWCCC_t)(void*, uint8_t, uint32_t, uint16_t, uint8_t, uint8_ 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* (*pFpppuupp_t)(void*, void*, void*, uint32_t, uint32_t, 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*); @@ -898,6 +922,7 @@ typedef void* (*pFuupupipp_t)(uint32_t, uint32_t, void*, uint32_t, void*, int32_ 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* (*pFpppppupp_t)(void*, void*, void*, void*, void*, uint32_t, void*, void*); typedef void (*vFuiiiiiiii_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t); typedef void (*vFuiiiiiuip_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, int32_t, void*); typedef void (*vFuiiiiiuup_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*); @@ -913,6 +938,7 @@ 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 (*vFpipiuiipp_t)(void*, int32_t, void*, int32_t, uint32_t, int32_t, int32_t, void*, void*); typedef void (*vFpipppiipi_t)(void*, int32_t, void*, void*, void*, int32_t, int32_t, void*, int32_t); 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*); @@ -931,6 +957,7 @@ typedef void* (*pFEppuippuu_t)(x64emu_t*, void*, void*, uint32_t, int32_t, void* 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* (*pFppiiiiiip_t)(void*, void*, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*); typedef void* (*pFppiiuuuLL_t)(void*, void*, int32_t, int32_t, uint32_t, uint32_t, uint32_t, uintptr_t, uintptr_t); typedef void* (*pFppipppppp_t)(void*, void*, int32_t, void*, void*, void*, void*, void*, void*); typedef void (*vFiiiiiiiiiu_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t); @@ -980,6 +1007,7 @@ typedef void (*vFuuuuuuuuuuuu_t)(uint32_t, uint32_t, uint32_t, uint32_t, uint32_ typedef void (*vFffffffffffff_t)(float, float, float, float, float, float, float, float, float, float, float, float); typedef void (*vFpipppiiiipii_t)(void*, int32_t, void*, void*, void*, int32_t, int32_t, int32_t, int32_t, void*, int32_t, int32_t); typedef void (*vFpippppiiiipi_t)(void*, int32_t, void*, void*, void*, void*, int32_t, int32_t, int32_t, int32_t, void*, int32_t); +typedef void (*vFppiiuuuiupup_t)(void*, void*, int32_t, int32_t, uint32_t, uint32_t, uint32_t, int32_t, uint32_t, void*, uint32_t, void*); 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*); @@ -1000,6 +1028,7 @@ typedef void (*vFuffiiffiiffiip_t)(uint32_t, float, float, int32_t, int32_t, flo typedef void (*vFuddiiddiiddiip_t)(uint32_t, double, double, int32_t, int32_t, double, double, int32_t, int32_t, double, double, int32_t, int32_t, void*); typedef void (*vFuuiiiiuuiiiiiii_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t); typedef void (*vFfffffffffffffff_t)(float, float, float, float, float, float, float, float, float, float, float, float, float, float, float); +typedef void* (*pFppppppppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*); typedef void* (*pFpppppppppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*); typedef void (*vFppuiiiiipuiiiiiiii_t)(void*, void*, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t); typedef void* (*pFipppppppppppppppppppppp_t)(int32_t, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*); @@ -1216,6 +1245,8 @@ void vFpui(x64emu_t *emu, uintptr_t fcn) { vFpui_t fn = (vFpui_t)fcn; fn((void*) void vFpuI(x64emu_t *emu, uintptr_t fcn) { vFpuI_t fn = (vFpuI_t)fcn; fn((void*)R_RDI, (uint32_t)R_RSI, (int64_t)R_RDX); } void vFpuu(x64emu_t *emu, uintptr_t fcn) { vFpuu_t fn = (vFpuu_t)fcn; fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX); } void vFpup(x64emu_t *emu, uintptr_t fcn) { vFpup_t fn = (vFpup_t)fcn; fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX); } +void vFpLi(x64emu_t *emu, uintptr_t fcn) { vFpLi_t fn = (vFpLi_t)fcn; fn((void*)R_RDI, (uintptr_t)R_RSI, (int32_t)R_RDX); } +void vFpLL(x64emu_t *emu, uintptr_t fcn) { vFpLL_t fn = (vFpLL_t)fcn; fn((void*)R_RDI, (uintptr_t)R_RSI, (uintptr_t)R_RDX); } void vFppi(x64emu_t *emu, uintptr_t fcn) { vFppi_t fn = (vFppi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX); } void vFppu(x64emu_t *emu, uintptr_t fcn) { vFppu_t fn = (vFppu_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX); } void vFppL(x64emu_t *emu, uintptr_t fcn) { vFppL_t fn = (vFppL_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX); } @@ -1308,6 +1339,7 @@ void LFLpu(x64emu_t *emu, uintptr_t fcn) { LFLpu_t fn = (LFLpu_t)fcn; R_RAX=(uin void LFLpL(x64emu_t *emu, uintptr_t fcn) { LFLpL_t fn = (LFLpL_t)fcn; R_RAX=(uintptr_t)fn((uintptr_t)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX); } void LFpii(x64emu_t *emu, uintptr_t fcn) { LFpii_t fn = (LFpii_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX); } void LFpup(x64emu_t *emu, uintptr_t fcn) { LFpup_t fn = (LFpup_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX); } +void LFpLi(x64emu_t *emu, uintptr_t fcn) { LFpLi_t fn = (LFpLi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (int32_t)R_RDX); } void LFpLp(x64emu_t *emu, uintptr_t fcn) { LFpLp_t fn = (LFpLp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX); } void LFppi(x64emu_t *emu, uintptr_t fcn) { LFppi_t fn = (LFppi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX); } void LFppL(x64emu_t *emu, uintptr_t fcn) { LFppL_t fn = (LFppL_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX); } @@ -1386,13 +1418,17 @@ void vFffff(x64emu_t *emu, uintptr_t fcn) { vFffff_t fn = (vFffff_t)fcn; fn(emu- void vFdddd(x64emu_t *emu, uintptr_t fcn) { vFdddd_t fn = (vFdddd_t)fcn; fn(emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0], emu->xmm[3].d[0]); } void vFpiii(x64emu_t *emu, uintptr_t fcn) { vFpiii_t fn = (vFpiii_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX); } void vFpiip(x64emu_t *emu, uintptr_t fcn) { vFpiip_t fn = (vFpiip_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (void*)R_RCX); } +void vFpiup(x64emu_t *emu, uintptr_t fcn) { vFpiup_t fn = (vFpiup_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX); } void vFpipp(x64emu_t *emu, uintptr_t fcn) { vFpipp_t fn = (vFpipp_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX); } +void vFpuuu(x64emu_t *emu, uintptr_t fcn) { vFpuuu_t fn = (vFpuuu_t)fcn; fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX); } void vFpupp(x64emu_t *emu, uintptr_t fcn) { vFpupp_t fn = (vFpupp_t)fcn; fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)R_RCX); } void vFpdii(x64emu_t *emu, uintptr_t fcn) { vFpdii_t fn = (vFpdii_t)fcn; fn((void*)R_RDI, emu->xmm[0].d[0], (int32_t)R_RSI, (int32_t)R_RDX); } void vFpddd(x64emu_t *emu, uintptr_t fcn) { vFpddd_t fn = (vFpddd_t)fcn; fn((void*)R_RDI, emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0]); } +void vFpLLL(x64emu_t *emu, uintptr_t fcn) { vFpLLL_t fn = (vFpLLL_t)fcn; fn((void*)R_RDI, (uintptr_t)R_RSI, (uintptr_t)R_RDX, (uintptr_t)R_RCX); } void vFppii(x64emu_t *emu, uintptr_t fcn) { vFppii_t fn = (vFppii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX); } 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 vFppuu(x64emu_t *emu, uintptr_t fcn) { vFppuu_t fn = (vFppuu_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX); } void vFppup(x64emu_t *emu, uintptr_t fcn) { vFppup_t fn = (vFppup_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)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); } @@ -1433,6 +1469,7 @@ void iFpipi(x64emu_t *emu, uintptr_t fcn) { iFpipi_t fn = (iFpipi_t)fcn; R_RAX=f void iFpipp(x64emu_t *emu, uintptr_t fcn) { iFpipp_t fn = (iFpipp_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX); } void iFpCCC(x64emu_t *emu, uintptr_t fcn) { iFpCCC_t fn = (iFpCCC_t)fcn; R_RAX=fn((void*)R_RDI, (uint8_t)R_RSI, (uint8_t)R_RDX, (uint8_t)R_RCX); } void iFpWWu(x64emu_t *emu, uintptr_t fcn) { iFpWWu_t fn = (iFpWWu_t)fcn; R_RAX=fn((void*)R_RDI, (uint16_t)R_RSI, (uint16_t)R_RDX, (uint32_t)R_RCX); } +void iFpuiL(x64emu_t *emu, uintptr_t fcn) { iFpuiL_t fn = (iFpuiL_t)fcn; R_RAX=fn((void*)R_RDI, (uint32_t)R_RSI, (int32_t)R_RDX, (uintptr_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); } @@ -1440,6 +1477,7 @@ void iFpuup(x64emu_t *emu, uintptr_t fcn) { iFpuup_t fn = (iFpuup_t)fcn; R_RAX=f 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 iFpLpi(x64emu_t *emu, uintptr_t fcn) { iFpLpi_t fn = (iFpLpi_t)fcn; R_RAX=fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX); } void iFppii(x64emu_t *emu, uintptr_t fcn) { iFppii_t fn = (iFppii_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX); } void iFppiu(x64emu_t *emu, uintptr_t fcn) { iFppiu_t fn = (iFppiu_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (uint32_t)R_RCX); } void iFppiL(x64emu_t *emu, uintptr_t fcn) { iFppiL_t fn = (iFppiL_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (uintptr_t)R_RCX); } @@ -1596,6 +1634,8 @@ void iFipuip(x64emu_t *emu, uintptr_t fcn) { iFipuip_t fn = (iFipuip_t)fcn; R_RA void iFipppi(x64emu_t *emu, uintptr_t fcn) { iFipppi_t fn = (iFipppi_t)fcn; R_RAX=fn((int32_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8); } void iFipppp(x64emu_t *emu, uintptr_t fcn) { iFipppp_t fn = (iFipppp_t)fcn; R_RAX=fn((int32_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); } void iFpiiii(x64emu_t *emu, uintptr_t fcn) { iFpiiii_t fn = (iFpiiii_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8); } +void iFpiiiu(x64emu_t *emu, uintptr_t fcn) { iFpiiiu_t fn = (iFpiiiu_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (uint32_t)R_R8); } +void iFpiiiL(x64emu_t *emu, uintptr_t fcn) { iFpiiiL_t fn = (iFpiiiL_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (uintptr_t)R_R8); } void iFpiiip(x64emu_t *emu, uintptr_t fcn) { iFpiiip_t fn = (iFpiiip_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8); } void iFpiiuu(x64emu_t *emu, uintptr_t fcn) { iFpiiuu_t fn = (iFpiiuu_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8); } void iFpiipi(x64emu_t *emu, uintptr_t fcn) { iFpiipi_t fn = (iFpiipi_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8); } @@ -1663,6 +1703,7 @@ void pFpppup(x64emu_t *emu, uintptr_t fcn) { pFpppup_t fn = (pFpppup_t)fcn; R_RA void pFppppi(x64emu_t *emu, uintptr_t fcn) { pFppppi_t fn = (pFppppi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8); } void pFppppp(x64emu_t *emu, uintptr_t fcn) { pFppppp_t fn = (pFppppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); } void vFEiiipp(x64emu_t *emu, uintptr_t fcn) { vFEiiipp_t fn = (vFEiiipp_t)fcn; fn(emu, (int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8); } +void vFEpuipp(x64emu_t *emu, uintptr_t fcn) { vFEpuipp_t fn = (vFEpuipp_t)fcn; fn(emu, (void*)R_RDI, (uint32_t)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8); } void vFEpLLpp(x64emu_t *emu, uintptr_t fcn) { vFEpLLpp_t fn = (vFEpLLpp_t)fcn; fn(emu, (void*)R_RDI, (uintptr_t)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (void*)R_R8); } void vFiiiiii(x64emu_t *emu, uintptr_t fcn) { vFiiiiii_t fn = (vFiiiiii_t)fcn; fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9); } void vFiiiuil(x64emu_t *emu, uintptr_t fcn) { vFiiiuil_t fn = (vFiiiuil_t)fcn; fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (uint32_t)R_RCX, (int32_t)R_R8, (intptr_t)R_R9); } @@ -1706,12 +1747,15 @@ void vFupupip(x64emu_t *emu, uintptr_t fcn) { vFupupip_t fn = (vFupupip_t)fcn; f void vFuppppp(x64emu_t *emu, uintptr_t fcn) { vFuppppp_t fn = (vFuppppp_t)fcn; fn((uint32_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); } void vFffffff(x64emu_t *emu, uintptr_t fcn) { vFffffff_t fn = (vFffffff_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]); } void vFdddddd(x64emu_t *emu, uintptr_t fcn) { vFdddddd_t fn = (vFdddddd_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]); } +void vFpiiuuu(x64emu_t *emu, uintptr_t fcn) { vFpiiuuu_t fn = (vFpiiuuu_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9); } void vFpipipV(x64emu_t *emu, uintptr_t fcn) { vFpipipV_t fn = (vFpipipV_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8, (void*)(R_RSP + 8)); } void vFpipppi(x64emu_t *emu, uintptr_t fcn) { vFpipppi_t fn = (vFpipppi_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (int32_t)R_R9); } void vFpdddii(x64emu_t *emu, uintptr_t fcn) { vFpdddii_t fn = (vFpdddii_t)fcn; fn((void*)R_RDI, emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0], (int32_t)R_RSI, (int32_t)R_RDX); } void vFppiiii(x64emu_t *emu, uintptr_t fcn) { vFppiiii_t fn = (vFppiiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9); } +void vFppiiip(x64emu_t *emu, uintptr_t fcn) { vFppiiip_t fn = (vFppiiip_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (void*)R_R9); } void vFppiipi(x64emu_t *emu, uintptr_t fcn) { vFppiipi_t fn = (vFppiipi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8, (int32_t)R_R9); } void vFppupii(x64emu_t *emu, uintptr_t fcn) { vFppupii_t fn = (vFppupii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8, (int32_t)R_R9); } +void vFpppiii(x64emu_t *emu, uintptr_t fcn) { vFpppiii_t fn = (vFpppiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9); } void vFpppppp(x64emu_t *emu, uintptr_t fcn) { vFpppppp_t fn = (vFpppppp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); } void iFEiippi(x64emu_t *emu, uintptr_t fcn) { iFEiippi_t fn = (iFEiippi_t)fcn; R_RAX=fn(emu, (int32_t)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8); } void iFEpilpV(x64emu_t *emu, uintptr_t fcn) { iFEpilpV_t fn = (iFEpilpV_t)fcn; R_RAX=fn(emu, (void*)R_RDI, (int32_t)R_RSI, (intptr_t)R_RDX, (void*)R_RCX, (void*)(R_RSP + 8)); } @@ -1729,6 +1773,7 @@ void iFpiippp(x64emu_t *emu, uintptr_t fcn) { iFpiippp_t fn = (iFpiippp_t)fcn; R void iFpipppp(x64emu_t *emu, uintptr_t fcn) { iFpipppp_t fn = (iFpipppp_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 iFpupuui(x64emu_t *emu, uintptr_t fcn) { iFpupuui_t fn = (iFpupuui_t)fcn; R_RAX=fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (int32_t)R_R9); } void iFppiiuu(x64emu_t *emu, uintptr_t fcn) { iFppiiuu_t fn = (iFppiiuu_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9); } +void iFppipiL(x64emu_t *emu, uintptr_t fcn) { iFppipiL_t fn = (iFppipiL_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8, (uintptr_t)R_R9); } void iFppIppp(x64emu_t *emu, uintptr_t fcn) { iFppIppp_t fn = (iFppIppp_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); } void iFppuiii(x64emu_t *emu, uintptr_t fcn) { iFppuiii_t fn = (iFppuiii_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9); } void iFppuiiL(x64emu_t *emu, uintptr_t fcn) { iFppuiiL_t fn = (iFppuiiL_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (uintptr_t)R_R9); } @@ -1746,6 +1791,7 @@ void uFpippup(x64emu_t *emu, uintptr_t fcn) { uFpippup_t fn = (uFpippup_t)fcn; R 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 lFipLipu(x64emu_t *emu, uintptr_t fcn) { lFipLipu_t fn = (lFipLipu_t)fcn; R_RAX=(intptr_t)fn((int32_t)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (int32_t)R_RCX, (void*)R_R8, (uint32_t)R_R9); } void lFipLipp(x64emu_t *emu, uintptr_t fcn) { lFipLipp_t fn = (lFipLipp_t)fcn; R_RAX=(intptr_t)fn((int32_t)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (int32_t)R_RCX, (void*)R_R8, (void*)R_R9); } +void LFpipipi(x64emu_t *emu, uintptr_t fcn) { LFpipipi_t fn = (LFpipipi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8, (int32_t)R_R9); } void LFSpLiip(x64emu_t *emu, uintptr_t fcn) { LFSpLiip_t fn = (LFSpLiip_t)fcn; R_RAX=(uintptr_t)fn(io_convert((void*)R_RDI), (void*)R_RSI, (uintptr_t)R_RDX, (int32_t)R_RCX, (int32_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 pFEpuipp(x64emu_t *emu, uintptr_t fcn) { pFEpuipp_t fn = (pFEpuipp_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (uint32_t)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8); } @@ -1763,6 +1809,7 @@ void pFpCuuWW(x64emu_t *emu, uintptr_t fcn) { pFpCuuWW_t fn = (pFpCuuWW_t)fcn; R 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 pFpppppu(x64emu_t *emu, uintptr_t fcn) { pFpppppu_t fn = (pFpppppu_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); } void pFpppppp(x64emu_t *emu, uintptr_t fcn) { pFpppppp_t fn = (pFpppppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); } void pFSpiiii(x64emu_t *emu, uintptr_t fcn) { pFSpiiii_t fn = (pFSpiiii_t)fcn; R_RAX=(uintptr_t)fn(io_convert((void*)R_RDI), (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9); } void vFiiiiiip(x64emu_t *emu, uintptr_t fcn) { vFiiiiiip_t fn = (vFiiiiiip_t)fcn; fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8)); } @@ -1804,6 +1851,7 @@ void vFpipipii(x64emu_t *emu, uintptr_t fcn) { vFpipipii_t fn = (vFpipipii_t)fcn 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 vFpppuuuu(x64emu_t *emu, uintptr_t fcn) { vFpppuuuu_t fn = (vFpppuuuu_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8)); } void vFppppipi(x64emu_t *emu, uintptr_t fcn) { vFppppipi_t fn = (vFppppipi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (void*)R_R9, *(int32_t*)(R_RSP + 8)); } void iFEpLiLpV(x64emu_t *emu, uintptr_t fcn) { iFEpLiLpV_t fn = (iFEpLiLpV_t)fcn; R_RAX=fn(emu, (void*)R_RDI, (uintptr_t)R_RSI, (int32_t)R_RDX, (uintptr_t)R_RCX, (void*)R_R8, (void*)(R_RSP + 8)); } void iFEppLpIi(x64emu_t *emu, uintptr_t fcn) { iFEppLpIi_t fn = (iFEppLpIi_t)fcn; R_RAX=fn(emu, (void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (int64_t)R_R8, (int32_t)R_R9); } @@ -1811,15 +1859,19 @@ void iFEpppiiu(x64emu_t *emu, uintptr_t fcn) { iFEpppiiu_t fn = (iFEpppiiu_t)fcn 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)); } +void iFpiuiipp(x64emu_t *emu, uintptr_t fcn) { iFpiuiipp_t fn = (iFpiuiipp_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); } void iFpiupiii(x64emu_t *emu, uintptr_t fcn) { iFpiupiii_t fn = (iFpiupiii_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8)); } void iFpuuiuui(x64emu_t *emu, uintptr_t fcn) { iFpuuiuui_t fn = (iFpuuiuui_t)fcn; R_RAX=fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(int32_t*)(R_RSP + 8)); } void iFpupuuui(x64emu_t *emu, uintptr_t fcn) { iFpupuuui_t fn = (iFpupuuui_t)fcn; R_RAX=fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(int32_t*)(R_RSP + 8)); } void iFpuppppp(x64emu_t *emu, uintptr_t fcn) { iFpuppppp_t fn = (iFpuppppp_t)fcn; R_RAX=fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); } +void iFpLipipi(x64emu_t *emu, uintptr_t fcn) { iFpLipipi_t fn = (iFpLipipi_t)fcn; R_RAX=fn((void*)R_RDI, (uintptr_t)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8, (void*)R_R9, *(int32_t*)(R_RSP + 8)); } void iFppiiiip(x64emu_t *emu, uintptr_t fcn) { iFppiiiip_t fn = (iFppiiiip_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8)); } void iFppiiuui(x64emu_t *emu, uintptr_t fcn) { iFppiiuui_t fn = (iFppiiuui_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(int32_t*)(R_RSP + 8)); } void iFppiipii(x64emu_t *emu, uintptr_t fcn) { iFppiipii_t fn = (iFppiipii_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8)); } +void iFppiipiL(x64emu_t *emu, uintptr_t fcn) { iFppiipiL_t fn = (iFppiipiL_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8, (int32_t)R_R9, *(uintptr_t*)(R_RSP + 8)); } void iFppipipi(x64emu_t *emu, uintptr_t fcn) { iFppipipi_t fn = (iFppipipi_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8, (void*)R_R9, *(int32_t*)(R_RSP + 8)); } void iFppipppp(x64emu_t *emu, uintptr_t fcn) { iFppipppp_t fn = (iFppipppp_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); } +void iFppuipiL(x64emu_t *emu, uintptr_t fcn) { iFppuipiL_t fn = (iFppuipiL_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8, (int32_t)R_R9, *(uintptr_t*)(R_RSP + 8)); } void iFpppiiii(x64emu_t *emu, uintptr_t fcn) { iFpppiiii_t fn = (iFpppiiii_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8)); } void iFpppiiuu(x64emu_t *emu, uintptr_t fcn) { iFpppiiuu_t fn = (iFpppiiuu_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8)); } void iFpppiipi(x64emu_t *emu, uintptr_t fcn) { iFpppiipi_t fn = (iFpppiipi_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (void*)R_R9, *(int32_t*)(R_RSP + 8)); } @@ -1837,6 +1889,7 @@ void pFpCuWCCC(x64emu_t *emu, uintptr_t fcn) { pFpCuWCCC_t fn = (pFpCuWCCC_t)fcn 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 pFpppuupp(x64emu_t *emu, uintptr_t fcn) { pFpppuupp_t fn = (pFpppuupp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (void*)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)); } @@ -1883,6 +1936,7 @@ void pFuupupipp(x64emu_t *emu, uintptr_t fcn) { pFuupupipp_t fn = (pFuupupipp_t) 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 pFpppppupp(x64emu_t *emu, uintptr_t fcn) { pFpppppupp_t fn = (pFpppppupp_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, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); } void vFuiiiiiiii(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiiii_t fn = (vFuiiiiiiii_t)fcn; fn((uint32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(int32_t*)(R_RSP + 24)); } void vFuiiiiiuip(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiuip_t fn = (vFuiiiiiuip_t)fcn; fn((uint32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(uint32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(void**)(R_RSP + 24)); } void vFuiiiiiuup(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiuup_t fn = (vFuiiiiiuup_t)fcn; fn((uint32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(uint32_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16), *(void**)(R_RSP + 24)); } @@ -1898,6 +1952,7 @@ 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 vFpipiuiipp(x64emu_t *emu, uintptr_t fcn) { vFpipiuiipp_t fn = (vFpipiuiipp_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (uint32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24)); } void vFpipppiipi(x64emu_t *emu, uintptr_t fcn) { vFpipppiipi_t fn = (vFpipppiipi_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(void**)(R_RSP + 16), *(int32_t*)(R_RSP + 24)); } 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)); } @@ -1916,6 +1971,7 @@ void pFEppuippuu(x64emu_t *emu, uintptr_t fcn) { pFEppuippuu_t fn = (pFEppuippuu 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 pFppiiiiiip(x64emu_t *emu, uintptr_t fcn) { pFppiiiiiip_t fn = (pFppiiiiiip_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, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(void**)(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 pFppipppppp(x64emu_t *emu, uintptr_t fcn) { pFppipppppp_t fn = (pFppipppppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(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)); } @@ -1965,6 +2021,7 @@ void vFuuuuuuuuuuuu(x64emu_t *emu, uintptr_t fcn) { vFuuuuuuuuuuuu_t fn = (vFuuu 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 vFpipppiiiipii(x64emu_t *emu, uintptr_t fcn) { vFpipppiiiipii_t fn = (vFpipppiiiipii_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(int32_t*)(R_RSP + 24), *(void**)(R_RSP + 32), *(int32_t*)(R_RSP + 40), *(int32_t*)(R_RSP + 48)); } void vFpippppiiiipi(x64emu_t *emu, uintptr_t fcn) { vFpippppiiiipi_t fn = (vFpippppiiiipi_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)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), *(int32_t*)(R_RSP + 48)); } +void vFppiiuuuiupup(x64emu_t *emu, uintptr_t fcn) { vFppiiuuuiupup_t fn = (vFppiiuuuiupup_t)fcn; 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), *(uint32_t*)(R_RSP + 40), *(void**)(R_RSP + 48)); } 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)); } @@ -1985,6 +2042,7 @@ void vFuffiiffiiffiip(x64emu_t *emu, uintptr_t fcn) { vFuffiiffiiffiip_t fn = (v void vFuddiiddiiddiip(x64emu_t *emu, uintptr_t fcn) { vFuddiiddiiddiip_t fn = (vFuddiiddiiddiip_t)fcn; fn((uint32_t)R_RDI, emu->xmm[0].d[0], emu->xmm[1].d[0], (int32_t)R_RSI, (int32_t)R_RDX, emu->xmm[2].d[0], emu->xmm[3].d[0], (int32_t)R_RCX, (int32_t)R_R8, emu->xmm[4].d[0], emu->xmm[5].d[0], (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); } void vFuuiiiiuuiiiiiii(x64emu_t *emu, uintptr_t fcn) { vFuuiiiiuuiiiiiii_t fn = (vFuuiiiiuuiiiiiii_t)fcn; fn((uint32_t)R_RDI, (uint32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(uint32_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16), *(int32_t*)(R_RSP + 24), *(int32_t*)(R_RSP + 32), *(int32_t*)(R_RSP + 40), *(int32_t*)(R_RSP + 48), *(int32_t*)(R_RSP + 56), *(int32_t*)(R_RSP + 64), *(int32_t*)(R_RSP + 72)); } void vFfffffffffffffff(x64emu_t *emu, uintptr_t fcn) { vFfffffffffffffff_t fn = (vFfffffffffffffff_t)fcn; fn(emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0], emu->xmm[3].f[0], emu->xmm[4].f[0], emu->xmm[5].f[0], emu->xmm[6].f[0], emu->xmm[7].f[0], *(float*)(R_RSP + 8), *(float*)(R_RSP + 16), *(float*)(R_RSP + 24), *(float*)(R_RSP + 32), *(float*)(R_RSP + 40), *(float*)(R_RSP + 48), *(float*)(R_RSP + 56)); } +void pFppppppppppppppp(x64emu_t *emu, uintptr_t fcn) { pFppppppppppppppp_t fn = (pFppppppppppppppp_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**)(R_RSP + 64), *(void**)(R_RSP + 72)); } void pFpppppppppppppppp(x64emu_t *emu, uintptr_t fcn) { pFpppppppppppppppp_t fn = (pFpppppppppppppppp_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**)(R_RSP + 64), *(void**)(R_RSP + 72), *(void**)(R_RSP + 80)); } void vFppuiiiiipuiiiiiiii(x64emu_t *emu, uintptr_t fcn) { vFppuiiiiipuiiiiiiii_t fn = (vFppuiiiiipuiiiiiiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(void**)(R_RSP + 24), *(uint32_t*)(R_RSP + 32), *(int32_t*)(R_RSP + 40), *(int32_t*)(R_RSP + 48), *(int32_t*)(R_RSP + 56), *(int32_t*)(R_RSP + 64), *(int32_t*)(R_RSP + 72), *(int32_t*)(R_RSP + 80), *(int32_t*)(R_RSP + 88), *(int32_t*)(R_RSP + 96)); } void pFipppppppppppppppppppppp(x64emu_t *emu, uintptr_t fcn) { pFipppppppppppppppppppppp_t fn = (pFipppppppppppppppppppppp_t)fcn; R_RAX=(uintptr_t)fn((int32_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48), *(void**)(R_RSP + 56), *(void**)(R_RSP + 64), *(void**)(R_RSP + 72), *(void**)(R_RSP + 80), *(void**)(R_RSP + 88), *(void**)(R_RSP + 96), *(void**)(R_RSP + 104), *(void**)(R_RSP + 112), *(void**)(R_RSP + 120), *(void**)(R_RSP + 128), *(void**)(R_RSP + 136)); } diff --git a/src/wrapped/generated/wrapper.h b/src/wrapped/generated/wrapper.h index a33f0590..748898ad 100644 --- a/src/wrapped/generated/wrapper.h +++ b/src/wrapped/generated/wrapper.h @@ -228,6 +228,8 @@ void vFpui(x64emu_t *emu, uintptr_t fnc); void vFpuI(x64emu_t *emu, uintptr_t fnc); void vFpuu(x64emu_t *emu, uintptr_t fnc); void vFpup(x64emu_t *emu, uintptr_t fnc); +void vFpLi(x64emu_t *emu, uintptr_t fnc); +void vFpLL(x64emu_t *emu, uintptr_t fnc); void vFppi(x64emu_t *emu, uintptr_t fnc); void vFppu(x64emu_t *emu, uintptr_t fnc); void vFppL(x64emu_t *emu, uintptr_t fnc); @@ -320,6 +322,7 @@ void LFLpu(x64emu_t *emu, uintptr_t fnc); void LFLpL(x64emu_t *emu, uintptr_t fnc); void LFpii(x64emu_t *emu, uintptr_t fnc); void LFpup(x64emu_t *emu, uintptr_t fnc); +void LFpLi(x64emu_t *emu, uintptr_t fnc); void LFpLp(x64emu_t *emu, uintptr_t fnc); void LFppi(x64emu_t *emu, uintptr_t fnc); void LFppL(x64emu_t *emu, uintptr_t fnc); @@ -398,13 +401,17 @@ void vFffff(x64emu_t *emu, uintptr_t fnc); void vFdddd(x64emu_t *emu, uintptr_t fnc); void vFpiii(x64emu_t *emu, uintptr_t fnc); void vFpiip(x64emu_t *emu, uintptr_t fnc); +void vFpiup(x64emu_t *emu, uintptr_t fnc); void vFpipp(x64emu_t *emu, uintptr_t fnc); +void vFpuuu(x64emu_t *emu, uintptr_t fnc); void vFpupp(x64emu_t *emu, uintptr_t fnc); void vFpdii(x64emu_t *emu, uintptr_t fnc); void vFpddd(x64emu_t *emu, uintptr_t fnc); +void vFpLLL(x64emu_t *emu, uintptr_t fnc); void vFppii(x64emu_t *emu, uintptr_t fnc); void vFppip(x64emu_t *emu, uintptr_t fnc); void vFppui(x64emu_t *emu, uintptr_t fnc); +void vFppuu(x64emu_t *emu, uintptr_t fnc); void vFppup(x64emu_t *emu, uintptr_t fnc); void vFpppi(x64emu_t *emu, uintptr_t fnc); void vFpppu(x64emu_t *emu, uintptr_t fnc); @@ -445,6 +452,7 @@ void iFpipi(x64emu_t *emu, uintptr_t fnc); void iFpipp(x64emu_t *emu, uintptr_t fnc); void iFpCCC(x64emu_t *emu, uintptr_t fnc); void iFpWWu(x64emu_t *emu, uintptr_t fnc); +void iFpuiL(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); @@ -452,6 +460,7 @@ 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 iFpLpi(x64emu_t *emu, uintptr_t fnc); void iFppii(x64emu_t *emu, uintptr_t fnc); void iFppiu(x64emu_t *emu, uintptr_t fnc); void iFppiL(x64emu_t *emu, uintptr_t fnc); @@ -608,6 +617,8 @@ void iFipuip(x64emu_t *emu, uintptr_t fnc); void iFipppi(x64emu_t *emu, uintptr_t fnc); void iFipppp(x64emu_t *emu, uintptr_t fnc); void iFpiiii(x64emu_t *emu, uintptr_t fnc); +void iFpiiiu(x64emu_t *emu, uintptr_t fnc); +void iFpiiiL(x64emu_t *emu, uintptr_t fnc); void iFpiiip(x64emu_t *emu, uintptr_t fnc); void iFpiiuu(x64emu_t *emu, uintptr_t fnc); void iFpiipi(x64emu_t *emu, uintptr_t fnc); @@ -675,6 +686,7 @@ void pFpppup(x64emu_t *emu, uintptr_t fnc); void pFppppi(x64emu_t *emu, uintptr_t fnc); void pFppppp(x64emu_t *emu, uintptr_t fnc); void vFEiiipp(x64emu_t *emu, uintptr_t fnc); +void vFEpuipp(x64emu_t *emu, uintptr_t fnc); void vFEpLLpp(x64emu_t *emu, uintptr_t fnc); void vFiiiiii(x64emu_t *emu, uintptr_t fnc); void vFiiiuil(x64emu_t *emu, uintptr_t fnc); @@ -718,12 +730,15 @@ void vFupupip(x64emu_t *emu, uintptr_t fnc); void vFuppppp(x64emu_t *emu, uintptr_t fnc); void vFffffff(x64emu_t *emu, uintptr_t fnc); void vFdddddd(x64emu_t *emu, uintptr_t fnc); +void vFpiiuuu(x64emu_t *emu, uintptr_t fnc); void vFpipipV(x64emu_t *emu, uintptr_t fnc); void vFpipppi(x64emu_t *emu, uintptr_t fnc); void vFpdddii(x64emu_t *emu, uintptr_t fnc); void vFppiiii(x64emu_t *emu, uintptr_t fnc); +void vFppiiip(x64emu_t *emu, uintptr_t fnc); void vFppiipi(x64emu_t *emu, uintptr_t fnc); void vFppupii(x64emu_t *emu, uintptr_t fnc); +void vFpppiii(x64emu_t *emu, uintptr_t fnc); void vFpppppp(x64emu_t *emu, uintptr_t fnc); void iFEiippi(x64emu_t *emu, uintptr_t fnc); void iFEpilpV(x64emu_t *emu, uintptr_t fnc); @@ -741,6 +756,7 @@ void iFpiippp(x64emu_t *emu, uintptr_t fnc); void iFpipppp(x64emu_t *emu, uintptr_t fnc); void iFpupuui(x64emu_t *emu, uintptr_t fnc); void iFppiiuu(x64emu_t *emu, uintptr_t fnc); +void iFppipiL(x64emu_t *emu, uintptr_t fnc); void iFppIppp(x64emu_t *emu, uintptr_t fnc); void iFppuiii(x64emu_t *emu, uintptr_t fnc); void iFppuiiL(x64emu_t *emu, uintptr_t fnc); @@ -758,6 +774,7 @@ void uFpippup(x64emu_t *emu, uintptr_t fnc); void UFpippup(x64emu_t *emu, uintptr_t fnc); void lFipLipu(x64emu_t *emu, uintptr_t fnc); void lFipLipp(x64emu_t *emu, uintptr_t fnc); +void LFpipipi(x64emu_t *emu, uintptr_t fnc); void LFSpLiip(x64emu_t *emu, uintptr_t fnc); void pFEpippp(x64emu_t *emu, uintptr_t fnc); void pFEpuipp(x64emu_t *emu, uintptr_t fnc); @@ -775,6 +792,7 @@ 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 pFpppppu(x64emu_t *emu, uintptr_t fnc); void pFpppppp(x64emu_t *emu, uintptr_t fnc); void pFSpiiii(x64emu_t *emu, uintptr_t fnc); void vFiiiiiip(x64emu_t *emu, uintptr_t fnc); @@ -816,6 +834,7 @@ 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 vFpppuuuu(x64emu_t *emu, uintptr_t fnc); void vFppppipi(x64emu_t *emu, uintptr_t fnc); void iFEpLiLpV(x64emu_t *emu, uintptr_t fnc); void iFEppLpIi(x64emu_t *emu, uintptr_t fnc); @@ -823,15 +842,19 @@ 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); +void iFpiuiipp(x64emu_t *emu, uintptr_t fnc); void iFpiupiii(x64emu_t *emu, uintptr_t fnc); void iFpuuiuui(x64emu_t *emu, uintptr_t fnc); void iFpupuuui(x64emu_t *emu, uintptr_t fnc); void iFpuppppp(x64emu_t *emu, uintptr_t fnc); +void iFpLipipi(x64emu_t *emu, uintptr_t fnc); void iFppiiiip(x64emu_t *emu, uintptr_t fnc); void iFppiiuui(x64emu_t *emu, uintptr_t fnc); void iFppiipii(x64emu_t *emu, uintptr_t fnc); +void iFppiipiL(x64emu_t *emu, uintptr_t fnc); void iFppipipi(x64emu_t *emu, uintptr_t fnc); void iFppipppp(x64emu_t *emu, uintptr_t fnc); +void iFppuipiL(x64emu_t *emu, uintptr_t fnc); void iFpppiiii(x64emu_t *emu, uintptr_t fnc); void iFpppiiuu(x64emu_t *emu, uintptr_t fnc); void iFpppiipi(x64emu_t *emu, uintptr_t fnc); @@ -849,6 +872,7 @@ 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 pFpppuupp(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); @@ -895,6 +919,7 @@ 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 pFpppppupp(x64emu_t *emu, uintptr_t fnc); void vFuiiiiiiii(x64emu_t *emu, uintptr_t fnc); void vFuiiiiiuip(x64emu_t *emu, uintptr_t fnc); void vFuiiiiiuup(x64emu_t *emu, uintptr_t fnc); @@ -910,6 +935,7 @@ 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 vFpipiuiipp(x64emu_t *emu, uintptr_t fnc); void vFpipppiipi(x64emu_t *emu, uintptr_t fnc); void vFppiiipiii(x64emu_t *emu, uintptr_t fnc); void vFpppppippp(x64emu_t *emu, uintptr_t fnc); @@ -928,6 +954,7 @@ 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 pFppiiiiiip(x64emu_t *emu, uintptr_t fnc); void pFppiiuuuLL(x64emu_t *emu, uintptr_t fnc); void pFppipppppp(x64emu_t *emu, uintptr_t fnc); void vFiiiiiiiiiu(x64emu_t *emu, uintptr_t fnc); @@ -977,6 +1004,7 @@ void vFuuuuuuuuuuuu(x64emu_t *emu, uintptr_t fnc); void vFffffffffffff(x64emu_t *emu, uintptr_t fnc); void vFpipppiiiipii(x64emu_t *emu, uintptr_t fnc); void vFpippppiiiipi(x64emu_t *emu, uintptr_t fnc); +void vFppiiuuuiupup(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); @@ -997,6 +1025,7 @@ void vFuffiiffiiffiip(x64emu_t *emu, uintptr_t fnc); void vFuddiiddiiddiip(x64emu_t *emu, uintptr_t fnc); void vFuuiiiiuuiiiiiii(x64emu_t *emu, uintptr_t fnc); void vFfffffffffffffff(x64emu_t *emu, uintptr_t fnc); +void pFppppppppppppppp(x64emu_t *emu, uintptr_t fnc); void pFpppppppppppppppp(x64emu_t *emu, uintptr_t fnc); void vFppuiiiiipuiiiiiiii(x64emu_t *emu, uintptr_t fnc); void pFipppppppppppppppppppppp(x64emu_t *emu, uintptr_t fnc); diff --git a/src/wrapped/wrappedlibx11xcb.c b/src/wrapped/wrappedlibx11xcb.c new file mode 100644 index 00000000..e4a70f66 --- /dev/null +++ b/src/wrapped/wrappedlibx11xcb.c @@ -0,0 +1,19 @@ +#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" +#include "debug.h" + +const char* libx11xcbName = "libX11-xcb.so.1"; +#define LIBNAME libx11xcb + +#include "wrappedlib_init.h" + diff --git a/src/wrapped/wrappedlibx11xcb_private.h b/src/wrapped/wrappedlibx11xcb_private.h new file mode 100644 index 00000000..fb294461 --- /dev/null +++ b/src/wrapped/wrappedlibx11xcb_private.h @@ -0,0 +1,6 @@ +#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA)) +#error meh! +#endif + +GO(XGetXCBConnection, pFp) +GO(XSetEventQueueOwner, vFpu) diff --git a/src/wrapped/wrappedlibxcomposite.c b/src/wrapped/wrappedlibxcomposite.c new file mode 100755 index 00000000..bb0394ba --- /dev/null +++ b/src/wrapped/wrappedlibxcomposite.c @@ -0,0 +1,19 @@ +#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" +#include "debug.h" + +const char* libxcompositeName = "libXcomposite.so.1"; +#define LIBNAME libxcomposite + +#include "wrappedlib_init.h" + diff --git a/src/wrapped/wrappedlibxcomposite_private.h b/src/wrapped/wrappedlibxcomposite_private.h new file mode 100755 index 00000000..9c52d04f --- /dev/null +++ b/src/wrapped/wrappedlibxcomposite_private.h @@ -0,0 +1,16 @@ +#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA)) +#error meh! +#endif + +GO(XCompositeCreateRegionFromBorderClip, LFpL) +GO(XCompositeFindDisplay, pFp) +GO(XCompositeGetOverlayWindow, LFpL) +GO(XCompositeNameWindowPixmap, LFpL) +GO(XCompositeQueryExtension, iFppp) +GO(XCompositeQueryVersion, iFppp) +GO(XCompositeRedirectSubwindows, vFpLi) +GO(XCompositeRedirectWindow, vFpLi) +GO(XCompositeReleaseOverlayWindow, vFpL) +GO(XCompositeUnredirectSubwindows, vFpLi) +GO(XCompositeUnredirectWindow, vFpLi) +GO(XCompositeVersion, iFv) diff --git a/src/wrapped/wrappedlibxcursor.c b/src/wrapped/wrappedlibxcursor.c new file mode 100755 index 00000000..749d2a07 --- /dev/null +++ b/src/wrapped/wrappedlibxcursor.c @@ -0,0 +1,18 @@ +#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* libxcursorName = "libXcursor.so.1"; +#define LIBNAME libxcursor + +#include "wrappedlib_init.h" + diff --git a/src/wrapped/wrappedlibxcursor_private.h b/src/wrapped/wrappedlibxcursor_private.h new file mode 100755 index 00000000..493b933c --- /dev/null +++ b/src/wrapped/wrappedlibxcursor_private.h @@ -0,0 +1,66 @@ +#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA)) +#error Meh.... +#endif + +GO(XcursorAnimateCreate, pFp) +GO(XcursorAnimateDestroy, vFp) +GO(XcursorAnimateNext, pFp) +GO(XcursorCommentCreate, pFui) +GO(XcursorCommentDestroy, vFp) +GO(XcursorCommentsCreate, pFi) +GO(XcursorCommentsDestroy, vFp) +//GO(_XcursorCreateFontCursor, +//GO(_XcursorCreateGlyphCursor, +GO(XcursorCursorsCreate, pFpi) +GO(XcursorCursorsDestroy, vFp) +GO(XcursorFileLoad, pFppp) +GO(XcursorFileLoadAllImages, pFp) +GO(XcursorFileLoadImage, pFpi) +GO(XcursorFileLoadImages, pFpi) +GO(XcursorFilenameLoad, iFppp) +GO(XcursorFilenameLoadAllImages, pFp) +GO(XcursorFilenameLoadCursor, pFpp) +GO(XcursorFilenameLoadCursors, pFpp) +GO(XcursorFilenameLoadImage, pFpi) +GO(XcursorFilenameLoadImages, pFpi) +GO(XcursorFilenameSave, iFppp) +GO(XcursorFilenameSaveImages, iFpp) +GO(XcursorFileSave, iFppp) +GO(XcursorFileSaveImages, iFpp) +GO(XcursorGetDefaultSize, iFp) +//GO(_XcursorGetDisplayInfo, +GO(XcursorGetTheme, pFp) +GO(XcursorGetThemeCore, iFp) +GO(XcursorImageCreate, pFii) +GO(XcursorImageDestroy, vFp) +//GOM(XcursorImageHash, vFEpp) // needs unbridge XImage (first p) +GO(XcursorImageLoadCursor, pFpp) +GO(XcursorImagesCreate, pFi) +GO(XcursorImagesDestroy, vFp) +GO(XcursorImagesLoadCursor, pFpp) +GO(XcursorImagesLoadCursors, pFpp) +GO(XcursorImagesSetName, vFpp) +GO(XcursorLibraryLoadCursor, pFpp) +GO(XcursorLibraryLoadCursors, pFpp) +GO(XcursorLibraryLoadImage, pFppi) +GO(XcursorLibraryLoadImages, pFppi) +GO(XcursorLibraryPath, pFv) +GO(XcursorLibraryShape, iFp) +GO(XcursorNoticeCreateBitmap, vFppuu) +//GOM(XcursorNoticePutBitmap, vFEppp) //needs unbridge XImage (last p) +GO(XcursorSetDefaultSize, iFpi) +GO(XcursorSetTheme, iFpp) +GO(XcursorSetThemeCore, iFpi) +GO(XcursorShapeLoadCursor, pFpu) +GO(XcursorShapeLoadCursors, pFpu) +GO(XcursorShapeLoadImage, pFupi) +GO(XcursorShapeLoadImages, pFupi) +GO(XcursorSupportsAnim, iFp) +GO(XcursorSupportsARGB, iFp) +GO(XcursorTryShapeBitmapCursor, pFpppppuu) +GO(XcursorTryShapeCursor, pFpppuupp) +GO(XcursorXcFileLoad, iFppp) +GO(XcursorXcFileLoadAllImages, pFp) +GO(XcursorXcFileLoadImage, pFpi) +GO(XcursorXcFileLoadImages, pFpi) +GO(XcursorXcFileSave, iFppp) diff --git a/src/wrapped/wrappedlibxdamage.c b/src/wrapped/wrappedlibxdamage.c new file mode 100755 index 00000000..6f10e7f0 --- /dev/null +++ b/src/wrapped/wrappedlibxdamage.c @@ -0,0 +1,19 @@ +#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" +#include "debug.h" + +const char* libxdamageName = "libXdamage.so.1"; +#define LIBNAME libxdamage + +#include "wrappedlib_init.h" + diff --git a/src/wrapped/wrappedlibxdamage_private.h b/src/wrapped/wrappedlibxdamage_private.h new file mode 100755 index 00000000..00fa99f9 --- /dev/null +++ b/src/wrapped/wrappedlibxdamage_private.h @@ -0,0 +1,12 @@ +#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA)) +#error meh! +#endif + + +GO(XDamageAdd, vFpLL) +GO(XDamageCreate, LFpLi) +GO(XDamageDestroy, vFpL) +GO(XDamageFindDisplay, pFp) +GO(XDamageQueryExtension, iFppp) +GO(XDamageQueryVersion, iFppp) +GO(XDamageSubtract, vFpLLL) diff --git a/src/wrapped/wrappedlibxfixes.c b/src/wrapped/wrappedlibxfixes.c new file mode 100755 index 00000000..4ad17a8a --- /dev/null +++ b/src/wrapped/wrappedlibxfixes.c @@ -0,0 +1,26 @@ +#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* libxfixesName = "libXfixes.so.3"; +#define LIBNAME libxfixes + +#define CUSTOM_INIT \ + 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"); + +#include "wrappedlib_init.h" + diff --git a/src/wrapped/wrappedlibxfixes_private.h b/src/wrapped/wrappedlibxfixes_private.h new file mode 100755 index 00000000..b388944b --- /dev/null +++ b/src/wrapped/wrappedlibxfixes_private.h @@ -0,0 +1,42 @@ +#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA)) +#error Meh.... +#endif + +GO(XFixesChangeCursor, vFppp) +GO(XFixesChangeCursorByName, vFppp) +GO(XFixesChangeSaveSet, vFppiii) +GO(XFixesCopyRegion, vFppp) +GO(XFixesCreatePointerBarrier, pFppiiiiiip) +GO(XFixesCreateRegion, pFppi) +GO(XFixesCreateRegionFromBitmap, pFpp) +GO(XFixesCreateRegionFromGC, pFpp) +GO(XFixesCreateRegionFromPicture, pFpp) +GO(XFixesCreateRegionFromWindow, pFppi) +GO(XFixesDestroyPointerBarrier, vFpp) +GO(XFixesDestroyRegion, vFpp) +GO(XFixesExpandRegion, vFpppuuuu) +DATA(XFixesExtensionInfo, sizeof(void*)) //B +DATA(XFixesExtensionName, sizeof(void*)) //D +GO(XFixesFetchRegion, pFppp) +GO(XFixesFetchRegionAndBounds, pFpppp) +GO(XFixesFindDisplay, pFp) +GO(XFixesGetCursorImage, pFp) +GO(XFixesGetCursorName, pFppp) +GO(XFixesHideCursor, vFpp) +GO(XFixesIntersectRegion, vFpppp) +GO(XFixesInvertRegion, vFpppp) +GO(XFixesQueryExtension, iFppp) +GO(XFixesQueryVersion, iFppp) +GO(XFixesRegionExtents, vFppp) +GO(XFixesSelectCursorInput, vFppu) +GO(XFixesSelectSelectionInput, vFpppu) +GO(XFixesSetCursorName, vFppp) +GO(XFixesSetGCClipRegion, vFppiip) +GO(XFixesSetPictureClipRegion, vFppiip) +GO(XFixesSetRegion, vFpppi) +GO(XFixesSetWindowShapeRegion, vFppiiip) +GO(XFixesShowCursor, vFpp) +GO(XFixesSubtractRegion, vFpppp) +GO(XFixesTranslateRegion, vFppii) +GO(XFixesUnionRegion, vFpppp) +GO(XFixesVersion, iFv) diff --git a/src/wrapped/wrappedlibxmu.c b/src/wrapped/wrappedlibxmu.c new file mode 100755 index 00000000..c7262418 --- /dev/null +++ b/src/wrapped/wrappedlibxmu.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* libxmuName = "libXmu.so.6"; +#define LIBNAME libxmu + +#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/wrappedlibxmu_private.h b/src/wrapped/wrappedlibxmu_private.h new file mode 100755 index 00000000..931574d3 --- /dev/null +++ b/src/wrapped/wrappedlibxmu_private.h @@ -0,0 +1,133 @@ +#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA)) +#error Meh.... +#endif + +//GO(XctCreate, +//GO(XctFree, +//GO(XctNextItem, +//GO(XctReset, +//GO(_XEditResCheckMessages, +//GO(_XEditResGet16, +//GO(_XEditResGet32, +//GO(_XEditResGet8, +//GO(_XEditResGetSigned16, +//GO(_XEditResGetString8, +//GO(_XEditResGetWidgetInfo, +//GO(_XEditResPut16, +//GO(_XEditResPut32, +//GO(_XEditResPut8, +//GO(_XEditResPutString8, +//GO(_XEditResPutWidgetInfo, +//GO(_XEditResResetStream, +//GO(XmuAddCloseDisplayHook, +//GO(XmuAddInitializer, +//GO(XmuAllStandardColormaps, +//GO(XmuAppendSegment, +//GO(XmuAreaAnd, +//GO(XmuAreaCopy, +//GO(XmuAreaDup, +//GO(XmuAreaNot, +//GO(XmuAreaOrXor, +//GO(XmuCallInitializers, +//GO(_XmuCCLookupDisplay, +GO(XmuClientWindow, pFpp) +//GO(XmuCompareISOLatin1, +//GO(XmuConvertStandardSelection, +//GO(XmuCopyISOLatin1Lowered, +//GO(XmuCopyISOLatin1Uppered, +//GO(XmuCreateColormap, +//GO(XmuCreatePixmapFromBitmap, +//GO(XmuCreateStippledPixmap, +//GO(XmuCursorNameToIndex, +//GO(XmuCvtBackingStoreToString, +//GO(XmuCvtFunctionToCallback, +//GO(XmuCvtGravityToString, +//GO(XmuCvtJustifyToString, +//GO(XmuCvtLongToString, +//GO(XmuCvtOrientationToString, +//GO(XmuCvtShapeStyleToString, +//GO(XmuCvtStringToBackingStore, +//GO(XmuCvtStringToBitmap, +//GO(XmuCvtStringToColorCursor, +//GO(XmuCvtStringToCursor, +//GO(XmuCvtStringToGravity, +//GO(XmuCvtStringToJustify, +//GO(XmuCvtStringToLong, +//GO(XmuCvtStringToOrientation, +//GO(XmuCvtStringToShapeStyle, +//GO(XmuCvtStringToWidget, +//GO(XmuCvtWidgetToString, +//GO(XmuDeleteStandardColormap, +//GO(XmuDestroyScanlineList, +//GO(XmuDestroySegmentList, +//GO(XmuDistinguishableColors, +//GO(XmuDistinguishablePixels, +//GO(XmuDQAddDisplay, +//GO(XmuDQCreate, +//GO(XmuDQDestroy, +//GO(XmuDQLookupDisplay, +//GO(XmuDQRemoveDisplay, +//GO(XmuDrawLogo, +//GO(XmuDrawRoundedRectangle, +//GO(XmuFillRoundedRectangle, +//GO(XmuGetAtomName, +//GO(XmuGetColormapAllocation, +//GO(XmuGetHostname, +//GO(XmuInternAtom, +//GO(XmuInternStrings, +//GO(XmuLocateBitmapFile, +//GO(XmuLocatePixmapFile, +//GO(XmuLookupAPL, +//GO(XmuLookupArabic, +//GO(XmuLookupCloseDisplayHook, +//GO(XmuLookupCyrillic, +//GO(XmuLookupGreek, +//GO(XmuLookupHebrew, +//GO(XmuLookupJISX0201, +//GO(XmuLookupKana, +//GO(XmuLookupLatin1, +//GO(XmuLookupLatin2, +//GO(XmuLookupLatin3, +//GO(XmuLookupLatin4, +//GO(XmuLookupStandardColormap, +//GO(XmuLookupString, +//GO(XmuMakeAtom, +//GO(XmuNameOfAtom, +//GO(XmuNCopyISOLatin1Lowered, +//GO(XmuNCopyISOLatin1Uppered, +//GO(XmuNewArea, +//GO(XmuNewCvtStringToWidget, +//GO(XmuNewScanline, +//GO(XmuNewSegment, +//GO(XmuOptimizeArea, +//GO(XmuOptimizeScanline, +//GO(XmuPrintDefaultErrorMessage, +//GO(XmuReadBitmapData, +//GO(XmuReadBitmapDataFromFile, +//GO(XmuRegisterExternalAgent, +//GO(XmuReleaseStippledPixmap, +//GO(XmuRemoveCloseDisplayHook, +//GO(XmuReshapeWidget, +//GO(XmuScanlineAnd, +//GO(XmuScanlineAndSegment, +//GO(XmuScanlineCopy, +//GO(XmuScanlineEqu, +//GO(XmuScanlineNot, +//GO(XmuScanlineOr, +//GO(XmuScanlineOrSegment, +//GO(XmuScanlineXor, +//GO(XmuScanlineXorSegment, +GO(XmuScreenOfWindow, pFpp) +//GO(XmuSimpleErrorHandler, +//GO(XmuSnprintf, +//GO(XmuStandardColormap, +//GO(_XmuStringToBitmapFreeCache, +//GO(_XmuStringToBitmapInitCache, +//GO(XmuUpdateMapHints, +//GO(XmuValidArea, +//GO(XmuValidScanline, +//GO(XmuVisualStandardColormaps, +//GO(XmuWnCountOwnedResources, +//GO(XmuWnFetchResources, +//GO(XmuWnInitializeNodes, +//GO(XmuWnNameToNode, diff --git a/src/wrapped/wrappedlibxpm.c b/src/wrapped/wrappedlibxpm.c new file mode 100755 index 00000000..17dbb0ec --- /dev/null +++ b/src/wrapped/wrappedlibxpm.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 "wrapper.h" +#include "bridge.h" +#include "librarian/library_private.h" +#include "x64emu.h" + +const char* libxpmName = "libXpm.so.4"; +#define LIBNAME libxpm + +#include "wrappedlib_init.h" + +#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"); diff --git a/src/wrapped/wrappedlibxpm_private.h b/src/wrapped/wrappedlibxpm_private.h new file mode 100755 index 00000000..fc71b02e --- /dev/null +++ b/src/wrapped/wrappedlibxpm_private.h @@ -0,0 +1,69 @@ +#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA)) +#error Meh.... +#endif + +//GO(xpmatoui, +GO(XpmAttributesSize, iFv) +GO(XpmCreateBufferFromImage, iFppppp) // need unwrapping of Image? +GO(XpmCreateBufferFromPixmap, iFppppp) +GO(XpmCreateBufferFromXpmImage, iFppp) +GO(XpmCreateDataFromImage, iFppppp) +GO(XpmCreateDataFromPixmap, iFppppp) +GO(XpmCreateDataFromXpmImage, iFppp) +GO(XpmCreateImageFromBuffer, iFppppp) // XImage... +GO(XpmCreateImageFromData, iFppppp) // XImage... +//GO(xpmCreateImageFromPixmap, +GO(XpmCreateImageFromXpmImage, iFppppp) +GO(XpmCreatePixmapFromBuffer, iFpppppp) +GO(XpmCreatePixmapFromData, iFpppppp) +//GO(xpmCreatePixmapFromImage, +GO(XpmCreatePixmapFromXpmImage, iFpppppp) +GO(XpmCreateXpmImageFromBuffer, iFppp) +GO(XpmCreateXpmImageFromData, iFppp) +GO(XpmCreateXpmImageFromImage, iFppppp) +GO(XpmCreateXpmImageFromPixmap, iFppppp) +GO(XpmFree, vFp) +GO(XpmFreeAttributes, vFp) +//GO(xpmFreeColorTable, +GO(XpmFreeExtensions, vFpi) +//GO(xpmFreeRgbNames, +GO(XpmFreeXpmImage, vFp) +GO(XpmFreeXpmInfo, vFp) +//GO(xpmGetCmt, +GO(XpmGetErrorString, pFi) +//GO(xpmGetRgbName, +//GO(xpmGetString, +//GO(xpmHashIntern, +//GO(xpmHashSlot, +//GO(xpmHashTableFree, +//GO(xpmHashTableInit, +//GO(xpmInitAttributes, +//GO(xpmInitXpmImage, +//GO(xpmInitXpmInfo, +GO(XpmLibraryVersion, iFv) +//GO(xpmNextString, +//GO(xpmNextUI, +//GO(xpmNextWord, +//GO(xpmParseColors, +//GO(xpmParseData, +//GO(xpmParseDataAndCreate, +//GO(xpmParseExtensions, +//GO(xpmParseHeader, +//GO(xpmParseValues, +//GO(xpmPipeThrough, +GO(XpmReadFileToBuffer, iFpp) +GO(XpmReadFileToData, iFpp) +//GO(XpmReadFileToImage, +GO(XpmReadFileToPixmap, iFpppppp) +GO(XpmReadFileToXpmImage, iFppp) +//GO(xpmReadRgbNames, +//GO(xpmSetAttributes, +//GO(xpmSetInfo, +//GO(xpmSetInfoMask, +GO(XpmWriteFileFromBuffer, iFpp) +GO(XpmWriteFileFromData, iFpp) +//GO(XpmWriteFileFromImage, +GO(XpmWriteFileFromPixmap, iFppppp) +GO(XpmWriteFileFromXpmImage, iFppp) +//GO(xpm_xynormalizeimagebits, +//GO(xpm_znormalizeimagebits, diff --git a/src/wrapped/wrappedlibxss.c b/src/wrapped/wrappedlibxss.c new file mode 100755 index 00000000..4abb9ce9 --- /dev/null +++ b/src/wrapped/wrappedlibxss.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 "wrapper.h" +#include "bridge.h" +#include "librarian/library_private.h" +#include "x64emu.h" + +const char* libxssName = "libXss.so.1"; +#define LIBNAME libxss + +#include "wrappedlib_init.h" + +#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"); diff --git a/src/wrapped/wrappedlibxss_private.h b/src/wrapped/wrappedlibxss_private.h new file mode 100755 index 00000000..d345f049 --- /dev/null +++ b/src/wrapped/wrappedlibxss_private.h @@ -0,0 +1,15 @@ +#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA)) +#error Meh.... +#endif + +GO(XScreenSaverAllocInfo, pFv) +GO(XScreenSaverGetRegistered, uFpipp) +GO(XScreenSaverQueryExtension, iFppp) +GO(XScreenSaverQueryInfo, iFppp) +GO(XScreenSaverQueryVersion, iFppp) +GO(XScreenSaverRegister, vFpiup) +GO(XScreenSaverSelectInput, vFppu) +GO(XScreenSaverSetAttributes, vFppiiuuuiupup) +GO(XScreenSaverSuspend, vFpi) +GO(XScreenSaverUnregister, iFpi) +GO(XScreenSaverUnsetAttributes, vFpp) diff --git a/src/wrapped/wrappedlibxt.c b/src/wrapped/wrappedlibxt.c new file mode 100755 index 00000000..8b74258c --- /dev/null +++ b/src/wrapped/wrappedlibxt.c @@ -0,0 +1,104 @@ +#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* libxtName = "libXt.so.6"; +#define LIBNAME libxt + +typedef void (*vFpuipp_t)(void*, uint32_t, int32_t, void*, void*); + +#define SUPER() \ + GO(XtAddEventHandler, vFpuipp_t) + +typedef struct libxt_my_s { + #define GO(A, B) B A; + SUPER() + #undef GO + // functions +} libxt_my_t; + +void* getXtMy(library_t* lib) +{ + libxt_my_t* my = (libxt_my_t*)calloc(1, sizeof(libxt_my_t)); + #define GO(A, W) my->A = (W)dlsym(lib->priv.w.lib, #A); + SUPER() + #undef GO + return my; +} +#undef SUPER + +void freeXtMy(void* lib) +{ + //libxt_my_t *my = (libxt_my_t *)lib; +} + +#define SUPER() \ +GO(0) \ +GO(1) \ +GO(2) \ +GO(3) \ +GO(4) \ +GO(5) \ +GO(6) \ +GO(7) + +#define GO(A) \ +static uintptr_t my_Event_fct_##A = 0; \ +static void my_Event_##A(void* w, void* data, void* event) \ +{ \ + RunFunction(my_context, my_Event_fct_##A, 3, w, data, event);\ +} +SUPER() +#undef GO +static void* findEventFct(void* fct) +{ + if(!fct) return NULL; + #define GO(A) if(my_Event_fct_##A == (uintptr_t)fct) return my_Event_##A; + SUPER() + #undef GO + #define GO(A) if(my_Event_fct_##A == 0) {my_Event_fct_##A = (uintptr_t)fct; return my_Event_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for libXt Event callback\n"); + return NULL; +} +#undef SUPER + + +EXPORT void my_XtAddEventHandler(x64emu_t* emu, void* w, uint32_t mask, int32_t maskable, void* cb, void* data) +{ + void* fct = findEventFct(cb); + library_t* lib = GetLibInternal(libxtName); + libxt_my_t* my = (libxt_my_t*)lib->priv.w.p2; + + my->XtAddEventHandler(w, mask, maskable, fct, data); +} + +#define CUSTOM_INIT \ + lib->priv.w.p2 = getXtMy(lib); \ + 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"); + +#define CUSTOM_FINI \ + freeXtMy(lib->priv.w.p2); \ + free(lib->priv.w.p2); + +#include "wrappedlib_init.h" + diff --git a/src/wrapped/wrappedlibxt_private.h b/src/wrapped/wrappedlibxt_private.h new file mode 100755 index 00000000..20feb4e3 --- /dev/null +++ b/src/wrapped/wrappedlibxt_private.h @@ -0,0 +1,444 @@ +#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA)) +#error Meh.... +#endif + +//GO(XtAddActions, +//GO(XtAddCallback, +//GO(_XtAddCallback, +//GO(_XtAddCallbackOnce, +//GO(XtAddCallbacks, +//GO(XtAddConverter, +//GO(_XtAddDefaultConverters, +GOM(XtAddEventHandler, vFEpuipp) +//GO(_XtAddEventSeqToStateTree, +//GO(XtAddExposureToRegion, +//GO(XtAddGrab, +//GO(XtAddInput, +//GO(XtAddRawEventHandler, +//GO(_XtAddShellToHookObj, +//GO(XtAddSignal, +//GO(XtAddTimeOut, +//GO(_XtAddTMConverters, +//GO(XtAddWorkProc, +//GO(XtAllocateGC, +//GO(_XtAllocError, +//GO(_XtAllocTMContext, +//GO(_XtAllocWWTable, +//GO(XtAppAddActionHook, +//GO(XtAppAddActions, +//GO(XtAppAddBlockHook, +//GO(XtAppAddConverter, +//GO(XtAppAddInput, +//GO(XtAppAddSignal, +//GO(XtAppAddTimeOut, +//GO(XtAppAddWorkProc, +GO(XtAppCreateShell, pFpppppu) +//GO(_XtAppCreateShell, +//GO(XtAppError, +//GO(XtAppErrorMsg, +//GO(XtAppGetErrorDatabase, +//GO(XtAppGetErrorDatabaseText, +//GO(XtAppGetExitFlag, +//GO(XtAppGetSelectionTimeout, +//GO(_XtAppInit, +//GO(XtAppInitialize, +//GO(XtAppLock, +//GO(XtAppMainLoop, +//GO(XtAppNextEvent, +//GO(XtAppPeekEvent, +GO(XtAppPending, pFp) +GO(XtAppProcessEvent, vFpu) +//GO(XtAppReleaseCacheRefs, +//GO(XtAppSetErrorHandler, +//GO(XtAppSetErrorMsgHandler, +//GO(XtAppSetExitFlag, +GO(XtAppSetFallbackResources, vFpp) +//GO(XtAppSetSelectionTimeout, +//GO(XtAppSetTypeConverter, +//GO(XtAppSetWarningHandler, +//GO(XtAppSetWarningMsgHandler, +//GO(XtAppUnlock, +//GO(XtAppWarning, +//GO(XtAppWarningMsg, +//GO(XtAugmentTranslations, +//GO(_XtBindActions, +//GO(XtBuildEventMask, +//GO(_XtBuildKeysymTables, +//GO(_XtCacheFlushTag, +//GO(XtCallAcceptFocus, +//GO(XtCallActionProc, +//GO(XtCallbackExclusive, +//GO(XtCallbackNone, +//GO(XtCallbackNonexclusive, +//GO(XtCallbackPopdown, +//GO(XtCallbackReleaseCacheRef, +//GO(XtCallbackReleaseCacheRefList, +//GO(XtCallCallbackList, +//GO(XtCallCallbacks, +//GO(_XtCallConditionalCallbackList, +//GO(XtCallConverter, +//GO(XtCalloc, +//GO(__XtCalloc, +//GO(XtCancelSelectionRequest, +//GO(XtChangeManagedSet, +//GO(_XtCheckServerGrabsOnWidget, +//GO(_XtCheckSubclassFlag, +//GO(XtClass, +//GO(_XtClearAncestorCache, +//GO(XtCloseDisplay, +//GO(_XtCloseDisplays, +//GO(_XtCompileCallbackList, +//GO(_XtCompileResourceList, +//GO(_XtComputeLateBindings, +GO(XtConfigureWidget, vFpiiuuu) +//GO(_XtConstraintResDependencies, +//GO(XtConvert, +//GO(_XtConvert, +//GO(XtConvertAndStore, +//GO(XtConvertCase, +//GO(_XtConvertInitialize, +//GO(_XtConvertTypeToMask, +//GO(_XtCopyFromArg, +//GO(_XtCopyFromParent, +//GO(_XtCopyToArg, +//GO(_XtCountVaList, +GO(XtCreateApplicationContext, pFv) +//GO(XtCreateApplicationShell, +//GO(_XtCreateHookObj, +//GO(_XtCreateIndirectionTable, +//GO(XtCreateManagedWidget, +//GO(XtCreatePopupShell, +//GO(_XtCreatePopupShell, +//GO(XtCreateSelectionRequest, +//GO(XtCreateWidget, +//GO(_XtCreateWidget, +//GO(XtCreateWindow, +//GO(_XtCreateXlations, +//GO(XtCvtColorToPixel, +//GO(XtCvtIntToBool, +//GO(XtCvtIntToBoolean, +//GO(XtCvtIntToColor, +//GO(XtCvtIntToFloat, +//GO(XtCvtIntToFont, +//GO(XtCvtIntToPixel, +//GO(XtCvtIntToPixmap, +//GO(XtCvtIntToShort, +//GO(XtCvtIntToUnsignedChar, +//GO(_XtCvtMergeTranslations, +//GO(XtCvtStringToAcceleratorTable, +//GO(XtCvtStringToAtom, +//GO(XtCvtStringToBool, +//GO(XtCvtStringToBoolean, +//GO(XtCvtStringToCommandArgArray, +//GO(XtCvtStringToCursor, +//GO(XtCvtStringToDimension, +//GO(XtCvtStringToDirectoryString, +//GO(XtCvtStringToDisplay, +//GO(XtCvtStringToFile, +//GO(XtCvtStringToFloat, +//GO(XtCvtStringToFont, +//GO(XtCvtStringToFontSet, +//GO(XtCvtStringToFontStruct, +//GO(XtCvtStringToGravity, +//GO(XtCvtStringToInitialState, +//GO(XtCvtStringToInt, +//GO(XtCvtStringToPixel, +//GO(XtCvtStringToRestartStyle, +//GO(XtCvtStringToShort, +//GO(XtCvtStringToTranslationTable, +//GO(XtCvtStringToUnsignedChar, +//GO(XtCvtStringToVisual, +//GO(XtDatabase, +//GO(_XtDefaultAppContext, +//GO(_XtDefaultError, +//GO(_XtDefaultErrorMsg, +//GO(_XtDefaultWarning, +//GO(_XtDefaultWarningMsg, +//GO(_XtDependencies, +//GO(_XtDestroyAppContexts, +GO(XtDestroyApplicationContext, vFp) +//GO(XtDestroyGC, +//GO(_XtDestroyServerGrabs, +//GO(_XtDestroyTMData, +GO(XtDestroyWidget, vFp) +//GO(XtDirectConvert, +//GO(XtDisownSelection, +//GO(XtDispatchEvent, +//GO(XtDispatchEventToWidget, +GO(XtDisplay, pFp) +//GO(_XtDisplayAccelerators, +//GO(XtDisplayInitialize, +//GO(_XtDisplayInitialize, +//GO(_XtDisplayInstalledAccelerators, +//GO(XtDisplayOfObject, +//GO(XtDisplayStringConversionWarning, +GO(XtDisplayToApplicationContext, pFp) +//GO(_XtDisplayTranslations, +//GO(_XtDoFreeBindings, +//GO(_XtDoPhase2Destroy, +//GO(XtError, +//GO(XtErrorMsg, +//GO(_XtEventInitialize, +//GO(_XtExtensionSelect, +//GO(_XtFillAncestorList, +//GO(XtFindFile, +//GO(_XtFindRemapWidget, +//GO(XtFree, +//GO(_XtFreeActions, +//GO(_XtFreeArgList, +//GO(_XtFreeConverterTable, +//GO(_XtFreeEventTable, +//GO(_XtFreePerWidgetInput, +//GO(_XtFreeTranslations, +//GO(_XtFreeWWTable, +//GO(_XtGClistFree, +//GO(XtGetActionKeysym, +//GO(XtGetActionList, +//GO(XtGetApplicationNameAndClass, +//GO(XtGetApplicationResources, +//GO(_XtGetApplicationResources, +//GO(_XtGetCallbackList, +//GO(XtGetClassExtension, +//GO(XtGetConstraintResourceList, +//GO(XtGetDisplays, +//GO(XtGetErrorDatabase, +//GO(XtGetErrorDatabaseText, +//GO(XtGetGC, +//GO(XtGetKeyboardFocusWidget, +//GO(XtGetKeysymTable, +//GO(_XtGetModifierIndex, +//GO(XtGetMultiClickTime, +//GO(_XtGetPerDisplay, +//GO(_XtGetPerDisplayInput, +//GO(_XtGetPerWidgetInput, +//GO(_XtGetProcessContext, +//GO(_XtGetQuarkIndex, +//GO(XtGetResourceList, +//GO(_XtGetResources, +//GO(XtGetSelectionParameters, +//GO(XtGetSelectionRequest, +//GO(XtGetSelectionTimeout, +//GO(XtGetSelectionValue, +//GO(XtGetSelectionValueIncremental, +//GO(XtGetSelectionValues, +//GO(XtGetSelectionValuesIncremental, +//GO(XtGetSubresources, +//GO(_XtGetSubresources, +//GO(XtGetSubvalues, +//GO(_XtGetTranslationValue, +//GO(_XtGetTypeIndex, +//GO(_XtGetUserName, +//GO(XtGetValues, +GO(XtGrabButton, vFpipiuiipp) +//GO(_XtGrabInitialize, +GO(XtGrabKey, vFpppiii) +GO(XtGrabKeyboard, iFpiiiu) +GO(XtGrabPointer, iFpiuiipp) +//GO(_XtHandleFocus, +//GO(XtHasCallbacks, +//GO(_XtHeapAlloc, +//GO(_XtHeapFree, +//GO(_XtHeapInit, +//GO(XtHooksOfDisplay, +//GO(_XtInherit, +//GO(XtInitialize, +//GO(_XtInitializeActionData, +//GO(XtInitializeWidgetClass, +//GO(XtInsertEventHandler, +//GO(XtInsertEventTypeHandler, +//GO(XtInsertRawEventHandler, +//GO(XtInstallAccelerators, +//GO(XtInstallAllAccelerators, +//GO(_XtInstallTranslations, +//GO(XtIsApplicationShell, +//GO(XtIsComposite, +//GO(XtIsConstraint, +//GO(_XtIsHookObject, +//GO(XtIsManaged, +//GO(XtIsObject, +//GO(XtIsOverrideShell, +GO(XtIsRealized, iFp) +//GO(XtIsRectObj, +//GO(XtIsSensitive, +//GO(XtIsSessionShell, +//GO(XtIsShell, +//GO(XtIsSubclass, +//GO(_XtIsSubclassOf, +//GO(XtIsTopLevelShell, +//GO(XtIsTransientShell, +//GO(XtIsVendorShell, +//GO(XtIsWidget, +//GO(XtIsWMShell, +//GO(XtKeysymToKeycodeList, +//GO(XtLastEventProcessed, +//GO(XtLastTimestampProcessed, +//GO(XtMainLoop, +//GO(XtMakeGeometryRequest, +//GO(_XtMakeGeometryRequest, +//GO(XtMakeResizeRequest, +//GO(XtMalloc, +//GO(__XtMalloc, +GO(XtManageChild, vFp) +//GO(XtManageChildren, +//GO(XtMapWidget, +//GO(_XtMatchAtom, +//GO(_XtMatchUsingDontCareMods, +//GO(_XtMatchUsingStandardMods, +//GO(XtMenuPopupAction, +//GO(XtMergeArgLists, +//GO(_XtMergeTranslations, +GO(XtMoveWidget, vFpii) +//GO(XtName, +//GO(XtNameToWidget, +//GO(XtNewString, +//GO(XtNextEvent, +//GO(XtNoticeSignal, +//GO(_XtOnGrabList, +//GO(XtOpenApplication, +GO(XtOpenDisplay, pFpppppupp) +//GO(XtOverrideTranslations, +//GO(XtOwnSelection, +//GO(XtOwnSelectionIncremental, +//GO(XtParent, +//GO(XtParseAcceleratorTable, +//GO(XtParseTranslationTable, +//GO(_XtParseTreeToStateTree, +//GO(_XtPeekCallback, +//GO(XtPeekEvent, +//GO(XtPending, +GO(XtPopdown, vFp) +//GO(XtPopup, +//GO(_XtPopup, +//GO(_XtPopupInitialize, +GO(XtPopupSpringLoaded, vFp) +//GO(_XtPreparseCommandLine, +//GO(_XtPrintActions, +//GO(_XtPrintEventSeq, +//GO(_XtPrintState, +//GO(_XtPrintXlations, +//GO(XtProcessEvent, +//GO(_XtProcessKeyboardEvent, +//GO(XtProcessLock, +//GO(_XtProcessPointerEvent, +//GO(XtProcessUnlock, +//GO(XtQueryGeometry, +GO(XtRealizeWidget, vFp) +//GO(XtRealloc, +//GO(_XtRefreshMapping, +//GO(XtRegisterCaseConverter, +GO(XtRegisterDrawable, vFppp) +//GO(XtRegisterExtensionSelector, +//GO(XtRegisterGrabAction, +//GO(_XtRegisterGrabs, +//GO(_XtRegisterPassiveGrabs, +//GO(_XtRegularMatch, +//GO(XtReleaseGC, +//GO(XtReleasePropertyAtom, +//GO(XtRemoveActionHook, +//GO(XtRemoveAllCallbacks, +//GO(_XtRemoveAllCallbacks, +//GO(_XtRemoveAllInputs, +//GO(XtRemoveBlockHook, +//GO(XtRemoveCallback, +//GO(_XtRemoveCallback, +//GO(XtRemoveCallbacks, +GO(XtRemoveEventHandler, vFpup) // need to wrap to free event handler? +//GO(XtRemoveEventTypeHandler, +//GO(XtRemoveGrab, +//GO(XtRemoveInput, +//GO(XtRemoveRawEventHandler, +//GO(XtRemoveSignal, +//GO(_XtRemoveStateTreeByIndex, +GO(XtRemoveTimeOut, vFp) +//GO(_XtRemoveTranslations, +//GO(XtRemoveWorkProc, +//GO(XtReservePropertyAtom, +GO(XtResizeWidget, vFpuuu) +GO(XtResizeWindow, vFp) +//GO(XtResolvePathname, +//GO(_XtResourceConfigurationEH, +//GO(_XtResourceDependencies, +//GO(_XtResourceListInitialize, +//GO(XtScreen, +//GO(XtScreenDatabase, +//GO(XtScreenOfObject, +//GO(_XtSendFocusEvent, +//GO(XtSendSelectionRequest, +//GO(XtSessionGetToken, +//GO(XtSessionReturnToken, +//GO(_XtSetDefaultConverterTable, +//GO(_XtSetDefaultErrorHandlers, +//GO(_XtSetDefaultSelectionTimeout, +//GO(XtSetErrorHandler, +//GO(XtSetErrorMsgHandler, +//GO(XtSetEventDispatcher, +//GO(XtSetKeyboardFocus, +//GO(XtSetKeyTranslator, +//GO(XtSetLanguageProc, +//GO(XtSetMappedWhenManaged, +//GO(XtSetMultiClickTime, +//GO(XtSetSelectionParameters, +//GO(XtSetSelectionTimeout, +//GO(XtSetSensitive, +//GO(XtSetSubvalues, +//GO(XtSetTypeConverter, +GO(XtSetValues, vFppu) +//GO(XtSetWarningHandler, +//GO(XtSetWarningMsgHandler, +//GO(XtSetWMColormapWindows, +//GO(_XtShellGetCoordinates, +//GO(_XtSortPerDisplayList, +//GO(XtStringConversionWarning, +//GO(XtSuperclass, +//GO(_XtTableAddConverter, +GO(XtToolkitInitialize, vFv) +//GO(XtToolkitThreadInitialize, +//GO(XtTranslateCoords, +//GO(_XtTranslateEvent, +//GO(_XtTranslateInitialize, +//GO(XtTranslateKey, +//GO(XtTranslateKeycode, +//GO(_XtTraverseStateTree, +//GO(_XtUnbindActions, +//GO(_XtUngrabBadGrabs, +GO(XtUngrabButton, vFppp) +GO(XtUngrabKey, vFppp) +GO(XtUngrabKeyboard, vFpu) +GO(XtUngrabPointer, vFpu) +//GO(XtUninstallTranslations, +//GO(XtUnmanageChild, +//GO(XtUnmanageChildren, +//GO(XtUnmapWidget, +//GO(_XtUnmergeTranslations, +GO(XtUnrealizeWidget, vFp) +GO(XtUnregisterDrawable, vFpp) +//GO(XtVaAppCreateShell, +//GO(XtVaAppInitialize, +//GO(_XtVaAppInitialize, +//GO(XtVaCreateArgsList, +//GO(XtVaCreateManagedWidget, +//GO(XtVaCreatePopupShell, +//GO(_XtVaCreateTypedArgList, +GO(XtVaCreateWidget, pFppppppppppppppp) // need to wrap and use XtCreateWidget, with a ArgList? +//GO(XtVaGetApplicationResources, +//GO(XtVaGetSubresources, +//GO(XtVaGetSubvalues, +//GO(XtVaGetValues, +//GO(XtVaOpenApplication, +//GO(_XtVaOpenApplication, +//GO(XtVaSetSubvalues, +//GO(XtVaSetValues, +//GO(_XtVaToArgList, +//GO(_XtVaToTypedArgList, +//GO(_XtWaitForSomething, +//GO(XtWarning, +//GO(XtWarningMsg, +//GO(XtWidgetToApplicationContext, +GO(XtWindow, pFp) +//GO(_XtWindowedAncestor, +//GO(XtWindowOfObject, +GO(XtWindowToWidget, pFpp) + +GO(_XtInherit, vFv) + +DATA(overrideShellClassRec, 96) // real size? this is full of Callback function, so maybe wrap at some point? \ No newline at end of file diff --git a/src/wrapped/wrappedlibxtst.c b/src/wrapped/wrappedlibxtst.c new file mode 100755 index 00000000..4fae5d30 --- /dev/null +++ b/src/wrapped/wrappedlibxtst.c @@ -0,0 +1,107 @@ +#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* libxtstName = "libXtst.so.6"; +#define LIBNAME libxtst + +typedef int (*iFpppp_t)(void*, void*, void*, void*); + +#define SUPER() \ + GO(XRecordEnableContextAsync, iFpppp_t) \ + GO(XRecordEnableContext, iFpppp_t) \ + +typedef struct libxtst_my_s { + #define GO(A, B) B A; + SUPER() + #undef GO + // functions +} libxtst_my_t; + +void* getXtstMy(library_t* lib) +{ + libxtst_my_t* my = (libxtst_my_t*)calloc(1, sizeof(libxtst_my_t)); + #define GO(A, W) my->A = (W)dlsym(lib->priv.w.lib, #A); + SUPER() + #undef GO + return my; +} +#undef SUPER + +void freeXtstMy(void* lib) +{ + //libxtst_my_t *my = (libxtst_my_t *)lib; +} + +#define SUPER() \ +GO(0) \ +GO(1) \ +GO(2) \ +GO(3) \ +GO(4) + +// XRecordInterceptProc ... +#define GO(A) \ +static uintptr_t my_XRecordInterceptProc_fct_##A = 0; \ +static void my_XRecordInterceptProc_##A(void* a, void* b) \ +{ \ + RunFunction(my_context, my_XRecordInterceptProc_fct_##A, 2, a, b); \ +} +SUPER() +#undef GO +static void* find_XRecordInterceptProc_Fct(void* fct) +{ + if(!fct) return fct; + if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct); + #define GO(A) if(my_XRecordInterceptProc_fct_##A == (uintptr_t)fct) return my_XRecordInterceptProc_##A; + SUPER() + #undef GO + #define GO(A) if(my_XRecordInterceptProc_fct_##A == 0) {my_XRecordInterceptProc_fct_##A = (uintptr_t)fct; return my_XRecordInterceptProc_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for libxtst XRecordInterceptProc callback\n"); + return NULL; +} + +EXPORT int my_XRecordEnableContextAsync(x64emu_t* emu, void* display, void* context, void* cb, void* closure) +{ + library_t* lib = GetLibInternal(libxtstName); + libxtst_my_t* my = (libxtst_my_t*)lib->priv.w.p2; + return my->XRecordEnableContextAsync(display, context, find_XRecordInterceptProc_Fct(cb), closure); +} + +EXPORT int my_XRecordEnableContext(x64emu_t* emu, void* display, void* context, void* cb, void* closure) +{ + library_t* lib = GetLibInternal(libxtstName); + libxtst_my_t* my = (libxtst_my_t*)lib->priv.w.p2; + return my->XRecordEnableContext(display, context, find_XRecordInterceptProc_Fct(cb), closure); +} + +#define CUSTOM_INIT \ + lib->priv.w.p2 = getXtstMy(lib); \ + 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"); + +#define CUSTOM_FINI \ + freeXtstMy(lib->priv.w.p2); \ + free(lib->priv.w.p2); + +#include "wrappedlib_init.h" + diff --git a/src/wrapped/wrappedlibxtst_private.h b/src/wrapped/wrappedlibxtst_private.h new file mode 100755 index 00000000..ce154256 --- /dev/null +++ b/src/wrapped/wrappedlibxtst_private.h @@ -0,0 +1,33 @@ +#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA)) +#error Meh.... +#endif + +GO(XRecordAllocRange, pFv) +GO(XRecordCreateContext, LFpipipi) +GO(XRecordDisableContext, iFpL) +GOM(XRecordEnableContext, iFEpppp) +GOM(XRecordEnableContextAsync, iFEpppp) +GO(XRecordFreeContext, iFpL) +GO(XRecordFreeData, vFp) +GO(XRecordFreeState, vFp) +GO(XRecordGetContext, iFpLp) +GO(XRecordIdBaseMask, uFp) +GO(XRecordProcessReplies, vFp) +GO(XRecordQueryVersion, iFpii) +GO(XRecordRegisterClients, iFpLipipi) +GO(XRecordUnregisterClients, iFpLpi) +GO(XTestCompareCurrentCursorWithWindow, iFpp) +GO(XTestCompareCursorWithWindow, iFppp) +GO(XTestDiscard, iFp) +GO(XTestFakeButtonEvent, iFpuiL) +GO(XTestFakeDeviceButtonEvent, iFppuipiL) +GO(XTestFakeDeviceKeyEvent, iFppuipiL) +GO(XTestFakeDeviceMotionEvent, iFppiipiL) +GO(XTestFakeKeyEvent, iFpuiL) +GO(XTestFakeMotionEvent, iFpiiiL) +GO(XTestFakeProximityEvent, iFppipiL) +GO(XTestFakeRelativeMotionEvent, iFpiiiL) +GO(XTestGrabControl, iFpi) +GO(XTestQueryExtension, iFppppp) +GO(XTestSetGContextOfGC, vFpp) +GO(XTestSetVisualIDOfVisual, vFpp) |