diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2024-12-12 13:34:59 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2024-12-12 13:34:59 +0100 |
| commit | 7e5aa3e7c6bd3cf2b998be55c3668e36ffb1d7d1 (patch) | |
| tree | 8ac921fbe245ceeae8bec82b3d71cd18ee371eb9 /src/wrapped32/generated | |
| parent | c7afc0b3dfea38e34b7c082fa200978707138036 (diff) | |
| download | box64-7e5aa3e7c6bd3cf2b998be55c3668e36ffb1d7d1.tar.gz box64-7e5aa3e7c6bd3cf2b998be55c3668e36ffb1d7d1.zip | |
[BOX32][WRAPPER] Added a few more 32bits wrapped function to libc
Diffstat (limited to 'src/wrapped32/generated')
| -rw-r--r-- | src/wrapped32/generated/functions_list.txt | 3 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrappedlibctypes32.h | 2 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrapper32.c | 2 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrapper32.h | 1 |
4 files changed, 8 insertions, 0 deletions
diff --git a/src/wrapped32/generated/functions_list.txt b/src/wrapped32/generated/functions_list.txt index 8322b096..3d14b2c1 100644 --- a/src/wrapped32/generated/functions_list.txt +++ b/src/wrapped32/generated/functions_list.txt @@ -1141,6 +1141,7 @@ #() iFEpLpp -> iFEpLpp #() iEEpLpV -> iEEpLpV #() iFEpLpV -> iFEpLpV +#() iEEppii -> iEEppii #() iFEpplp -> iFEpplp #() iEEpppi -> iEEpppi #() iEEpppp -> iEEpppp @@ -1853,6 +1854,7 @@ wrappedlibc: - __ctype_toupper_loc - __errno_location - __res_state + - getpwent - localeconv - pFv: - __h_errno_location @@ -1993,6 +1995,7 @@ wrappedlibc: - iEpuiL: - iEpLpp: - iEpLpV: +- iEppii: - iEpppp: - getaddrinfo - iESipp: diff --git a/src/wrapped32/generated/wrappedlibctypes32.h b/src/wrapped32/generated/wrappedlibctypes32.h index 449d737e..e24906e9 100644 --- a/src/wrapped32/generated/wrappedlibctypes32.h +++ b/src/wrapped32/generated/wrappedlibctypes32.h @@ -102,6 +102,7 @@ typedef int32_t (*iEpipV_t)(void*, int32_t, void*, ...); typedef int32_t (*iEpuiL_t)(void*, uint32_t, int32_t, uintptr_t); typedef int32_t (*iEpLpp_t)(void*, uintptr_t, void*, void*); typedef int32_t (*iEpLpV_t)(void*, uintptr_t, void*, ...); +typedef int32_t (*iEppii_t)(void*, void*, int32_t, int32_t); typedef int32_t (*iEpppp_t)(void*, void*, void*, void*); typedef int32_t (*iESipp_t)(void*, int32_t, void*, void*); typedef int32_t (*iESipV_t)(void*, int32_t, void*, ...); @@ -150,6 +151,7 @@ typedef int32_t (*iEpLiLppp_t)(void*, uintptr_t, int32_t, uintptr_t, void*, void GO(__ctype_toupper_loc, pEv_t) \ GO(__errno_location, pEv_t) \ GO(__res_state, pEv_t) \ + GO(getpwent, pEv_t) \ GO(localeconv, pEv_t) \ GO(__h_errno_location, pFv_t) \ GO(getpwuid, pEu_t) \ diff --git a/src/wrapped32/generated/wrapper32.c b/src/wrapped32/generated/wrapper32.c index f8741198..f13a719e 100644 --- a/src/wrapped32/generated/wrapper32.c +++ b/src/wrapped32/generated/wrapper32.c @@ -1232,6 +1232,7 @@ typedef int32_t (*iEEpLpp_t)(x64emu_t*, void*, uintptr_t, void*, void*); typedef int32_t (*iFEpLpp_t)(x64emu_t*, void*, uintptr_t, void*, void*); typedef int32_t (*iEEpLpV_t)(x64emu_t*, void*, uintptr_t, void*, void*); typedef int32_t (*iFEpLpV_t)(x64emu_t*, void*, uintptr_t, void*, void*); +typedef int32_t (*iEEppii_t)(x64emu_t*, void*, void*, int32_t, int32_t); typedef int32_t (*iFEpplp_t)(x64emu_t*, void*, void*, intptr_t, void*); typedef int32_t (*iEEpppi_t)(x64emu_t*, void*, void*, void*, int32_t); typedef int32_t (*iEEpppp_t)(x64emu_t*, void*, void*, void*, void*); @@ -2931,6 +2932,7 @@ void iEEpLpp_32(x64emu_t *emu, uintptr_t fcn) { iEEpLpp_t fn = (iEEpLpp_t)fcn; e void iFEpLpp_32(x64emu_t *emu, uintptr_t fcn) { iFEpLpp_t fn = (iFEpLpp_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16)); } void iEEpLpV_32(x64emu_t *emu, uintptr_t fcn) { iEEpLpV_t fn = (iEEpLpV_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_ptriv(R_ESP + 12), from_ptrv(R_ESP + 16)); emu->libc_err = errno; } void iFEpLpV_32(x64emu_t *emu, uintptr_t fcn) { iFEpLpV_t fn = (iFEpLpV_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptrv(R_ESP + 16)); } +void iEEppii_32(x64emu_t *emu, uintptr_t fcn) { iEEppii_t fn = (iEEppii_t)fcn; errno = emu->libc_err; R_EAX = fn(emu, from_ptriv(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 iFEpplp_32(x64emu_t *emu, uintptr_t fcn) { iFEpplp_t fn = (iFEpplp_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_long(from_ptri(long_t, R_ESP + 12)), from_ptriv(R_ESP + 16)); } void iEEpppi_32(x64emu_t *emu, uintptr_t fcn) { iEEpppi_t fn = (iEEpppi_t)fcn; errno = emu->libc_err; R_EAX = fn(emu, from_ptriv(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 iEEpppp_32(x64emu_t *emu, uintptr_t fcn) { iEEpppp_t fn = (iEEpppp_t)fcn; errno = emu->libc_err; R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16)); emu->libc_err = errno; } diff --git a/src/wrapped32/generated/wrapper32.h b/src/wrapped32/generated/wrapper32.h index 1f0997b7..4c691e8d 100644 --- a/src/wrapped32/generated/wrapper32.h +++ b/src/wrapped32/generated/wrapper32.h @@ -1182,6 +1182,7 @@ void iEEpLpp_32(x64emu_t *emu, uintptr_t fnc); void iFEpLpp_32(x64emu_t *emu, uintptr_t fnc); void iEEpLpV_32(x64emu_t *emu, uintptr_t fnc); void iFEpLpV_32(x64emu_t *emu, uintptr_t fnc); +void iEEppii_32(x64emu_t *emu, uintptr_t fnc); void iFEpplp_32(x64emu_t *emu, uintptr_t fnc); void iEEpppi_32(x64emu_t *emu, uintptr_t fnc); void iEEpppp_32(x64emu_t *emu, uintptr_t fnc); |