diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2021-04-08 15:46:34 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2021-04-08 15:46:34 +0200 |
| commit | 035c77ad91dbbd8d463184629b9695db4ff8dc88 (patch) | |
| tree | 61a99789e7e40bd793f400d3a28cedf877ac20b0 /src | |
| parent | b45c249ed9a2f44162dc0e863268b9fdcc6edb16 (diff) | |
| download | box64-035c77ad91dbbd8d463184629b9695db4ff8dc88.tar.gz box64-035c77ad91dbbd8d463184629b9695db4ff8dc88.zip | |
Added wrapped libcairo, libpango, libpangoft2 and libpangocairo
Diffstat (limited to 'src')
| -rwxr-xr-x | src/library_list.h | 10 | ||||
| -rw-r--r-- | src/wrapped/generated/functions_list.txt | 38 | ||||
| -rw-r--r-- | src/wrapped/generated/wrapper.c | 104 | ||||
| -rw-r--r-- | src/wrapped/generated/wrapper.h | 38 | ||||
| -rwxr-xr-x | src/wrapped/wrappedcairo.c | 18 | ||||
| -rwxr-xr-x | src/wrapped/wrappedcairo_private.h | 399 | ||||
| -rwxr-xr-x | src/wrapped/wrappedpango.c | 137 | ||||
| -rwxr-xr-x | src/wrapped/wrappedpango_private.h | 410 | ||||
| -rwxr-xr-x | src/wrapped/wrappedpangocairo.c | 24 | ||||
| -rwxr-xr-x | src/wrapped/wrappedpangocairo_private.h | 37 | ||||
| -rwxr-xr-x | src/wrapped/wrappedpangoft2.c | 23 | ||||
| -rwxr-xr-x | src/wrapped/wrappedpangoft2_private.h | 91 |
12 files changed, 1324 insertions, 5 deletions
diff --git a/src/library_list.h b/src/library_list.h index 63c47cc5..194ef9b1 100755 --- a/src/library_list.h +++ b/src/library_list.h @@ -103,11 +103,11 @@ GO("libpulse.so.0", pulse) //GO("libgudev-1.0.so.0", gudev1) //GO("libappindicator.so.1", appindicator) //GO("libatk-1.0.so.0", atk) -//GO("libpangoft2-1.0.so", pangoft2) -//GO("libpangoft2-1.0.so.0", pangoft2) -//GO("libpangocairo-1.0.so.0", pangocairo) -//GO("libcairo.so.2", cairo) -//GO("libpango-1.0.so.0", pango) +GO("libpangoft2-1.0.so", pangoft2) +GO("libpangoft2-1.0.so.0", pangoft2) +GO("libpangocairo-1.0.so.0", pangocairo) +GO("libcairo.so.2", cairo) +GO("libpango-1.0.so.0", pango) //GO("libnm.so.0", libnm) //GO("libnm-glib.so.4", libnm) //GO("libnm-util.so.2", libnm) diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt index 09245b14..e3dee3e2 100644 --- a/src/wrapped/generated/functions_list.txt +++ b/src/wrapped/generated/functions_list.txt @@ -55,6 +55,7 @@ #() pFv #() pFi #() pFu +#() pFd #() pFl #() pFL #() pFp @@ -82,6 +83,7 @@ #() vFpi #() vFpu #() vFpf +#() vFpd #() vFpl #() vFpL #() vFpp @@ -162,6 +164,7 @@ #() pFui #() pFuu #() pFup +#() pFdd #() pFlp #() pFLL #() pFpi @@ -218,6 +221,7 @@ #() vFpuI #() vFpuu #() vFpup +#() vFpdd #() vFpll #() vFpLi #() vFpLL @@ -266,6 +270,7 @@ #() iFpUU #() iFpfu #() iFpff +#() iFpdd #() iFpli #() iFpll #() iFplp @@ -331,15 +336,18 @@ #() pFEip #() pFEpi #() pFEpp +#() pFiii #() pFiip #() pFipi #() pFipL #() pFipp #() pFIpi +#() pFWWW #() pFuii #() pFupi #() pFupL #() pFUpi +#() pFddd #() pFpii #() pFpiu #() pFpil @@ -410,18 +418,22 @@ #() vFdddd #() vFpiii #() vFpiip +#() vFpiuL #() vFpiup #() vFpipp #() vFpuuu +#() vFpudd #() vFpupp #() vFpdii #() vFpddd #() vFpLLL #() vFppii +#() vFppid #() vFppip #() vFppui #() vFppuu #() vFppup +#() vFppdd #() vFpppi #() vFpppu #() vFpppp @@ -462,6 +474,7 @@ #() iFpiid #() iFpiiL #() iFpiip +#() iFpiuL #() iFpiup #() iFpipi #() iFpipC @@ -505,6 +518,7 @@ #() uFEpup #() uFifff #() uFuuuu +#() uFpipu #() uFpipp #() uFpCCC #() uFpuip @@ -542,8 +556,10 @@ #() pFippL #() pFuiii #() pFulli +#() pFdddd #() pFpiii #() pFpiip +#() pFpiuu #() pFpiLL #() pFpipi #() pFpipp @@ -627,12 +643,16 @@ #() vFfffff #() vFddddp #() vFpiiii +#() vFpiipp #() vFpipii #() vFpuipp +#() vFpuddd #() vFpddii +#() vFpdddd #() vFpliil #() vFppiii #() vFppiip +#() vFppiup #() vFppipp #() vFppWui #() vFpppii @@ -724,9 +744,11 @@ #() pFipipL #() pFuiiiu #() pFuiipp +#() pFpiiii #() pFpiiuu #() pFpiipi #() pFpiipp +#() pFpiuuu #() pFpippp #() pFpCuup #() pFpCppp @@ -735,6 +757,7 @@ #() pFpuWWW #() pFpuuWW #() pFpuuup +#() pFpdddd #() pFppiii #() pFppipi #() pFppipp @@ -793,9 +816,12 @@ #() vFdddddd #() vFpiiiii #() vFpiiuuu +#() vFpiippp #() vFpipipV #() vFpipppi +#() vFpudddd #() vFpdddii +#() vFpddddd #() vFppiiii #() vFppiiip #() vFppiipi @@ -807,6 +833,7 @@ #() vFppLppi #() vFppLppp #() vFpppiii +#() vFppppii #() vFpppppi #() vFpppppp #() cFppLppi @@ -828,6 +855,8 @@ #() iFpiiiii #() iFpiiipp #() iFpiippp +#() iFpiuuup +#() iFpiuupp #() iFpippip #() iFpipppp #() iFpupuui @@ -870,6 +899,7 @@ #() pFEpppLp #() pFEppppp #() pFiCiiCi +#() pFdddddd #() pFpiiiiu #() pFpippip #() pFpCuuCC @@ -915,11 +945,15 @@ #() vFuuddiip #() vFuffffff #() vFudddddd +#() vFpiiiipp #() vFpiiliip #() vFpipipii #() vFpddiidd +#() vFpdddddd #() vFppiiipi #() vFppilppi +#() vFppipiip +#() vFppipipp #() vFppipppp #() vFppLpppi #() vFppLpppp @@ -934,7 +968,9 @@ #() iFpiiuuiu #() iFpiuiipp #() iFpiupiii +#() iFpippppp #() iFpuuiuui +#() iFpuupppp #() iFpupuuui #() iFpuppppp #() iFpLipipi @@ -995,6 +1031,7 @@ #() vFpippiiuu #() vFpippiipi #() vFppiiipii +#() vFppipipii #() vFppippppi #() vFpplppppi #() vFpplppppp @@ -1137,6 +1174,7 @@ #() iFpppppppppppppppp #() pFpppppppppppppppp #() vFppuiiiiipuiiiiiiii +#() pFiiiippppppppppppppp #() pFipppppppppppppppppppppp #defined(HAVE_LD80BITS) DFD #defined(HAVE_LD80BITS) DFDD diff --git a/src/wrapped/generated/wrapper.c b/src/wrapped/generated/wrapper.c index 9216086e..67f45930 100644 --- a/src/wrapped/generated/wrapper.c +++ b/src/wrapped/generated/wrapper.c @@ -88,6 +88,7 @@ typedef void* (*pFE_t)(x64emu_t*); typedef void* (*pFv_t)(void); typedef void* (*pFi_t)(int64_t); typedef void* (*pFu_t)(uint64_t); +typedef void* (*pFd_t)(double); typedef void* (*pFl_t)(intptr_t); typedef void* (*pFL_t)(uintptr_t); typedef void* (*pFp_t)(void*); @@ -115,6 +116,7 @@ typedef void (*vFLp_t)(uintptr_t, void*); typedef void (*vFpi_t)(void*, int64_t); typedef void (*vFpu_t)(void*, uint64_t); typedef void (*vFpf_t)(void*, float); +typedef void (*vFpd_t)(void*, double); typedef void (*vFpl_t)(void*, intptr_t); typedef void (*vFpL_t)(void*, uintptr_t); typedef void (*vFpp_t)(void*, void*); @@ -195,6 +197,7 @@ typedef void* (*pFip_t)(int64_t, void*); typedef void* (*pFui_t)(uint64_t, int64_t); typedef void* (*pFuu_t)(uint64_t, uint64_t); typedef void* (*pFup_t)(uint64_t, void*); +typedef void* (*pFdd_t)(double, double); typedef void* (*pFlp_t)(intptr_t, void*); typedef void* (*pFLL_t)(uintptr_t, uintptr_t); typedef void* (*pFpi_t)(void*, int64_t); @@ -251,6 +254,7 @@ typedef void (*vFpui_t)(void*, uint64_t, int64_t); typedef void (*vFpuI_t)(void*, uint64_t, int64_t); typedef void (*vFpuu_t)(void*, uint64_t, uint64_t); typedef void (*vFpup_t)(void*, uint64_t, void*); +typedef void (*vFpdd_t)(void*, double, double); typedef void (*vFpll_t)(void*, intptr_t, intptr_t); typedef void (*vFpLi_t)(void*, uintptr_t, int64_t); typedef void (*vFpLL_t)(void*, uintptr_t, uintptr_t); @@ -299,6 +303,7 @@ typedef int64_t (*iFpUi_t)(void*, uint64_t, int64_t); typedef int64_t (*iFpUU_t)(void*, uint64_t, uint64_t); typedef int64_t (*iFpfu_t)(void*, float, uint64_t); typedef int64_t (*iFpff_t)(void*, float, float); +typedef int64_t (*iFpdd_t)(void*, double, double); typedef int64_t (*iFpli_t)(void*, intptr_t, int64_t); typedef int64_t (*iFpll_t)(void*, intptr_t, intptr_t); typedef int64_t (*iFplp_t)(void*, intptr_t, void*); @@ -364,15 +369,18 @@ typedef uintptr_t (*LFSpL_t)(void*, void*, uintptr_t); typedef void* (*pFEip_t)(x64emu_t*, int64_t, void*); typedef void* (*pFEpi_t)(x64emu_t*, void*, int64_t); typedef void* (*pFEpp_t)(x64emu_t*, void*, void*); +typedef void* (*pFiii_t)(int64_t, int64_t, int64_t); typedef void* (*pFiip_t)(int64_t, int64_t, void*); typedef void* (*pFipi_t)(int64_t, void*, int64_t); typedef void* (*pFipL_t)(int64_t, void*, uintptr_t); typedef void* (*pFipp_t)(int64_t, void*, void*); typedef void* (*pFIpi_t)(int64_t, void*, int64_t); +typedef void* (*pFWWW_t)(uint16_t, uint16_t, uint16_t); typedef void* (*pFuii_t)(uint64_t, int64_t, int64_t); typedef void* (*pFupi_t)(uint64_t, void*, int64_t); typedef void* (*pFupL_t)(uint64_t, void*, uintptr_t); typedef void* (*pFUpi_t)(uint64_t, void*, int64_t); +typedef void* (*pFddd_t)(double, double, double); typedef void* (*pFpii_t)(void*, int64_t, int64_t); typedef void* (*pFpiu_t)(void*, int64_t, uint64_t); typedef void* (*pFpil_t)(void*, int64_t, intptr_t); @@ -443,18 +451,22 @@ typedef void (*vFffff_t)(float, float, float, float); typedef void (*vFdddd_t)(double, double, double, double); typedef void (*vFpiii_t)(void*, int64_t, int64_t, int64_t); typedef void (*vFpiip_t)(void*, int64_t, int64_t, void*); +typedef void (*vFpiuL_t)(void*, int64_t, uint64_t, uintptr_t); typedef void (*vFpiup_t)(void*, int64_t, uint64_t, void*); typedef void (*vFpipp_t)(void*, int64_t, void*, void*); typedef void (*vFpuuu_t)(void*, uint64_t, uint64_t, uint64_t); +typedef void (*vFpudd_t)(void*, uint64_t, double, double); typedef void (*vFpupp_t)(void*, uint64_t, void*, void*); typedef void (*vFpdii_t)(void*, double, int64_t, int64_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*, int64_t, int64_t); +typedef void (*vFppid_t)(void*, void*, int64_t, double); typedef void (*vFppip_t)(void*, void*, int64_t, void*); typedef void (*vFppui_t)(void*, void*, uint64_t, int64_t); typedef void (*vFppuu_t)(void*, void*, uint64_t, uint64_t); typedef void (*vFppup_t)(void*, void*, uint64_t, void*); +typedef void (*vFppdd_t)(void*, void*, double, double); typedef void (*vFpppi_t)(void*, void*, void*, int64_t); typedef void (*vFpppu_t)(void*, void*, void*, uint64_t); typedef void (*vFpppp_t)(void*, void*, void*, void*); @@ -495,6 +507,7 @@ typedef int64_t (*iFpiiu_t)(void*, int64_t, int64_t, uint64_t); typedef int64_t (*iFpiid_t)(void*, int64_t, int64_t, double); typedef int64_t (*iFpiiL_t)(void*, int64_t, int64_t, uintptr_t); typedef int64_t (*iFpiip_t)(void*, int64_t, int64_t, void*); +typedef int64_t (*iFpiuL_t)(void*, int64_t, uint64_t, uintptr_t); typedef int64_t (*iFpiup_t)(void*, int64_t, uint64_t, void*); typedef int64_t (*iFpipi_t)(void*, int64_t, void*, int64_t); typedef int64_t (*iFpipC_t)(void*, int64_t, void*, uint8_t); @@ -538,6 +551,7 @@ typedef int64_t (*IFSIii_t)(void*, int64_t, int64_t, int64_t); typedef uint64_t (*uFEpup_t)(x64emu_t*, void*, uint64_t, void*); typedef uint64_t (*uFifff_t)(int64_t, float, float, float); typedef uint64_t (*uFuuuu_t)(uint64_t, uint64_t, uint64_t, uint64_t); +typedef uint64_t (*uFpipu_t)(void*, int64_t, void*, uint64_t); typedef uint64_t (*uFpipp_t)(void*, int64_t, void*, void*); typedef uint64_t (*uFpCCC_t)(void*, uint8_t, uint8_t, uint8_t); typedef uint64_t (*uFpuip_t)(void*, uint64_t, int64_t, void*); @@ -575,8 +589,10 @@ typedef void* (*pFiiup_t)(int64_t, int64_t, uint64_t, void*); typedef void* (*pFippL_t)(int64_t, void*, void*, uintptr_t); typedef void* (*pFuiii_t)(uint64_t, int64_t, int64_t, int64_t); typedef void* (*pFulli_t)(uint64_t, intptr_t, intptr_t, int64_t); +typedef void* (*pFdddd_t)(double, double, double, double); typedef void* (*pFpiii_t)(void*, int64_t, int64_t, int64_t); typedef void* (*pFpiip_t)(void*, int64_t, int64_t, void*); +typedef void* (*pFpiuu_t)(void*, int64_t, uint64_t, uint64_t); typedef void* (*pFpiLL_t)(void*, int64_t, uintptr_t, uintptr_t); typedef void* (*pFpipi_t)(void*, int64_t, void*, int64_t); typedef void* (*pFpipp_t)(void*, int64_t, void*, void*); @@ -660,12 +676,16 @@ typedef void (*vFupppp_t)(uint64_t, void*, void*, void*, void*); typedef void (*vFfffff_t)(float, float, float, float, float); typedef void (*vFddddp_t)(double, double, double, double, void*); typedef void (*vFpiiii_t)(void*, int64_t, int64_t, int64_t, int64_t); +typedef void (*vFpiipp_t)(void*, int64_t, int64_t, void*, void*); typedef void (*vFpipii_t)(void*, int64_t, void*, int64_t, int64_t); typedef void (*vFpuipp_t)(void*, uint64_t, int64_t, void*, void*); +typedef void (*vFpuddd_t)(void*, uint64_t, double, double, double); typedef void (*vFpddii_t)(void*, double, double, int64_t, int64_t); +typedef void (*vFpdddd_t)(void*, double, double, double, double); typedef void (*vFpliil_t)(void*, intptr_t, int64_t, int64_t, intptr_t); typedef void (*vFppiii_t)(void*, void*, int64_t, int64_t, int64_t); typedef void (*vFppiip_t)(void*, void*, int64_t, int64_t, void*); +typedef void (*vFppiup_t)(void*, void*, int64_t, uint64_t, void*); typedef void (*vFppipp_t)(void*, void*, int64_t, void*, void*); typedef void (*vFppWui_t)(void*, void*, uint16_t, uint64_t, int64_t); typedef void (*vFpppii_t)(void*, void*, void*, int64_t, int64_t); @@ -757,9 +777,11 @@ typedef void* (*pFEpppp_t)(x64emu_t*, void*, void*, void*, void*); typedef void* (*pFipipL_t)(int64_t, void*, int64_t, void*, uintptr_t); typedef void* (*pFuiiiu_t)(uint64_t, int64_t, int64_t, int64_t, uint64_t); typedef void* (*pFuiipp_t)(uint64_t, int64_t, int64_t, void*, void*); +typedef void* (*pFpiiii_t)(void*, int64_t, int64_t, int64_t, int64_t); typedef void* (*pFpiiuu_t)(void*, int64_t, int64_t, uint64_t, uint64_t); typedef void* (*pFpiipi_t)(void*, int64_t, int64_t, void*, int64_t); typedef void* (*pFpiipp_t)(void*, int64_t, int64_t, void*, void*); +typedef void* (*pFpiuuu_t)(void*, int64_t, uint64_t, uint64_t, uint64_t); typedef void* (*pFpippp_t)(void*, int64_t, void*, void*, void*); typedef void* (*pFpCuup_t)(void*, uint8_t, uint64_t, uint64_t, void*); typedef void* (*pFpCppp_t)(void*, uint8_t, void*, void*, void*); @@ -768,6 +790,7 @@ typedef void* (*pFpuiip_t)(void*, uint64_t, int64_t, int64_t, void*); typedef void* (*pFpuWWW_t)(void*, uint64_t, uint16_t, uint16_t, uint16_t); typedef void* (*pFpuuWW_t)(void*, uint64_t, uint64_t, uint16_t, uint16_t); typedef void* (*pFpuuup_t)(void*, uint64_t, uint64_t, uint64_t, void*); +typedef void* (*pFpdddd_t)(void*, double, double, double, double); typedef void* (*pFppiii_t)(void*, void*, int64_t, int64_t, int64_t); typedef void* (*pFppipi_t)(void*, void*, int64_t, void*, int64_t); typedef void* (*pFppipp_t)(void*, void*, int64_t, void*, void*); @@ -826,9 +849,12 @@ typedef void (*vFffffff_t)(float, float, float, float, float, float); typedef void (*vFdddddd_t)(double, double, double, double, double, double); typedef void (*vFpiiiii_t)(void*, int64_t, int64_t, int64_t, int64_t, int64_t); typedef void (*vFpiiuuu_t)(void*, int64_t, int64_t, uint64_t, uint64_t, uint64_t); +typedef void (*vFpiippp_t)(void*, int64_t, int64_t, void*, void*, void*); typedef void (*vFpipipV_t)(void*, int64_t, void*, int64_t, void*, void*); typedef void (*vFpipppi_t)(void*, int64_t, void*, void*, void*, int64_t); +typedef void (*vFpudddd_t)(void*, uint64_t, double, double, double, double); typedef void (*vFpdddii_t)(void*, double, double, double, int64_t, int64_t); +typedef void (*vFpddddd_t)(void*, double, double, double, double, double); typedef void (*vFppiiii_t)(void*, void*, int64_t, int64_t, int64_t, int64_t); typedef void (*vFppiiip_t)(void*, void*, int64_t, int64_t, int64_t, void*); typedef void (*vFppiipi_t)(void*, void*, int64_t, int64_t, void*, int64_t); @@ -840,6 +866,7 @@ typedef void (*vFpplppp_t)(void*, void*, intptr_t, void*, void*, void*); typedef void (*vFppLppi_t)(void*, void*, uintptr_t, void*, void*, int64_t); typedef void (*vFppLppp_t)(void*, void*, uintptr_t, void*, void*, void*); typedef void (*vFpppiii_t)(void*, void*, void*, int64_t, int64_t, int64_t); +typedef void (*vFppppii_t)(void*, void*, void*, void*, int64_t, int64_t); typedef void (*vFpppppi_t)(void*, void*, void*, void*, void*, int64_t); typedef void (*vFpppppp_t)(void*, void*, void*, void*, void*, void*); typedef int8_t (*cFppLppi_t)(void*, void*, uintptr_t, void*, void*, int64_t); @@ -861,6 +888,8 @@ typedef int64_t (*iFLppipp_t)(uintptr_t, void*, void*, int64_t, void*, void*); typedef int64_t (*iFpiiiii_t)(void*, int64_t, int64_t, int64_t, int64_t, int64_t); typedef int64_t (*iFpiiipp_t)(void*, int64_t, int64_t, int64_t, void*, void*); typedef int64_t (*iFpiippp_t)(void*, int64_t, int64_t, void*, void*, void*); +typedef int64_t (*iFpiuuup_t)(void*, int64_t, uint64_t, uint64_t, uint64_t, void*); +typedef int64_t (*iFpiuupp_t)(void*, int64_t, uint64_t, uint64_t, void*, void*); typedef int64_t (*iFpippip_t)(void*, int64_t, void*, void*, int64_t, void*); typedef int64_t (*iFpipppp_t)(void*, int64_t, void*, void*, void*, void*); typedef int64_t (*iFpupuui_t)(void*, uint64_t, void*, uint64_t, uint64_t, int64_t); @@ -903,6 +932,7 @@ typedef void* (*pFEppLLp_t)(x64emu_t*, void*, void*, uintptr_t, uintptr_t, void* typedef void* (*pFEpppLp_t)(x64emu_t*, void*, void*, void*, uintptr_t, void*); typedef void* (*pFEppppp_t)(x64emu_t*, void*, void*, void*, void*, void*); typedef void* (*pFiCiiCi_t)(int64_t, uint8_t, int64_t, int64_t, uint8_t, int64_t); +typedef void* (*pFdddddd_t)(double, double, double, double, double, double); typedef void* (*pFpiiiiu_t)(void*, int64_t, int64_t, int64_t, int64_t, uint64_t); typedef void* (*pFpippip_t)(void*, int64_t, void*, void*, int64_t, void*); typedef void* (*pFpCuuCC_t)(void*, uint8_t, uint64_t, uint64_t, uint8_t, uint8_t); @@ -948,11 +978,15 @@ typedef void (*vFuuffiip_t)(uint64_t, uint64_t, float, float, int64_t, int64_t, typedef void (*vFuuddiip_t)(uint64_t, uint64_t, double, double, int64_t, int64_t, void*); typedef void (*vFuffffff_t)(uint64_t, float, float, float, float, float, float); typedef void (*vFudddddd_t)(uint64_t, double, double, double, double, double, double); +typedef void (*vFpiiiipp_t)(void*, int64_t, int64_t, int64_t, int64_t, void*, void*); typedef void (*vFpiiliip_t)(void*, int64_t, int64_t, intptr_t, int64_t, int64_t, void*); typedef void (*vFpipipii_t)(void*, int64_t, void*, int64_t, void*, int64_t, int64_t); typedef void (*vFpddiidd_t)(void*, double, double, int64_t, int64_t, double, double); +typedef void (*vFpdddddd_t)(void*, double, double, double, double, double, double); typedef void (*vFppiiipi_t)(void*, void*, int64_t, int64_t, int64_t, void*, int64_t); typedef void (*vFppilppi_t)(void*, void*, int64_t, intptr_t, void*, void*, int64_t); +typedef void (*vFppipiip_t)(void*, void*, int64_t, void*, int64_t, int64_t, void*); +typedef void (*vFppipipp_t)(void*, void*, int64_t, void*, int64_t, void*, void*); typedef void (*vFppipppp_t)(void*, void*, int64_t, void*, void*, void*, void*); typedef void (*vFppLpppi_t)(void*, void*, uintptr_t, void*, void*, void*, int64_t); typedef void (*vFppLpppp_t)(void*, void*, uintptr_t, void*, void*, void*, void*); @@ -967,7 +1001,9 @@ typedef int64_t (*iFiiiiiip_t)(int64_t, int64_t, int64_t, int64_t, int64_t, int6 typedef int64_t (*iFpiiuuiu_t)(void*, int64_t, int64_t, uint64_t, uint64_t, int64_t, uint64_t); typedef int64_t (*iFpiuiipp_t)(void*, int64_t, uint64_t, int64_t, int64_t, void*, void*); typedef int64_t (*iFpiupiii_t)(void*, int64_t, uint64_t, void*, int64_t, int64_t, int64_t); +typedef int64_t (*iFpippppp_t)(void*, int64_t, void*, void*, void*, void*, void*); typedef int64_t (*iFpuuiuui_t)(void*, uint64_t, uint64_t, int64_t, uint64_t, uint64_t, int64_t); +typedef int64_t (*iFpuupppp_t)(void*, uint64_t, uint64_t, void*, void*, void*, void*); typedef int64_t (*iFpupuuui_t)(void*, uint64_t, void*, uint64_t, uint64_t, uint64_t, int64_t); typedef int64_t (*iFpuppppp_t)(void*, uint64_t, void*, void*, void*, void*, void*); typedef int64_t (*iFpLipipi_t)(void*, uintptr_t, int64_t, void*, int64_t, void*, int64_t); @@ -1028,6 +1064,7 @@ typedef void (*vFffffffff_t)(float, float, float, float, float, float, float, fl typedef void (*vFpippiiuu_t)(void*, int64_t, void*, void*, int64_t, int64_t, uint64_t, uint64_t); typedef void (*vFpippiipi_t)(void*, int64_t, void*, void*, int64_t, int64_t, void*, int64_t); typedef void (*vFppiiipii_t)(void*, void*, int64_t, int64_t, int64_t, void*, int64_t, int64_t); +typedef void (*vFppipipii_t)(void*, void*, int64_t, void*, int64_t, void*, int64_t, int64_t); typedef void (*vFppippppi_t)(void*, void*, int64_t, void*, void*, void*, void*, int64_t); typedef void (*vFpplppppi_t)(void*, void*, intptr_t, void*, void*, void*, void*, int64_t); typedef void (*vFpplppppp_t)(void*, void*, intptr_t, void*, void*, void*, void*, void*); @@ -1170,6 +1207,7 @@ typedef void* (*pFppppppppppppppp_t)(void*, void*, void*, void*, void*, void*, v typedef int64_t (*iFpppppppppppppppp_t)(void*, 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*, uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t, void*, uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t); +typedef void* (*pFiiiippppppppppppppp_t)(int64_t, int64_t, int64_t, int64_t, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*); typedef void* (*pFipppppppppppppppppppppp_t)(int64_t, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*); #if defined(HAVE_LD80BITS) @@ -1241,6 +1279,7 @@ void pFE(x64emu_t *emu, uintptr_t fcn) { pFE_t fn = (pFE_t)fcn; R_RAX=(uintptr_t void pFv(x64emu_t *emu, uintptr_t fcn) { pFv_t fn = (pFv_t)fcn; R_RAX=(uintptr_t)fn(); } void pFi(x64emu_t *emu, uintptr_t fcn) { pFi_t fn = (pFi_t)fcn; R_RAX=(uintptr_t)fn((int64_t)R_RDI); } void pFu(x64emu_t *emu, uintptr_t fcn) { pFu_t fn = (pFu_t)fcn; R_RAX=(uintptr_t)fn((uint64_t)R_RDI); } +void pFd(x64emu_t *emu, uintptr_t fcn) { pFd_t fn = (pFd_t)fcn; R_RAX=(uintptr_t)fn(emu->xmm[0].d[0]); } void pFl(x64emu_t *emu, uintptr_t fcn) { pFl_t fn = (pFl_t)fcn; R_RAX=(uintptr_t)fn((intptr_t)R_RDI); } void pFL(x64emu_t *emu, uintptr_t fcn) { pFL_t fn = (pFL_t)fcn; R_RAX=(uintptr_t)fn((uintptr_t)R_RDI); } void pFp(x64emu_t *emu, uintptr_t fcn) { pFp_t fn = (pFp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI); } @@ -1268,6 +1307,7 @@ void vFLp(x64emu_t *emu, uintptr_t fcn) { vFLp_t fn = (vFLp_t)fcn; fn((uintptr_t void vFpi(x64emu_t *emu, uintptr_t fcn) { vFpi_t fn = (vFpi_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI); } void vFpu(x64emu_t *emu, uintptr_t fcn) { vFpu_t fn = (vFpu_t)fcn; fn((void*)R_RDI, (uint64_t)R_RSI); } void vFpf(x64emu_t *emu, uintptr_t fcn) { vFpf_t fn = (vFpf_t)fcn; fn((void*)R_RDI, emu->xmm[0].f[0]); } +void vFpd(x64emu_t *emu, uintptr_t fcn) { vFpd_t fn = (vFpd_t)fcn; fn((void*)R_RDI, emu->xmm[0].d[0]); } void vFpl(x64emu_t *emu, uintptr_t fcn) { vFpl_t fn = (vFpl_t)fcn; fn((void*)R_RDI, (intptr_t)R_RSI); } void vFpL(x64emu_t *emu, uintptr_t fcn) { vFpL_t fn = (vFpL_t)fcn; fn((void*)R_RDI, (uintptr_t)R_RSI); } void vFpp(x64emu_t *emu, uintptr_t fcn) { vFpp_t fn = (vFpp_t)fcn; fn((void*)R_RDI, (void*)R_RSI); } @@ -1348,6 +1388,7 @@ void pFip(x64emu_t *emu, uintptr_t fcn) { pFip_t fn = (pFip_t)fcn; R_RAX=(uintpt void pFui(x64emu_t *emu, uintptr_t fcn) { pFui_t fn = (pFui_t)fcn; R_RAX=(uintptr_t)fn((uint64_t)R_RDI, (int64_t)R_RSI); } void pFuu(x64emu_t *emu, uintptr_t fcn) { pFuu_t fn = (pFuu_t)fcn; R_RAX=(uintptr_t)fn((uint64_t)R_RDI, (uint64_t)R_RSI); } void pFup(x64emu_t *emu, uintptr_t fcn) { pFup_t fn = (pFup_t)fcn; R_RAX=(uintptr_t)fn((uint64_t)R_RDI, (void*)R_RSI); } +void pFdd(x64emu_t *emu, uintptr_t fcn) { pFdd_t fn = (pFdd_t)fcn; R_RAX=(uintptr_t)fn(emu->xmm[0].d[0], emu->xmm[1].d[0]); } void pFlp(x64emu_t *emu, uintptr_t fcn) { pFlp_t fn = (pFlp_t)fcn; R_RAX=(uintptr_t)fn((intptr_t)R_RDI, (void*)R_RSI); } void pFLL(x64emu_t *emu, uintptr_t fcn) { pFLL_t fn = (pFLL_t)fcn; R_RAX=(uintptr_t)fn((uintptr_t)R_RDI, (uintptr_t)R_RSI); } void pFpi(x64emu_t *emu, uintptr_t fcn) { pFpi_t fn = (pFpi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int64_t)R_RSI); } @@ -1404,6 +1445,7 @@ 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, (uint64_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, (uint64_t)R_RSI, (uint64_t)R_RDX); } void vFpup(x64emu_t *emu, uintptr_t fcn) { vFpup_t fn = (vFpup_t)fcn; fn((void*)R_RDI, (uint64_t)R_RSI, (void*)R_RDX); } +void vFpdd(x64emu_t *emu, uintptr_t fcn) { vFpdd_t fn = (vFpdd_t)fcn; fn((void*)R_RDI, emu->xmm[0].d[0], emu->xmm[1].d[0]); } void vFpll(x64emu_t *emu, uintptr_t fcn) { vFpll_t fn = (vFpll_t)fcn; fn((void*)R_RDI, (intptr_t)R_RSI, (intptr_t)R_RDX); } void vFpLi(x64emu_t *emu, uintptr_t fcn) { vFpLi_t fn = (vFpLi_t)fcn; fn((void*)R_RDI, (uintptr_t)R_RSI, (int64_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); } @@ -1452,6 +1494,7 @@ void iFpUi(x64emu_t *emu, uintptr_t fcn) { iFpUi_t fn = (iFpUi_t)fcn; R_RAX=(int void iFpUU(x64emu_t *emu, uintptr_t fcn) { iFpUU_t fn = (iFpUU_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX); } void iFpfu(x64emu_t *emu, uintptr_t fcn) { iFpfu_t fn = (iFpfu_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, emu->xmm[0].f[0], (uint64_t)R_RSI); } void iFpff(x64emu_t *emu, uintptr_t fcn) { iFpff_t fn = (iFpff_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, emu->xmm[0].f[0], emu->xmm[1].f[0]); } +void iFpdd(x64emu_t *emu, uintptr_t fcn) { iFpdd_t fn = (iFpdd_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, emu->xmm[0].d[0], emu->xmm[1].d[0]); } void iFpli(x64emu_t *emu, uintptr_t fcn) { iFpli_t fn = (iFpli_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (intptr_t)R_RSI, (int64_t)R_RDX); } void iFpll(x64emu_t *emu, uintptr_t fcn) { iFpll_t fn = (iFpll_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (intptr_t)R_RSI, (intptr_t)R_RDX); } void iFplp(x64emu_t *emu, uintptr_t fcn) { iFplp_t fn = (iFplp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (intptr_t)R_RSI, (void*)R_RDX); } @@ -1517,15 +1560,18 @@ void LFSpL(x64emu_t *emu, uintptr_t fcn) { LFSpL_t fn = (LFSpL_t)fcn; R_RAX=(uin void pFEip(x64emu_t *emu, uintptr_t fcn) { pFEip_t fn = (pFEip_t)fcn; R_RAX=(uintptr_t)fn(emu, (int64_t)R_RDI, (void*)R_RSI); } void pFEpi(x64emu_t *emu, uintptr_t fcn) { pFEpi_t fn = (pFEpi_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (int64_t)R_RSI); } void pFEpp(x64emu_t *emu, uintptr_t fcn) { pFEpp_t fn = (pFEpp_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI); } +void pFiii(x64emu_t *emu, uintptr_t fcn) { pFiii_t fn = (pFiii_t)fcn; R_RAX=(uintptr_t)fn((int64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX); } void pFiip(x64emu_t *emu, uintptr_t fcn) { pFiip_t fn = (pFiip_t)fcn; R_RAX=(uintptr_t)fn((int64_t)R_RDI, (int64_t)R_RSI, (void*)R_RDX); } void pFipi(x64emu_t *emu, uintptr_t fcn) { pFipi_t fn = (pFipi_t)fcn; R_RAX=(uintptr_t)fn((int64_t)R_RDI, (void*)R_RSI, (int64_t)R_RDX); } void pFipL(x64emu_t *emu, uintptr_t fcn) { pFipL_t fn = (pFipL_t)fcn; R_RAX=(uintptr_t)fn((int64_t)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX); } void pFipp(x64emu_t *emu, uintptr_t fcn) { pFipp_t fn = (pFipp_t)fcn; R_RAX=(uintptr_t)fn((int64_t)R_RDI, (void*)R_RSI, (void*)R_RDX); } void pFIpi(x64emu_t *emu, uintptr_t fcn) { pFIpi_t fn = (pFIpi_t)fcn; R_RAX=(uintptr_t)fn((int64_t)R_RDI, (void*)R_RSI, (int64_t)R_RDX); } +void pFWWW(x64emu_t *emu, uintptr_t fcn) { pFWWW_t fn = (pFWWW_t)fcn; R_RAX=(uintptr_t)fn((uint16_t)R_RDI, (uint16_t)R_RSI, (uint16_t)R_RDX); } void pFuii(x64emu_t *emu, uintptr_t fcn) { pFuii_t fn = (pFuii_t)fcn; R_RAX=(uintptr_t)fn((uint64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX); } void pFupi(x64emu_t *emu, uintptr_t fcn) { pFupi_t fn = (pFupi_t)fcn; R_RAX=(uintptr_t)fn((uint64_t)R_RDI, (void*)R_RSI, (int64_t)R_RDX); } void pFupL(x64emu_t *emu, uintptr_t fcn) { pFupL_t fn = (pFupL_t)fcn; R_RAX=(uintptr_t)fn((uint64_t)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX); } void pFUpi(x64emu_t *emu, uintptr_t fcn) { pFUpi_t fn = (pFUpi_t)fcn; R_RAX=(uintptr_t)fn((uint64_t)R_RDI, (void*)R_RSI, (int64_t)R_RDX); } +void pFddd(x64emu_t *emu, uintptr_t fcn) { pFddd_t fn = (pFddd_t)fcn; R_RAX=(uintptr_t)fn(emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0]); } void pFpii(x64emu_t *emu, uintptr_t fcn) { pFpii_t fn = (pFpii_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX); } void pFpiu(x64emu_t *emu, uintptr_t fcn) { pFpiu_t fn = (pFpiu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int64_t)R_RSI, (uint64_t)R_RDX); } void pFpil(x64emu_t *emu, uintptr_t fcn) { pFpil_t fn = (pFpil_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int64_t)R_RSI, (intptr_t)R_RDX); } @@ -1596,18 +1642,22 @@ 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, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX); } void vFpiip(x64emu_t *emu, uintptr_t fcn) { vFpiip_t fn = (vFpiip_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX); } +void vFpiuL(x64emu_t *emu, uintptr_t fcn) { vFpiuL_t fn = (vFpiuL_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (uint64_t)R_RDX, (uintptr_t)R_RCX); } void vFpiup(x64emu_t *emu, uintptr_t fcn) { vFpiup_t fn = (vFpiup_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (uint64_t)R_RDX, (void*)R_RCX); } void vFpipp(x64emu_t *emu, uintptr_t fcn) { vFpipp_t fn = (vFpipp_t)fcn; fn((void*)R_RDI, (int64_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, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX); } +void vFpudd(x64emu_t *emu, uintptr_t fcn) { vFpudd_t fn = (vFpudd_t)fcn; fn((void*)R_RDI, (uint64_t)R_RSI, emu->xmm[0].d[0], emu->xmm[1].d[0]); } void vFpupp(x64emu_t *emu, uintptr_t fcn) { vFpupp_t fn = (vFpupp_t)fcn; fn((void*)R_RDI, (uint64_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], (int64_t)R_RSI, (int64_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, (int64_t)R_RDX, (int64_t)R_RCX); } +void vFppid(x64emu_t *emu, uintptr_t fcn) { vFppid_t fn = (vFppid_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, emu->xmm[0].d[0]); } void vFppip(x64emu_t *emu, uintptr_t fcn) { vFppip_t fn = (vFppip_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_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, (uint64_t)R_RDX, (int64_t)R_RCX); } void vFppuu(x64emu_t *emu, uintptr_t fcn) { vFppuu_t fn = (vFppuu_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX); } void vFppup(x64emu_t *emu, uintptr_t fcn) { vFppup_t fn = (vFppup_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (void*)R_RCX); } +void vFppdd(x64emu_t *emu, uintptr_t fcn) { vFppdd_t fn = (vFppdd_t)fcn; fn((void*)R_RDI, (void*)R_RSI, emu->xmm[0].d[0], emu->xmm[1].d[0]); } void vFpppi(x64emu_t *emu, uintptr_t fcn) { vFpppi_t fn = (vFpppi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_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, (uint64_t)R_RCX); } void vFpppp(x64emu_t *emu, uintptr_t fcn) { vFpppp_t fn = (vFpppp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX); } @@ -1648,6 +1698,7 @@ void iFpiiu(x64emu_t *emu, uintptr_t fcn) { iFpiiu_t fn = (iFpiiu_t)fcn; R_RAX=( void iFpiid(x64emu_t *emu, uintptr_t fcn) { iFpiid_t fn = (iFpiid_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, emu->xmm[0].d[0]); } void iFpiiL(x64emu_t *emu, uintptr_t fcn) { iFpiiL_t fn = (iFpiiL_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (uintptr_t)R_RCX); } void iFpiip(x64emu_t *emu, uintptr_t fcn) { iFpiip_t fn = (iFpiip_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX); } +void iFpiuL(x64emu_t *emu, uintptr_t fcn) { iFpiuL_t fn = (iFpiuL_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (uint64_t)R_RDX, (uintptr_t)R_RCX); } void iFpiup(x64emu_t *emu, uintptr_t fcn) { iFpiup_t fn = (iFpiup_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (uint64_t)R_RDX, (void*)R_RCX); } void iFpipi(x64emu_t *emu, uintptr_t fcn) { iFpipi_t fn = (iFpipi_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (int64_t)R_RCX); } void iFpipC(x64emu_t *emu, uintptr_t fcn) { iFpipC_t fn = (iFpipC_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (uint8_t)R_RCX); } @@ -1691,6 +1742,7 @@ void IFSIii(x64emu_t *emu, uintptr_t fcn) { IFSIii_t fn = (IFSIii_t)fcn; R_RAX=( void uFEpup(x64emu_t *emu, uintptr_t fcn) { uFEpup_t fn = (uFEpup_t)fcn; R_RAX=(uint64_t)fn(emu, (void*)R_RDI, (uint64_t)R_RSI, (void*)R_RDX); } void uFifff(x64emu_t *emu, uintptr_t fcn) { uFifff_t fn = (uFifff_t)fcn; R_RAX=(uint64_t)fn((int64_t)R_RDI, emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0]); } void uFuuuu(x64emu_t *emu, uintptr_t fcn) { uFuuuu_t fn = (uFuuuu_t)fcn; R_RAX=(uint64_t)fn((uint64_t)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX); } +void uFpipu(x64emu_t *emu, uintptr_t fcn) { uFpipu_t fn = (uFpipu_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (uint64_t)R_RCX); } void uFpipp(x64emu_t *emu, uintptr_t fcn) { uFpipp_t fn = (uFpipp_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX); } void uFpCCC(x64emu_t *emu, uintptr_t fcn) { uFpCCC_t fn = (uFpCCC_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint8_t)R_RDX, (uint8_t)R_RCX); } void uFpuip(x64emu_t *emu, uintptr_t fcn) { uFpuip_t fn = (uFpuip_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (uint64_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX); } @@ -1728,8 +1780,10 @@ void pFiiup(x64emu_t *emu, uintptr_t fcn) { pFiiup_t fn = (pFiiup_t)fcn; R_RAX=( void pFippL(x64emu_t *emu, uintptr_t fcn) { pFippL_t fn = (pFippL_t)fcn; R_RAX=(uintptr_t)fn((int64_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX); } void pFuiii(x64emu_t *emu, uintptr_t fcn) { pFuiii_t fn = (pFuiii_t)fcn; R_RAX=(uintptr_t)fn((uint64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX); } void pFulli(x64emu_t *emu, uintptr_t fcn) { pFulli_t fn = (pFulli_t)fcn; R_RAX=(uintptr_t)fn((uint64_t)R_RDI, (intptr_t)R_RSI, (intptr_t)R_RDX, (int64_t)R_RCX); } +void pFdddd(x64emu_t *emu, uintptr_t fcn) { pFdddd_t fn = (pFdddd_t)fcn; R_RAX=(uintptr_t)fn(emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0], emu->xmm[3].d[0]); } void pFpiii(x64emu_t *emu, uintptr_t fcn) { pFpiii_t fn = (pFpiii_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX); } void pFpiip(x64emu_t *emu, uintptr_t fcn) { pFpiip_t fn = (pFpiip_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX); } +void pFpiuu(x64emu_t *emu, uintptr_t fcn) { pFpiuu_t fn = (pFpiuu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX); } void pFpiLL(x64emu_t *emu, uintptr_t fcn) { pFpiLL_t fn = (pFpiLL_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int64_t)R_RSI, (uintptr_t)R_RDX, (uintptr_t)R_RCX); } void pFpipi(x64emu_t *emu, uintptr_t fcn) { pFpipi_t fn = (pFpipi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (int64_t)R_RCX); } void pFpipp(x64emu_t *emu, uintptr_t fcn) { pFpipp_t fn = (pFpipp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX); } @@ -1813,12 +1867,16 @@ void vFupppp(x64emu_t *emu, uintptr_t fcn) { vFupppp_t fn = (vFupppp_t)fcn; fn(( void vFfffff(x64emu_t *emu, uintptr_t fcn) { vFfffff_t fn = (vFfffff_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]); } void vFddddp(x64emu_t *emu, uintptr_t fcn) { vFddddp_t fn = (vFddddp_t)fcn; fn(emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0], emu->xmm[3].d[0], (void*)R_RDI); } void vFpiiii(x64emu_t *emu, uintptr_t fcn) { vFpiiii_t fn = (vFpiiii_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8); } +void vFpiipp(x64emu_t *emu, uintptr_t fcn) { vFpiipp_t fn = (vFpiipp_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8); } void vFpipii(x64emu_t *emu, uintptr_t fcn) { vFpipii_t fn = (vFpipii_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (int64_t)R_R8); } void vFpuipp(x64emu_t *emu, uintptr_t fcn) { vFpuipp_t fn = (vFpuipp_t)fcn; fn((void*)R_RDI, (uint64_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8); } +void vFpuddd(x64emu_t *emu, uintptr_t fcn) { vFpuddd_t fn = (vFpuddd_t)fcn; fn((void*)R_RDI, (uint64_t)R_RSI, emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0]); } void vFpddii(x64emu_t *emu, uintptr_t fcn) { vFpddii_t fn = (vFpddii_t)fcn; fn((void*)R_RDI, emu->xmm[0].d[0], emu->xmm[1].d[0], (int64_t)R_RSI, (int64_t)R_RDX); } +void vFpdddd(x64emu_t *emu, uintptr_t fcn) { vFpdddd_t fn = (vFpdddd_t)fcn; fn((void*)R_RDI, emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0], emu->xmm[3].d[0]); } void vFpliil(x64emu_t *emu, uintptr_t fcn) { vFpliil_t fn = (vFpliil_t)fcn; fn((void*)R_RDI, (intptr_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (intptr_t)R_R8); } void vFppiii(x64emu_t *emu, uintptr_t fcn) { vFppiii_t fn = (vFppiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8); } void vFppiip(x64emu_t *emu, uintptr_t fcn) { vFppiip_t fn = (vFppiip_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8); } +void vFppiup(x64emu_t *emu, uintptr_t fcn) { vFppiup_t fn = (vFppiup_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (uint64_t)R_RCX, (void*)R_R8); } void vFppipp(x64emu_t *emu, uintptr_t fcn) { vFppipp_t fn = (vFppipp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8); } void vFppWui(x64emu_t *emu, uintptr_t fcn) { vFppWui_t fn = (vFppWui_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uint16_t)R_RDX, (uint64_t)R_RCX, (int64_t)R_R8); } void vFpppii(x64emu_t *emu, uintptr_t fcn) { vFpppii_t fn = (vFpppii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (int64_t)R_R8); } @@ -1910,9 +1968,11 @@ void pFEpppp(x64emu_t *emu, uintptr_t fcn) { pFEpppp_t fn = (pFEpppp_t)fcn; R_RA void pFipipL(x64emu_t *emu, uintptr_t fcn) { pFipipL_t fn = (pFipipL_t)fcn; R_RAX=(uintptr_t)fn((int64_t)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (uintptr_t)R_R8); } void pFuiiiu(x64emu_t *emu, uintptr_t fcn) { pFuiiiu_t fn = (pFuiiiu_t)fcn; R_RAX=(uintptr_t)fn((uint64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (uint64_t)R_R8); } void pFuiipp(x64emu_t *emu, uintptr_t fcn) { pFuiipp_t fn = (pFuiipp_t)fcn; R_RAX=(uintptr_t)fn((uint64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8); } +void pFpiiii(x64emu_t *emu, uintptr_t fcn) { pFpiiii_t fn = (pFpiiii_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8); } void pFpiiuu(x64emu_t *emu, uintptr_t fcn) { pFpiiuu_t fn = (pFpiiuu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8); } void pFpiipi(x64emu_t *emu, uintptr_t fcn) { pFpiipi_t fn = (pFpiipi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (int64_t)R_R8); } void pFpiipp(x64emu_t *emu, uintptr_t fcn) { pFpiipp_t fn = (pFpiipp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8); } +void pFpiuuu(x64emu_t *emu, uintptr_t fcn) { pFpiuuu_t fn = (pFpiuuu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8); } void pFpippp(x64emu_t *emu, uintptr_t fcn) { pFpippp_t fn = (pFpippp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); } void pFpCuup(x64emu_t *emu, uintptr_t fcn) { pFpCuup_t fn = (pFpCuup_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (void*)R_R8); } void pFpCppp(x64emu_t *emu, uintptr_t fcn) { pFpCppp_t fn = (pFpCppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint8_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); } @@ -1921,6 +1981,7 @@ void pFpuiip(x64emu_t *emu, uintptr_t fcn) { pFpuiip_t fn = (pFpuiip_t)fcn; R_RA void pFpuWWW(x64emu_t *emu, uintptr_t fcn) { pFpuWWW_t fn = (pFpuWWW_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint16_t)R_RDX, (uint16_t)R_RCX, (uint16_t)R_R8); } void pFpuuWW(x64emu_t *emu, uintptr_t fcn) { pFpuuWW_t fn = (pFpuuWW_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint16_t)R_RCX, (uint16_t)R_R8); } void pFpuuup(x64emu_t *emu, uintptr_t fcn) { pFpuuup_t fn = (pFpuuup_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (void*)R_R8); } +void pFpdddd(x64emu_t *emu, uintptr_t fcn) { pFpdddd_t fn = (pFpdddd_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0], emu->xmm[3].d[0]); } void pFppiii(x64emu_t *emu, uintptr_t fcn) { pFppiii_t fn = (pFppiii_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8); } void pFppipi(x64emu_t *emu, uintptr_t fcn) { pFppipi_t fn = (pFppipi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (int64_t)R_R8); } void pFppipp(x64emu_t *emu, uintptr_t fcn) { pFppipp_t fn = (pFppipp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8); } @@ -1979,9 +2040,12 @@ void vFffffff(x64emu_t *emu, uintptr_t fcn) { vFffffff_t fn = (vFffffff_t)fcn; f 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 vFpiiiii(x64emu_t *emu, uintptr_t fcn) { vFpiiiii_t fn = (vFpiiiii_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9); } void vFpiiuuu(x64emu_t *emu, uintptr_t fcn) { vFpiiuuu_t fn = (vFpiiuuu_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8, (uint64_t)R_R9); } +void vFpiippp(x64emu_t *emu, uintptr_t fcn) { vFpiippp_t fn = (vFpiippp_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); } void vFpipipV(x64emu_t *emu, uintptr_t fcn) { vFpipipV_t fn = (vFpipipV_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (int64_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, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (int64_t)R_R9); } +void vFpudddd(x64emu_t *emu, uintptr_t fcn) { vFpudddd_t fn = (vFpudddd_t)fcn; fn((void*)R_RDI, (uint64_t)R_RSI, emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0], emu->xmm[3].d[0]); } 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], (int64_t)R_RSI, (int64_t)R_RDX); } +void vFpddddd(x64emu_t *emu, uintptr_t fcn) { vFpddddd_t fn = (vFpddddd_t)fcn; fn((void*)R_RDI, emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0], emu->xmm[3].d[0], emu->xmm[4].d[0]); } void vFppiiii(x64emu_t *emu, uintptr_t fcn) { vFppiiii_t fn = (vFppiiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9); } void vFppiiip(x64emu_t *emu, uintptr_t fcn) { vFppiiip_t fn = (vFppiiip_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_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, (int64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8, (int64_t)R_R9); } @@ -1993,6 +2057,7 @@ void vFpplppp(x64emu_t *emu, uintptr_t fcn) { vFpplppp_t fn = (vFpplppp_t)fcn; f void vFppLppi(x64emu_t *emu, uintptr_t fcn) { vFppLppi_t fn = (vFppLppi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (void*)R_R8, (int64_t)R_R9); } void vFppLppp(x64emu_t *emu, uintptr_t fcn) { vFppLppp_t fn = (vFppLppp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)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, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9); } +void vFppppii(x64emu_t *emu, uintptr_t fcn) { vFppppii_t fn = (vFppppii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int64_t)R_R8, (int64_t)R_R9); } void vFpppppi(x64emu_t *emu, uintptr_t fcn) { vFpppppi_t fn = (vFpppppi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (int64_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 cFppLppi(x64emu_t *emu, uintptr_t fcn) { cFppLppi_t fn = (cFppLppi_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (void*)R_R8, (int64_t)R_R9); } @@ -2014,6 +2079,8 @@ void iFLppipp(x64emu_t *emu, uintptr_t fcn) { iFLppipp_t fn = (iFLppipp_t)fcn; R void iFpiiiii(x64emu_t *emu, uintptr_t fcn) { iFpiiiii_t fn = (iFpiiiii_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9); } void iFpiiipp(x64emu_t *emu, uintptr_t fcn) { iFpiiipp_t fn = (iFpiiipp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8, (void*)R_R9); } void iFpiippp(x64emu_t *emu, uintptr_t fcn) { iFpiippp_t fn = (iFpiippp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); } +void iFpiuuup(x64emu_t *emu, uintptr_t fcn) { iFpiuuup_t fn = (iFpiuuup_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8, (void*)R_R9); } +void iFpiuupp(x64emu_t *emu, uintptr_t fcn) { iFpiuupp_t fn = (iFpiuupp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (void*)R_R8, (void*)R_R9); } void iFpippip(x64emu_t *emu, uintptr_t fcn) { iFpippip_t fn = (iFpippip_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (int64_t)R_R8, (void*)R_R9); } void iFpipppp(x64emu_t *emu, uintptr_t fcn) { iFpipppp_t fn = (iFpipppp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_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=(int64_t)fn((void*)R_RDI, (uint64_t)R_RSI, (void*)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8, (int64_t)R_R9); } @@ -2056,6 +2123,7 @@ void pFEppLLp(x64emu_t *emu, uintptr_t fcn) { pFEppLLp_t fn = (pFEppLLp_t)fcn; R void pFEpppLp(x64emu_t *emu, uintptr_t fcn) { pFEpppLp_t fn = (pFEpppLp_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (void*)R_R8); } void pFEppppp(x64emu_t *emu, uintptr_t fcn) { pFEppppp_t fn = (pFEppppp_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); } void pFiCiiCi(x64emu_t *emu, uintptr_t fcn) { pFiCiiCi_t fn = (pFiCiiCi_t)fcn; R_RAX=(uintptr_t)fn((int64_t)R_RDI, (uint8_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (uint8_t)R_R8, (int64_t)R_R9); } +void pFdddddd(x64emu_t *emu, uintptr_t fcn) { pFdddddd_t fn = (pFdddddd_t)fcn; R_RAX=(uintptr_t)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 pFpiiiiu(x64emu_t *emu, uintptr_t fcn) { pFpiiiiu_t fn = (pFpiiiiu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (uint64_t)R_R9); } void pFpippip(x64emu_t *emu, uintptr_t fcn) { pFpippip_t fn = (pFpippip_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (int64_t)R_R8, (void*)R_R9); } void pFpCuuCC(x64emu_t *emu, uintptr_t fcn) { pFpCuuCC_t fn = (pFpCuuCC_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (uint8_t)R_R8, (uint8_t)R_R9); } @@ -2101,11 +2169,15 @@ void vFuuffiip(x64emu_t *emu, uintptr_t fcn) { vFuuffiip_t fn = (vFuuffiip_t)fcn void vFuuddiip(x64emu_t *emu, uintptr_t fcn) { vFuuddiip_t fn = (vFuuddiip_t)fcn; fn((uint64_t)R_RDI, (uint64_t)R_RSI, emu->xmm[0].d[0], emu->xmm[1].d[0], (int64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8); } void vFuffffff(x64emu_t *emu, uintptr_t fcn) { vFuffffff_t fn = (vFuffffff_t)fcn; fn((uint64_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]); } void vFudddddd(x64emu_t *emu, uintptr_t fcn) { vFudddddd_t fn = (vFudddddd_t)fcn; fn((uint64_t)R_RDI, emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0], emu->xmm[3].d[0], emu->xmm[4].d[0], emu->xmm[5].d[0]); } +void vFpiiiipp(x64emu_t *emu, uintptr_t fcn) { vFpiiiipp_t fn = (vFpiiiipp_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); } void vFpiiliip(x64emu_t *emu, uintptr_t fcn) { vFpiiliip_t fn = (vFpiiliip_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (intptr_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8)); } void vFpipipii(x64emu_t *emu, uintptr_t fcn) { vFpipipii_t fn = (vFpipipii_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (void*)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8)); } void vFpddiidd(x64emu_t *emu, uintptr_t fcn) { vFpddiidd_t fn = (vFpddiidd_t)fcn; fn((void*)R_RDI, emu->xmm[0].d[0], emu->xmm[1].d[0], (int64_t)R_RSI, (int64_t)R_RDX, emu->xmm[2].d[0], emu->xmm[3].d[0]); } +void vFpdddddd(x64emu_t *emu, uintptr_t fcn) { vFpdddddd_t fn = (vFpdddddd_t)fcn; fn((void*)R_RDI, emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0], emu->xmm[3].d[0], emu->xmm[4].d[0], emu->xmm[5].d[0]); } void vFppiiipi(x64emu_t *emu, uintptr_t fcn) { vFppiiipi_t fn = (vFppiiipi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (void*)R_R9, *(int64_t*)(R_RSP + 8)); } void vFppilppi(x64emu_t *emu, uintptr_t fcn) { vFppilppi_t fn = (vFppilppi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (intptr_t)R_RCX, (void*)R_R8, (void*)R_R9, *(int64_t*)(R_RSP + 8)); } +void vFppipiip(x64emu_t *emu, uintptr_t fcn) { vFppipiip_t fn = (vFppipiip_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8)); } +void vFppipipp(x64emu_t *emu, uintptr_t fcn) { vFppipipp_t fn = (vFppipipp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (int64_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); } void vFppipppp(x64emu_t *emu, uintptr_t fcn) { vFppipppp_t fn = (vFppipppp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); } void vFppLpppi(x64emu_t *emu, uintptr_t fcn) { vFppLpppi_t fn = (vFppLpppi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(int64_t*)(R_RSP + 8)); } void vFppLpppp(x64emu_t *emu, uintptr_t fcn) { vFppLpppp_t fn = (vFppLpppp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); } @@ -2120,7 +2192,9 @@ void iFiiiiiip(x64emu_t *emu, uintptr_t fcn) { iFiiiiiip_t fn = (iFiiiiiip_t)fcn void iFpiiuuiu(x64emu_t *emu, uintptr_t fcn) { iFpiiuuiu_t fn = (iFpiiuuiu_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8, (int64_t)R_R9, *(uint64_t*)(R_RSP + 8)); } void iFpiuiipp(x64emu_t *emu, uintptr_t fcn) { iFpiuiipp_t fn = (iFpiuiipp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (uint64_t)R_RDX, (int64_t)R_RCX, (int64_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=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (uint64_t)R_RDX, (void*)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8)); } +void iFpippppp(x64emu_t *emu, uintptr_t fcn) { iFpippppp_t fn = (iFpippppp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); } void iFpuuiuui(x64emu_t *emu, uintptr_t fcn) { iFpuuiuui_t fn = (iFpuuiuui_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (int64_t)R_RCX, (uint64_t)R_R8, (uint64_t)R_R9, *(int64_t*)(R_RSP + 8)); } +void iFpuupppp(x64emu_t *emu, uintptr_t fcn) { iFpuupppp_t fn = (iFpuupppp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); } void iFpupuuui(x64emu_t *emu, uintptr_t fcn) { iFpupuuui_t fn = (iFpupuuui_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (uint64_t)R_RSI, (void*)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8, (uint64_t)R_R9, *(int64_t*)(R_RSP + 8)); } void iFpuppppp(x64emu_t *emu, uintptr_t fcn) { iFpuppppp_t fn = (iFpuppppp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (uint64_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=(int64_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (int64_t)R_R8, (void*)R_R9, *(int64_t*)(R_RSP + 8)); } @@ -2181,6 +2255,7 @@ void vFffffffff(x64emu_t *emu, uintptr_t fcn) { vFffffffff_t fn = (vFffffffff_t) void vFpippiiuu(x64emu_t *emu, uintptr_t fcn) { vFpippiiuu_t fn = (vFpippiiuu_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(uint64_t*)(R_RSP + 8), *(uint64_t*)(R_RSP + 16)); } void vFpippiipi(x64emu_t *emu, uintptr_t fcn) { vFpippiipi_t fn = (vFpippiipi_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8), *(int64_t*)(R_RSP + 16)); } void vFppiiipii(x64emu_t *emu, uintptr_t fcn) { vFppiiipii_t fn = (vFppiiipii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (void*)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16)); } +void vFppipipii(x64emu_t *emu, uintptr_t fcn) { vFppipipii_t fn = (vFppipipii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (int64_t)R_R8, (void*)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16)); } void vFppippppi(x64emu_t *emu, uintptr_t fcn) { vFppippppi_t fn = (vFppippppi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(int64_t*)(R_RSP + 16)); } void vFpplppppi(x64emu_t *emu, uintptr_t fcn) { vFpplppppi_t fn = (vFpplppppi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (intptr_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(int64_t*)(R_RSP + 16)); } void vFpplppppp(x64emu_t *emu, uintptr_t fcn) { vFpplppppp_t fn = (vFpplppppp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (intptr_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); } @@ -2323,6 +2398,7 @@ void pFppppppppppppppp(x64emu_t *emu, uintptr_t fcn) { pFppppppppppppppp_t fn = void iFpppppppppppppppp(x64emu_t *emu, uintptr_t fcn) { iFpppppppppppppppp_t fn = (iFpppppppppppppppp_t)fcn; R_RAX=(int64_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 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, (uint64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(void**)(R_RSP + 24), *(uint64_t*)(R_RSP + 32), *(int64_t*)(R_RSP + 40), *(int64_t*)(R_RSP + 48), *(int64_t*)(R_RSP + 56), *(int64_t*)(R_RSP + 64), *(int64_t*)(R_RSP + 72), *(int64_t*)(R_RSP + 80), *(int64_t*)(R_RSP + 88), *(int64_t*)(R_RSP + 96)); } +void pFiiiippppppppppppppp(x64emu_t *emu, uintptr_t fcn) { pFiiiippppppppppppppp_t fn = (pFiiiippppppppppppppp_t)fcn; R_RAX=(uintptr_t)fn((int64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)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 pFipppppppppppppppppppppp(x64emu_t *emu, uintptr_t fcn) { pFipppppppppppppppppppppp_t fn = (pFipppppppppppppppppppppp_t)fcn; R_RAX=(uintptr_t)fn((int64_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48), *(void**)(R_RSP + 56), *(void**)(R_RSP + 64), *(void**)(R_RSP + 72), *(void**)(R_RSP + 80), *(void**)(R_RSP + 88), *(void**)(R_RSP + 96), *(void**)(R_RSP + 104), *(void**)(R_RSP + 112), *(void**)(R_RSP + 120), *(void**)(R_RSP + 128), *(void**)(R_RSP + 136)); } #if defined(HAVE_LD80BITS) @@ -2397,6 +2473,7 @@ int isSimpleWrapper(wrapper_t fun) { if (fun == &pFv) return 1; if (fun == &pFi) return 1; if (fun == &pFu) return 1; + if (fun == &pFd) return 1; if (fun == &pFl) return 1; if (fun == &pFL) return 1; if (fun == &pFp) return 1; @@ -2420,6 +2497,7 @@ int isSimpleWrapper(wrapper_t fun) { if (fun == &vFpi) return 1; if (fun == &vFpu) return 1; if (fun == &vFpf) return 1; + if (fun == &vFpd) return 1; if (fun == &vFpl) return 1; if (fun == &vFpL) return 1; if (fun == &vFpp) return 1; @@ -2491,6 +2569,7 @@ int isSimpleWrapper(wrapper_t fun) { if (fun == &pFui) return 1; if (fun == &pFuu) return 1; if (fun == &pFup) return 1; + if (fun == &pFdd) return 1; if (fun == &pFlp) return 1; if (fun == &pFLL) return 1; if (fun == &pFpi) return 1; @@ -2539,6 +2618,7 @@ int isSimpleWrapper(wrapper_t fun) { if (fun == &vFpuI) return 1; if (fun == &vFpuu) return 1; if (fun == &vFpup) return 1; + if (fun == &vFpdd) return 1; if (fun == &vFpll) return 1; if (fun == &vFpLi) return 1; if (fun == &vFpLL) return 1; @@ -2576,6 +2656,7 @@ int isSimpleWrapper(wrapper_t fun) { if (fun == &iFpUU) return 1; if (fun == &iFpfu) return 1; if (fun == &iFpff) return 1; + if (fun == &iFpdd) return 1; if (fun == &iFpli) return 1; if (fun == &iFpll) return 1; if (fun == &iFplp) return 1; @@ -2631,15 +2712,18 @@ int isSimpleWrapper(wrapper_t fun) { if (fun == &LFpLp) return 1; if (fun == &LFppi) return 1; if (fun == &LFppL) return 1; + if (fun == &pFiii) return 1; if (fun == &pFiip) return 1; if (fun == &pFipi) return 1; if (fun == &pFipL) return 1; if (fun == &pFipp) return 1; if (fun == &pFIpi) return 1; + if (fun == &pFWWW) return 1; if (fun == &pFuii) return 1; if (fun == &pFupi) return 1; if (fun == &pFupL) return 1; if (fun == &pFUpi) return 1; + if (fun == &pFddd) return 1; if (fun == &pFpii) return 1; if (fun == &pFpiu) return 1; if (fun == &pFpil) return 1; @@ -2702,18 +2786,22 @@ int isSimpleWrapper(wrapper_t fun) { if (fun == &vFdddd) return 1; if (fun == &vFpiii) return 1; if (fun == &vFpiip) return 1; + if (fun == &vFpiuL) return 1; if (fun == &vFpiup) return 1; if (fun == &vFpipp) return 1; if (fun == &vFpuuu) return 1; + if (fun == &vFpudd) return 1; if (fun == &vFpupp) return 1; if (fun == &vFpdii) return 1; if (fun == &vFpddd) return 1; if (fun == &vFpLLL) return 1; if (fun == &vFppii) return 1; + if (fun == &vFppid) return 1; if (fun == &vFppip) return 1; if (fun == &vFppui) return 1; if (fun == &vFppuu) return 1; if (fun == &vFppup) return 1; + if (fun == &vFppdd) return 1; if (fun == &vFpppi) return 1; if (fun == &vFpppu) return 1; if (fun == &vFpppp) return 1; @@ -2740,6 +2828,7 @@ int isSimpleWrapper(wrapper_t fun) { if (fun == &iFpiid) return 1; if (fun == &iFpiiL) return 1; if (fun == &iFpiip) return 1; + if (fun == &iFpiuL) return 1; if (fun == &iFpiup) return 1; if (fun == &iFpipi) return 1; if (fun == &iFpipC) return 1; @@ -2779,6 +2868,7 @@ int isSimpleWrapper(wrapper_t fun) { if (fun == &IFppip) return 1; if (fun == &uFifff) return 1; if (fun == &uFuuuu) return 1; + if (fun == &uFpipu) return 1; if (fun == &uFpipp) return 1; if (fun == &uFpCCC) return 1; if (fun == &uFpuip) return 1; @@ -2808,8 +2898,10 @@ int isSimpleWrapper(wrapper_t fun) { if (fun == &pFippL) return 1; if (fun == &pFuiii) return 1; if (fun == &pFulli) return 1; + if (fun == &pFdddd) return 1; if (fun == &pFpiii) return 1; if (fun == &pFpiip) return 1; + if (fun == &pFpiuu) return 1; if (fun == &pFpiLL) return 1; if (fun == &pFpipi) return 1; if (fun == &pFpipp) return 1; @@ -2887,12 +2979,16 @@ int isSimpleWrapper(wrapper_t fun) { if (fun == &vFupppp) return 1; if (fun == &vFddddp) return 1; if (fun == &vFpiiii) return 1; + if (fun == &vFpiipp) return 1; if (fun == &vFpipii) return 1; if (fun == &vFpuipp) return 1; + if (fun == &vFpuddd) return 1; if (fun == &vFpddii) return 1; + if (fun == &vFpdddd) return 1; if (fun == &vFpliil) return 1; if (fun == &vFppiii) return 1; if (fun == &vFppiip) return 1; + if (fun == &vFppiup) return 1; if (fun == &vFppipp) return 1; if (fun == &vFppWui) return 1; if (fun == &vFpppii) return 1; @@ -2963,9 +3059,11 @@ int isSimpleWrapper(wrapper_t fun) { if (fun == &pFipipL) return 1; if (fun == &pFuiiiu) return 1; if (fun == &pFuiipp) return 1; + if (fun == &pFpiiii) return 1; if (fun == &pFpiiuu) return 1; if (fun == &pFpiipi) return 1; if (fun == &pFpiipp) return 1; + if (fun == &pFpiuuu) return 1; if (fun == &pFpippp) return 1; if (fun == &pFpCuup) return 1; if (fun == &pFpCppp) return 1; @@ -2974,6 +3072,7 @@ int isSimpleWrapper(wrapper_t fun) { if (fun == &pFpuWWW) return 1; if (fun == &pFpuuWW) return 1; if (fun == &pFpuuup) return 1; + if (fun == &pFpdddd) return 1; if (fun == &pFppiii) return 1; if (fun == &pFppipi) return 1; if (fun == &pFppipp) return 1; @@ -3026,7 +3125,9 @@ int isSimpleWrapper(wrapper_t fun) { if (fun == &vFuppppp) return 1; if (fun == &vFpiiiii) return 1; if (fun == &vFpiiuuu) return 1; + if (fun == &vFpiippp) return 1; if (fun == &vFpipppi) return 1; + if (fun == &vFpudddd) return 1; if (fun == &vFpdddii) return 1; if (fun == &vFppiiii) return 1; if (fun == &vFppiiip) return 1; @@ -3039,6 +3140,7 @@ int isSimpleWrapper(wrapper_t fun) { if (fun == &vFppLppi) return 1; if (fun == &vFppLppp) return 1; if (fun == &vFpppiii) return 1; + if (fun == &vFppppii) return 1; if (fun == &vFpppppi) return 1; if (fun == &vFpppppp) return 1; if (fun == &cFppLppi) return 1; @@ -3052,6 +3154,8 @@ int isSimpleWrapper(wrapper_t fun) { if (fun == &iFpiiiii) return 1; if (fun == &iFpiiipp) return 1; if (fun == &iFpiippp) return 1; + if (fun == &iFpiuuup) return 1; + if (fun == &iFpiuupp) return 1; if (fun == &iFpippip) return 1; if (fun == &iFpipppp) return 1; if (fun == &iFpupuui) return 1; diff --git a/src/wrapped/generated/wrapper.h b/src/wrapped/generated/wrapper.h index e448afa9..1474d1c2 100644 --- a/src/wrapped/generated/wrapper.h +++ b/src/wrapped/generated/wrapper.h @@ -85,6 +85,7 @@ void pFE(x64emu_t *emu, uintptr_t fnc); void pFv(x64emu_t *emu, uintptr_t fnc); void pFi(x64emu_t *emu, uintptr_t fnc); void pFu(x64emu_t *emu, uintptr_t fnc); +void pFd(x64emu_t *emu, uintptr_t fnc); void pFl(x64emu_t *emu, uintptr_t fnc); void pFL(x64emu_t *emu, uintptr_t fnc); void pFp(x64emu_t *emu, uintptr_t fnc); @@ -112,6 +113,7 @@ void vFLp(x64emu_t *emu, uintptr_t fnc); void vFpi(x64emu_t *emu, uintptr_t fnc); void vFpu(x64emu_t *emu, uintptr_t fnc); void vFpf(x64emu_t *emu, uintptr_t fnc); +void vFpd(x64emu_t *emu, uintptr_t fnc); void vFpl(x64emu_t *emu, uintptr_t fnc); void vFpL(x64emu_t *emu, uintptr_t fnc); void vFpp(x64emu_t *emu, uintptr_t fnc); @@ -192,6 +194,7 @@ void pFip(x64emu_t *emu, uintptr_t fnc); void pFui(x64emu_t *emu, uintptr_t fnc); void pFuu(x64emu_t *emu, uintptr_t fnc); void pFup(x64emu_t *emu, uintptr_t fnc); +void pFdd(x64emu_t *emu, uintptr_t fnc); void pFlp(x64emu_t *emu, uintptr_t fnc); void pFLL(x64emu_t *emu, uintptr_t fnc); void pFpi(x64emu_t *emu, uintptr_t fnc); @@ -248,6 +251,7 @@ 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 vFpdd(x64emu_t *emu, uintptr_t fnc); void vFpll(x64emu_t *emu, uintptr_t fnc); void vFpLi(x64emu_t *emu, uintptr_t fnc); void vFpLL(x64emu_t *emu, uintptr_t fnc); @@ -296,6 +300,7 @@ void iFpUi(x64emu_t *emu, uintptr_t fnc); void iFpUU(x64emu_t *emu, uintptr_t fnc); void iFpfu(x64emu_t *emu, uintptr_t fnc); void iFpff(x64emu_t *emu, uintptr_t fnc); +void iFpdd(x64emu_t *emu, uintptr_t fnc); void iFpli(x64emu_t *emu, uintptr_t fnc); void iFpll(x64emu_t *emu, uintptr_t fnc); void iFplp(x64emu_t *emu, uintptr_t fnc); @@ -361,15 +366,18 @@ void LFSpL(x64emu_t *emu, uintptr_t fnc); void pFEip(x64emu_t *emu, uintptr_t fnc); void pFEpi(x64emu_t *emu, uintptr_t fnc); void pFEpp(x64emu_t *emu, uintptr_t fnc); +void pFiii(x64emu_t *emu, uintptr_t fnc); void pFiip(x64emu_t *emu, uintptr_t fnc); void pFipi(x64emu_t *emu, uintptr_t fnc); void pFipL(x64emu_t *emu, uintptr_t fnc); void pFipp(x64emu_t *emu, uintptr_t fnc); void pFIpi(x64emu_t *emu, uintptr_t fnc); +void pFWWW(x64emu_t *emu, uintptr_t fnc); void pFuii(x64emu_t *emu, uintptr_t fnc); void pFupi(x64emu_t *emu, uintptr_t fnc); void pFupL(x64emu_t *emu, uintptr_t fnc); void pFUpi(x64emu_t *emu, uintptr_t fnc); +void pFddd(x64emu_t *emu, uintptr_t fnc); void pFpii(x64emu_t *emu, uintptr_t fnc); void pFpiu(x64emu_t *emu, uintptr_t fnc); void pFpil(x64emu_t *emu, uintptr_t fnc); @@ -440,18 +448,22 @@ 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 vFpiuL(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 vFpudd(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 vFppid(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 vFppdd(x64emu_t *emu, uintptr_t fnc); void vFpppi(x64emu_t *emu, uintptr_t fnc); void vFpppu(x64emu_t *emu, uintptr_t fnc); void vFpppp(x64emu_t *emu, uintptr_t fnc); @@ -492,6 +504,7 @@ void iFpiiu(x64emu_t *emu, uintptr_t fnc); void iFpiid(x64emu_t *emu, uintptr_t fnc); void iFpiiL(x64emu_t *emu, uintptr_t fnc); void iFpiip(x64emu_t *emu, uintptr_t fnc); +void iFpiuL(x64emu_t *emu, uintptr_t fnc); void iFpiup(x64emu_t *emu, uintptr_t fnc); void iFpipi(x64emu_t *emu, uintptr_t fnc); void iFpipC(x64emu_t *emu, uintptr_t fnc); @@ -535,6 +548,7 @@ void IFSIii(x64emu_t *emu, uintptr_t fnc); void uFEpup(x64emu_t *emu, uintptr_t fnc); void uFifff(x64emu_t *emu, uintptr_t fnc); void uFuuuu(x64emu_t *emu, uintptr_t fnc); +void uFpipu(x64emu_t *emu, uintptr_t fnc); void uFpipp(x64emu_t *emu, uintptr_t fnc); void uFpCCC(x64emu_t *emu, uintptr_t fnc); void uFpuip(x64emu_t *emu, uintptr_t fnc); @@ -572,8 +586,10 @@ void pFiiup(x64emu_t *emu, uintptr_t fnc); void pFippL(x64emu_t *emu, uintptr_t fnc); void pFuiii(x64emu_t *emu, uintptr_t fnc); void pFulli(x64emu_t *emu, uintptr_t fnc); +void pFdddd(x64emu_t *emu, uintptr_t fnc); void pFpiii(x64emu_t *emu, uintptr_t fnc); void pFpiip(x64emu_t *emu, uintptr_t fnc); +void pFpiuu(x64emu_t *emu, uintptr_t fnc); void pFpiLL(x64emu_t *emu, uintptr_t fnc); void pFpipi(x64emu_t *emu, uintptr_t fnc); void pFpipp(x64emu_t *emu, uintptr_t fnc); @@ -657,12 +673,16 @@ void vFupppp(x64emu_t *emu, uintptr_t fnc); void vFfffff(x64emu_t *emu, uintptr_t fnc); void vFddddp(x64emu_t *emu, uintptr_t fnc); void vFpiiii(x64emu_t *emu, uintptr_t fnc); +void vFpiipp(x64emu_t *emu, uintptr_t fnc); void vFpipii(x64emu_t *emu, uintptr_t fnc); void vFpuipp(x64emu_t *emu, uintptr_t fnc); +void vFpuddd(x64emu_t *emu, uintptr_t fnc); void vFpddii(x64emu_t *emu, uintptr_t fnc); +void vFpdddd(x64emu_t *emu, uintptr_t fnc); void vFpliil(x64emu_t *emu, uintptr_t fnc); void vFppiii(x64emu_t *emu, uintptr_t fnc); void vFppiip(x64emu_t *emu, uintptr_t fnc); +void vFppiup(x64emu_t *emu, uintptr_t fnc); void vFppipp(x64emu_t *emu, uintptr_t fnc); void vFppWui(x64emu_t *emu, uintptr_t fnc); void vFpppii(x64emu_t *emu, uintptr_t fnc); @@ -754,9 +774,11 @@ void pFEpppp(x64emu_t *emu, uintptr_t fnc); void pFipipL(x64emu_t *emu, uintptr_t fnc); void pFuiiiu(x64emu_t *emu, uintptr_t fnc); void pFuiipp(x64emu_t *emu, uintptr_t fnc); +void pFpiiii(x64emu_t *emu, uintptr_t fnc); void pFpiiuu(x64emu_t *emu, uintptr_t fnc); void pFpiipi(x64emu_t *emu, uintptr_t fnc); void pFpiipp(x64emu_t *emu, uintptr_t fnc); +void pFpiuuu(x64emu_t *emu, uintptr_t fnc); void pFpippp(x64emu_t *emu, uintptr_t fnc); void pFpCuup(x64emu_t *emu, uintptr_t fnc); void pFpCppp(x64emu_t *emu, uintptr_t fnc); @@ -765,6 +787,7 @@ void pFpuiip(x64emu_t *emu, uintptr_t fnc); void pFpuWWW(x64emu_t *emu, uintptr_t fnc); void pFpuuWW(x64emu_t *emu, uintptr_t fnc); void pFpuuup(x64emu_t *emu, uintptr_t fnc); +void pFpdddd(x64emu_t *emu, uintptr_t fnc); void pFppiii(x64emu_t *emu, uintptr_t fnc); void pFppipi(x64emu_t *emu, uintptr_t fnc); void pFppipp(x64emu_t *emu, uintptr_t fnc); @@ -823,9 +846,12 @@ void vFffffff(x64emu_t *emu, uintptr_t fnc); void vFdddddd(x64emu_t *emu, uintptr_t fnc); void vFpiiiii(x64emu_t *emu, uintptr_t fnc); void vFpiiuuu(x64emu_t *emu, uintptr_t fnc); +void vFpiippp(x64emu_t *emu, uintptr_t fnc); void vFpipipV(x64emu_t *emu, uintptr_t fnc); void vFpipppi(x64emu_t *emu, uintptr_t fnc); +void vFpudddd(x64emu_t *emu, uintptr_t fnc); void vFpdddii(x64emu_t *emu, uintptr_t fnc); +void vFpddddd(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); @@ -837,6 +863,7 @@ void vFpplppp(x64emu_t *emu, uintptr_t fnc); void vFppLppi(x64emu_t *emu, uintptr_t fnc); void vFppLppp(x64emu_t *emu, uintptr_t fnc); void vFpppiii(x64emu_t *emu, uintptr_t fnc); +void vFppppii(x64emu_t *emu, uintptr_t fnc); void vFpppppi(x64emu_t *emu, uintptr_t fnc); void vFpppppp(x64emu_t *emu, uintptr_t fnc); void cFppLppi(x64emu_t *emu, uintptr_t fnc); @@ -858,6 +885,8 @@ void iFLppipp(x64emu_t *emu, uintptr_t fnc); void iFpiiiii(x64emu_t *emu, uintptr_t fnc); void iFpiiipp(x64emu_t *emu, uintptr_t fnc); void iFpiippp(x64emu_t *emu, uintptr_t fnc); +void iFpiuuup(x64emu_t *emu, uintptr_t fnc); +void iFpiuupp(x64emu_t *emu, uintptr_t fnc); void iFpippip(x64emu_t *emu, uintptr_t fnc); void iFpipppp(x64emu_t *emu, uintptr_t fnc); void iFpupuui(x64emu_t *emu, uintptr_t fnc); @@ -900,6 +929,7 @@ void pFEppLLp(x64emu_t *emu, uintptr_t fnc); void pFEpppLp(x64emu_t *emu, uintptr_t fnc); void pFEppppp(x64emu_t *emu, uintptr_t fnc); void pFiCiiCi(x64emu_t *emu, uintptr_t fnc); +void pFdddddd(x64emu_t *emu, uintptr_t fnc); void pFpiiiiu(x64emu_t *emu, uintptr_t fnc); void pFpippip(x64emu_t *emu, uintptr_t fnc); void pFpCuuCC(x64emu_t *emu, uintptr_t fnc); @@ -945,11 +975,15 @@ void vFuuffiip(x64emu_t *emu, uintptr_t fnc); void vFuuddiip(x64emu_t *emu, uintptr_t fnc); void vFuffffff(x64emu_t *emu, uintptr_t fnc); void vFudddddd(x64emu_t *emu, uintptr_t fnc); +void vFpiiiipp(x64emu_t *emu, uintptr_t fnc); void vFpiiliip(x64emu_t *emu, uintptr_t fnc); void vFpipipii(x64emu_t *emu, uintptr_t fnc); void vFpddiidd(x64emu_t *emu, uintptr_t fnc); +void vFpdddddd(x64emu_t *emu, uintptr_t fnc); void vFppiiipi(x64emu_t *emu, uintptr_t fnc); void vFppilppi(x64emu_t *emu, uintptr_t fnc); +void vFppipiip(x64emu_t *emu, uintptr_t fnc); +void vFppipipp(x64emu_t *emu, uintptr_t fnc); void vFppipppp(x64emu_t *emu, uintptr_t fnc); void vFppLpppi(x64emu_t *emu, uintptr_t fnc); void vFppLpppp(x64emu_t *emu, uintptr_t fnc); @@ -964,7 +998,9 @@ 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 iFpippppp(x64emu_t *emu, uintptr_t fnc); void iFpuuiuui(x64emu_t *emu, uintptr_t fnc); +void iFpuupppp(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); @@ -1025,6 +1061,7 @@ void vFffffffff(x64emu_t *emu, uintptr_t fnc); void vFpippiiuu(x64emu_t *emu, uintptr_t fnc); void vFpippiipi(x64emu_t *emu, uintptr_t fnc); void vFppiiipii(x64emu_t *emu, uintptr_t fnc); +void vFppipipii(x64emu_t *emu, uintptr_t fnc); void vFppippppi(x64emu_t *emu, uintptr_t fnc); void vFpplppppi(x64emu_t *emu, uintptr_t fnc); void vFpplppppp(x64emu_t *emu, uintptr_t fnc); @@ -1167,6 +1204,7 @@ void pFppppppppppppppp(x64emu_t *emu, uintptr_t fnc); void iFpppppppppppppppp(x64emu_t *emu, uintptr_t fnc); void pFpppppppppppppppp(x64emu_t *emu, uintptr_t fnc); void vFppuiiiiipuiiiiiiii(x64emu_t *emu, uintptr_t fnc); +void pFiiiippppppppppppppp(x64emu_t *emu, uintptr_t fnc); void pFipppppppppppppppppppppp(x64emu_t *emu, uintptr_t fnc); #if defined(HAVE_LD80BITS) diff --git a/src/wrapped/wrappedcairo.c b/src/wrapped/wrappedcairo.c new file mode 100755 index 00000000..a910e72e --- /dev/null +++ b/src/wrapped/wrappedcairo.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 "debug.h" +#include "wrapper.h" +#include "bridge.h" +#include "librarian/library_private.h" +#include "x64emu.h" + +const char* cairoName = "libcairo.so.2"; +#define LIBNAME cairo + +#include "wrappedlib_init.h" diff --git a/src/wrapped/wrappedcairo_private.h b/src/wrapped/wrappedcairo_private.h new file mode 100755 index 00000000..acf299bc --- /dev/null +++ b/src/wrapped/wrappedcairo_private.h @@ -0,0 +1,399 @@ +#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA)) +#error meh! +#endif + +GO(cairo_append_path, vFpp) +GO(cairo_arc, vFpddddd) +GO(cairo_arc_negative, vFpddddd) +GO(cairo_clip, vFp) +GO(cairo_clip_extents, vFppppp) +GO(cairo_clip_preserve, vFp) +GO(cairo_close_path, vFp) +GO(cairo_copy_clip_rectangle_list, pFp) +GO(cairo_copy_page, vFp) +GO(cairo_copy_path, pFp) +GO(cairo_copy_path_flat, pFp) +GO(cairo_create, pFp) +GO(cairo_curve_to, vFpdddddd) +//GO(cairo_debug_reset_static_data, +GO(cairo_destroy, vFp) +//GO(cairo_device_acquire, +//GO(cairo_device_destroy, +//GO(cairo_device_finish, +//GO(cairo_device_flush, +//GO(cairo_device_get_reference_count, +//GO(cairo_device_get_type, +//GO(cairo_device_get_user_data, +//GO(cairo_device_observer_elapsed, +//GO(cairo_device_observer_fill_elapsed, +//GO(cairo_device_observer_glyphs_elapsed, +//GO(cairo_device_observer_mask_elapsed, +//GO(cairo_device_observer_paint_elapsed, +//GO(cairo_device_observer_print, +//GO(cairo_device_observer_stroke_elapsed, +//GO(cairo_device_reference, +//GO(cairo_device_release, +//GO(cairo_device_set_user_data, +//GO(cairo_device_status, +GO(cairo_device_to_user, vFppp) +GO(cairo_device_to_user_distance, vFppp) +GO(cairo_fill, vFp) +GO(cairo_fill_extents, vFppppp) +GO(cairo_fill_preserve, vFp) +GO(cairo_font_extents, vFpp) +//GO(cairo_font_face_destroy, +//GO(cairo_font_face_get_reference_count, +//GO(cairo_font_face_get_type, +//GO(cairo_font_face_get_user_data, +//GO(cairo_font_face_reference, +//GO(cairo_font_face_set_user_data, +//GO(cairo_font_face_status, +GO(cairo_font_options_copy, pFp) +GO(cairo_font_options_create, pFv) +GO(cairo_font_options_destroy, vFp) +GO(cairo_font_options_equal, iFpp) +GO(cairo_font_options_get_antialias, iFp) +GO(cairo_font_options_get_hint_metrics, iFp) +GO(cairo_font_options_get_hint_style, iFp) +GO(cairo_font_options_get_subpixel_order, iFp) +GO(cairo_font_options_hash, LFp) +GO(cairo_font_options_merge, vFpp) +GO(cairo_font_options_set_antialias, vFpi) +GO(cairo_font_options_set_hint_metrics, vFpi) +GO(cairo_font_options_set_hint_style, vFpi) +GO(cairo_font_options_set_subpixel_order, vFpi) +GO(cairo_font_options_status, iFp) +GO(cairo_format_stride_for_width, iFii) +GO(cairo_ft_font_face_create_for_ft_face, pFpi) +GO(cairo_ft_font_face_create_for_pattern, pFp) +GO(cairo_ft_font_face_get_synthesize, uFp) +GO(cairo_ft_font_face_set_synthesize, vFpu) +GO(cairo_ft_font_face_unset_synthesize, vFpu) +GO(cairo_ft_font_options_substitute, vFpp) +GO(cairo_ft_scaled_font_lock_face, pFp) +GO(cairo_ft_scaled_font_unlock_face, vFp) +GO(cairo_get_antialias, iFp) +GO(cairo_get_current_point, vFppp) +GO(cairo_get_dash, vFppp) +GO(cairo_get_dash_count, iFp) +GO(cairo_get_fill_rule, iFp) +GO(cairo_get_font_face, pFp) +GO(cairo_get_font_matrix, vFpp) +GO(cairo_get_font_options, vFpp) +GO(cairo_get_group_target, pFp) +GO(cairo_get_line_cap, iFp) +GO(cairo_get_line_join, iFp) +GO(cairo_get_line_width, dFp) +GO(cairo_get_matrix, vFpp) +GO(cairo_get_miter_limit, dFp) +GO(cairo_get_operator, iFp) +GO(cairo_get_reference_count, uFp) +GO(cairo_get_scaled_font, pFp) +GO(cairo_get_source, pFp) +GO(cairo_get_target, pFp) +GO(cairo_get_tolerance, dFp) +GO(cairo_get_user_data, pFpp) +GO(cairo_glyph_allocate, pFi) +GO(cairo_glyph_extents, vFppip) +GO(cairo_glyph_free, vFp) +GO(cairo_glyph_path, vFppi) +GO(cairo_has_current_point, iFp) +GO(cairo_identity_matrix, vFp) +GO(cairo_image_surface_create, pFiii) +GO(cairo_image_surface_create_for_data, pFpiiii) +//GO(cairo_image_surface_create_from_png, +//GO(cairo_image_surface_create_from_png_stream, +GO(cairo_image_surface_get_data, pFp) +GO(cairo_image_surface_get_format, iFp) +GO(cairo_image_surface_get_height, iFp) +GO(cairo_image_surface_get_stride, iFp) +GO(cairo_image_surface_get_width, iFp) +GO(cairo_in_clip, iFpdd) +GO(cairo_in_fill, iFpdd) +GO(cairo_in_stroke, iFpdd) +GO(cairo_line_to, vFpdd) +GO(cairo_mask, vFpp) +GO(cairo_mask_surface, vFppdd) +GO(cairo_matrix_init, vFpdddddd) +GO(cairo_matrix_init_identity, vFp) +GO(cairo_matrix_init_rotate, vFpd) +GO(cairo_matrix_init_scale, vFpdd) +GO(cairo_matrix_init_translate, vFpdd) +GO(cairo_matrix_invert, iFp) +GO(cairo_matrix_multiply, vFppp) +GO(cairo_matrix_rotate, vFpd) +GO(cairo_matrix_scale, vFpdd) +GO(cairo_matrix_transform_distance, vFppp) +GO(cairo_matrix_transform_point, vFppp) +GO(cairo_matrix_translate, vFpdd) +GO(cairo_mesh_pattern_begin_patch, vFp) +GO(cairo_mesh_pattern_curve_to, vFpdddddd) +GO(cairo_mesh_pattern_end_patch, vFp) +GO(cairo_mesh_pattern_get_control_point, iFpuupp) +GO(cairo_mesh_pattern_get_corner_color_rgba, iFpuupppp) +GO(cairo_mesh_pattern_get_patch_count, iFpp) +GO(cairo_mesh_pattern_get_path, pFpu) +GO(cairo_mesh_pattern_line_to, vFpdd) +GO(cairo_mesh_pattern_move_to, vFpdd) +GO(cairo_mesh_pattern_set_control_point, vFpudd) +GO(cairo_mesh_pattern_set_corner_color_rgb, vFpuddd) +GO(cairo_mesh_pattern_set_corner_color_rgba, vFpudddd) +GO(cairo_move_to, vFpdd) +GO(cairo_new_path, vFp) +GO(cairo_new_sub_path, vFp) +GO(cairo_paint, vFp) +GO(cairo_paint_with_alpha, vFpd) +GO(cairo_path_destroy, vFp) +GO(cairo_path_extents, vFppppp) +GO(cairo_pattern_add_color_stop_rgb, vFpdddd) +GO(cairo_pattern_add_color_stop_rgba, vFpddddd) +GO(cairo_pattern_create_for_surface, pFp) +GO(cairo_pattern_create_linear, pFdddd) +GO(cairo_pattern_create_mesh, pFv) +GO(cairo_pattern_create_radial, pFdddddd) +//GO(cairo_pattern_create_raster_source, +GO(cairo_pattern_create_rgb, pFddd) +GO(cairo_pattern_create_rgba, pFdddd) +GO(cairo_pattern_destroy, vFp) +GO(cairo_pattern_get_color_stop_count, iFpp) +GO(cairo_pattern_get_color_stop_rgba, iFpippppp) +GO(cairo_pattern_get_extend, iFp) +GO(cairo_pattern_get_filter, iFp) +GO(cairo_pattern_get_linear_points, iFppppp) +GO(cairo_pattern_get_matrix, vFpp) +GO(cairo_pattern_get_radial_circles, iFppppppp) +GO(cairo_pattern_get_reference_count, uFp) +GO(cairo_pattern_get_rgba, iFppppp) +GO(cairo_pattern_get_surface, iFpp) +GO(cairo_pattern_get_type, iFp) +GO(cairo_pattern_get_user_data, pFpp) +GO(cairo_pattern_reference, pFp) +GO(cairo_pattern_set_extend, vFpi) +GO(cairo_pattern_set_filter, vFpi) +GO(cairo_pattern_set_matrix, vFpp) +//GOM(cairo_pattern_set_user_data, iFEpppp) +GO(cairo_pattern_status, iFp) +//GO(cairo_pdf_get_versions, +//GO(cairo_pdf_surface_create, +//GO(cairo_pdf_surface_create_for_stream, +//GO(cairo_pdf_surface_restrict_to_version, +//GO(cairo_pdf_surface_set_size, +//GO(cairo_pdf_version_to_string, +GO(cairo_pop_group, pFp) +GO(cairo_pop_group_to_source, vFp) +//GO(cairo_ps_get_levels, +//GO(cairo_ps_level_to_string, +//GO(cairo_ps_surface_create, +//GO(cairo_ps_surface_create_for_stream, +//GO(cairo_ps_surface_dsc_begin_page_setup, +//GO(cairo_ps_surface_dsc_begin_setup, +//GO(cairo_ps_surface_dsc_comment, +//GO(cairo_ps_surface_get_eps, +//GO(cairo_ps_surface_restrict_to_level, +//GO(cairo_ps_surface_set_eps, +//GO(cairo_ps_surface_set_size, +GO(cairo_push_group, vFp) +GO(cairo_push_group_with_content, vFpi) +//GO(cairo_raster_source_pattern_get_acquire, +//GO(cairo_raster_source_pattern_get_callback_data, +//GO(cairo_raster_source_pattern_get_copy, +//GO(cairo_raster_source_pattern_get_finish, +//GO(cairo_raster_source_pattern_get_snapshot, +//GO(cairo_raster_source_pattern_set_acquire, +//GO(cairo_raster_source_pattern_set_callback_data, +//GO(cairo_raster_source_pattern_set_copy, +//GO(cairo_raster_source_pattern_set_finish, +//GO(cairo_raster_source_pattern_set_snapshot, +//GO(cairo_recording_surface_create, +//GO(cairo_recording_surface_get_extents, +//GO(cairo_recording_surface_ink_extents, +GO(cairo_rectangle, vFpdddd) +GO(cairo_rectangle_list_destroy, vFp) +GO(cairo_reference, pFp) +//GO(cairo_region_contains_point, +//GO(cairo_region_contains_rectangle, +//GO(cairo_region_copy, +//GO(cairo_region_create, +//GO(cairo_region_create_rectangle, +//GO(cairo_region_create_rectangles, +//GO(cairo_region_destroy, +//GO(cairo_region_equal, +//GO(cairo_region_get_extents, +//GO(cairo_region_get_rectangle, +//GO(cairo_region_intersect, +//GO(cairo_region_intersect_rectangle, +//GO(cairo_region_is_empty, +//GO(cairo_region_num_rectangles, +//GO(cairo_region_reference, +//GO(cairo_region_status, +//GO(cairo_region_subtract, +//GO(cairo_region_subtract_rectangle, +//GO(cairo_region_translate, +//GO(cairo_region_union, +//GO(cairo_region_union_rectangle, +//GO(cairo_region_xor, +//GO(cairo_region_xor_rectangle, +GO(cairo_rel_curve_to, vFpdddddd) +GO(cairo_rel_line_to, vFpdd) +GO(cairo_rel_move_to, vFpdd) +GO(cairo_reset_clip, vFp) +GO(cairo_restore, vFp) +GO(cairo_rotate, vFpd) +GO(cairo_save, vFp) +GO(cairo_scale, vFpdd) +//GO(cairo_scaled_font_create, +//GO(cairo_scaled_font_destroy, +//GO(cairo_scaled_font_extents, +//GO(cairo_scaled_font_get_ctm, +//GO(cairo_scaled_font_get_font_face, +//GO(cairo_scaled_font_get_font_matrix, +//GO(cairo_scaled_font_get_font_options, +//GO(cairo_scaled_font_get_reference_count, +//GO(cairo_scaled_font_get_scale_matrix, +//GO(cairo_scaled_font_get_type, +//GO(cairo_scaled_font_get_user_data, +//GO(cairo_scaled_font_glyph_extents, +//GO(cairo_scaled_font_reference, +//GO(cairo_scaled_font_set_user_data, +//GO(cairo_scaled_font_status, +//GO(cairo_scaled_font_text_extents, +//GO(cairo_scaled_font_text_to_glyphs, +//GO(cairo_script_create, +//GO(cairo_script_create_for_stream, +//GO(cairo_script_from_recording_surface, +//GO(cairo_script_get_mode, +//GO(cairo_script_set_mode, +//GO(cairo_script_surface_create, +//GO(cairo_script_surface_create_for_target, +//GO(cairo_script_write_comment, +GO(cairo_select_font_face, vFppii) +GO(cairo_set_antialias, vFpi) +GO(cairo_set_dash, vFppid) +GO(cairo_set_fill_rule, vFpi) +GO(cairo_set_font_face, vFpp) +GO(cairo_set_font_matrix, vFpp) +GO(cairo_set_font_options, vFpp) +GO(cairo_set_font_size, vFpd) +GO(cairo_set_line_cap, vFpi) +GO(cairo_set_line_join, vFpi) +GO(cairo_set_line_width, vFpd) +GO(cairo_set_matrix, vFpp) +GO(cairo_set_miter_limit, vFpd) +GO(cairo_set_operator, vFpi) +GO(cairo_set_scaled_font, vFpp) +GO(cairo_set_source, vFpp) +GO(cairo_set_source_rgb, vFpddd) +GO(cairo_set_source_rgba, vFpdddd) +GO(cairo_set_source_surface, vFppdd) +GO(cairo_set_tolerance, vFpd) +//GOM(cairo_set_user_data, iFEpppp) +GO(cairo_show_glyphs, vFppi) +GO(cairo_show_page, vFp) +GO(cairo_show_text, vFpp) +GO(cairo_show_text_glyphs, vFppipipii) +GO(cairo_status, iFp) +//GO(cairo_status_to_string, +GO(cairo_stroke, vFp) +GO(cairo_stroke_extents, vFppppp) +GO(cairo_stroke_preserve, vFp) +GO(cairo_surface_copy_page, vFp) +GO(cairo_surface_create_for_rectangle, pFpdddd) +//GO(cairo_surface_create_observer, +GO(cairo_surface_create_similar, pFppii) +GO(cairo_surface_create_similar_image, pFppii) +GO(cairo_surface_destroy, vFp) +GO(cairo_surface_finish, vFp) +GO(cairo_surface_flush, vFp) +GO(cairo_surface_get_content, pFp) +GO(cairo_surface_get_device, pFp) +GO(cairo_surface_get_device_offset, vFppp) +GO(cairo_surface_get_device_scale, vFpp) +GO(cairo_surface_get_fallback_resolution, vFppp) +GO(cairo_surface_get_font_options, vFpp) +GO(cairo_surface_get_mime_data, vFpppp) +GO(cairo_surface_get_reference_count, uFp) +GO(cairo_surface_get_type, iFp) +GO(cairo_surface_get_user_data, pFpp) +GO(cairo_surface_has_show_text_glyphs, iFp) +GO(cairo_surface_map_to_image, pFpp) +GO(cairo_surface_mark_dirty, vFp) +GO(cairo_surface_mark_dirty_rectangle, vFpiiii) +//GO(cairo_surface_observer_add_fill_callback, +//GO(cairo_surface_observer_add_finish_callback, +//GO(cairo_surface_observer_add_flush_callback, +//GO(cairo_surface_observer_add_glyphs_callback, +//GO(cairo_surface_observer_add_mask_callback, +//GO(cairo_surface_observer_add_paint_callback, +//GO(cairo_surface_observer_add_stroke_callback, +//GO(cairo_surface_observer_elapsed, +//GO(cairo_surface_observer_print, +GO(cairo_surface_reference, pFp) +GO(cairo_surface_set_device_offset, vFpdd) +GO(cairo_surface_set_device_scale, vFpdd) +GO(cairo_surface_set_fallback_resolution, vFpdd) +//GOM(cairo_surface_set_mime_data, iFEpppLpp) +//GOM(cairo_surface_set_user_data, iFEpppp) +GO(cairo_surface_show_page, vFp) +GO(cairo_surface_status, iFp) +GO(cairo_surface_supports_mime_type, iFpp) +GO(cairo_surface_unmap_image, vFpp) +//GO(cairo_surface_write_to_png, +//GO(cairo_surface_write_to_png_stream, +//GO(cairo_svg_get_versions, +//GO(cairo_svg_surface_create, +//GO(cairo_svg_surface_create_for_stream, +//GO(cairo_svg_surface_restrict_to_version, +//GO(cairo_svg_version_to_string, +GO(cairo_text_cluster_allocate, pFi) +GO(cairo_text_cluster_free, vFp) +GO(cairo_text_extents, vFppp) +GO(cairo_text_path, vFpp) +GO(cairo_toy_font_face_create, pFpii) +GO(cairo_toy_font_face_get_family, pFp) +GO(cairo_toy_font_face_get_slant, iFp) +GO(cairo_toy_font_face_get_weight, iFp) +GO(cairo_transform, vFpp) +GO(cairo_translate, vFpdd) +//GO(cairo_user_font_face_create, +//GO(cairo_user_font_face_get_init_func, +//GO(cairo_user_font_face_get_render_glyph_func, +//GO(cairo_user_font_face_get_text_to_glyphs_func, +//GO(cairo_user_font_face_get_unicode_to_glyph_func, +//GO(cairo_user_font_face_set_init_func, +//GO(cairo_user_font_face_set_render_glyph_func, +//GO(cairo_user_font_face_set_text_to_glyphs_func, +//GO(cairo_user_font_face_set_unicode_to_glyph_func, +GO(cairo_user_to_device, vFppp) +GO(cairo_user_to_device_distance, vFppp) +//GO(cairo_version, +//GO(cairo_version_string, +//GO(cairo_xcb_device_debug_cap_xrender_version, +//GO(cairo_xcb_device_debug_cap_xshm_version, +//GO(cairo_xcb_device_debug_get_precision, +//GO(cairo_xcb_device_debug_set_precision, +//GO(cairo_xcb_device_get_connection, +//GO(cairo_xcb_surface_create, +//GO(cairo_xcb_surface_create_for_bitmap, +//GO(cairo_xcb_surface_create_with_xrender_format, +//GO(cairo_xcb_surface_set_drawable, +//GO(cairo_xcb_surface_set_size, +//GO(cairo_xlib_device_debug_cap_xrender_version, +//GO(cairo_xlib_device_debug_get_precision, +//GO(cairo_xlib_device_debug_set_precision, +//GO(cairo_xlib_surface_create, +//GO(cairo_xlib_surface_create_for_bitmap, +//GO(cairo_xlib_surface_create_with_xrender_format, +//GO(cairo_xlib_surface_get_depth, +//GO(cairo_xlib_surface_get_display, +//GO(cairo_xlib_surface_get_drawable, +//GO(cairo_xlib_surface_get_height, +//GO(cairo_xlib_surface_get_screen, +//GO(cairo_xlib_surface_get_visual, +//GO(cairo_xlib_surface_get_width, +//GO(cairo_xlib_surface_get_xrender_format, +//GO(cairo_xlib_surface_set_drawable, +//GO(cairo_xlib_surface_set_size, +//GO(cairo_xml_create, +//GO(cairo_xml_create_for_stream, +//GO(cairo_xml_for_recording_surface, +//GO(cairo_xml_surface_create, diff --git a/src/wrapped/wrappedpango.c b/src/wrapped/wrappedpango.c new file mode 100755 index 00000000..c966d366 --- /dev/null +++ b/src/wrapped/wrappedpango.c @@ -0,0 +1,137 @@ +#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* pangoName = "libpango-1.0.so.0"; +#define LIBNAME pango +static library_t *my_lib = NULL; + +typedef void (*vFpp_t) (void*, void*); + +#define SUPER() \ + GO(pango_attribute_init, vFpp_t) \ + +typedef struct pango_my_s { + // functions + #define GO(A, B) B A; + SUPER() + #undef GO +} pango_my_t; + +void* getPangoMy(library_t* lib) +{ + pango_my_t* my = (pango_my_t*)calloc(1, sizeof(pango_my_t)); + #define GO(A, W) my->A = (W)dlsym(lib->priv.w.lib, #A); + SUPER() + #undef GO + return my; +} +#undef SUPER + +void freePangoMy(void* lib) +{ + //pango_my_t *my = (pango_my_t *)lib; +} + +typedef struct my_PangoAttrClass_s { + int type; + void* (*copy) (void *attr); + void (*destroy) (void *attr); + int (*equal) (void *attr1, void *attr2); +} my_PangoAttrClass_t; + +// utility functions +#define SUPER() \ +GO(0) \ +GO(1) \ +GO(2) \ +GO(3) \ +GO(4) + +// PangoAttrClass +#define GO(A) \ +static my_PangoAttrClass_t* my_PangoAttrClass_used_##A = NULL; \ +static my_PangoAttrClass_t my_PangoAttrClass_struct_##A = {0}; \ +static uintptr_t my_PangoAttrClass_copy_##A = 0; \ +static void* my_PangoAttrClass_copyfct##A(void* attr) \ +{ \ + return (void*)RunFunction(my_context, my_PangoAttrClass_copy_##A, 1, attr); \ +} \ +static uintptr_t my_PangoAttrClass_del_##A = 0; \ +static void my_PangoAttrClass_delfct##A(void* attr) \ +{ \ + RunFunction(my_context, my_PangoAttrClass_del_##A, 1, attr);\ +} \ +static uintptr_t my_PangoAttrClass_equal_##A = 0; \ +static int my_PangoAttrClass_equalfct##A(void* a, void* b) \ +{ \ + return (int)RunFunction(my_context, my_PangoAttrClass_equal_##A, 2, a, b);\ +} +SUPER() +#undef GO +static void* find_PangoAttrClass_Fct(my_PangoAttrClass_t* klass) +{ + if(!klass) return NULL; + #define GO(A) if(my_PangoAttrClass_used_##A == klass) return &my_PangoAttrClass_struct_##A; + SUPER() + #undef GO + #define GO(A) if(my_PangoAttrClass_used_##A == 0) { \ + my_PangoAttrClass_used_##A = klass; \ + my_PangoAttrClass_t*p=&my_PangoAttrClass_struct_##A; \ + p->type = klass->type; \ + p->copy = my_PangoAttrClass_copyfct##A; \ + my_PangoAttrClass_copy_##A = (uintptr_t)klass->copy; \ + p->destroy = my_PangoAttrClass_delfct##A; \ + my_PangoAttrClass_del_##A = (uintptr_t)klass->destroy; \ + p->equal = my_PangoAttrClass_equalfct##A; \ + my_PangoAttrClass_equal_##A = (uintptr_t)klass->equal; \ + return p; \ + } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for pango PangoAttrClass klass\n"); + return NULL; +} + +#undef SUPER + +EXPORT void my_pango_attribute_init(x64emu_t* emu, void* attr, my_PangoAttrClass_t* klass) +{ + pango_my_t* my = (pango_my_t*)my_lib->priv.w.p2; + + my->pango_attribute_init(attr, find_PangoAttrClass_Fct(klass)); +} + +#define PRE_INIT \ + if(box64_nogtk) \ + return -1; + +#define CUSTOM_INIT \ + my_lib = lib; \ + lib->priv.w.p2 = getPangoMy(lib); \ + lib->priv.w.needed = 2; \ + lib->priv.w.neededlibs = (char**)calloc(lib->priv.w.needed, sizeof(char*)); \ + lib->priv.w.neededlibs[0] = strdup("libgobject-2.0.so.0"); \ + lib->priv.w.neededlibs[1] = strdup("libglib-2.0.so.0"); + +#define CUSTOM_FINI \ + my_lib = NULL; \ + freePangoMy(lib->priv.w.p2); \ + free(lib->priv.w.p2); + +#include "wrappedlib_init.h" diff --git a/src/wrapped/wrappedpango_private.h b/src/wrapped/wrappedpango_private.h new file mode 100755 index 00000000..3bbc26bd --- /dev/null +++ b/src/wrapped/wrappedpango_private.h @@ -0,0 +1,410 @@ +#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA)) +#error meh! +#endif + +GO(pango_alignment_get_type, iFv) +GO(pango_attr_background_new, pFWWW) +GO(pango_attr_fallback_new, pFi) +GO(pango_attr_family_new, pFp) +GO(pango_attr_font_desc_new, pFp) +GO(pango_attr_font_features_new, pFp) //since 1.38 +GO(pango_attr_foreground_new, pFWWW) +GO(pango_attr_gravity_hint_new, pFi) +GO(pango_attr_gravity_new, pFi) +GO(pango_attribute_copy, pFp) +GO(pango_attribute_destroy, vFp) +GO(pango_attribute_equal, iFpp) +GOM(pango_attribute_init, vFEpp) +GO(pango_attr_iterator_copy, pFp) +GO(pango_attr_iterator_destroy, vFp) +GO(pango_attr_iterator_get, pFpi) +GO(pango_attr_iterator_get_attrs, pFp) +GO(pango_attr_iterator_get_font, vFpppp) +GO(pango_attr_iterator_next, iFp) +GO(pango_attr_iterator_range, vFppp) +GO(pango_attr_language_new, pFp) +GO(pango_attr_letter_spacing_new, pFi) +GO(pango_attr_list_change, vFpp) +GO(pango_attr_list_copy, pFp) +//GOM(pango_attr_list_filter, pFEpBp) +GO(pango_attr_list_get_iterator, pFp) +GO(pango_attr_list_get_type, iFv) +GO(pango_attr_list_insert, vFpp) +GO(pango_attr_list_insert_before, vFpp) +GO(pango_attr_list_new, pFv) +GO(pango_attr_list_ref, pFp) +GO(pango_attr_list_splice, vFppii) +GO(pango_attr_list_unref, vFp) +GO(pango_attr_rise_new, pFi) +GO(pango_attr_scale_new, pFd) +GO(pango_attr_shape_new, pFpp) +//GOM(pango_attr_shape_new_with_data, pFpppBB) +GO(pango_attr_size_new, pFi) +GO(pango_attr_size_new_absolute, pFi) +GO(pango_attr_stretch_new, pFi) +GO(pango_attr_strikethrough_color_new, pFWWW) +GO(pango_attr_strikethrough_new, pFi) +GO(pango_attr_style_new, pFi) +GO(pango_attr_type_get_name, pFp) +GO(pango_attr_type_get_type, iFv) +GO(pango_attr_type_register, iFp) +GO(pango_attr_underline_color_new, pFWWW) +GO(pango_attr_underline_new, pFi) +GO(pango_attr_variant_new, pFi) +GO(pango_attr_weight_new, pFi) +//GO(pango_bidi_type_for_unichar, +//GO(pango_bidi_type_get_type, +//GO(pango_break, +GO(pango_color_copy, pFp) +GO(pango_color_free, vFp) +GO(pango_color_get_type, iFv) +GO(pango_color_parse, iFpp) +//GO(pango_color_to_string, +GO(pango_config_key_get, pFp) +//GO(pango_config_key_get_system, +GO(pango_context_changed, vFp) +GO(pango_context_get_base_dir, iFp) +GO(pango_context_get_base_gravity, iFp) +GO(pango_context_get_font_description, pFp) +GO(pango_context_get_font_map, pFp) +GO(pango_context_get_gravity, iFp) +GO(pango_context_get_gravity_hint, iFp) +GO(pango_context_get_language, pFp) +GO(pango_context_get_matrix, pFp) +GO(pango_context_get_metrics, pFppp) +GO(pango_context_get_serial, uFp) +GO(pango_context_get_type, iFv) +GO(pango_context_list_families, vFppp) +GO(pango_context_load_font, pFpp) +GO(pango_context_load_fontset, pFppp) +GO(pango_context_new, pFv) +GO(pango_context_set_base_dir, vFpi) +GO(pango_context_set_base_gravity, vFpi) +GO(pango_context_set_font_description, vFpp) +GO(pango_context_set_font_map, vFpp) +GO(pango_context_set_gravity_hint, vFpi) +GO(pango_context_set_language, vFpp) +GO(pango_context_set_matrix, vFpp) +//GO(pango_coverage_copy, +//GO(pango_coverage_from_bytes, +//GO(pango_coverage_get, +//GO(pango_coverage_level_get_type, +//GO(pango_coverage_max, +//GO(pango_coverage_new, +//GO(pango_coverage_ref, +//GO(pango_coverage_set, +//GO(pango_coverage_to_bytes, +//GO(pango_coverage_unref, +//GO(pango_default_break, +//GO(pango_direction_get_type, +//GO(pango_ellipsize_mode_get_type, +//GO(pango_engine_get_type, +//GO(pango_engine_lang_get_type, +//GO(pango_engine_shape_get_type, +GO(pango_extents_to_pixels, vFpp) +//GO(pango_find_base_dir, +//GO(pango_find_map, +//GO(pango_find_paragraph_boundary, +GO(pango_font_describe, pFp) +GO(pango_font_describe_with_absolute_size, pFp) +GO(pango_font_description_better_match, iFppp) +GO(pango_font_description_copy, pFp) +GO(pango_font_description_copy_static, pFp) +GO(pango_font_description_equal, iFpp) +GO(pango_font_description_free, vFp) +GO(pango_font_description_from_string, pFp) +GO(pango_font_description_get_family, pFp) +GO(pango_font_description_get_gravity, iFp) +GO(pango_font_description_get_set_fields, iFp) +GO(pango_font_description_get_size, iFp) +GO(pango_font_description_get_size_is_absolute, iFp) +GO(pango_font_description_get_stretch, iFp) +GO(pango_font_description_get_style, iFp) +GO(pango_font_description_get_type, iFv) +GO(pango_font_description_get_variant, vFpi) +GO(pango_font_description_get_weight, iFp) +GO(pango_font_description_hash, uFp) +GO(pango_font_description_merge, vFppi) +GO(pango_font_description_merge_static, vFppi) +GO(pango_font_description_new, pFv) +GO(pango_font_description_set_absolute_size, vFpd) +GO(pango_font_description_set_family, vFpp) +GO(pango_font_description_set_family_static, vFpp) +GO(pango_font_description_set_gravity, vFpi) +GO(pango_font_description_set_size, vFpi) +GO(pango_font_description_set_stretch, vFpi) +GO(pango_font_description_set_style, vFpi) +GO(pango_font_description_set_variant, vFpi) +GO(pango_font_description_set_weight, vFpi) +GO(pango_font_descriptions_free, vFpi) +GO(pango_font_description_to_filename, pFp) +GO(pango_font_description_to_string, pFp) +GO(pango_font_description_unset_fields, vFpi) +GO(pango_font_face_describe, pFp) +GO(pango_font_face_get_face_name, pFp) +GO(pango_font_face_get_type, iFv) +GO(pango_font_face_is_synthesized, iFp) +GO(pango_font_face_list_sizes, vFppp) +GO(pango_font_family_get_name, pFp) +GO(pango_font_family_get_type, iFv) +GO(pango_font_family_is_monospace, iFp) +GO(pango_font_family_list_faces, vFppp) +GO(pango_font_find_shaper, pFppu) +GO(pango_font_get_coverage, pFpp) +GO(pango_font_get_font_map, pFp) +GO(pango_font_get_glyph_extents, vFpppp) +GO(pango_font_get_metrics, pFpp) +GO(pango_font_get_type, iFv) +GO(pango_font_map_create_context, pFp) +GO(pango_font_map_get_serial, uFp) +//GO(pango_font_map_get_shape_engine_type, +GO(pango_font_map_get_type, iFv) +GO(pango_font_map_list_families, vFppp) +GO(pango_font_map_load_font, pFppp) +GO(pango_font_map_load_fontset, pFpppp) +GO(pango_font_mask_get_type, iFv) +GO(pango_font_metrics_get_approximate_char_width, iFp) +GO(pango_font_metrics_get_approximate_digit_width, iFp) +GO(pango_font_metrics_get_ascent, iFp) +GO(pango_font_metrics_get_descent, iFp) +GO(pango_font_metrics_get_strikethrough_position, iFp) +GO(pango_font_metrics_get_strikethrough_thickness, iFp) +GO(pango_font_metrics_get_type, iFv) +GO(pango_font_metrics_get_underline_position, iFp) +GO(pango_font_metrics_get_underline_thickness, iFp) +//GO(pango_font_metrics_new, +GO(pango_font_metrics_ref, pFp) +GO(pango_font_metrics_unref, vFp) +//GO(pango_fontset_foreach, +GO(pango_fontset_get_font, pFpu) +GO(pango_fontset_get_metrics, pFp) +//GO(pango_fontset_get_type, +//GO(pango_fontset_simple_append, +//GO(pango_fontset_simple_get_type, +//GO(pango_fontset_simple_new, +//GO(pango_fontset_simple_size, +//GO(pango_get_lib_subdirectory, +//GO(pango_get_log_attrs, +//GO(pango_get_mirror_char, +//GO(pango_get_sysconf_subdirectory, +GO(pango_glyph_item_apply_attrs, pFppp) +GO(pango_glyph_item_copy, pFp) +GO(pango_glyph_item_free, vFp) +GO(pango_glyph_item_get_logical_widths, vFppp) +GO(pango_glyph_item_get_type, iFv) +GO(pango_glyph_item_iter_copy, pFp) +GO(pango_glyph_item_iter_free, vFp) +GO(pango_glyph_item_iter_get_type, iFv) +GO(pango_glyph_item_iter_init_end, iFppp) +GO(pango_glyph_item_iter_init_start, iFppp) +GO(pango_glyph_item_iter_next_cluster, iFp) +GO(pango_glyph_item_iter_prev_cluster, iFp) +GO(pango_glyph_item_letter_space, vFpppi) +GO(pango_glyph_item_split, pFppi) +GO(pango_glyph_string_copy, pFp) +GO(pango_glyph_string_extents, vFpppp) +GO(pango_glyph_string_extents_range, vFpiippp) +GO(pango_glyph_string_free, vFp) +GO(pango_glyph_string_get_logical_widths, vFppiip) +GO(pango_glyph_string_get_type, iFv) +GO(pango_glyph_string_get_width, iFp) +GO(pango_glyph_string_index_to_x, vFppipiip) +GO(pango_glyph_string_new, pFv) +GO(pango_glyph_string_set_size, vFpi) +GO(pango_glyph_string_x_to_index, vFppipipp) +//GO(pango_gravity_get_for_matrix, +//GO(pango_gravity_get_for_script, +//GO(pango_gravity_get_for_script_and_width, +GO(pango_gravity_get_type, iFv) +//GO(pango_gravity_hint_get_type, +//GO(pango_gravity_to_rotation, +//GO(pango_is_zero_width, +//GO(pango_item_copy, +//GO(pango_item_free, +//GO(pango_item_get_type, +//GO(pango_itemize, +//GO(pango_itemize_with_base_dir, +//GO(pango_item_new, +//GO(pango_item_split, +GO(pango_language_from_string, pFp) +GO(pango_language_get_default, pFv) +GO(pango_language_get_sample_string, pFp) +GO(pango_language_get_scripts, pFpp) +GO(pango_language_get_type, iFv) +GO(pango_language_includes_script, iFpi) +GO(pango_language_matches, iFpp) +GO(pango_language_to_string, pFp) +GO(pango_layout_context_changed, vFp) +GO(pango_layout_copy, pFp) +GO(pango_layout_get_alignment, iFp) +GO(pango_layout_get_attributes, pFp) +GO(pango_layout_get_auto_dir, iFp) +GO(pango_layout_get_baseline, iFp) +GO(pango_layout_get_character_count, iFp) +GO(pango_layout_get_context, pFp) +GO(pango_layout_get_cursor_pos, vFpipp) +GO(pango_layout_get_ellipsize, iFp) +GO(pango_layout_get_extents, vFppp) +GO(pango_layout_get_font_description, pFp) +GO(pango_layout_get_height, iFp) +GO(pango_layout_get_indent, iFp) +GO(pango_layout_get_iter, pFp) +GO(pango_layout_get_justify, iFp) +GO(pango_layout_get_line, pFpi) +GO(pango_layout_get_line_count, iFp) +GO(pango_layout_get_line_readonly, pFpi) +GO(pango_layout_get_lines, pFp) +GO(pango_layout_get_lines_readonly, pFp) +GO(pango_layout_get_log_attrs, vFppp) +GO(pango_layout_get_log_attrs_readonly, pFpp) +GO(pango_layout_get_pixel_extents, vFppp) +GO(pango_layout_get_pixel_size, vFppp) +GO(pango_layout_get_serial, uFp) +GO(pango_layout_get_single_paragraph_mode, iFp) +GO(pango_layout_get_size, vFppp) +GO(pango_layout_get_spacing, iFp) +GO(pango_layout_get_tabs, pFp) +GO(pango_layout_get_text, pFp) +GO(pango_layout_get_type, iFv) +GO(pango_layout_get_unknown_glyphs_count, iFp) +GO(pango_layout_get_width, iFp) +GO(pango_layout_get_wrap, iFp) +GO(pango_layout_index_to_line_x, vFpiipp) +GO(pango_layout_index_to_pos, vFpip) +GO(pango_layout_is_ellipsized, iFp) +GO(pango_layout_is_wrapped, iFp) +GO(pango_layout_iter_at_last_line, iFp) +GO(pango_layout_iter_copy, pFp) +GO(pango_layout_iter_free, vFp) +GO(pango_layout_iter_get_baseline, iFp) +GO(pango_layout_iter_get_char_extents, vFpp) +GO(pango_layout_iter_get_cluster_extents, vFppp) +GO(pango_layout_iter_get_index, iFp) +GO(pango_layout_iter_get_layout, pFp) +GO(pango_layout_iter_get_layout_extents, vFppp) +GO(pango_layout_iter_get_line, pFp) +GO(pango_layout_iter_get_line_extents, vFppp) +GO(pango_layout_iter_get_line_readonly, pFp) +GO(pango_layout_iter_get_line_yrange, vFppp) +GO(pango_layout_iter_get_run, pFp) +GO(pango_layout_iter_get_run_extents, vFppp) +GO(pango_layout_iter_get_run_readonly, pFp) +GO(pango_layout_iter_get_type, iFv) +GO(pango_layout_iter_next_char, iFp) +GO(pango_layout_iter_next_cluster, iFp) +GO(pango_layout_iter_next_line, iFp) +GO(pango_layout_iter_next_run, iFp) +GO(pango_layout_line_get_extents, vFppp) +GO(pango_layout_line_get_pixel_extents, vFppp) +GO(pango_layout_line_get_type, iFv) +GO(pango_layout_line_get_x_ranges, vFpiipp) +GO(pango_layout_line_index_to_x, vFpiip) +GO(pango_layout_line_ref, pFp) +GO(pango_layout_line_unref, vFp) +GO(pango_layout_line_x_to_index, iFpipp) +GO(pango_layout_move_cursor_visually, vFpiiiipp) +GO(pango_layout_new, pFp) +GO(pango_layout_set_alignment, vFpi) +GO(pango_layout_set_attributes, vFpp) +GO(pango_layout_set_auto_dir, vFpi) +GO(pango_layout_set_ellipsize, vFpi) +GO(pango_layout_set_font_description, vFpp) +GO(pango_layout_set_height, vFpi) +GO(pango_layout_set_indent, vFpi) +GO(pango_layout_set_justify, vFpi) +GO(pango_layout_set_markup, vFppi) +GO(pango_layout_set_markup_with_accel, vFppiup) +GO(pango_layout_set_single_paragraph_mode, vFpi) +GO(pango_layout_set_spacing, vFpi) +GO(pango_layout_set_tabs, vFpp) +GO(pango_layout_set_text, vFppi) +GO(pango_layout_set_width, vFpi) +GO(pango_layout_set_wrap, vFpi) +GO(pango_layout_xy_to_index, iFpiipp) +//GO(pango_log2vis_get_embedding_levels, +//GO(pango_lookup_aliases, +//GO(pango_map_get_engine, +//GO(pango_map_get_engines, +//GO(pango_markup_parser_finish, +//GO(pango_markup_parser_new, +GO(pango_matrix_concat, vFpp) +GO(pango_matrix_copy, pFp) +GO(pango_matrix_free, vFp) +GO(pango_matrix_get_font_scale_factor, dFp) +GO(pango_matrix_get_font_scale_factors, vFppp) //1.38+ +GO(pango_matrix_get_type, iFv) +GO(pango_matrix_rotate, vFpd) +GO(pango_matrix_scale, vFpdd) +GO(pango_matrix_transform_distance, vFppp) +GO(pango_matrix_transform_pixel_rectangle, vFpp) +GO(pango_matrix_transform_point, vFppp) +GO(pango_matrix_transform_rectangle, vFpp) +GO(pango_matrix_translate, vFpdd) +//GO(pango_module_register, +//GO(pango_parse_enum, +//GO(pango_parse_markup, +//GO(pango_parse_stretch, +//GO(pango_parse_style, +//GO(pango_parse_variant, +//GO(pango_parse_weight, +//GO(pango_quantize_line_geometry, +GO(pango_read_line, iFpp) +//GO(pango_renderer_activate, +//GO(pango_renderer_deactivate, +//GO(pango_renderer_draw_error_underline, +//GO(pango_renderer_draw_glyph, +//GO(pango_renderer_draw_glyph_item, +//GO(pango_renderer_draw_glyphs, +//GO(pango_renderer_draw_layout, +//GO(pango_renderer_draw_layout_line, +//GO(pango_renderer_draw_rectangle, +//GO(pango_renderer_draw_trapezoid, +//GO(pango_renderer_get_color, +//GO(pango_renderer_get_layout, +//GO(pango_renderer_get_layout_line, +//GO(pango_renderer_get_matrix, +//GO(pango_renderer_get_type, +//GO(pango_renderer_part_changed, +//GO(pango_renderer_set_color, +//GO(pango_renderer_set_matrix, +//GO(pango_render_part_get_type, +//GO(pango_reorder_items, +GO(pango_scan_int, iFpp) +GO(pango_scan_string, iFpp) +GO(pango_scan_word, iFpp) +GO(pango_script_for_unichar, iFu) +GO(pango_script_get_sample_language, pFi) +GO(pango_script_get_type, iFv) +GO(pango_script_iter_free, vFp) +GO(pango_script_iter_get_range, vFpppp) +GO(pango_script_iter_new, pFpi) +GO(pango_script_iter_next, iFp) +//GO(pango_shape, +//GO(pango_shape_full, +GO(pango_skip_space, iFp) +GO(pango_split_file_list, pFp) +GO(pango_stretch_get_type, iFv) +GO(pango_style_get_type, iFv) +GO(pango_tab_align_get_type, iFv) +GO(pango_tab_array_copy, pFp) +GO(pango_tab_array_free, vFp) +GO(pango_tab_array_get_positions_in_pixels, iFp) +GO(pango_tab_array_get_size, iFp) +GO(pango_tab_array_get_tab, vFpipp) +GO(pango_tab_array_get_tabs, vFppp) +GO(pango_tab_array_get_type, iFv) +GO(pango_tab_array_new, pFii) +GO(pango_tab_array_new_with_positions, pFiiiippppppppppppppp) //vaarg +GO(pango_tab_array_resize, vFpi) +GO(pango_tab_array_set_tab, vFpiii) +GO(pango_trim_string, pFp) +GO(pango_underline_get_type, iFv) +//GO(pango_unichar_direction, +GO(pango_units_from_double, iFd) +GO(pango_units_to_double, dFi) +//GO(pango_variant_get_type, +//GO(pango_version, +//GO(pango_version_check, +//GO(pango_version_string, +//GO(pango_weight_get_type, +//GO(pango_wrap_mode_get_type, diff --git a/src/wrapped/wrappedpangocairo.c b/src/wrapped/wrappedpangocairo.c new file mode 100755 index 00000000..b7516dd0 --- /dev/null +++ b/src/wrapped/wrappedpangocairo.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 "debug.h" +#include "wrapper.h" +#include "bridge.h" +#include "librarian/library_private.h" +#include "x64emu.h" + +const char* pangocairoName = "libpangocairo-1.0.so.0"; +#define LIBNAME pangocairo + +#define CUSTOM_INIT \ + lib->priv.w.needed = 1; \ + lib->priv.w.neededlibs = (char**)calloc(lib->priv.w.needed, sizeof(char*)); \ + lib->priv.w.neededlibs[0] = strdup("libpango-1.0.so.0"); + + +#include "wrappedlib_init.h" diff --git a/src/wrapped/wrappedpangocairo_private.h b/src/wrapped/wrappedpangocairo_private.h new file mode 100755 index 00000000..946e195f --- /dev/null +++ b/src/wrapped/wrappedpangocairo_private.h @@ -0,0 +1,37 @@ +#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA)) +#error meh! +#endif + +GO(pango_cairo_context_get_font_options, pFp) +GO(pango_cairo_context_get_resolution, dFp) +//GOM(pango_cairo_context_get_shape_renderer, pFEpp) +GO(pango_cairo_context_set_font_options, vFpp) +GO(pango_cairo_context_set_resolution, vFpd) +//GOM(pango_cairo_context_set_shape_renderer, vFEpppp) +GO(pango_cairo_create_context, pFp) +GO(pango_cairo_create_layout, pFp) +GO(pango_cairo_error_underline_path, vFpdddd) +GO(pango_cairo_fc_font_get_type, iFv) +GO(pango_cairo_fc_font_map_get_type, iFv) +GO(pango_cairo_font_get_scaled_font, pFp) +GO(pango_cairo_font_get_type, iFv) +GO(pango_cairo_font_map_create_context, pFp) +GO(pango_cairo_font_map_get_default, pFv) +GO(pango_cairo_font_map_get_font_type, iFp) +GO(pango_cairo_font_map_get_resolution, dFp) +GO(pango_cairo_font_map_get_type, iFv) +GO(pango_cairo_font_map_new, pFv) +GO(pango_cairo_font_map_new_for_font_type, pFi) +GO(pango_cairo_font_map_set_default, vFp) +GO(pango_cairo_font_map_set_resolution, vFpd) +GO(pango_cairo_glyph_string_path, vFppp) +GO(pango_cairo_layout_line_path, vFpp) +GO(pango_cairo_layout_path, vFpp) +GO(pango_cairo_renderer_get_type, iFv) +GO(pango_cairo_show_error_underline, vFpdddd) +GO(pango_cairo_show_glyph_item, vFppp) +GO(pango_cairo_show_glyph_string, vFppp) +GO(pango_cairo_show_layout, vFpp) +GO(pango_cairo_show_layout_line, vFpp) +GO(pango_cairo_update_context, vFpp) +GO(pango_cairo_update_layout, vFpp) diff --git a/src/wrapped/wrappedpangoft2.c b/src/wrapped/wrappedpangoft2.c new file mode 100755 index 00000000..3a9aa7cf --- /dev/null +++ b/src/wrapped/wrappedpangoft2.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* pangoft2Name = "libpangoft2-1.0.so.0"; +#define LIBNAME pangoft2 + +#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("libfontconfig.so.1"); \ + lib->priv.w.neededlibs[1] = strdup("libfreetype.so.6"); + +#include "wrappedlib_init.h" diff --git a/src/wrapped/wrappedpangoft2_private.h b/src/wrapped/wrappedpangoft2_private.h new file mode 100755 index 00000000..03f7b30d --- /dev/null +++ b/src/wrapped/wrappedpangoft2_private.h @@ -0,0 +1,91 @@ +#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA)) +#error meh! +#endif + +GO(pango_fc_decoder_get_charset, pFpp) +GO(pango_fc_decoder_get_glyph, uFppu) +GO(pango_fc_decoder_get_type, iFv) +GO(pango_fc_font_create_base_metrics_for_context, pFpp) +GO(pango_fc_font_description_from_pattern, pFpi) +GO(pango_fc_font_get_glyph, uFpu) +GO(pango_fc_font_get_raw_extents, vFpupp) +GO(pango_fc_font_get_type, iFv) +GO(pango_fc_font_get_unknown_glyph, uFpu) +GO(pango_fc_font_has_char, iFpu) +GO(pango_fc_font_kern_glyphs, vFpp) +GO(pango_fc_font_key_get_context_key, pFp) +GO(pango_fc_font_key_get_matrix, pFp) +GO(pango_fc_font_key_get_pattern, pFp) +GO(pango_fc_font_lock_face, pFp) +//GOM(pango_fc_font_map_add_decoder_find_func, vFEpBpp) +GO(pango_fc_font_map_cache_clear, vFp) +GO(pango_fc_font_map_config_changed, vFp) +GO(pango_fc_font_map_create_context, pFp) +GO(pango_fc_font_map_find_decoder, pFpp) +GO(pango_fc_font_map_get_config, pFp) +GO(pango_fc_font_map_get_type, iFv) +GO(pango_fc_font_map_shutdown, vFp) +GO(pango_fc_font_map_set_config, vFpp) +GO(pango_fc_fontset_key_get_absolute_size, dFp) +GO(pango_fc_fontset_key_get_context_key, pFp) +GO(pango_fc_fontset_key_get_description, pFp) +GO(pango_fc_fontset_key_get_language, pFp) +GO(pango_fc_fontset_key_get_matrix, pFp) +GO(pango_fc_fontset_key_get_resolution, dFp) +GO(pango_fc_font_unlock_face, vFp) +GO(pango_ft2_font_get_coverage, pFpp) +GO(pango_ft2_font_get_face, pFp) +GO(pango_ft2_font_get_kerning, iFpuu) +GO(pango_ft2_font_get_type, iFv) +GO(pango_ft2_font_map_create_context, pFp) +GO(pango_ft2_font_map_for_display, pFv) +GO(pango_ft2_font_map_get_type, iFv) +GO(pango_ft2_font_map_new, pFv) +//GOM(pango_ft2_font_map_set_default_substitute, vFEpBpB) +GO(pango_ft2_font_map_set_resolution, vFpdd) +GO(pango_ft2_font_map_substitute_changed, vFp) +GO(pango_ft2_get_context, pFdd) +GO(pango_ft2_get_unknown_glyph, uFp) +GO(pango_ft2_render, vFpppii) +GO(pango_ft2_renderer_get_type, iFv) +GO(pango_ft2_render_layout, vFppii) +GO(pango_ft2_render_layout_line, vFppii) +GO(pango_ft2_render_layout_line_subpixel, vFppii) +GO(pango_ft2_render_layout_subpixel, vFppii) +GO(pango_ft2_render_transformed, vFppppii) +GO(pango_ft2_shutdown_display, vFv) +GO(pango_ot_buffer_add_glyph, vFpuuu) +GO(pango_ot_buffer_clear, vFp) +GO(pango_ot_buffer_destroy, vFp) +GO(pango_ot_buffer_get_glyphs, vFppp) +GO(pango_ot_buffer_new, pFp) +GO(pango_ot_buffer_output, vFpp) +GO(pango_ot_buffer_set_rtl, vFpi) +GO(pango_ot_buffer_set_zero_width_marks, vFpi) +GO(pango_ot_info_find_feature, iFpiuuup) +GO(pango_ot_info_find_language, iFpiuupp) +GO(pango_ot_info_find_script, iFpiup) +GO(pango_ot_info_get, pFp) +GO(pango_ot_info_get_type, iFv) +GO(pango_ot_info_list_features, pFpiuuu) +GO(pango_ot_info_list_languages, pFpiuu) +GO(pango_ot_info_list_scripts, pFpi) +GO(pango_ot_ruleset_add_feature, vFpiuL) +GO(pango_ot_ruleset_description_copy, pFp) +GO(pango_ot_ruleset_description_equal, iFpp) +GO(pango_ot_ruleset_description_free, vFp) +GO(pango_ot_ruleset_description_hash, uFp) +GO(pango_ot_ruleset_get_feature_count, uFppp) +GO(pango_ot_ruleset_get_for_description, pFpp) +GO(pango_ot_ruleset_get_type, iFv) +GO(pango_ot_ruleset_maybe_add_feature, iFpiuL) +GO(pango_ot_ruleset_maybe_add_features, uFpipu) +GO(pango_ot_ruleset_new, pFp) +GO(pango_ot_ruleset_new_for, pFpip) +GO(pango_ot_ruleset_new_from_description, pFpp) +GO(pango_ot_ruleset_position, vFpp) +GO(pango_ot_ruleset_substitute, vFpp) +GO(pango_ot_tag_from_language, uFp) +GO(pango_ot_tag_from_script, uFp) +GO(pango_ot_tag_to_language, pFu) +GO(pango_ot_tag_to_script, pFu) |