diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2024-12-13 16:05:50 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2024-12-13 16:05:50 +0100 |
| commit | 059dc12adc1c61122ff298b98f922d7f9a042fe0 (patch) | |
| tree | c5fbcd8e16977a80952111b368d8f32e25b282e8 /src | |
| parent | 610c63cd151cdc0ea7712db5eebf0ed56f56da4e (diff) | |
| download | box64-059dc12adc1c61122ff298b98f922d7f9a042fe0.tar.gz box64-059dc12adc1c61122ff298b98f922d7f9a042fe0.zip | |
[BOX32][WRAPPER] Added 32bits wrapped libdrm with new wrapperhelper
Diffstat (limited to 'src')
| -rw-r--r-- | src/library_list_32.h | 2 | ||||
| -rw-r--r-- | src/wrapped32/generated/functions_list.txt | 46 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrappedlibdrmdefs32.h | 8 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrappedlibdrmtypes32.h | 21 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrappedlibdrmundefs32.h | 8 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrapper32.c | 82 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrapper32.h | 41 | ||||
| -rw-r--r-- | src/wrapped32/wrappedlibdrm.c | 107 | ||||
| -rw-r--r-- | src/wrapped32/wrappedlibdrm_private.h | 199 |
9 files changed, 514 insertions, 0 deletions
diff --git a/src/library_list_32.h b/src/library_list_32.h index a89f99ee..2adf7777 100644 --- a/src/library_list_32.h +++ b/src/library_list_32.h @@ -73,6 +73,8 @@ GO("libudev.so", udev1) GO("libuuid.so.1", libuuid) GO("libcairo.so.2", cairo) GO("libcairo.so", cairo) +GO("libdrm.so.2", libdrm) +GO("libdrm.so", libdrm) GO("crashhandler.so", crashhandler) GO("libtcmalloc_minimal.so.0", tcmallocminimal) diff --git a/src/wrapped32/generated/functions_list.txt b/src/wrapped32/generated/functions_list.txt index 9be1ed9d..9bd5d433 100644 --- a/src/wrapped32/generated/functions_list.txt +++ b/src/wrapped32/generated/functions_list.txt @@ -92,6 +92,7 @@ #() lFX -> lFX #() LEv -> LEv #() LFv -> LFv +#() LFi -> LFi #() LEL -> LEL #() LEp -> LEp #() LFp -> LFp @@ -195,6 +196,7 @@ #() iEiu -> iEiu #() iFiu -> iFiu #() iEil -> iEil +#() iFiL -> iFiL #() iEip -> iEip #() iFip -> iFip #() iEiS -> iEiS @@ -477,16 +479,25 @@ #() iFEXp -> iFEXp #() iEiii -> iEiii #() iEiiI -> iEiiI +#() iFiiu -> iFiiu #() iEiil -> iEiil #() iEiip -> iEiip #() iFiip -> iFiip #() iEiiO -> iEiiO #() iEiII -> iEiII +#() iFiui -> iFiui #() iEiuu -> iEiuu +#() iFiuu -> iFiuu +#() iFiuL -> iFiuL #() iEiup -> iEiup +#() iFiup -> iFiup +#() iFiUU -> iFiUU +#() iFiUp -> iFiUp +#() iFidd -> iFidd #() iEill -> iEill #() iEiLi -> iEiLi #() iEiLp -> iEiLp +#() iFiLp -> iFiLp #() iFipi -> iFipi #() iEipi -> iEipi #() iEipu -> iEipu @@ -863,12 +874,21 @@ #() iEiiiN -> iEiiiN #() iEiiII -> iEiiII #() iEiIIi -> iEiIIi +#() iFiuii -> iFiuii +#() iFiuuU -> iFiuuU +#() iFiuup -> iFiuup +#() iFiupu -> iFiupu +#() iFiupp -> iFiupp #() iEilli -> iEilli +#() iFiLpL -> iFiLpL #() iEipii -> iEipii #() iEipip -> iEipip #() iEipui -> iEipui #() iEipup -> iEipup +#() iFipup -> iFipup +#() iFipLp -> iFipLp #() iEippi -> iEippi +#() iFippu -> iFippu #() iEippL -> iEippL #() iFippp -> iFippp #() iEipON -> iEipON @@ -885,6 +905,7 @@ #() iFpCCC -> iFpCCC #() iFpWWu -> iFpWWu #() iEpuiL -> iEpuiL +#() iFpuuU -> iFpuuU #() iFpuLp -> iFpuLp #() iFpupi -> iFpupi #() iFpupp -> iFpupp @@ -1170,10 +1191,16 @@ #() iFEXpLp -> iFEXpLp #() iFEXppu -> iFEXppu #() iFEXppp -> iFEXppp +#() iFiiiui -> iFiiiui #() iEiiipu -> iEiiipu #() iEiiipp -> iEiiipp +#() iFiuuuu -> iFiuuuu +#() iFiuuuU -> iFiuuuU +#() iFiuuup -> iFiuuup #() iEiLLLL -> iEiLLLL +#() iFipiip -> iFipiip #() iEipLLi -> iEipLLi +#() iFippuu -> iFippuu #() iEippLi -> iEippLi #() iEipppi -> iEipppi #() iEipppp -> iEipppp @@ -1354,7 +1381,13 @@ #() iFEXpiip -> iFEXpiip #() iFEXpiup -> iFEXpiup #() iFEXpppp -> iFEXpppp +#() iFiuuuup -> iFiuuuup +#() iFiuuupu -> iFiuuupu +#() iFiuuUpU -> iFiuuUpU +#() iFiuuppp -> iFiuuppp +#() iFiuUuUu -> iFiuUuUu #() iEipipLu -> iEipipLu +#() iFipuIup -> iFipuIup #() iFuiiuup -> iFuiiuup #() iFpiippp -> iFpiippp #() iFppiiii -> iFppiiii @@ -1477,6 +1510,8 @@ #() iFEXLpiiL -> iFEXLpiiL #() iFEXLpppp -> iFEXLpppp #() iFEXppppp -> iFEXppppp +#() iFiuuuuii -> iFiuuuuii +#() iFippuIup -> iFippuIup #() iFuiiiuup -> iFuiiiuup #() iFpiuuuiu -> iFpiuuuiu #() iFpWCiWCi -> iFpWCiWCi @@ -1546,6 +1581,9 @@ #() iEEpippppp -> iEEpippppp #() iEEpLiLppp -> iEEpLiLppp #() iFEppipppp -> iFEppipppp +#() iFiipppppp -> iFiipppppp +#() iFiuuCCuup -> iFiuuCCuup +#() iFiuuuupip -> iFiuuuupip #() iFuiiiiuup -> iFuiiiiuup #() iFpuuiiuuu -> iFpuuiiuuu #() iFXuupuupp -> iFXuupuupp @@ -1591,6 +1629,7 @@ #() vFXLiiipiii -> vFXLiiipiii #() iFEpuippupp -> iFEpuippupp #() iFEXLLLiipi -> iFEXLLLiipi +#() iFiuuuppppu -> iFiuuuppppu #() iFuiiuuiiip -> iFuiiuuiiip #() iFuiiupiiup -> iFuiiupiiup #() iFdddpppppp -> iFdddpppppp @@ -1632,6 +1671,7 @@ #() vFffffffffff -> vFffffffffff #() iFEppippippp -> iFEppippippp #() iFEXpLiipiiL -> iFEXpLiipiiL +#() iFiuuupppppu -> iFiuuupppppu #() iFuiiiuuiiip -> iFuiiiuuiiip #() iFppuuiiuuuu -> iFppuuiiuuuu #() iFXiLLdduudd -> iFXiLLdduudd @@ -1684,6 +1724,7 @@ #() vFuffffffffffff -> vFuffffffffffff #() vFXiLLLiiiiiiuu -> vFXiLLLiiiiiiuu #() iFEXLLlliLppppp -> iFEXLLlliLppppp +#() iFiuuuuiiuuuuuu -> iFiuuuuiiuuuuuu #() iFddddpppddpppp -> iFddddpppddpppp #() iFXippuuuiipppp -> iFXippuuuiipppp #() uFippuuuulllipp -> uFippuuuulllipp @@ -2085,6 +2126,11 @@ wrappedlibdl: - dlvsym - iEpppi: - dladdr1 +wrappedlibdrm: +- vFp: + - drmFreeVersion +- pFi: + - drmGetVersion wrappedlibgl: - iFi: - glXSwapIntervalMESA diff --git a/src/wrapped32/generated/wrappedlibdrmdefs32.h b/src/wrapped32/generated/wrappedlibdrmdefs32.h new file mode 100644 index 00000000..251db44a --- /dev/null +++ b/src/wrapped32/generated/wrappedlibdrmdefs32.h @@ -0,0 +1,8 @@ +/********************************************************************* + * File automatically generated by rebuild_wrappers_32.py (v0.0.2.2) * + *********************************************************************/ +#ifndef __wrappedlibdrmDEFS32_H_ +#define __wrappedlibdrmDEFS32_H_ + + +#endif // __wrappedlibdrmDEFS32_H_ diff --git a/src/wrapped32/generated/wrappedlibdrmtypes32.h b/src/wrapped32/generated/wrappedlibdrmtypes32.h new file mode 100644 index 00000000..3daa9521 --- /dev/null +++ b/src/wrapped32/generated/wrappedlibdrmtypes32.h @@ -0,0 +1,21 @@ +/********************************************************************* + * File automatically generated by rebuild_wrappers_32.py (v0.0.2.2) * + *********************************************************************/ +#ifndef __wrappedlibdrmTYPES32_H_ +#define __wrappedlibdrmTYPES32_H_ + +#ifndef LIBNAME +#error You should only #include this file inside a wrapped*.c file +#endif +#ifndef ADDED_FUNCTIONS +#define ADDED_FUNCTIONS() +#endif + +typedef void (*vFp_t)(void*); +typedef void* (*pFi_t)(int32_t); + +#define SUPER() ADDED_FUNCTIONS() \ + GO(drmFreeVersion, vFp_t) \ + GO(drmGetVersion, pFi_t) + +#endif // __wrappedlibdrmTYPES32_H_ diff --git a/src/wrapped32/generated/wrappedlibdrmundefs32.h b/src/wrapped32/generated/wrappedlibdrmundefs32.h new file mode 100644 index 00000000..9138d289 --- /dev/null +++ b/src/wrapped32/generated/wrappedlibdrmundefs32.h @@ -0,0 +1,8 @@ +/********************************************************************* + * File automatically generated by rebuild_wrappers_32.py (v0.0.2.2) * + *********************************************************************/ +#ifndef __wrappedlibdrmUNDEFS32_H_ +#define __wrappedlibdrmUNDEFS32_H_ + + +#endif // __wrappedlibdrmUNDEFS32_H_ diff --git a/src/wrapped32/generated/wrapper32.c b/src/wrapped32/generated/wrapper32.c index 74871de6..fa5dc5e8 100644 --- a/src/wrapped32/generated/wrapper32.c +++ b/src/wrapped32/generated/wrapper32.c @@ -183,6 +183,7 @@ typedef intptr_t (*lES_t)(void*); typedef intptr_t (*lFX_t)(void*); typedef uintptr_t (*LEv_t)(void); typedef uintptr_t (*LFv_t)(void); +typedef uintptr_t (*LFi_t)(int32_t); typedef uintptr_t (*LEL_t)(uintptr_t); typedef uintptr_t (*LEp_t)(void*); typedef uintptr_t (*LFp_t)(void*); @@ -286,6 +287,7 @@ typedef int32_t (*iEiI_t)(int32_t, int64_t); typedef int32_t (*iEiu_t)(int32_t, uint32_t); typedef int32_t (*iFiu_t)(int32_t, uint32_t); typedef int32_t (*iEil_t)(int32_t, intptr_t); +typedef int32_t (*iFiL_t)(int32_t, uintptr_t); typedef int32_t (*iEip_t)(int32_t, void*); typedef int32_t (*iFip_t)(int32_t, void*); typedef int32_t (*iEiS_t)(int32_t, void*); @@ -568,16 +570,25 @@ typedef int32_t (*iEEhp_t)(x64emu_t*, uintptr_t, void*); typedef int32_t (*iFEXp_t)(x64emu_t*, void*, void*); typedef int32_t (*iEiii_t)(int32_t, int32_t, int32_t); typedef int32_t (*iEiiI_t)(int32_t, int32_t, int64_t); +typedef int32_t (*iFiiu_t)(int32_t, int32_t, uint32_t); typedef int32_t (*iEiil_t)(int32_t, int32_t, intptr_t); typedef int32_t (*iEiip_t)(int32_t, int32_t, void*); typedef int32_t (*iFiip_t)(int32_t, int32_t, void*); typedef int32_t (*iEiiO_t)(int32_t, int32_t, int32_t); typedef int32_t (*iEiII_t)(int32_t, int64_t, int64_t); +typedef int32_t (*iFiui_t)(int32_t, uint32_t, int32_t); typedef int32_t (*iEiuu_t)(int32_t, uint32_t, uint32_t); +typedef int32_t (*iFiuu_t)(int32_t, uint32_t, uint32_t); +typedef int32_t (*iFiuL_t)(int32_t, uint32_t, uintptr_t); typedef int32_t (*iEiup_t)(int32_t, uint32_t, void*); +typedef int32_t (*iFiup_t)(int32_t, uint32_t, void*); +typedef int32_t (*iFiUU_t)(int32_t, uint64_t, uint64_t); +typedef int32_t (*iFiUp_t)(int32_t, uint64_t, void*); +typedef int32_t (*iFidd_t)(int32_t, double, double); typedef int32_t (*iEill_t)(int32_t, intptr_t, intptr_t); typedef int32_t (*iEiLi_t)(int32_t, uintptr_t, int32_t); typedef int32_t (*iEiLp_t)(int32_t, uintptr_t, void*); +typedef int32_t (*iFiLp_t)(int32_t, uintptr_t, void*); typedef int32_t (*iFipi_t)(int32_t, void*, int32_t); typedef int32_t (*iEipi_t)(int32_t, void*, int32_t); typedef int32_t (*iEipu_t)(int32_t, void*, uint32_t); @@ -954,12 +965,21 @@ typedef int32_t (*iEiiip_t)(int32_t, int32_t, int32_t, void*); typedef int32_t (*iEiiiN_t)(int32_t, int32_t, int32_t, ...); typedef int32_t (*iEiiII_t)(int32_t, int32_t, int64_t, int64_t); typedef int32_t (*iEiIIi_t)(int32_t, int64_t, int64_t, int32_t); +typedef int32_t (*iFiuii_t)(int32_t, uint32_t, int32_t, int32_t); +typedef int32_t (*iFiuuU_t)(int32_t, uint32_t, uint32_t, uint64_t); +typedef int32_t (*iFiuup_t)(int32_t, uint32_t, uint32_t, void*); +typedef int32_t (*iFiupu_t)(int32_t, uint32_t, void*, uint32_t); +typedef int32_t (*iFiupp_t)(int32_t, uint32_t, void*, void*); typedef int32_t (*iEilli_t)(int32_t, intptr_t, intptr_t, int32_t); +typedef int32_t (*iFiLpL_t)(int32_t, uintptr_t, void*, uintptr_t); typedef int32_t (*iEipii_t)(int32_t, void*, int32_t, int32_t); typedef int32_t (*iEipip_t)(int32_t, void*, int32_t, void*); typedef int32_t (*iEipui_t)(int32_t, void*, uint32_t, int32_t); typedef int32_t (*iEipup_t)(int32_t, void*, uint32_t, void*); +typedef int32_t (*iFipup_t)(int32_t, void*, uint32_t, void*); +typedef int32_t (*iFipLp_t)(int32_t, void*, uintptr_t, void*); typedef int32_t (*iEippi_t)(int32_t, void*, void*, int32_t); +typedef int32_t (*iFippu_t)(int32_t, void*, void*, uint32_t); typedef int32_t (*iEippL_t)(int32_t, void*, void*, uintptr_t); typedef int32_t (*iFippp_t)(int32_t, void*, void*, void*); typedef int32_t (*iEipON_t)(int32_t, void*, int32_t, ...); @@ -976,6 +996,7 @@ typedef int32_t (*iFpipp_t)(void*, int32_t, void*, void*); typedef int32_t (*iFpCCC_t)(void*, uint8_t, uint8_t, uint8_t); typedef int32_t (*iFpWWu_t)(void*, uint16_t, uint16_t, uint32_t); typedef int32_t (*iEpuiL_t)(void*, uint32_t, int32_t, uintptr_t); +typedef int32_t (*iFpuuU_t)(void*, uint32_t, uint32_t, uint64_t); typedef int32_t (*iFpuLp_t)(void*, uint32_t, uintptr_t, void*); typedef int32_t (*iFpupi_t)(void*, uint32_t, void*, int32_t); typedef int32_t (*iFpupp_t)(void*, uint32_t, void*, void*); @@ -1261,10 +1282,16 @@ typedef int32_t (*iFEXLpp_t)(x64emu_t*, void*, uintptr_t, void*, void*); typedef int32_t (*iFEXpLp_t)(x64emu_t*, void*, void*, uintptr_t, void*); typedef int32_t (*iFEXppu_t)(x64emu_t*, void*, void*, void*, uint32_t); typedef int32_t (*iFEXppp_t)(x64emu_t*, void*, void*, void*, void*); +typedef int32_t (*iFiiiui_t)(int32_t, int32_t, int32_t, uint32_t, int32_t); typedef int32_t (*iEiiipu_t)(int32_t, int32_t, int32_t, void*, uint32_t); typedef int32_t (*iEiiipp_t)(int32_t, int32_t, int32_t, void*, void*); +typedef int32_t (*iFiuuuu_t)(int32_t, uint32_t, uint32_t, uint32_t, uint32_t); +typedef int32_t (*iFiuuuU_t)(int32_t, uint32_t, uint32_t, uint32_t, uint64_t); +typedef int32_t (*iFiuuup_t)(int32_t, uint32_t, uint32_t, uint32_t, void*); typedef int32_t (*iEiLLLL_t)(int32_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t); +typedef int32_t (*iFipiip_t)(int32_t, void*, int32_t, int32_t, void*); typedef int32_t (*iEipLLi_t)(int32_t, void*, uintptr_t, uintptr_t, int32_t); +typedef int32_t (*iFippuu_t)(int32_t, void*, void*, uint32_t, uint32_t); typedef int32_t (*iEippLi_t)(int32_t, void*, void*, uintptr_t, int32_t); typedef int32_t (*iEipppi_t)(int32_t, void*, void*, void*, int32_t); typedef int32_t (*iEipppp_t)(int32_t, void*, void*, void*, void*); @@ -1445,7 +1472,13 @@ typedef int32_t (*iFEXLpiL_t)(x64emu_t*, void*, uintptr_t, void*, int32_t, uintp typedef int32_t (*iFEXpiip_t)(x64emu_t*, void*, void*, int32_t, int32_t, void*); typedef int32_t (*iFEXpiup_t)(x64emu_t*, void*, void*, int32_t, uint32_t, void*); typedef int32_t (*iFEXpppp_t)(x64emu_t*, void*, void*, void*, void*, void*); +typedef int32_t (*iFiuuuup_t)(int32_t, uint32_t, uint32_t, uint32_t, uint32_t, void*); +typedef int32_t (*iFiuuupu_t)(int32_t, uint32_t, uint32_t, uint32_t, void*, uint32_t); +typedef int32_t (*iFiuuUpU_t)(int32_t, uint32_t, uint32_t, uint64_t, void*, uint64_t); +typedef int32_t (*iFiuuppp_t)(int32_t, uint32_t, uint32_t, void*, void*, void*); +typedef int32_t (*iFiuUuUu_t)(int32_t, uint32_t, uint64_t, uint32_t, uint64_t, uint32_t); typedef int32_t (*iEipipLu_t)(int32_t, void*, int32_t, void*, uintptr_t, uint32_t); +typedef int32_t (*iFipuIup_t)(int32_t, void*, uint32_t, int64_t, uint32_t, void*); typedef int32_t (*iFuiiuup_t)(uint32_t, int32_t, int32_t, uint32_t, uint32_t, void*); typedef int32_t (*iFpiippp_t)(void*, int32_t, int32_t, void*, void*, void*); typedef int32_t (*iFppiiii_t)(void*, void*, int32_t, int32_t, int32_t, int32_t); @@ -1568,6 +1601,8 @@ typedef int32_t (*iEEpppppp_t)(x64emu_t*, void*, void*, void*, void*, void*, voi typedef int32_t (*iFEXLpiiL_t)(x64emu_t*, void*, uintptr_t, void*, int32_t, int32_t, uintptr_t); typedef int32_t (*iFEXLpppp_t)(x64emu_t*, void*, uintptr_t, void*, void*, void*, void*); typedef int32_t (*iFEXppppp_t)(x64emu_t*, void*, void*, void*, void*, void*, void*); +typedef int32_t (*iFiuuuuii_t)(int32_t, uint32_t, uint32_t, uint32_t, uint32_t, int32_t, int32_t); +typedef int32_t (*iFippuIup_t)(int32_t, void*, void*, uint32_t, int64_t, uint32_t, void*); typedef int32_t (*iFuiiiuup_t)(uint32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*); typedef int32_t (*iFpiuuuiu_t)(void*, int32_t, uint32_t, uint32_t, uint32_t, int32_t, uint32_t); typedef int32_t (*iFpWCiWCi_t)(void*, uint16_t, uint8_t, int32_t, uint16_t, uint8_t, int32_t); @@ -1637,6 +1672,9 @@ typedef void (*vFXppuulll_t)(void*, void*, void*, uint32_t, uint32_t, intptr_t, typedef int32_t (*iEEpippppp_t)(x64emu_t*, void*, int32_t, void*, void*, void*, void*, void*); typedef int32_t (*iEEpLiLppp_t)(x64emu_t*, void*, uintptr_t, int32_t, uintptr_t, void*, void*, void*); typedef int32_t (*iFEppipppp_t)(x64emu_t*, void*, void*, int32_t, void*, void*, void*, void*); +typedef int32_t (*iFiipppppp_t)(int32_t, int32_t, void*, void*, void*, void*, void*, void*); +typedef int32_t (*iFiuuCCuup_t)(int32_t, uint32_t, uint32_t, uint8_t, uint8_t, uint32_t, uint32_t, void*); +typedef int32_t (*iFiuuuupip_t)(int32_t, uint32_t, uint32_t, uint32_t, uint32_t, void*, int32_t, void*); typedef int32_t (*iFuiiiiuup_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*); typedef int32_t (*iFpuuiiuuu_t)(void*, uint32_t, uint32_t, int32_t, int32_t, uint32_t, uint32_t, uint32_t); typedef int32_t (*iFXuupuupp_t)(void*, uint32_t, uint32_t, void*, uint32_t, uint32_t, void*, void*); @@ -1682,6 +1720,7 @@ typedef void (*vFXiLLpiipi_t)(void*, int32_t, uintptr_t, uintptr_t, void*, int32 typedef void (*vFXLiiipiii_t)(void*, uintptr_t, int32_t, int32_t, int32_t, void*, int32_t, int32_t, int32_t); typedef int32_t (*iFEpuippupp_t)(x64emu_t*, void*, uint32_t, int32_t, void*, void*, uint32_t, void*, void*); typedef int32_t (*iFEXLLLiipi_t)(x64emu_t*, void*, uintptr_t, uintptr_t, uintptr_t, int32_t, int32_t, void*, int32_t); +typedef int32_t (*iFiuuuppppu_t)(int32_t, uint32_t, uint32_t, uint32_t, void*, void*, void*, void*, uint32_t); typedef int32_t (*iFuiiuuiiip_t)(uint32_t, int32_t, int32_t, uint32_t, uint32_t, int32_t, int32_t, int32_t, void*); typedef int32_t (*iFuiiupiiup_t)(uint32_t, int32_t, int32_t, uint32_t, void*, int32_t, int32_t, uint32_t, void*); typedef int32_t (*iFdddpppppp_t)(double, double, double, void*, void*, void*, void*, void*, void*); @@ -1723,6 +1762,7 @@ typedef void (*vFuddiiddiip_t)(uint32_t, double, double, int32_t, int32_t, doubl typedef void (*vFffffffffff_t)(float, float, float, float, float, float, float, float, float, float); typedef int32_t (*iFEppippippp_t)(x64emu_t*, void*, void*, int32_t, void*, void*, int32_t, void*, void*, void*); typedef int32_t (*iFEXpLiipiiL_t)(x64emu_t*, void*, void*, uintptr_t, int32_t, int32_t, void*, int32_t, int32_t, uintptr_t); +typedef int32_t (*iFiuuupppppu_t)(int32_t, uint32_t, uint32_t, uint32_t, void*, void*, void*, void*, void*, uint32_t); typedef int32_t (*iFuiiiuuiiip_t)(uint32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, int32_t, int32_t, int32_t, void*); typedef int32_t (*iFppuuiiuuuu_t)(void*, void*, uint32_t, uint32_t, int32_t, int32_t, uint32_t, uint32_t, uint32_t, uint32_t); typedef int32_t (*iFXiLLdduudd_t)(void*, int32_t, uintptr_t, uintptr_t, double, double, uint32_t, uint32_t, double, double); @@ -1775,6 +1815,7 @@ typedef void (*vFuUuuuuuuuuuuu_t)(uint32_t, uint64_t, uint32_t, uint32_t, uint32 typedef void (*vFuffffffffffff_t)(uint32_t, float, float, float, float, float, float, float, float, float, float, float, float); typedef void (*vFXiLLLiiiiiiuu_t)(void*, int32_t, uintptr_t, uintptr_t, uintptr_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t); typedef int32_t (*iFEXLLlliLppppp_t)(x64emu_t*, void*, uintptr_t, uintptr_t, intptr_t, intptr_t, int32_t, uintptr_t, void*, void*, void*, void*, void*); +typedef int32_t (*iFiuuuuiiuuuuuu_t)(int32_t, uint32_t, uint32_t, uint32_t, uint32_t, int32_t, int32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t); typedef int32_t (*iFddddpppddpppp_t)(double, double, double, double, void*, void*, void*, double, double, void*, void*, void*, void*); typedef int32_t (*iFXippuuuiipppp_t)(void*, int32_t, void*, void*, uint32_t, uint32_t, uint32_t, int32_t, int32_t, void*, void*, void*, void*); typedef uint32_t (*uFippuuuulllipp_t)(int32_t, void*, void*, uint32_t, uint32_t, uint32_t, uint32_t, intptr_t, intptr_t, intptr_t, int32_t, void*, void*); @@ -1901,6 +1942,7 @@ void lES_32(x64emu_t *emu, uintptr_t fcn) { lES_t fn = (lES_t)fcn; errno = emu-> void lFX_32(x64emu_t *emu, uintptr_t fcn) { lFX_t fn = (lFX_t)fcn; R_EAX = to_long(fn(getDisplay(from_ptriv(R_ESP + 4)))); } void LEv_32(x64emu_t *emu, uintptr_t fcn) { LEv_t fn = (LEv_t)fcn; errno = emu->libc_err; R_EAX = to_ulong(fn()); emu->libc_err = errno; } void LFv_32(x64emu_t *emu, uintptr_t fcn) { LFv_t fn = (LFv_t)fcn; R_EAX = to_ulong(fn()); } +void LFi_32(x64emu_t *emu, uintptr_t fcn) { LFi_t fn = (LFi_t)fcn; R_EAX = to_ulong(fn(from_ptri(int32_t, R_ESP + 4))); } void LEL_32(x64emu_t *emu, uintptr_t fcn) { LEL_t fn = (LEL_t)fcn; errno = emu->libc_err; R_EAX = to_ulong(fn(from_ulong(from_ptri(ulong_t, R_ESP + 4)))); emu->libc_err = errno; } void LEp_32(x64emu_t *emu, uintptr_t fcn) { LEp_t fn = (LEp_t)fcn; errno = emu->libc_err; R_EAX = to_ulong(fn(from_ptriv(R_ESP + 4))); emu->libc_err = errno; } void LFp_32(x64emu_t *emu, uintptr_t fcn) { LFp_t fn = (LFp_t)fcn; R_EAX = to_ulong(fn(from_ptriv(R_ESP + 4))); } @@ -2004,6 +2046,7 @@ void iEiI_32(x64emu_t *emu, uintptr_t fcn) { iEiI_t fn = (iEiI_t)fcn; errno = em void iEiu_32(x64emu_t *emu, uintptr_t fcn) { iEiu_t fn = (iEiu_t)fcn; errno = emu->libc_err; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8)); emu->libc_err = errno; } void iFiu_32(x64emu_t *emu, uintptr_t fcn) { iFiu_t fn = (iFiu_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8)); } void iEil_32(x64emu_t *emu, uintptr_t fcn) { iEil_t fn = (iEil_t)fcn; errno = emu->libc_err; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_long(from_ptri(long_t, R_ESP + 8))); emu->libc_err = errno; } +void iFiL_32(x64emu_t *emu, uintptr_t fcn) { iFiL_t fn = (iFiL_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ulong(from_ptri(ulong_t, R_ESP + 8))); } void iEip_32(x64emu_t *emu, uintptr_t fcn) { iEip_t fn = (iEip_t)fcn; errno = emu->libc_err; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8)); emu->libc_err = errno; } void iFip_32(x64emu_t *emu, uintptr_t fcn) { iFip_t fn = (iFip_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8)); } void iEiS_32(x64emu_t *emu, uintptr_t fcn) { iEiS_t fn = (iEiS_t)fcn; errno = emu->libc_err; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), io_convert32(from_ptriv(R_ESP + 8))); emu->libc_err = errno; } @@ -2286,16 +2329,25 @@ void iEEhp_32(x64emu_t *emu, uintptr_t fcn) { iEEhp_t fn = (iEEhp_t)fcn; errno = void iFEXp_32(x64emu_t *emu, uintptr_t fcn) { iFEXp_t fn = (iFEXp_t)fcn; R_EAX = fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8)); } void iEiii_32(x64emu_t *emu, uintptr_t fcn) { iEiii_t fn = (iEiii_t)fcn; errno = emu->libc_err; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12)); emu->libc_err = errno; } void iEiiI_32(x64emu_t *emu, uintptr_t fcn) { iEiiI_t fn = (iEiiI_t)fcn; errno = emu->libc_err; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int64_t, R_ESP + 12)); emu->libc_err = errno; } +void iFiiu_32(x64emu_t *emu, uintptr_t fcn) { iFiiu_t fn = (iFiiu_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12)); } void iEiil_32(x64emu_t *emu, uintptr_t fcn) { iEiil_t fn = (iEiil_t)fcn; errno = emu->libc_err; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_long(from_ptri(long_t, R_ESP + 12))); emu->libc_err = errno; } void iEiip_32(x64emu_t *emu, uintptr_t fcn) { iEiip_t fn = (iEiip_t)fcn; errno = emu->libc_err; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12)); emu->libc_err = errno; } void iFiip_32(x64emu_t *emu, uintptr_t fcn) { iFiip_t fn = (iFiip_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12)); } void iEiiO_32(x64emu_t *emu, uintptr_t fcn) { iEiiO_t fn = (iEiiO_t)fcn; errno = emu->libc_err; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), of_convert32(from_ptri(int32_t, R_ESP + 12))); emu->libc_err = errno; } void iEiII_32(x64emu_t *emu, uintptr_t fcn) { iEiII_t fn = (iEiII_t)fcn; errno = emu->libc_err; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int64_t, R_ESP + 8), from_ptri(int64_t, R_ESP + 16)); emu->libc_err = errno; } +void iFiui_32(x64emu_t *emu, uintptr_t fcn) { iFiui_t fn = (iFiui_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12)); } void iEiuu_32(x64emu_t *emu, uintptr_t fcn) { iEiuu_t fn = (iEiuu_t)fcn; errno = emu->libc_err; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12)); emu->libc_err = errno; } +void iFiuu_32(x64emu_t *emu, uintptr_t fcn) { iFiuu_t fn = (iFiuu_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12)); } +void iFiuL_32(x64emu_t *emu, uintptr_t fcn) { iFiuL_t fn = (iFiuL_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ulong(from_ptri(ulong_t, R_ESP + 12))); } void iEiup_32(x64emu_t *emu, uintptr_t fcn) { iEiup_t fn = (iEiup_t)fcn; errno = emu->libc_err; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12)); emu->libc_err = errno; } +void iFiup_32(x64emu_t *emu, uintptr_t fcn) { iFiup_t fn = (iFiup_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12)); } +void iFiUU_32(x64emu_t *emu, uintptr_t fcn) { iFiUU_t fn = (iFiUU_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint64_t, R_ESP + 8), from_ptri(uint64_t, R_ESP + 16)); } +void iFiUp_32(x64emu_t *emu, uintptr_t fcn) { iFiUp_t fn = (iFiUp_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint64_t, R_ESP + 8), from_ptriv(R_ESP + 16)); } +void iFidd_32(x64emu_t *emu, uintptr_t fcn) { iFidd_t fn = (iFidd_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(double, R_ESP + 8), from_ptri(double, R_ESP + 16)); } void iEill_32(x64emu_t *emu, uintptr_t fcn) { iEill_t fn = (iEill_t)fcn; errno = emu->libc_err; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_long(from_ptri(long_t, R_ESP + 8)), from_long(from_ptri(long_t, R_ESP + 12))); emu->libc_err = errno; } void iEiLi_32(x64emu_t *emu, uintptr_t fcn) { iEiLi_t fn = (iEiLi_t)fcn; errno = emu->libc_err; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12)); emu->libc_err = errno; } void iEiLp_32(x64emu_t *emu, uintptr_t fcn) { iEiLp_t fn = (iEiLp_t)fcn; errno = emu->libc_err; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12)); emu->libc_err = errno; } +void iFiLp_32(x64emu_t *emu, uintptr_t fcn) { iFiLp_t fn = (iFiLp_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12)); } void iFipi_32(x64emu_t *emu, uintptr_t fcn) { iFipi_t fn = (iFipi_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12)); } void iEipi_32(x64emu_t *emu, uintptr_t fcn) { iEipi_t fn = (iEipi_t)fcn; errno = emu->libc_err; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12)); emu->libc_err = errno; } void iEipu_32(x64emu_t *emu, uintptr_t fcn) { iEipu_t fn = (iEipu_t)fcn; errno = emu->libc_err; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12)); emu->libc_err = errno; } @@ -2672,12 +2724,21 @@ void iEiiip_32(x64emu_t *emu, uintptr_t fcn) { iEiiip_t fn = (iEiiip_t)fcn; errn void iEiiiN_32(x64emu_t *emu, uintptr_t fcn) { iEiiiN_t fn = (iEiiiN_t)fcn; errno = emu->libc_err; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16)); emu->libc_err = errno; } void iEiiII_32(x64emu_t *emu, uintptr_t fcn) { iEiiII_t fn = (iEiiII_t)fcn; errno = emu->libc_err; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int64_t, R_ESP + 12), from_ptri(int64_t, R_ESP + 20)); emu->libc_err = errno; } void iEiIIi_32(x64emu_t *emu, uintptr_t fcn) { iEiIIi_t fn = (iEiIIi_t)fcn; errno = emu->libc_err; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int64_t, R_ESP + 8), from_ptri(int64_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 24)); emu->libc_err = errno; } +void iFiuii_32(x64emu_t *emu, uintptr_t fcn) { iFiuii_t fn = (iFiuii_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); } +void iFiuuU_32(x64emu_t *emu, uintptr_t fcn) { iFiuuU_t fn = (iFiuuU_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint64_t, R_ESP + 16)); } +void iFiuup_32(x64emu_t *emu, uintptr_t fcn) { iFiuup_t fn = (iFiuup_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptriv(R_ESP + 16)); } +void iFiupu_32(x64emu_t *emu, uintptr_t fcn) { iFiupu_t fn = (iFiupu_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(uint32_t, R_ESP + 16)); } +void iFiupp_32(x64emu_t *emu, uintptr_t fcn) { iFiupp_t fn = (iFiupp_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16)); } void iEilli_32(x64emu_t *emu, uintptr_t fcn) { iEilli_t fn = (iEilli_t)fcn; errno = emu->libc_err; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_long(from_ptri(long_t, R_ESP + 8)), from_long(from_ptri(long_t, R_ESP + 12)), from_ptri(int32_t, R_ESP + 16)); emu->libc_err = errno; } +void iFiLpL_32(x64emu_t *emu, uintptr_t fcn) { iFiLpL_t fn = (iFiLpL_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ulong(from_ptri(ulong_t, R_ESP + 16))); } void iEipii_32(x64emu_t *emu, uintptr_t fcn) { iEipii_t fn = (iEipii_t)fcn; errno = emu->libc_err; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); emu->libc_err = errno; } void iEipip_32(x64emu_t *emu, uintptr_t fcn) { iEipip_t fn = (iEipip_t)fcn; errno = emu->libc_err; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16)); emu->libc_err = errno; } void iEipui_32(x64emu_t *emu, uintptr_t fcn) { iEipui_t fn = (iEipui_t)fcn; errno = emu->libc_err; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); emu->libc_err = errno; } void iEipup_32(x64emu_t *emu, uintptr_t fcn) { iEipup_t fn = (iEipup_t)fcn; errno = emu->libc_err; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptriv(R_ESP + 16)); emu->libc_err = errno; } +void iFipup_32(x64emu_t *emu, uintptr_t fcn) { iFipup_t fn = (iFipup_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptriv(R_ESP + 16)); } +void iFipLp_32(x64emu_t *emu, uintptr_t fcn) { iFipLp_t fn = (iFipLp_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptriv(R_ESP + 16)); } void iEippi_32(x64emu_t *emu, uintptr_t fcn) { iEippi_t fn = (iEippi_t)fcn; errno = emu->libc_err; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); emu->libc_err = errno; } +void iFippu_32(x64emu_t *emu, uintptr_t fcn) { iFippu_t fn = (iFippu_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(uint32_t, R_ESP + 16)); } void iEippL_32(x64emu_t *emu, uintptr_t fcn) { iEippL_t fn = (iEippL_t)fcn; errno = emu->libc_err; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ulong(from_ptri(ulong_t, R_ESP + 16))); emu->libc_err = errno; } void iFippp_32(x64emu_t *emu, uintptr_t fcn) { iFippp_t fn = (iFippp_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16)); } void iEipON_32(x64emu_t *emu, uintptr_t fcn) { iEipON_t fn = (iEipON_t)fcn; errno = emu->libc_err; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), of_convert32(from_ptri(int32_t, R_ESP + 12)), from_ptriv(R_ESP + 16)); emu->libc_err = errno; } @@ -2694,6 +2755,7 @@ void iFpipp_32(x64emu_t *emu, uintptr_t fcn) { iFpipp_t fn = (iFpipp_t)fcn; R_EA void iFpCCC_32(x64emu_t *emu, uintptr_t fcn) { iFpCCC_t fn = (iFpCCC_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(uint8_t, R_ESP + 8), from_ptri(uint8_t, R_ESP + 12), from_ptri(uint8_t, R_ESP + 16)); } void iFpWWu_32(x64emu_t *emu, uintptr_t fcn) { iFpWWu_t fn = (iFpWWu_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(uint16_t, R_ESP + 8), from_ptri(uint16_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16)); } void iEpuiL_32(x64emu_t *emu, uintptr_t fcn) { iEpuiL_t fn = (iEpuiL_t)fcn; errno = emu->libc_err; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ulong(from_ptri(ulong_t, R_ESP + 16))); emu->libc_err = errno; } +void iFpuuU_32(x64emu_t *emu, uintptr_t fcn) { iFpuuU_t fn = (iFpuuU_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint64_t, R_ESP + 16)); } void iFpuLp_32(x64emu_t *emu, uintptr_t fcn) { iFpuLp_t fn = (iFpuLp_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptriv(R_ESP + 16)); } void iFpupi_32(x64emu_t *emu, uintptr_t fcn) { iFpupi_t fn = (iFpupi_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); } void iFpupp_32(x64emu_t *emu, uintptr_t fcn) { iFpupp_t fn = (iFpupp_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16)); } @@ -2979,10 +3041,16 @@ void iFEXLpp_32(x64emu_t *emu, uintptr_t fcn) { iFEXLpp_t fn = (iFEXLpp_t)fcn; R void iFEXpLp_32(x64emu_t *emu, uintptr_t fcn) { iFEXpLp_t fn = (iFEXpLp_t)fcn; R_EAX = fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptriv(R_ESP + 16)); } void iFEXppu_32(x64emu_t *emu, uintptr_t fcn) { iFEXppu_t fn = (iFEXppu_t)fcn; R_EAX = fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(uint32_t, R_ESP + 16)); } void iFEXppp_32(x64emu_t *emu, uintptr_t fcn) { iFEXppp_t fn = (iFEXppp_t)fcn; R_EAX = fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16)); } +void iFiiiui_32(x64emu_t *emu, uintptr_t fcn) { iFiiiui_t fn = (iFiiiui_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20)); } void iEiiipu_32(x64emu_t *emu, uintptr_t fcn) { iEiiipu_t fn = (iEiiipu_t)fcn; errno = emu->libc_err; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptri(uint32_t, R_ESP + 20)); emu->libc_err = errno; } void iEiiipp_32(x64emu_t *emu, uintptr_t fcn) { iEiiipp_t fn = (iEiiipp_t)fcn; errno = emu->libc_err; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20)); emu->libc_err = errno; } +void iFiuuuu_32(x64emu_t *emu, uintptr_t fcn) { iFiuuuu_t fn = (iFiuuuu_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20)); } +void iFiuuuU_32(x64emu_t *emu, uintptr_t fcn) { iFiuuuU_t fn = (iFiuuuU_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint64_t, R_ESP + 20)); } +void iFiuuup_32(x64emu_t *emu, uintptr_t fcn) { iFiuuup_t fn = (iFiuuup_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptriv(R_ESP + 20)); } void iEiLLLL_32(x64emu_t *emu, uintptr_t fcn) { iEiLLLL_t fn = (iEiLLLL_t)fcn; errno = emu->libc_err; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ulong(from_ptri(ulong_t, R_ESP + 16)), from_ulong(from_ptri(ulong_t, R_ESP + 20))); emu->libc_err = errno; } +void iFipiip_32(x64emu_t *emu, uintptr_t fcn) { iFipiip_t fn = (iFipiip_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptriv(R_ESP + 20)); } void iEipLLi_32(x64emu_t *emu, uintptr_t fcn) { iEipLLi_t fn = (iEipLLi_t)fcn; errno = emu->libc_err; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ulong(from_ptri(ulong_t, R_ESP + 16)), from_ptri(int32_t, R_ESP + 20)); emu->libc_err = errno; } +void iFippuu_32(x64emu_t *emu, uintptr_t fcn) { iFippuu_t fn = (iFippuu_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20)); } void iEippLi_32(x64emu_t *emu, uintptr_t fcn) { iEippLi_t fn = (iEippLi_t)fcn; errno = emu->libc_err; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ulong(from_ptri(ulong_t, R_ESP + 16)), from_ptri(int32_t, R_ESP + 20)); emu->libc_err = errno; } void iEipppi_32(x64emu_t *emu, uintptr_t fcn) { iEipppi_t fn = (iEipppi_t)fcn; errno = emu->libc_err; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptri(int32_t, R_ESP + 20)); emu->libc_err = errno; } void iEipppp_32(x64emu_t *emu, uintptr_t fcn) { iEipppp_t fn = (iEipppp_t)fcn; errno = emu->libc_err; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20)); emu->libc_err = errno; } @@ -3163,7 +3231,13 @@ void iFEXLpiL_32(x64emu_t *emu, uintptr_t fcn) { iFEXLpiL_t fn = (iFEXLpiL_t)fcn void iFEXpiip_32(x64emu_t *emu, uintptr_t fcn) { iFEXpiip_t fn = (iFEXpiip_t)fcn; R_EAX = fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptriv(R_ESP + 20)); } void iFEXpiup_32(x64emu_t *emu, uintptr_t fcn) { iFEXpiup_t fn = (iFEXpiup_t)fcn; R_EAX = fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptriv(R_ESP + 20)); } void iFEXpppp_32(x64emu_t *emu, uintptr_t fcn) { iFEXpppp_t fn = (iFEXpppp_t)fcn; R_EAX = fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20)); } +void iFiuuuup_32(x64emu_t *emu, uintptr_t fcn) { iFiuuuup_t fn = (iFiuuuup_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptriv(R_ESP + 24)); } +void iFiuuupu_32(x64emu_t *emu, uintptr_t fcn) { iFiuuupu_t fn = (iFiuuupu_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptriv(R_ESP + 20), from_ptri(uint32_t, R_ESP + 24)); } +void iFiuuUpU_32(x64emu_t *emu, uintptr_t fcn) { iFiuuUpU_t fn = (iFiuuUpU_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint64_t, R_ESP + 16), from_ptriv(R_ESP + 24), from_ptri(uint64_t, R_ESP + 28)); } +void iFiuuppp_32(x64emu_t *emu, uintptr_t fcn) { iFiuuppp_t fn = (iFiuuppp_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24)); } +void iFiuUuUu_32(x64emu_t *emu, uintptr_t fcn) { iFiuUuUu_t fn = (iFiuUuUu_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint64_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint64_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 32)); } void iEipipLu_32(x64emu_t *emu, uintptr_t fcn) { iEipipLu_t fn = (iEipipLu_t)fcn; errno = emu->libc_err; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ulong(from_ptri(ulong_t, R_ESP + 20)), from_ptri(uint32_t, R_ESP + 24)); emu->libc_err = errno; } +void iFipuIup_32(x64emu_t *emu, uintptr_t fcn) { iFipuIup_t fn = (iFipuIup_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(int64_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 24), from_ptriv(R_ESP + 28)); } void iFuiiuup_32(x64emu_t *emu, uintptr_t fcn) { iFuiiuup_t fn = (iFuiiuup_t)fcn; R_EAX = fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptriv(R_ESP + 24)); } void iFpiippp_32(x64emu_t *emu, uintptr_t fcn) { iFpiippp_t fn = (iFpiippp_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24)); } void iFppiiii_32(x64emu_t *emu, uintptr_t fcn) { iFppiiii_t fn = (iFppiiii_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24)); } @@ -3286,6 +3360,8 @@ void iEEpppppp_32(x64emu_t *emu, uintptr_t fcn) { iEEpppppp_t fn = (iEEpppppp_t) void iFEXLpiiL_32(x64emu_t *emu, uintptr_t fcn) { iFEXLpiiL_t fn = (iFEXLpiiL_t)fcn; R_EAX = fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ulong(from_ptri(ulong_t, R_ESP + 24))); } void iFEXLpppp_32(x64emu_t *emu, uintptr_t fcn) { iFEXLpppp_t fn = (iFEXLpppp_t)fcn; R_EAX = fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24)); } void iFEXppppp_32(x64emu_t *emu, uintptr_t fcn) { iFEXppppp_t fn = (iFEXppppp_t)fcn; R_EAX = fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24)); } +void iFiuuuuii_32(x64emu_t *emu, uintptr_t fcn) { iFiuuuuii_t fn = (iFiuuuuii_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28)); } +void iFippuIup_32(x64emu_t *emu, uintptr_t fcn) { iFippuIup_t fn = (iFippuIup_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(int64_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 28), from_ptriv(R_ESP + 32)); } void iFuiiiuup_32(x64emu_t *emu, uintptr_t fcn) { iFuiiiuup_t fn = (iFuiiiuup_t)fcn; R_EAX = fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptriv(R_ESP + 28)); } void iFpiuuuiu_32(x64emu_t *emu, uintptr_t fcn) { iFpiuuuiu_t fn = (iFpiuuuiu_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28)); } void iFpWCiWCi_32(x64emu_t *emu, uintptr_t fcn) { iFpWCiWCi_t fn = (iFpWCiWCi_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(uint16_t, R_ESP + 8), from_ptri(uint8_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(uint16_t, R_ESP + 20), from_ptri(uint8_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28)); } @@ -3355,6 +3431,9 @@ void vFXppuulll_32(x64emu_t *emu, uintptr_t fcn) { vFXppuulll_t fn = (vFXppuulll void iEEpippppp_32(x64emu_t *emu, uintptr_t fcn) { iEEpippppp_t fn = (iEEpippppp_t)fcn; errno = emu->libc_err; R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24), from_ptriv(R_ESP + 28)); emu->libc_err = errno; } void iEEpLiLppp_32(x64emu_t *emu, uintptr_t fcn) { iEEpLiLppp_t fn = (iEEpLiLppp_t)fcn; errno = emu->libc_err; R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), from_ulong(from_ptri(ulong_t, R_ESP + 16)), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24), from_ptriv(R_ESP + 28)); emu->libc_err = errno; } void iFEppipppp_32(x64emu_t *emu, uintptr_t fcn) { iFEppipppp_t fn = (iFEppipppp_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24), from_ptriv(R_ESP + 28)); } +void iFiipppppp_32(x64emu_t *emu, uintptr_t fcn) { iFiipppppp_t fn = (iFiipppppp_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24), from_ptriv(R_ESP + 28), from_ptriv(R_ESP + 32)); } +void iFiuuCCuup_32(x64emu_t *emu, uintptr_t fcn) { iFiuuCCuup_t fn = (iFiuuCCuup_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint8_t, R_ESP + 16), from_ptri(uint8_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptriv(R_ESP + 32)); } +void iFiuuuupip_32(x64emu_t *emu, uintptr_t fcn) { iFiuuuupip_t fn = (iFiuuuupip_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptriv(R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptriv(R_ESP + 32)); } void iFuiiiiuup_32(x64emu_t *emu, uintptr_t fcn) { iFuiiiiuup_t fn = (iFuiiiiuup_t)fcn; R_EAX = fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptriv(R_ESP + 32)); } void iFpuuiiuuu_32(x64emu_t *emu, uintptr_t fcn) { iFpuuiiuuu_t fn = (iFpuuiiuuu_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32)); } void iFXuupuupp_32(x64emu_t *emu, uintptr_t fcn) { iFXuupuupp_t fn = (iFXuupuupp_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptriv(R_ESP + 28), from_ptriv(R_ESP + 32)); } @@ -3400,6 +3479,7 @@ void vFXiLLpiipi_32(x64emu_t *emu, uintptr_t fcn) { vFXiLLpiipi_t fn = (vFXiLLpi void vFXLiiipiii_32(x64emu_t *emu, uintptr_t fcn) { vFXLiiipiii_t fn = (vFXLiiipiii_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptriv(R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36)); } void iFEpuippupp_32(x64emu_t *emu, uintptr_t fcn) { iFEpuippupp_t fn = (iFEpuippupp_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptriv(R_ESP + 28), from_ptriv(R_ESP + 32)); } void iFEXLLLiipi_32(x64emu_t *emu, uintptr_t fcn) { iFEXLLLiipi_t fn = (iFEXLLLiipi_t)fcn; R_EAX = fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ulong(from_ptri(ulong_t, R_ESP + 16)), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptriv(R_ESP + 28), from_ptri(int32_t, R_ESP + 32)); } +void iFiuuuppppu_32(x64emu_t *emu, uintptr_t fcn) { iFiuuuppppu_t fn = (iFiuuuppppu_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24), from_ptriv(R_ESP + 28), from_ptriv(R_ESP + 32), from_ptri(uint32_t, R_ESP + 36)); } void iFuiiuuiiip_32(x64emu_t *emu, uintptr_t fcn) { iFuiiuuiiip_t fn = (iFuiiuuiiip_t)fcn; R_EAX = fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptriv(R_ESP + 36)); } void iFuiiupiiup_32(x64emu_t *emu, uintptr_t fcn) { iFuiiupiiup_t fn = (iFuiiupiiup_t)fcn; R_EAX = fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptriv(R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32), from_ptriv(R_ESP + 36)); } void iFdddpppppp_32(x64emu_t *emu, uintptr_t fcn) { iFdddpppppp_t fn = (iFdddpppppp_t)fcn; R_EAX = fn(from_ptri(double, R_ESP + 4), from_ptri(double, R_ESP + 12), from_ptri(double, R_ESP + 20), from_ptriv(R_ESP + 28), from_ptriv(R_ESP + 32), from_ptriv(R_ESP + 36), from_ptriv(R_ESP + 40), from_ptriv(R_ESP + 44), from_ptriv(R_ESP + 48)); } @@ -3441,6 +3521,7 @@ void vFuddiiddiip_32(x64emu_t *emu, uintptr_t fcn) { vFuddiiddiip_t fn = (vFuddi void vFffffffffff_32(x64emu_t *emu, uintptr_t fcn) { vFffffffffff_t fn = (vFffffffffff_t)fcn; fn(from_ptri(float, R_ESP + 4), from_ptri(float, R_ESP + 8), from_ptri(float, R_ESP + 12), from_ptri(float, R_ESP + 16), from_ptri(float, R_ESP + 20), from_ptri(float, R_ESP + 24), from_ptri(float, R_ESP + 28), from_ptri(float, R_ESP + 32), from_ptri(float, R_ESP + 36), from_ptri(float, R_ESP + 40)); } void iFEppippippp_32(x64emu_t *emu, uintptr_t fcn) { iFEppippippp_t fn = (iFEppippippp_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptriv(R_ESP + 28), from_ptriv(R_ESP + 32), from_ptriv(R_ESP + 36)); } void iFEXpLiipiiL_32(x64emu_t *emu, uintptr_t fcn) { iFEXpLiipiiL_t fn = (iFEXpLiipiiL_t)fcn; R_EAX = fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptriv(R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ulong(from_ptri(ulong_t, R_ESP + 36))); } +void iFiuuupppppu_32(x64emu_t *emu, uintptr_t fcn) { iFiuuupppppu_t fn = (iFiuuupppppu_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24), from_ptriv(R_ESP + 28), from_ptriv(R_ESP + 32), from_ptriv(R_ESP + 36), from_ptri(uint32_t, R_ESP + 40)); } void iFuiiiuuiiip_32(x64emu_t *emu, uintptr_t fcn) { iFuiiiuuiiip_t fn = (iFuiiiuuiiip_t)fcn; R_EAX = fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36), from_ptriv(R_ESP + 40)); } void iFppuuiiuuuu_32(x64emu_t *emu, uintptr_t fcn) { iFppuuiiuuuu_t fn = (iFppuuiiuuuu_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32), from_ptri(uint32_t, R_ESP + 36), from_ptri(uint32_t, R_ESP + 40)); } void iFXiLLdduudd_32(x64emu_t *emu, uintptr_t fcn) { iFXiLLdduudd_t fn = (iFXiLLdduudd_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ulong(from_ptri(ulong_t, R_ESP + 16)), from_ptri(double, R_ESP + 20), from_ptri(double, R_ESP + 28), from_ptri(uint32_t, R_ESP + 36), from_ptri(uint32_t, R_ESP + 40), from_ptri(double, R_ESP + 44), from_ptri(double, R_ESP + 52)); } @@ -3493,6 +3574,7 @@ void vFuUuuuuuuuuuuu_32(x64emu_t *emu, uintptr_t fcn) { vFuUuuuuuuuuuuu_t fn = ( void vFuffffffffffff_32(x64emu_t *emu, uintptr_t fcn) { vFuffffffffffff_t fn = (vFuffffffffffff_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(float, R_ESP + 8), from_ptri(float, R_ESP + 12), from_ptri(float, R_ESP + 16), from_ptri(float, R_ESP + 20), from_ptri(float, R_ESP + 24), from_ptri(float, R_ESP + 28), from_ptri(float, R_ESP + 32), from_ptri(float, R_ESP + 36), from_ptri(float, R_ESP + 40), from_ptri(float, R_ESP + 44), from_ptri(float, R_ESP + 48), from_ptri(float, R_ESP + 52)); } void vFXiLLLiiiiiiuu_32(x64emu_t *emu, uintptr_t fcn) { vFXiLLLiiiiiiuu_t fn = (vFXiLLLiiiiiiuu_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ulong(from_ptri(ulong_t, R_ESP + 16)), from_ulong(from_ptri(ulong_t, R_ESP + 20)), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36), from_ptri(int32_t, R_ESP + 40), from_ptri(int32_t, R_ESP + 44), from_ptri(uint32_t, R_ESP + 48), from_ptri(uint32_t, R_ESP + 52)); } void iFEXLLlliLppppp_32(x64emu_t *emu, uintptr_t fcn) { iFEXLLlliLppppp_t fn = (iFEXLLlliLppppp_t)fcn; R_EAX = fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_long(from_ptri(long_t, R_ESP + 16)), from_long(from_ptri(long_t, R_ESP + 20)), from_ptri(int32_t, R_ESP + 24), from_ulong(from_ptri(ulong_t, R_ESP + 28)), from_ptriv(R_ESP + 32), from_ptriv(R_ESP + 36), from_ptriv(R_ESP + 40), from_ptriv(R_ESP + 44), from_ptriv(R_ESP + 48)); } +void iFiuuuuiiuuuuuu_32(x64emu_t *emu, uintptr_t fcn) { iFiuuuuiiuuuuuu_t fn = (iFiuuuuiiuuuuuu_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32), from_ptri(uint32_t, R_ESP + 36), from_ptri(uint32_t, R_ESP + 40), from_ptri(uint32_t, R_ESP + 44), from_ptri(uint32_t, R_ESP + 48), from_ptri(uint32_t, R_ESP + 52)); } void iFddddpppddpppp_32(x64emu_t *emu, uintptr_t fcn) { iFddddpppddpppp_t fn = (iFddddpppddpppp_t)fcn; R_EAX = fn(from_ptri(double, R_ESP + 4), from_ptri(double, R_ESP + 12), from_ptri(double, R_ESP + 20), from_ptri(double, R_ESP + 28), from_ptriv(R_ESP + 36), from_ptriv(R_ESP + 40), from_ptriv(R_ESP + 44), from_ptri(double, R_ESP + 48), from_ptri(double, R_ESP + 56), from_ptriv(R_ESP + 64), from_ptriv(R_ESP + 68), from_ptriv(R_ESP + 72), from_ptriv(R_ESP + 76)); } void iFXippuuuiipppp_32(x64emu_t *emu, uintptr_t fcn) { iFXippuuuiipppp_t fn = (iFXippuuuiipppp_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36), from_ptriv(R_ESP + 40), from_ptriv(R_ESP + 44), from_ptriv(R_ESP + 48), from_ptriv(R_ESP + 52)); } void uFippuuuulllipp_32(x64emu_t *emu, uintptr_t fcn) { uFippuuuulllipp_t fn = (uFippuuuulllipp_t)fcn; R_EAX = (uint32_t)fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_long(from_ptri(long_t, R_ESP + 32)), from_long(from_ptri(long_t, R_ESP + 36)), from_long(from_ptri(long_t, R_ESP + 40)), from_ptri(int32_t, R_ESP + 44), from_ptriv(R_ESP + 48), from_ptriv(R_ESP + 52)); } diff --git a/src/wrapped32/generated/wrapper32.h b/src/wrapped32/generated/wrapper32.h index 8a49f4ae..56328d42 100644 --- a/src/wrapped32/generated/wrapper32.h +++ b/src/wrapped32/generated/wrapper32.h @@ -133,6 +133,7 @@ void lES_32(x64emu_t *emu, uintptr_t fnc); void lFX_32(x64emu_t *emu, uintptr_t fnc); void LEv_32(x64emu_t *emu, uintptr_t fnc); void LFv_32(x64emu_t *emu, uintptr_t fnc); +void LFi_32(x64emu_t *emu, uintptr_t fnc); void LEL_32(x64emu_t *emu, uintptr_t fnc); void LEp_32(x64emu_t *emu, uintptr_t fnc); void LFp_32(x64emu_t *emu, uintptr_t fnc); @@ -236,6 +237,7 @@ void iEiI_32(x64emu_t *emu, uintptr_t fnc); void iEiu_32(x64emu_t *emu, uintptr_t fnc); void iFiu_32(x64emu_t *emu, uintptr_t fnc); void iEil_32(x64emu_t *emu, uintptr_t fnc); +void iFiL_32(x64emu_t *emu, uintptr_t fnc); void iEip_32(x64emu_t *emu, uintptr_t fnc); void iFip_32(x64emu_t *emu, uintptr_t fnc); void iEiS_32(x64emu_t *emu, uintptr_t fnc); @@ -518,16 +520,25 @@ void iEEhp_32(x64emu_t *emu, uintptr_t fnc); void iFEXp_32(x64emu_t *emu, uintptr_t fnc); void iEiii_32(x64emu_t *emu, uintptr_t fnc); void iEiiI_32(x64emu_t *emu, uintptr_t fnc); +void iFiiu_32(x64emu_t *emu, uintptr_t fnc); void iEiil_32(x64emu_t *emu, uintptr_t fnc); void iEiip_32(x64emu_t *emu, uintptr_t fnc); void iFiip_32(x64emu_t *emu, uintptr_t fnc); void iEiiO_32(x64emu_t *emu, uintptr_t fnc); void iEiII_32(x64emu_t *emu, uintptr_t fnc); +void iFiui_32(x64emu_t *emu, uintptr_t fnc); void iEiuu_32(x64emu_t *emu, uintptr_t fnc); +void iFiuu_32(x64emu_t *emu, uintptr_t fnc); +void iFiuL_32(x64emu_t *emu, uintptr_t fnc); void iEiup_32(x64emu_t *emu, uintptr_t fnc); +void iFiup_32(x64emu_t *emu, uintptr_t fnc); +void iFiUU_32(x64emu_t *emu, uintptr_t fnc); +void iFiUp_32(x64emu_t *emu, uintptr_t fnc); +void iFidd_32(x64emu_t *emu, uintptr_t fnc); void iEill_32(x64emu_t *emu, uintptr_t fnc); void iEiLi_32(x64emu_t *emu, uintptr_t fnc); void iEiLp_32(x64emu_t *emu, uintptr_t fnc); +void iFiLp_32(x64emu_t *emu, uintptr_t fnc); void iFipi_32(x64emu_t *emu, uintptr_t fnc); void iEipi_32(x64emu_t *emu, uintptr_t fnc); void iEipu_32(x64emu_t *emu, uintptr_t fnc); @@ -904,12 +915,21 @@ void iEiiip_32(x64emu_t *emu, uintptr_t fnc); void iEiiiN_32(x64emu_t *emu, uintptr_t fnc); void iEiiII_32(x64emu_t *emu, uintptr_t fnc); void iEiIIi_32(x64emu_t *emu, uintptr_t fnc); +void iFiuii_32(x64emu_t *emu, uintptr_t fnc); +void iFiuuU_32(x64emu_t *emu, uintptr_t fnc); +void iFiuup_32(x64emu_t *emu, uintptr_t fnc); +void iFiupu_32(x64emu_t *emu, uintptr_t fnc); +void iFiupp_32(x64emu_t *emu, uintptr_t fnc); void iEilli_32(x64emu_t *emu, uintptr_t fnc); +void iFiLpL_32(x64emu_t *emu, uintptr_t fnc); void iEipii_32(x64emu_t *emu, uintptr_t fnc); void iEipip_32(x64emu_t *emu, uintptr_t fnc); void iEipui_32(x64emu_t *emu, uintptr_t fnc); void iEipup_32(x64emu_t *emu, uintptr_t fnc); +void iFipup_32(x64emu_t *emu, uintptr_t fnc); +void iFipLp_32(x64emu_t *emu, uintptr_t fnc); void iEippi_32(x64emu_t *emu, uintptr_t fnc); +void iFippu_32(x64emu_t *emu, uintptr_t fnc); void iEippL_32(x64emu_t *emu, uintptr_t fnc); void iFippp_32(x64emu_t *emu, uintptr_t fnc); void iEipON_32(x64emu_t *emu, uintptr_t fnc); @@ -926,6 +946,7 @@ void iFpipp_32(x64emu_t *emu, uintptr_t fnc); void iFpCCC_32(x64emu_t *emu, uintptr_t fnc); void iFpWWu_32(x64emu_t *emu, uintptr_t fnc); void iEpuiL_32(x64emu_t *emu, uintptr_t fnc); +void iFpuuU_32(x64emu_t *emu, uintptr_t fnc); void iFpuLp_32(x64emu_t *emu, uintptr_t fnc); void iFpupi_32(x64emu_t *emu, uintptr_t fnc); void iFpupp_32(x64emu_t *emu, uintptr_t fnc); @@ -1211,10 +1232,16 @@ void iFEXLpp_32(x64emu_t *emu, uintptr_t fnc); void iFEXpLp_32(x64emu_t *emu, uintptr_t fnc); void iFEXppu_32(x64emu_t *emu, uintptr_t fnc); void iFEXppp_32(x64emu_t *emu, uintptr_t fnc); +void iFiiiui_32(x64emu_t *emu, uintptr_t fnc); void iEiiipu_32(x64emu_t *emu, uintptr_t fnc); void iEiiipp_32(x64emu_t *emu, uintptr_t fnc); +void iFiuuuu_32(x64emu_t *emu, uintptr_t fnc); +void iFiuuuU_32(x64emu_t *emu, uintptr_t fnc); +void iFiuuup_32(x64emu_t *emu, uintptr_t fnc); void iEiLLLL_32(x64emu_t *emu, uintptr_t fnc); +void iFipiip_32(x64emu_t *emu, uintptr_t fnc); void iEipLLi_32(x64emu_t *emu, uintptr_t fnc); +void iFippuu_32(x64emu_t *emu, uintptr_t fnc); void iEippLi_32(x64emu_t *emu, uintptr_t fnc); void iEipppi_32(x64emu_t *emu, uintptr_t fnc); void iEipppp_32(x64emu_t *emu, uintptr_t fnc); @@ -1395,7 +1422,13 @@ void iFEXLpiL_32(x64emu_t *emu, uintptr_t fnc); void iFEXpiip_32(x64emu_t *emu, uintptr_t fnc); void iFEXpiup_32(x64emu_t *emu, uintptr_t fnc); void iFEXpppp_32(x64emu_t *emu, uintptr_t fnc); +void iFiuuuup_32(x64emu_t *emu, uintptr_t fnc); +void iFiuuupu_32(x64emu_t *emu, uintptr_t fnc); +void iFiuuUpU_32(x64emu_t *emu, uintptr_t fnc); +void iFiuuppp_32(x64emu_t *emu, uintptr_t fnc); +void iFiuUuUu_32(x64emu_t *emu, uintptr_t fnc); void iEipipLu_32(x64emu_t *emu, uintptr_t fnc); +void iFipuIup_32(x64emu_t *emu, uintptr_t fnc); void iFuiiuup_32(x64emu_t *emu, uintptr_t fnc); void iFpiippp_32(x64emu_t *emu, uintptr_t fnc); void iFppiiii_32(x64emu_t *emu, uintptr_t fnc); @@ -1518,6 +1551,8 @@ void iEEpppppp_32(x64emu_t *emu, uintptr_t fnc); void iFEXLpiiL_32(x64emu_t *emu, uintptr_t fnc); void iFEXLpppp_32(x64emu_t *emu, uintptr_t fnc); void iFEXppppp_32(x64emu_t *emu, uintptr_t fnc); +void iFiuuuuii_32(x64emu_t *emu, uintptr_t fnc); +void iFippuIup_32(x64emu_t *emu, uintptr_t fnc); void iFuiiiuup_32(x64emu_t *emu, uintptr_t fnc); void iFpiuuuiu_32(x64emu_t *emu, uintptr_t fnc); void iFpWCiWCi_32(x64emu_t *emu, uintptr_t fnc); @@ -1587,6 +1622,9 @@ void vFXppuulll_32(x64emu_t *emu, uintptr_t fnc); void iEEpippppp_32(x64emu_t *emu, uintptr_t fnc); void iEEpLiLppp_32(x64emu_t *emu, uintptr_t fnc); void iFEppipppp_32(x64emu_t *emu, uintptr_t fnc); +void iFiipppppp_32(x64emu_t *emu, uintptr_t fnc); +void iFiuuCCuup_32(x64emu_t *emu, uintptr_t fnc); +void iFiuuuupip_32(x64emu_t *emu, uintptr_t fnc); void iFuiiiiuup_32(x64emu_t *emu, uintptr_t fnc); void iFpuuiiuuu_32(x64emu_t *emu, uintptr_t fnc); void iFXuupuupp_32(x64emu_t *emu, uintptr_t fnc); @@ -1632,6 +1670,7 @@ void vFXiLLpiipi_32(x64emu_t *emu, uintptr_t fnc); void vFXLiiipiii_32(x64emu_t *emu, uintptr_t fnc); void iFEpuippupp_32(x64emu_t *emu, uintptr_t fnc); void iFEXLLLiipi_32(x64emu_t *emu, uintptr_t fnc); +void iFiuuuppppu_32(x64emu_t *emu, uintptr_t fnc); void iFuiiuuiiip_32(x64emu_t *emu, uintptr_t fnc); void iFuiiupiiup_32(x64emu_t *emu, uintptr_t fnc); void iFdddpppppp_32(x64emu_t *emu, uintptr_t fnc); @@ -1673,6 +1712,7 @@ void vFuddiiddiip_32(x64emu_t *emu, uintptr_t fnc); void vFffffffffff_32(x64emu_t *emu, uintptr_t fnc); void iFEppippippp_32(x64emu_t *emu, uintptr_t fnc); void iFEXpLiipiiL_32(x64emu_t *emu, uintptr_t fnc); +void iFiuuupppppu_32(x64emu_t *emu, uintptr_t fnc); void iFuiiiuuiiip_32(x64emu_t *emu, uintptr_t fnc); void iFppuuiiuuuu_32(x64emu_t *emu, uintptr_t fnc); void iFXiLLdduudd_32(x64emu_t *emu, uintptr_t fnc); @@ -1725,6 +1765,7 @@ void vFuUuuuuuuuuuuu_32(x64emu_t *emu, uintptr_t fnc); void vFuffffffffffff_32(x64emu_t *emu, uintptr_t fnc); void vFXiLLLiiiiiiuu_32(x64emu_t *emu, uintptr_t fnc); void iFEXLLlliLppppp_32(x64emu_t *emu, uintptr_t fnc); +void iFiuuuuiiuuuuuu_32(x64emu_t *emu, uintptr_t fnc); void iFddddpppddpppp_32(x64emu_t *emu, uintptr_t fnc); void iFXippuuuiipppp_32(x64emu_t *emu, uintptr_t fnc); void uFippuuuulllipp_32(x64emu_t *emu, uintptr_t fnc); diff --git a/src/wrapped32/wrappedlibdrm.c b/src/wrapped32/wrappedlibdrm.c new file mode 100644 index 00000000..f6f5331b --- /dev/null +++ b/src/wrapped32/wrappedlibdrm.c @@ -0,0 +1,107 @@ +#define _GNU_SOURCE /* See feature_test_macros(7) */ +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <dlfcn.h> + +#include "wrappedlibs.h" + +#include "debug.h" +#include "wrapper32.h" +#include "bridge.h" +#include "librarian/library_private.h" +#include "x64emu.h" +#include "emu/x64emu_private.h" +#include "callback.h" +#include "librarian.h" +#include "box32context.h" +#include "emu/x64emu_private.h" +#include "myalign32.h" + +static const char* libdrmName = "libdrm.so.2"; +#define LIBNAME libdrm + +#define ADDED_FUNCTIONS() \ + +#include "generated/wrappedlibdrmtypes32.h" + +#include "wrappercallback32.h" + +//EXPORT void my32_drmMsg(x64emu_t* emu, void* fmt, void* b) { +// myStackAlign(emu, (const char*)fmt, b, emu->scratch, R_EAX, 1); +// PREPARE_VALIST; +// char* buf = NULL; +// int dummy = vasprintf(&buf, (const char*)fmt, VARARGS); +// (void)dummy; +// my->drmMsg(buf); +// free(buf); +//} + +typedef struct my_drmVersion_s { + int version_major; + int version_minor; + int version_patchlevel; + int name_len; + char* name; + int date_len; + char* date; + int desc_len; + char* desc; +} my_drmVersion_t; +typedef struct my_drmVersion_32_s { + int version_major; + int version_minor; + int version_patchlevel; + int name_len; + ptr_t name; //char* + int date_len; + ptr_t date; //char* + int desc_len; + ptr_t desc; //char* +} my_drmVersion_32_t; +void* inplace_drmVersion_shrink(void* a) +{ + if(a) { + my_drmVersion_t* src = a; + my_drmVersion_32_t* dst = a; + dst->version_major = src->version_major; + dst->version_minor = src->version_minor; + dst->version_patchlevel = src->version_patchlevel; + dst->name_len = src->name_len; + dst->name = to_ptrv(src->name); + dst->date_len = src->date_len; + dst->date = to_ptrv(src->date); + dst->desc_len = src->desc_len; + dst->desc = to_ptrv(src->desc); + } + return a; +} +void* inplace_drmVersion_enlarge(void* a) +{ + if(a) { + my_drmVersion_32_t* src = a; + my_drmVersion_t* dst = a; + dst->desc = from_ptrv(src->desc); + dst->desc_len = src->desc_len; + dst->date = from_ptrv(src->date); + dst->date_len = src->date_len; + dst->name = from_ptrv(src->name); + dst->name_len = src->name_len; + dst->version_patchlevel = src->version_patchlevel; + dst->version_minor = src->version_minor; + dst->version_major = src->version_major; + } + return a; +} + +EXPORT void* my32_drmGetVersion(x64emu_t* emu, int fd) +{ + return inplace_drmVersion_shrink(my->drmGetVersion(fd)); +} + +EXPORT void my32_drmFreeVersion(x64emu_t* emu, void* v) +{ + my->drmFreeVersion(inplace_drmVersion_enlarge(v)); +} + +#include "wrappedlib_init32.h" diff --git a/src/wrapped32/wrappedlibdrm_private.h b/src/wrapped32/wrappedlibdrm_private.h new file mode 100644 index 00000000..c56e0c4c --- /dev/null +++ b/src/wrapped32/wrappedlibdrm_private.h @@ -0,0 +1,199 @@ +#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA)) +#error Meh... +#endif + +GO(drmAddBufs, iFiiiui) +GO(drmAddContextPrivateMapping, iFiuu) +GO(drmAddContextTag, iFiup) +GO(drmAddMap, iFiuuuup) +GO(drmAgpAcquire, iFi) +//GO(drmAgpAlloc, iFiLLbL_p) +GO(drmAgpBase, LFi) +GO(drmAgpBind, iFiuL) +GO(drmAgpDeviceId, uFi) +GO(drmAgpEnable, iFiL) +GO(drmAgpFree, iFiu) +GO(drmAgpGetMode, LFi) +GO(drmAgpMemoryAvail, LFi) +GO(drmAgpMemoryUsed, LFi) +GO(drmAgpRelease, iFi) +GO(drmAgpSize, LFi) +GO(drmAgpUnbind, iFiu) +GO(drmAgpVendorId, uFi) +GO(drmAgpVersionMajor, iFi) +GO(drmAgpVersionMinor, iFi) +GO(drmAuthMagic, iFiu) +GO(drmAvailable, iFv) +GO(drmCheckModesettingSupported, iFp) +GO(drmClose, iFi) +GO(drmCloseOnce, vFi) +GO(drmCommandNone, iFiL) +GO(drmCommandRead, iFiLpL) +GO(drmCommandWrite, iFiLpL) +GO(drmCommandWriteRead, iFiLpL) +GO(drmCreateContext, iFip) +GO(drmCreateDrawable, iFip) +GO(drmCrtcGetSequence, iFiupp) +GO(drmCrtcQueueSequence, iFiuuUpU) +GO(drmCtlInstHandler, iFii) +GO(drmCtlUninstHandler, iFi) +GO(drmDelContextTag, iFiu) +GO(drmDestroyContext, iFiu) +GO(drmDestroyDrawable, iFiu) +//GO(drmDevicesEqual, +//GO(drmDMA, iFibuippuiippi_) +GO(drmDropMaster, iFi) +GO(drmError, iFip) +GO(drmFinish, iFiiu) +GO(drmFree, vFp) +GO(drmFreeBufs, iFiip) +GO(drmFreeBusid, vFp) +//GOM(drmFreeDevice, vFEbp_) +//GOM(drmFreeDevices, vFEbp_i) +GO(drmFreeReservedContextList, vFp) +GOM(drmFreeVersion, vFEp) +//GOM(drmGetBufInfo, pFEi) +GO(drmGetBusid, pFi) +GO(drmGetCap, iFiUp) +//GO(drmGetClient, iFiipppbL_bL_) +GO(drmGetContextFlags, iFiup) +GO(drmGetContextPrivateMapping, iFiup) +GO(drmGetContextTag, pFiu) +//GOM(drmGetDevice, iFEibp_) +//GOM(drmGetDevice2, iFEiubp_) +GO(drmGetDeviceNameFromFd, pFi) +GO(drmGetDeviceNameFromFd2, pFi) +//GOM(drmGetDevices, iFEbp_i) +//GOM(drmGetDevices2, iFEubp_i) +//GOM(drmGetEntry, pFEi) +GO(drmGetHashTable, pFv) +GO(drmGetInterruptFromBusID, iFiiii) +//GOM(drmGetLibVersion, pFEi) +GO(drmGetLock, iFiuu) +GO(drmGetMagic, iFip) +GO(drmGetMap, iFiipppppp) +GO(drmGetNodeTypeFromFd, iFi) +GO(drmGetPrimaryDeviceNameFromFd, pFi) +GO(drmGetRenderDeviceNameFromFd, pFi) +GO(drmGetReservedContextList, pFip) +//GO(drmGetStats, +GOM(drmGetVersion, pFEi) +//GOM(drmHandleEvent, iFEibipppp_) +GO(drmHashCreate, pFv) +GO(drmHashDelete, iFpL) +GO(drmHashDestroy, iFp) +//GO(drmHashFirst, iFpbL_bp_) +GO(drmHashInsert, iFpLp) +//GO(drmHashLookup, iFpLbp_) +//GO(drmHashNext, iFpbL_bp_) +GO(drmIoctl, iFiLp) +GO(drmIsMaster, iFi) +GO(drmMalloc, pFi) +//GO(drmMap, iFiuubp_) +//GOM(drmMapBufs, pFEi) +GO(drmMarkBufs, iFidd) +GO(drmModeAddFB, iFiuuCCuup) +GO(drmModeAddFB2, iFiuuuppppu) +GO(drmModeAddFB2WithModifiers, iFiuuupppppu) +GO(drmModeAtomicAddProperty, iFpuuU) +GO(drmModeAtomicAlloc, pFv) +GO(drmModeAtomicCommit, iFipup) +GO(drmModeAtomicDuplicate, pFp) +GO(drmModeAtomicFree, vFp) +GO(drmModeAtomicGetCursor, iFp) +GO(drmModeAtomicMerge, iFpp) +GO(drmModeAtomicSetCursor, vFpi) +GO(drmModeAttachMode, iFiup) +GO(drmModeConnectorSetProperty, iFiuuU) +GO(drmModeCreateLease, iFipiip) +GO(drmModeCreatePropertyBlob, iFipLp) +GO(drmModeCrtcGetGamma, iFiuuppp) +GO(drmModeCrtcSetGamma, iFiuuppp) +GO(drmModeDestroyPropertyBlob, iFiu) +GO(drmModeDetachMode, iFiup) +GO(drmModeDirtyFB, iFiupu) +//GO(drmModeFreeConnector, vFbuuuuuuuuipippip_) +GO(drmModeFreeCrtc, vFp) +GO(drmModeFreeEncoder, vFp) +GO(drmModeFreeFB, vFp) +GO(drmModeFreeModeInfo, vFp) +//GO(drmModeFreeObjectProperties, vFbupp_) +//GO(drmModeFreePlane, vFbupuuuuuuuuu_) +//GO(drmModeFreePlaneResources, vFbup_) +//GO(drmModeFreeProperty, vFbuuccccccccccccccccccccccccccccccccipipip_) +//GO(drmModeFreePropertyBlob, vFbuup_) +//GO(drmModeFreeResources, vFbipipipipuuuu_) +//GOM(drmModeGetConnector, pFEiu) +//GOM(drmModeGetConnectorCurrent, pFEiu) +GO(drmModeGetCrtc, pFiu) +GO(drmModeGetEncoder, pFiu) +GO(drmModeGetFB, pFiu) +//GO(drmModeGetLease, +//GOM(drmModeGetPlane, pFEiu) +//GOM(drmModeGetPlaneResources, pFEi) +//GOM(drmModeGetProperty, pFEiu) +//GOM(drmModeGetPropertyBlob, pFEiu) +//GOM(drmModeGetResources, pFEi) +//GO(drmModeListLessees, +GO(drmModeMoveCursor, iFiuii) +//GOM(drmModeObjectGetProperties, pFEiuu) +GO(drmModeObjectSetProperty, iFiuuuU) +GO(drmModePageFlip, iFiuuup) +GO(drmModePageFlipTarget, iFiuuupu) +GO(drmModeRevokeLease, iFiu) +GO(drmModeRmFB, iFiu) +GO(drmModeSetCrtc, iFiuuuupip) +GO(drmModeSetCursor, iFiuuuu) +GO(drmModeSetCursor2, iFiuuuuii) +GO(drmModeSetPlane, iFiuuuuiiuuuuuu) +//GOM(drmMsg, vFEpV) +GO(drmOpen, iFpp) +GO(drmOpenControl, iFi) +GO(drmOpenOnce, iFppp) +GO(drmOpenOnceWithType, iFppi) +GO(drmOpenRender, iFi) +GO(drmOpenWithType, iFppi) +GO(drmPrimeFDToHandle, iFiip) +GO(drmPrimeHandleToFD, iFiuup) +GO(drmRandom, LFp) +GO(drmRandomCreate, pFL) +GO(drmRandomDestroy, iFp) +GO(drmRandomDouble, dFp) +GO(drmRmMap, iFiu) +GO(drmScatterGatherAlloc, iFiLp) +GO(drmScatterGatherFree, iFiu) +GO(drmSetBusid, iFip) +GO(drmSetClientCap, iFiUU) +GO(drmSetContextFlags, iFiuu) +GO(drmSetInterfaceVersion, iFip) +GO(drmSetMaster, iFi) +//GOM(drmSetServerInfo, vFEbppp_) +GO(drmSLCreate, pFv) +GO(drmSLDelete, iFpL) +GO(drmSLDestroy, iFp) +GO(drmSLDump, vFp) +//GO(drmSLFirst, iFpbL_bp_) +GO(drmSLInsert, iFpLp) +//GO(drmSLLookup, iFpLbp_) +//GO(drmSLLookupNeighbors, iFpLbL_bp_bL_bp_) +//GO(drmSLNext, iFpbL_bp_) +GO(drmSwitchToContext, iFiu) +GO(drmSyncobjCreate, iFiup) +GO(drmSyncobjDestroy, iFiu) +GO(drmSyncobjExportSyncFile, iFiup) +GO(drmSyncobjFDToHandle, iFiip) +GO(drmSyncobjHandleToFD, iFiup) +GO(drmSyncobjImportSyncFile, iFiui) +GO(drmSyncobjQuery, iFippu) +GO(drmSyncobjQuery2, iFippuu) +GO(drmSyncobjReset, iFipu) +GO(drmSyncobjSignal, iFipu) +GO(drmSyncobjTimelineSignal, iFippu) +GO(drmSyncobjTimelineWait, iFippuIup) +GO(drmSyncobjTransfer, iFiuUuUu) +GO(drmSyncobjWait, iFipuIup) +GO(drmUnlock, iFiu) +GO(drmUnmap, iFpu) +//GOM(drmUnmapBufs, iFEbip_) +GO(drmUpdateDrawableInfo, iFiuuup) +//GO(drmWaitVBlank, |