diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2025-04-12 17:53:56 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2025-04-12 17:53:56 +0200 |
| commit | 91f9a58b3058732259e8a86d830493ad87fa9ff5 (patch) | |
| tree | a5063ded1c7ad8c60c2ac0097952f2987bb93550 /src | |
| parent | fea05a30e8d65322de79220ba8a07857b9aea90f (diff) | |
| download | box64-91f9a58b3058732259e8a86d830493ad87fa9ff5.tar.gz box64-91f9a58b3058732259e8a86d830493ad87fa9ff5.zip | |
[BOX32][WRAPPER] Added 32bits wrapped libselinux
Diffstat (limited to 'src')
| -rw-r--r-- | src/library_list_32.h | 2 | ||||
| -rw-r--r-- | src/wrapped32/generated/functions_list.txt | 14 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrappedselinuxdefs32.h | 8 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrappedselinuxtypes32.h | 17 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrappedselinuxundefs32.h | 8 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrapper32.c | 26 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrapper32.h | 13 | ||||
| -rw-r--r-- | src/wrapped32/wrappedselinux.c | 19 | ||||
| -rw-r--r-- | src/wrapped32/wrappedselinux_private.h | 247 |
9 files changed, 354 insertions, 0 deletions
diff --git a/src/library_list_32.h b/src/library_list_32.h index f6ff790c..ee20f830 100644 --- a/src/library_list_32.h +++ b/src/library_list_32.h @@ -15,6 +15,8 @@ GO("libdl.so.2", libdl) #endif GO("libresolv.so.2", libresolv) GO("libresolv.so", libresolv) +GO("libselinux.so.1", selinux) +GO("libselinux.so", selinux) GO("ld-linux.so.3", ldlinux) GO("ld-linux.so.2", ldlinux) diff --git a/src/wrapped32/generated/functions_list.txt b/src/wrapped32/generated/functions_list.txt index eb6b7ec6..150ceb12 100644 --- a/src/wrapped32/generated/functions_list.txt +++ b/src/wrapped32/generated/functions_list.txt @@ -107,6 +107,7 @@ #() pEi -> pEi #() pFi -> pFi #() pFI -> pFI +#() pFW -> pFW #() pFu -> pFu #() pEu -> pEu #() pEl -> pEl @@ -161,6 +162,7 @@ #() vFid -> vFid #() vFip -> vFip #() vFWW -> vFWW +#() vFWu -> vFWu #() vFuc -> vFuc #() vFuw -> vFuw #() vFui -> vFui @@ -271,6 +273,7 @@ #() uFEp -> uFEp #() uFii -> uFii #() uEiS -> uEiS +#() uFWp -> uFWp #() uFuu -> uFuu #() uFup -> uFup #() uEua -> uEua @@ -333,6 +336,7 @@ #() pFiu -> pFiu #() pFip -> pFip #() pEia -> pEia +#() pFWu -> pFWu #() pFuu -> pFuu #() pEup -> pEup #() pFup -> pFup @@ -549,6 +553,7 @@ #() iFuup -> iFuup #() iEuLa -> iEuLa #() iFupL -> iFupL +#() iFUip -> iFUip #() iFfff -> iFfff #() iELLi -> iELLi #() iFpii -> iFpii @@ -727,6 +732,7 @@ #() vFXLbL_ -> vFXLB #() vFXbL_i -> vFXBi #() iFEpBp_ -> iFEpB +#() iFWubp_ -> iFWuB #() iFuubp_ -> iFuuB #() iFpibl_ -> iFpiB #() iFpubp_ -> iFpuB @@ -780,6 +786,7 @@ #() vFpibpp_ -> vFpiB #() vFpbpu_u -> vFpBu #() vFpbpu_p -> vFpBp +#() iFLbpi_i -> iFLBi #() iFpibpu_ -> iFpiB #() iFpibpp_ -> iFpiB #() iFpubpu_ -> iFpuB @@ -1005,6 +1012,7 @@ #() iFppii -> iFppii #() iFppiU -> iFppiU #() iFppip -> iFppip +#() iFppWp -> iFppWp #() iFppuw -> iFppuw #() iFppui -> iFppui #() iFppuu -> iFppuu @@ -1126,6 +1134,7 @@ #() iFpubp_u -> iFpuBu #() iFplibl_ -> iFpliB #() iFpLpbL_ -> iFpLpB +#() iFppWbp_ -> iFppWB #() iFpppbp_ -> iFpppB #() iFpppbL_ -> iFpppB #() iFppbp_u -> iFppBu @@ -1172,7 +1181,9 @@ #() vFppbp_bL_ -> vFppBB #() vFpbLdd_ip -> vFpBip #() vFpbupu_uu -> vFpBuu +#() iFupbp_bp_ -> iFupBB #() iFppbL_bL_ -> iFppBB +#() iFppbp_bp_ -> iFppBB #() iFpbupu_up -> iFpBup #() iFbp_urp_u -> iFBuBu #() iFrpuu_Lui -> iFBLui @@ -1375,6 +1386,7 @@ #() iFpupLu -> iFpupLu #() iFpuppp -> iFpuppp #() iFppiUi -> iFppiUi +#() iFppWup -> iFppWup #() iFppupu -> iFppupu #() iFppLpL -> iFppLpL #() iFpppip -> iFpppip @@ -1449,6 +1461,7 @@ #() iEEBh_ppp -> iEEBppp #() iFpupbL_p -> iFpupBp #() iFppibp_I -> iFppiBI +#() iFppWpbp_ -> iFppWpB #() iFppupbL_ -> iFppupB #() iFppppbp_ -> iFppppB #() iFppbL_pu -> iFppBpu @@ -3297,6 +3310,7 @@ wrappedsdl2image: - IMG_LoadTexture_RW - pFppip: - IMG_LoadTextureTyped_RW +wrappedselinux: wrappedtcmallocminimal: - pFp: - iFpL: diff --git a/src/wrapped32/generated/wrappedselinuxdefs32.h b/src/wrapped32/generated/wrappedselinuxdefs32.h new file mode 100644 index 00000000..8eda29fa --- /dev/null +++ b/src/wrapped32/generated/wrappedselinuxdefs32.h @@ -0,0 +1,8 @@ +/********************************************************************* + * File automatically generated by rebuild_wrappers_32.py (v0.0.2.2) * + *********************************************************************/ +#ifndef __wrappedselinuxDEFS32_H_ +#define __wrappedselinuxDEFS32_H_ + + +#endif // __wrappedselinuxDEFS32_H_ diff --git a/src/wrapped32/generated/wrappedselinuxtypes32.h b/src/wrapped32/generated/wrappedselinuxtypes32.h new file mode 100644 index 00000000..bdaa07d0 --- /dev/null +++ b/src/wrapped32/generated/wrappedselinuxtypes32.h @@ -0,0 +1,17 @@ +/********************************************************************* + * File automatically generated by rebuild_wrappers_32.py (v0.0.2.2) * + *********************************************************************/ +#ifndef __wrappedselinuxTYPES32_H_ +#define __wrappedselinuxTYPES32_H_ + +#ifndef LIBNAME +#error You should only #include this file inside a wrapped*.c file +#endif +#ifndef ADDED_FUNCTIONS +#define ADDED_FUNCTIONS() +#endif + + +#define SUPER() ADDED_FUNCTIONS() + +#endif // __wrappedselinuxTYPES32_H_ diff --git a/src/wrapped32/generated/wrappedselinuxundefs32.h b/src/wrapped32/generated/wrappedselinuxundefs32.h new file mode 100644 index 00000000..76e2a243 --- /dev/null +++ b/src/wrapped32/generated/wrappedselinuxundefs32.h @@ -0,0 +1,8 @@ +/********************************************************************* + * File automatically generated by rebuild_wrappers_32.py (v0.0.2.2) * + *********************************************************************/ +#ifndef __wrappedselinuxUNDEFS32_H_ +#define __wrappedselinuxUNDEFS32_H_ + + +#endif // __wrappedselinuxUNDEFS32_H_ diff --git a/src/wrapped32/generated/wrapper32.c b/src/wrapped32/generated/wrapper32.c index 1bea7043..f82bb00d 100644 --- a/src/wrapped32/generated/wrapper32.c +++ b/src/wrapped32/generated/wrapper32.c @@ -201,6 +201,7 @@ typedef void* (*pFv_t)(void); typedef void* (*pEi_t)(int32_t); typedef void* (*pFi_t)(int32_t); typedef void* (*pFI_t)(int64_t); +typedef void* (*pFW_t)(uint16_t); typedef void* (*pFu_t)(uint32_t); typedef void* (*pEu_t)(uint32_t); typedef void* (*pEl_t)(intptr_t); @@ -255,6 +256,7 @@ typedef void (*vFif_t)(int32_t, float); typedef void (*vFid_t)(int32_t, double); typedef void (*vFip_t)(int32_t, void*); typedef void (*vFWW_t)(uint16_t, uint16_t); +typedef void (*vFWu_t)(uint16_t, uint32_t); typedef void (*vFuc_t)(uint32_t, int8_t); typedef void (*vFuw_t)(uint32_t, int16_t); typedef void (*vFui_t)(uint32_t, int32_t); @@ -365,6 +367,7 @@ typedef uint16_t (*WFpp_t)(void*, void*); typedef uint32_t (*uFEp_t)(x64emu_t*, void*); typedef uint32_t (*uFii_t)(int32_t, int32_t); typedef uint32_t (*uEiS_t)(int32_t, void*); +typedef uint32_t (*uFWp_t)(uint16_t, void*); typedef uint32_t (*uFuu_t)(uint32_t, uint32_t); typedef uint32_t (*uFup_t)(uint32_t, void*); typedef uint32_t (*uEua_t)(uint32_t, void*); @@ -427,6 +430,7 @@ typedef void* (*pFii_t)(int32_t, int32_t); typedef void* (*pFiu_t)(int32_t, uint32_t); typedef void* (*pFip_t)(int32_t, void*); typedef void* (*pEia_t)(int32_t, void*); +typedef void* (*pFWu_t)(uint16_t, uint32_t); typedef void* (*pFuu_t)(uint32_t, uint32_t); typedef void* (*pEup_t)(uint32_t, void*); typedef void* (*pFup_t)(uint32_t, void*); @@ -643,6 +647,7 @@ typedef int32_t (*iEuuu_t)(uint32_t, uint32_t, uint32_t); typedef int32_t (*iFuup_t)(uint32_t, uint32_t, void*); typedef int32_t (*iEuLa_t)(uint32_t, uintptr_t, void*); typedef int32_t (*iFupL_t)(uint32_t, void*, uintptr_t); +typedef int32_t (*iFUip_t)(uint64_t, int32_t, void*); typedef int32_t (*iFfff_t)(float, float, float); typedef int32_t (*iELLi_t)(uintptr_t, uintptr_t, int32_t); typedef int32_t (*iFpii_t)(void*, int32_t, int32_t); @@ -821,6 +826,7 @@ typedef void (*vFbp_pp_t)(struct_p_t*, void*, void*); typedef void (*vFXLbL__t)(void*, uintptr_t, struct_L_t*); typedef void (*vFXbL_i_t)(void*, struct_L_t*, int32_t); typedef int32_t (*iFEpBp__t)(x64emu_t*, void*, struct_p_t*); +typedef int32_t (*iFWubp__t)(uint16_t, uint32_t, struct_p_t*); typedef int32_t (*iFuubp__t)(uint32_t, uint32_t, struct_p_t*); typedef int32_t (*iFpibl__t)(void*, int32_t, struct_l_t*); typedef int32_t (*iFpubp__t)(void*, uint32_t, struct_p_t*); @@ -874,6 +880,7 @@ typedef void* (*pFnUbp__t)(void*, uint64_t, struct_p_t*); typedef void (*vFpibpp__t)(void*, int32_t, struct_pp_t*); typedef void (*vFpbpu_u_t)(void*, struct_pu_t*, uint32_t); typedef void (*vFpbpu_p_t)(void*, struct_pu_t*, void*); +typedef int32_t (*iFLbpi_i_t)(uintptr_t, struct_pi_t*, int32_t); typedef int32_t (*iFpibpu__t)(void*, int32_t, struct_pu_t*); typedef int32_t (*iFpibpp__t)(void*, int32_t, struct_pp_t*); typedef int32_t (*iFpubpu__t)(void*, uint32_t, struct_pu_t*); @@ -1099,6 +1106,7 @@ typedef int32_t (*iFpLuu_t)(void*, uintptr_t, uint32_t, uint32_t); typedef int32_t (*iFppii_t)(void*, void*, int32_t, int32_t); typedef int32_t (*iFppiU_t)(void*, void*, int32_t, uint64_t); typedef int32_t (*iFppip_t)(void*, void*, int32_t, void*); +typedef int32_t (*iFppWp_t)(void*, void*, uint16_t, void*); typedef int32_t (*iFppuw_t)(void*, void*, uint32_t, int16_t); typedef int32_t (*iFppui_t)(void*, void*, uint32_t, int32_t); typedef int32_t (*iFppuu_t)(void*, void*, uint32_t, uint32_t); @@ -1220,6 +1228,7 @@ typedef int32_t (*iFpupbL__t)(void*, uint32_t, void*, struct_L_t*); typedef int32_t (*iFpubp_u_t)(void*, uint32_t, struct_p_t*, uint32_t); typedef int32_t (*iFplibl__t)(void*, intptr_t, int32_t, struct_l_t*); typedef int32_t (*iFpLpbL__t)(void*, uintptr_t, void*, struct_L_t*); +typedef int32_t (*iFppWbp__t)(void*, void*, uint16_t, struct_p_t*); typedef int32_t (*iFpppbp__t)(void*, void*, void*, struct_p_t*); typedef int32_t (*iFpppbL__t)(void*, void*, void*, struct_L_t*); typedef int32_t (*iFppbp_u_t)(void*, void*, struct_p_t*, uint32_t); @@ -1266,7 +1275,9 @@ typedef void* (*pFnbpi_up_t)(void*, struct_pi_t*, uint32_t, void*); typedef void (*vFppbp_bL__t)(void*, void*, struct_p_t*, struct_L_t*); typedef void (*vFpbLdd_ip_t)(void*, struct_Ldd_t*, int32_t, void*); typedef void (*vFpbupu_uu_t)(void*, struct_upu_t*, uint32_t, uint32_t); +typedef int32_t (*iFupbp_bp__t)(uint32_t, void*, struct_p_t*, struct_p_t*); typedef int32_t (*iFppbL_bL__t)(void*, void*, struct_L_t*, struct_L_t*); +typedef int32_t (*iFppbp_bp__t)(void*, void*, struct_p_t*, struct_p_t*); typedef int32_t (*iFpbupu_up_t)(void*, struct_upu_t*, uint32_t, void*); typedef int32_t (*iFbp_urp_u_t)(struct_p_t*, uint32_t, struct_p_t*, uint32_t); typedef int32_t (*iFrpuu_Lui_t)(struct_puu_t*, uintptr_t, uint32_t, int32_t); @@ -1469,6 +1480,7 @@ typedef int32_t (*iFpupuu_t)(void*, uint32_t, void*, uint32_t, uint32_t); typedef int32_t (*iFpupLu_t)(void*, uint32_t, void*, uintptr_t, uint32_t); typedef int32_t (*iFpuppp_t)(void*, uint32_t, void*, void*, void*); typedef int32_t (*iFppiUi_t)(void*, void*, int32_t, uint64_t, int32_t); +typedef int32_t (*iFppWup_t)(void*, void*, uint16_t, uint32_t, void*); typedef int32_t (*iFppupu_t)(void*, void*, uint32_t, void*, uint32_t); typedef int32_t (*iFppLpL_t)(void*, void*, uintptr_t, void*, uintptr_t); typedef int32_t (*iFpppip_t)(void*, void*, void*, int32_t, void*); @@ -1543,6 +1555,7 @@ typedef void (*vFXibL_ii_t)(void*, int32_t, struct_L_t*, int32_t, int32_t); typedef int32_t (*iEEBh_ppp_t)(x64emu_t*, struct_h_t*, void*, void*, void*); typedef int32_t (*iFpupbL_p_t)(void*, uint32_t, void*, struct_L_t*, void*); typedef int32_t (*iFppibp_I_t)(void*, void*, int32_t, struct_p_t*, int64_t); +typedef int32_t (*iFppWpbp__t)(void*, void*, uint16_t, void*, struct_p_t*); typedef int32_t (*iFppupbL__t)(void*, void*, uint32_t, void*, struct_L_t*); typedef int32_t (*iFppppbp__t)(void*, void*, void*, void*, struct_p_t*); typedef int32_t (*iFppbL_pu_t)(void*, void*, struct_L_t*, void*, uint32_t); @@ -2262,6 +2275,7 @@ void pFv_32(x64emu_t *emu, uintptr_t fcn) { pFv_t fn = (pFv_t)fcn; R_EAX = to_pt void pEi_32(x64emu_t *emu, uintptr_t fcn) { pEi_t fn = (pEi_t)fcn; errno = emu->libc_err; R_EAX = to_ptrv(fn(from_ptri(int32_t, R_ESP + 4))); emu->libc_err = errno; } void pFi_32(x64emu_t *emu, uintptr_t fcn) { pFi_t fn = (pFi_t)fcn; R_EAX = to_ptrv(fn(from_ptri(int32_t, R_ESP + 4))); } void pFI_32(x64emu_t *emu, uintptr_t fcn) { pFI_t fn = (pFI_t)fcn; R_EAX = to_ptrv(fn(from_ptri(int64_t, R_ESP + 4))); } +void pFW_32(x64emu_t *emu, uintptr_t fcn) { pFW_t fn = (pFW_t)fcn; R_EAX = to_ptrv(fn(from_ptri(uint16_t, R_ESP + 4))); } void pFu_32(x64emu_t *emu, uintptr_t fcn) { pFu_t fn = (pFu_t)fcn; R_EAX = to_ptrv(fn(from_ptri(uint32_t, R_ESP + 4))); } void pEu_32(x64emu_t *emu, uintptr_t fcn) { pEu_t fn = (pEu_t)fcn; errno = emu->libc_err; R_EAX = to_ptrv(fn(from_ptri(uint32_t, R_ESP + 4))); emu->libc_err = errno; } void pEl_32(x64emu_t *emu, uintptr_t fcn) { pEl_t fn = (pEl_t)fcn; errno = emu->libc_err; R_EAX = to_ptrv(fn(from_long(from_ptri(long_t, R_ESP + 4)))); emu->libc_err = errno; } @@ -2316,6 +2330,7 @@ void vFif_32(x64emu_t *emu, uintptr_t fcn) { vFif_t fn = (vFif_t)fcn; fn(from_pt void vFid_32(x64emu_t *emu, uintptr_t fcn) { vFid_t fn = (vFid_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(double, R_ESP + 8)); } void vFip_32(x64emu_t *emu, uintptr_t fcn) { vFip_t fn = (vFip_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8)); } void vFWW_32(x64emu_t *emu, uintptr_t fcn) { vFWW_t fn = (vFWW_t)fcn; fn(from_ptri(uint16_t, R_ESP + 4), from_ptri(uint16_t, R_ESP + 8)); } +void vFWu_32(x64emu_t *emu, uintptr_t fcn) { vFWu_t fn = (vFWu_t)fcn; fn(from_ptri(uint16_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8)); } void vFuc_32(x64emu_t *emu, uintptr_t fcn) { vFuc_t fn = (vFuc_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int8_t, R_ESP + 8)); } void vFuw_32(x64emu_t *emu, uintptr_t fcn) { vFuw_t fn = (vFuw_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int16_t, R_ESP + 8)); } void vFui_32(x64emu_t *emu, uintptr_t fcn) { vFui_t fn = (vFui_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8)); } @@ -2426,6 +2441,7 @@ void WFpp_32(x64emu_t *emu, uintptr_t fcn) { WFpp_t fn = (WFpp_t)fcn; R_EAX = (u void uFEp_32(x64emu_t *emu, uintptr_t fcn) { uFEp_t fn = (uFEp_t)fcn; R_EAX = (uint32_t)fn(emu, from_ptriv(R_ESP + 4)); } void uFii_32(x64emu_t *emu, uintptr_t fcn) { uFii_t fn = (uFii_t)fcn; R_EAX = (uint32_t)fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8)); } void uEiS_32(x64emu_t *emu, uintptr_t fcn) { uEiS_t fn = (uEiS_t)fcn; errno = emu->libc_err; R_EAX = (uint32_t)fn(from_ptri(int32_t, R_ESP + 4), io_convert32(from_ptriv(R_ESP + 8))); emu->libc_err = errno; } +void uFWp_32(x64emu_t *emu, uintptr_t fcn) { uFWp_t fn = (uFWp_t)fcn; R_EAX = (uint32_t)fn(from_ptri(uint16_t, R_ESP + 4), from_ptriv(R_ESP + 8)); } void uFuu_32(x64emu_t *emu, uintptr_t fcn) { uFuu_t fn = (uFuu_t)fcn; R_EAX = (uint32_t)fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8)); } void uFup_32(x64emu_t *emu, uintptr_t fcn) { uFup_t fn = (uFup_t)fcn; R_EAX = (uint32_t)fn(from_ptri(uint32_t, R_ESP + 4), from_ptriv(R_ESP + 8)); } void uEua_32(x64emu_t *emu, uintptr_t fcn) { uEua_t fn = (uEua_t)fcn; errno = emu->libc_err; R_EAX = (uint32_t)fn(from_ptri(uint32_t, R_ESP + 4), from_locale(from_ptri(ptr_t, R_ESP + 8))); emu->libc_err = errno; } @@ -2488,6 +2504,7 @@ void pFii_32(x64emu_t *emu, uintptr_t fcn) { pFii_t fn = (pFii_t)fcn; R_EAX = to void pFiu_32(x64emu_t *emu, uintptr_t fcn) { pFiu_t fn = (pFiu_t)fcn; R_EAX = to_ptrv(fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8))); } void pFip_32(x64emu_t *emu, uintptr_t fcn) { pFip_t fn = (pFip_t)fcn; R_EAX = to_ptrv(fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8))); } void pEia_32(x64emu_t *emu, uintptr_t fcn) { pEia_t fn = (pEia_t)fcn; errno = emu->libc_err; R_EAX = to_ptrv(fn(from_ptri(int32_t, R_ESP + 4), from_locale(from_ptri(ptr_t, R_ESP + 8)))); emu->libc_err = errno; } +void pFWu_32(x64emu_t *emu, uintptr_t fcn) { pFWu_t fn = (pFWu_t)fcn; R_EAX = to_ptrv(fn(from_ptri(uint16_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8))); } void pFuu_32(x64emu_t *emu, uintptr_t fcn) { pFuu_t fn = (pFuu_t)fcn; R_EAX = to_ptrv(fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8))); } void pEup_32(x64emu_t *emu, uintptr_t fcn) { pEup_t fn = (pEup_t)fcn; errno = emu->libc_err; R_EAX = to_ptrv(fn(from_ptri(uint32_t, R_ESP + 4), from_ptriv(R_ESP + 8))); emu->libc_err = errno; } void pFup_32(x64emu_t *emu, uintptr_t fcn) { pFup_t fn = (pFup_t)fcn; R_EAX = to_ptrv(fn(from_ptri(uint32_t, R_ESP + 4), from_ptriv(R_ESP + 8))); } @@ -2704,6 +2721,7 @@ void iEuuu_32(x64emu_t *emu, uintptr_t fcn) { iEuuu_t fn = (iEuuu_t)fcn; errno = void iFuup_32(x64emu_t *emu, uintptr_t fcn) { iFuup_t fn = (iFuup_t)fcn; R_EAX = fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12)); } void iEuLa_32(x64emu_t *emu, uintptr_t fcn) { iEuLa_t fn = (iEuLa_t)fcn; errno = emu->libc_err; R_EAX = fn(from_ptri(uint32_t, R_ESP + 4), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_locale(from_ptri(ptr_t, R_ESP + 12))); emu->libc_err = errno; } void iFupL_32(x64emu_t *emu, uintptr_t fcn) { iFupL_t fn = (iFupL_t)fcn; R_EAX = fn(from_ptri(uint32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ulong(from_ptri(ulong_t, R_ESP + 12))); } +void iFUip_32(x64emu_t *emu, uintptr_t fcn) { iFUip_t fn = (iFUip_t)fcn; R_EAX = fn(from_ptri(uint64_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16)); } void iFfff_32(x64emu_t *emu, uintptr_t fcn) { iFfff_t fn = (iFfff_t)fcn; R_EAX = fn(from_ptri(float, R_ESP + 4), from_ptri(float, R_ESP + 8), from_ptri(float, R_ESP + 12)); } void iELLi_32(x64emu_t *emu, uintptr_t fcn) { iELLi_t fn = (iELLi_t)fcn; errno = emu->libc_err; R_EAX = fn(from_ulong(from_ptri(ulong_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 iFpii_32(x64emu_t *emu, uintptr_t fcn) { iFpii_t fn = (iFpii_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12)); } @@ -2882,6 +2900,7 @@ void vFbp_pp_32(x64emu_t *emu, uintptr_t fcn) { vFbp_pp_t fn = (vFbp_pp_t)fcn; s void vFXLbL__32(x64emu_t *emu, uintptr_t fcn) { vFXLbL__t fn = (vFXLbL__t)fcn; struct_L_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_L(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); } void vFXbL_i_32(x64emu_t *emu, uintptr_t fcn) { vFXbL_i_t fn = (vFXbL_i_t)fcn; struct_L_t arg_8={0}; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) from_struct_L(&arg_8, *(ptr_t*)(from_ptr((R_ESP + 8)))); fn(getDisplay(from_ptriv(R_ESP + 4)), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, from_ptri(int32_t, R_ESP + 12)); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); } void iFEpBp__32(x64emu_t *emu, uintptr_t fcn) { iFEpBp__t fn = (iFEpBp__t)fcn; struct_p_t arg_8={0}; R_EAX = fn(emu, from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); } +void iFWubp__32(x64emu_t *emu, uintptr_t fcn) { iFWubp__t fn = (iFWubp__t)fcn; struct_p_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_p(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); R_EAX = fn(from_ptri(uint16_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); } void iFuubp__32(x64emu_t *emu, uintptr_t fcn) { iFuubp__t fn = (iFuubp__t)fcn; struct_p_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_p(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); R_EAX = fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); } void iFpibl__32(x64emu_t *emu, uintptr_t fcn) { iFpibl__t fn = (iFpibl__t)fcn; struct_l_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_l(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_l(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); } void iFpubp__32(x64emu_t *emu, uintptr_t fcn) { iFpubp__t fn = (iFpubp__t)fcn; struct_p_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_p(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); } @@ -2935,6 +2954,7 @@ void pFnUbp__32(x64emu_t *emu, uintptr_t fcn) { pFnUbp__t fn = (pFnUbp__t)fcn; v void vFpibpp__32(x64emu_t *emu, uintptr_t fcn) { vFpibpp__t fn = (vFpibpp__t)fcn; struct_pp_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_pp(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_pp(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); } void vFpbpu_u_32(x64emu_t *emu, uintptr_t fcn) { vFpbpu_u_t fn = (vFpbpu_u_t)fcn; struct_pu_t arg_8={0}; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) from_struct_pu(&arg_8, *(ptr_t*)(from_ptr((R_ESP + 8)))); fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, from_ptri(uint32_t, R_ESP + 12)); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_pu(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); } void vFpbpu_p_32(x64emu_t *emu, uintptr_t fcn) { vFpbpu_p_t fn = (vFpbpu_p_t)fcn; struct_pu_t arg_8={0}; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) from_struct_pu(&arg_8, *(ptr_t*)(from_ptr((R_ESP + 8)))); fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, from_ptriv(R_ESP + 12)); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_pu(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); } +void iFLbpi_i_32(x64emu_t *emu, uintptr_t fcn) { iFLbpi_i_t fn = (iFLbpi_i_t)fcn; struct_pi_t arg_8={0}; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) from_struct_pi(&arg_8, *(ptr_t*)(from_ptr((R_ESP + 8)))); R_EAX = fn(from_ulong(from_ptri(ulong_t, R_ESP + 4)), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, from_ptri(int32_t, R_ESP + 12)); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_pi(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); } void iFpibpu__32(x64emu_t *emu, uintptr_t fcn) { iFpibpu__t fn = (iFpibpu__t)fcn; struct_pu_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_pu(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_pu(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); } void iFpibpp__32(x64emu_t *emu, uintptr_t fcn) { iFpibpp__t fn = (iFpibpp__t)fcn; struct_pp_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_pp(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_pp(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); } void iFpubpu__32(x64emu_t *emu, uintptr_t fcn) { iFpubpu__t fn = (iFpubpu__t)fcn; struct_pu_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_pu(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_pu(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); } @@ -3160,6 +3180,7 @@ void iFpLuu_32(x64emu_t *emu, uintptr_t fcn) { iFpLuu_t fn = (iFpLuu_t)fcn; R_EA void iFppii_32(x64emu_t *emu, uintptr_t fcn) { iFppii_t fn = (iFppii_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)); } void iFppiU_32(x64emu_t *emu, uintptr_t fcn) { iFppiU_t fn = (iFppiU_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(uint64_t, R_ESP + 16)); } void iFppip_32(x64emu_t *emu, uintptr_t fcn) { iFppip_t fn = (iFppip_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16)); } +void iFppWp_32(x64emu_t *emu, uintptr_t fcn) { iFppWp_t fn = (iFppWp_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint16_t, R_ESP + 12), from_ptriv(R_ESP + 16)); } void iFppuw_32(x64emu_t *emu, uintptr_t fcn) { iFppuw_t fn = (iFppuw_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(int16_t, R_ESP + 16)); } void iFppui_32(x64emu_t *emu, uintptr_t fcn) { iFppui_t fn = (iFppui_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); } void iFppuu_32(x64emu_t *emu, uintptr_t fcn) { iFppuu_t fn = (iFppuu_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)); } @@ -3281,6 +3302,7 @@ void iFpupbL__32(x64emu_t *emu, uintptr_t fcn) { iFpupbL__t fn = (iFpupbL__t)fcn void iFpubp_u_32(x64emu_t *emu, uintptr_t fcn) { iFpubp_u_t fn = (iFpubp_u_t)fcn; struct_p_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_p(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL, from_ptri(uint32_t, R_ESP + 16)); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); } void iFplibl__32(x64emu_t *emu, uintptr_t fcn) { iFplibl__t fn = (iFplibl__t)fcn; struct_l_t arg_16={0}; if (*(ptr_t*)(from_ptr((R_ESP + 16)))) from_struct_l(&arg_16, *(ptr_t*)(from_ptr((R_ESP + 16)))); R_EAX = fn(from_ptriv(R_ESP + 4), from_long(from_ptri(long_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 16)))) to_struct_l(*(ptr_t*)(from_ptr((R_ESP + 16))), &arg_16); } void iFpLpbL__32(x64emu_t *emu, uintptr_t fcn) { iFpLpbL__t fn = (iFpLpbL__t)fcn; struct_L_t arg_16={0}; if (*(ptr_t*)(from_ptr((R_ESP + 16)))) from_struct_L(&arg_16, *(ptr_t*)(from_ptr((R_ESP + 16)))); R_EAX = fn(from_ptriv(R_ESP + 4), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 16)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 16))), &arg_16); } +void iFppWbp__32(x64emu_t *emu, uintptr_t fcn) { iFppWbp__t fn = (iFppWbp__t)fcn; struct_p_t arg_16={0}; if (*(ptr_t*)(from_ptr((R_ESP + 16)))) from_struct_p(&arg_16, *(ptr_t*)(from_ptr((R_ESP + 16)))); R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint16_t, R_ESP + 12), *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 16)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 16))), &arg_16); } void iFpppbp__32(x64emu_t *emu, uintptr_t fcn) { iFpppbp__t fn = (iFpppbp__t)fcn; struct_p_t arg_16={0}; if (*(ptr_t*)(from_ptr((R_ESP + 16)))) from_struct_p(&arg_16, *(ptr_t*)(from_ptr((R_ESP + 16)))); R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 16)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 16))), &arg_16); } void iFpppbL__32(x64emu_t *emu, uintptr_t fcn) { iFpppbL__t fn = (iFpppbL__t)fcn; struct_L_t arg_16={0}; if (*(ptr_t*)(from_ptr((R_ESP + 16)))) from_struct_L(&arg_16, *(ptr_t*)(from_ptr((R_ESP + 16)))); R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 16)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 16))), &arg_16); } void iFppbp_u_32(x64emu_t *emu, uintptr_t fcn) { iFppbp_u_t fn = (iFppbp_u_t)fcn; struct_p_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_p(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL, from_ptri(uint32_t, R_ESP + 16)); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); } @@ -3327,7 +3349,9 @@ void pFnbpi_up_32(x64emu_t *emu, uintptr_t fcn) { pFnbpi_up_t fn = (pFnbpi_up_t) void vFppbp_bL__32(x64emu_t *emu, uintptr_t fcn) { vFppbp_bL__t fn = (vFppbp_bL__t)fcn; struct_p_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_p(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); struct_L_t arg_16={0}; if (*(ptr_t*)(from_ptr((R_ESP + 16)))) from_struct_L(&arg_16, *(ptr_t*)(from_ptr((R_ESP + 16)))); fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL, *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); if (*(ptr_t*)(from_ptr((R_ESP + 16)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 16))), &arg_16); } void vFpbLdd_ip_32(x64emu_t *emu, uintptr_t fcn) { vFpbLdd_ip_t fn = (vFpbLdd_ip_t)fcn; struct_Ldd_t arg_8={0}; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) from_struct_Ldd(&arg_8, *(ptr_t*)(from_ptr((R_ESP + 8)))); fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16)); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_Ldd(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); } void vFpbupu_uu_32(x64emu_t *emu, uintptr_t fcn) { vFpbupu_uu_t fn = (vFpbupu_uu_t)fcn; struct_upu_t arg_8={0}; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) from_struct_upu(&arg_8, *(ptr_t*)(from_ptr((R_ESP + 8)))); fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16)); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_upu(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); } +void iFupbp_bp__32(x64emu_t *emu, uintptr_t fcn) { iFupbp_bp__t fn = (iFupbp_bp__t)fcn; struct_p_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_p(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); struct_p_t arg_16={0}; if (*(ptr_t*)(from_ptr((R_ESP + 16)))) from_struct_p(&arg_16, *(ptr_t*)(from_ptr((R_ESP + 16)))); R_EAX = fn(from_ptri(uint32_t, R_ESP + 4), from_ptriv(R_ESP + 8), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL, *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); if (*(ptr_t*)(from_ptr((R_ESP + 16)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 16))), &arg_16); } void iFppbL_bL__32(x64emu_t *emu, uintptr_t fcn) { iFppbL_bL__t fn = (iFppbL_bL__t)fcn; struct_L_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_L(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); struct_L_t arg_16={0}; if (*(ptr_t*)(from_ptr((R_ESP + 16)))) from_struct_L(&arg_16, *(ptr_t*)(from_ptr((R_ESP + 16)))); R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL, *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); if (*(ptr_t*)(from_ptr((R_ESP + 16)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 16))), &arg_16); } +void iFppbp_bp__32(x64emu_t *emu, uintptr_t fcn) { iFppbp_bp__t fn = (iFppbp_bp__t)fcn; struct_p_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_p(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); struct_p_t arg_16={0}; if (*(ptr_t*)(from_ptr((R_ESP + 16)))) from_struct_p(&arg_16, *(ptr_t*)(from_ptr((R_ESP + 16)))); R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL, *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); if (*(ptr_t*)(from_ptr((R_ESP + 16)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 16))), &arg_16); } void iFpbupu_up_32(x64emu_t *emu, uintptr_t fcn) { iFpbupu_up_t fn = (iFpbupu_up_t)fcn; struct_upu_t arg_8={0}; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) from_struct_upu(&arg_8, *(ptr_t*)(from_ptr((R_ESP + 8)))); R_EAX = fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, from_ptri(uint32_t, R_ESP + 12), from_ptriv(R_ESP + 16)); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_upu(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); } void iFbp_urp_u_32(x64emu_t *emu, uintptr_t fcn) { iFbp_urp_u_t fn = (iFbp_urp_u_t)fcn; struct_p_t arg_4={0}; if (*(ptr_t*)(from_ptr((R_ESP + 4)))) from_struct_p(&arg_4, *(ptr_t*)(from_ptr((R_ESP + 4)))); struct_p_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_p(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); R_EAX = fn(*(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL, from_ptri(uint32_t, R_ESP + 8), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL, from_ptri(uint32_t, R_ESP + 16)); if (*(ptr_t*)(from_ptr((R_ESP + 4)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 4))), &arg_4); } void iFrpuu_Lui_32(x64emu_t *emu, uintptr_t fcn) { iFrpuu_Lui_t fn = (iFrpuu_Lui_t)fcn; struct_puu_t arg_4={0}; if (*(ptr_t*)(from_ptr((R_ESP + 4)))) from_struct_puu(&arg_4, *(ptr_t*)(from_ptr((R_ESP + 4)))); R_EAX = fn(*(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL, from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(uint32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); } @@ -3530,6 +3554,7 @@ void iFpupuu_32(x64emu_t *emu, uintptr_t fcn) { iFpupuu_t fn = (iFpupuu_t)fcn; R void iFpupLu_32(x64emu_t *emu, uintptr_t fcn) { iFpupLu_t fn = (iFpupLu_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ulong(from_ptri(ulong_t, R_ESP + 16)), from_ptri(uint32_t, R_ESP + 20)); } void iFpuppp_32(x64emu_t *emu, uintptr_t fcn) { iFpuppp_t fn = (iFpuppp_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), from_ptriv(R_ESP + 20)); } void iFppiUi_32(x64emu_t *emu, uintptr_t fcn) { iFppiUi_t fn = (iFppiUi_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(uint64_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 24)); } +void iFppWup_32(x64emu_t *emu, uintptr_t fcn) { iFppWup_t fn = (iFppWup_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint16_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptriv(R_ESP + 20)); } void iFppupu_32(x64emu_t *emu, uintptr_t fcn) { iFppupu_t fn = (iFppupu_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptri(uint32_t, R_ESP + 20)); } void iFppLpL_32(x64emu_t *emu, uintptr_t fcn) { iFppLpL_t fn = (iFppLpL_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptriv(R_ESP + 16), from_ulong(from_ptri(ulong_t, R_ESP + 20))); } void iFpppip_32(x64emu_t *emu, uintptr_t fcn) { iFpppip_t fn = (iFpppip_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptriv(R_ESP + 20)); } @@ -3604,6 +3629,7 @@ void vFXibL_ii_32(x64emu_t *emu, uintptr_t fcn) { vFXibL_ii_t fn = (vFXibL_ii_t) void iEEBh_ppp_32(x64emu_t *emu, uintptr_t fcn) { iEEBh_ppp_t fn = (iEEBh_ppp_t)fcn; errno = emu->libc_err; struct_h_t arg_4={0}; R_EAX = fn(emu, *(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL, from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16)); if (*(ptr_t*)(from_ptr((R_ESP + 4)))) to_struct_h(*(ptr_t*)(from_ptr((R_ESP + 4))), &arg_4); emu->libc_err = errno; } void iFpupbL_p_32(x64emu_t *emu, uintptr_t fcn) { iFpupbL_p_t fn = (iFpupbL_p_t)fcn; struct_L_t arg_16={0}; if (*(ptr_t*)(from_ptr((R_ESP + 16)))) from_struct_L(&arg_16, *(ptr_t*)(from_ptr((R_ESP + 16)))); R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12), *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL, from_ptriv(R_ESP + 20)); if (*(ptr_t*)(from_ptr((R_ESP + 16)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 16))), &arg_16); } void iFppibp_I_32(x64emu_t *emu, uintptr_t fcn) { iFppibp_I_t fn = (iFppibp_I_t)fcn; struct_p_t arg_16={0}; if (*(ptr_t*)(from_ptr((R_ESP + 16)))) from_struct_p(&arg_16, *(ptr_t*)(from_ptr((R_ESP + 16)))); R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL, from_ptri(int64_t, R_ESP + 20)); if (*(ptr_t*)(from_ptr((R_ESP + 16)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 16))), &arg_16); } +void iFppWpbp__32(x64emu_t *emu, uintptr_t fcn) { iFppWpbp__t fn = (iFppWpbp__t)fcn; struct_p_t arg_20={0}; if (*(ptr_t*)(from_ptr((R_ESP + 20)))) from_struct_p(&arg_20, *(ptr_t*)(from_ptr((R_ESP + 20)))); R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint16_t, R_ESP + 12), from_ptriv(R_ESP + 16), *(ptr_t*)(from_ptr((R_ESP + 20))) ? &arg_20 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 20)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 20))), &arg_20); } void iFppupbL__32(x64emu_t *emu, uintptr_t fcn) { iFppupbL__t fn = (iFppupbL__t)fcn; struct_L_t arg_20={0}; if (*(ptr_t*)(from_ptr((R_ESP + 20)))) from_struct_L(&arg_20, *(ptr_t*)(from_ptr((R_ESP + 20)))); R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptriv(R_ESP + 16), *(ptr_t*)(from_ptr((R_ESP + 20))) ? &arg_20 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 20)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 20))), &arg_20); } void iFppppbp__32(x64emu_t *emu, uintptr_t fcn) { iFppppbp__t fn = (iFppppbp__t)fcn; struct_p_t arg_20={0}; if (*(ptr_t*)(from_ptr((R_ESP + 20)))) from_struct_p(&arg_20, *(ptr_t*)(from_ptr((R_ESP + 20)))); R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), *(ptr_t*)(from_ptr((R_ESP + 20))) ? &arg_20 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 20)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 20))), &arg_20); } void iFppbL_pu_32(x64emu_t *emu, uintptr_t fcn) { iFppbL_pu_t fn = (iFppbL_pu_t)fcn; struct_L_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_L(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL, from_ptriv(R_ESP + 16), from_ptri(uint32_t, R_ESP + 20)); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); } diff --git a/src/wrapped32/generated/wrapper32.h b/src/wrapped32/generated/wrapper32.h index 8c4e2be7..025434bb 100644 --- a/src/wrapped32/generated/wrapper32.h +++ b/src/wrapped32/generated/wrapper32.h @@ -148,6 +148,7 @@ void pFv_32(x64emu_t *emu, uintptr_t fnc); void pEi_32(x64emu_t *emu, uintptr_t fnc); void pFi_32(x64emu_t *emu, uintptr_t fnc); void pFI_32(x64emu_t *emu, uintptr_t fnc); +void pFW_32(x64emu_t *emu, uintptr_t fnc); void pFu_32(x64emu_t *emu, uintptr_t fnc); void pEu_32(x64emu_t *emu, uintptr_t fnc); void pEl_32(x64emu_t *emu, uintptr_t fnc); @@ -202,6 +203,7 @@ void vFif_32(x64emu_t *emu, uintptr_t fnc); void vFid_32(x64emu_t *emu, uintptr_t fnc); void vFip_32(x64emu_t *emu, uintptr_t fnc); void vFWW_32(x64emu_t *emu, uintptr_t fnc); +void vFWu_32(x64emu_t *emu, uintptr_t fnc); void vFuc_32(x64emu_t *emu, uintptr_t fnc); void vFuw_32(x64emu_t *emu, uintptr_t fnc); void vFui_32(x64emu_t *emu, uintptr_t fnc); @@ -312,6 +314,7 @@ void WFpp_32(x64emu_t *emu, uintptr_t fnc); void uFEp_32(x64emu_t *emu, uintptr_t fnc); void uFii_32(x64emu_t *emu, uintptr_t fnc); void uEiS_32(x64emu_t *emu, uintptr_t fnc); +void uFWp_32(x64emu_t *emu, uintptr_t fnc); void uFuu_32(x64emu_t *emu, uintptr_t fnc); void uFup_32(x64emu_t *emu, uintptr_t fnc); void uEua_32(x64emu_t *emu, uintptr_t fnc); @@ -374,6 +377,7 @@ void pFii_32(x64emu_t *emu, uintptr_t fnc); void pFiu_32(x64emu_t *emu, uintptr_t fnc); void pFip_32(x64emu_t *emu, uintptr_t fnc); void pEia_32(x64emu_t *emu, uintptr_t fnc); +void pFWu_32(x64emu_t *emu, uintptr_t fnc); void pFuu_32(x64emu_t *emu, uintptr_t fnc); void pEup_32(x64emu_t *emu, uintptr_t fnc); void pFup_32(x64emu_t *emu, uintptr_t fnc); @@ -590,6 +594,7 @@ void iEuuu_32(x64emu_t *emu, uintptr_t fnc); void iFuup_32(x64emu_t *emu, uintptr_t fnc); void iEuLa_32(x64emu_t *emu, uintptr_t fnc); void iFupL_32(x64emu_t *emu, uintptr_t fnc); +void iFUip_32(x64emu_t *emu, uintptr_t fnc); void iFfff_32(x64emu_t *emu, uintptr_t fnc); void iELLi_32(x64emu_t *emu, uintptr_t fnc); void iFpii_32(x64emu_t *emu, uintptr_t fnc); @@ -768,6 +773,7 @@ void vFbp_pp_32(x64emu_t *emu, uintptr_t fnc); void vFXLbL__32(x64emu_t *emu, uintptr_t fnc); void vFXbL_i_32(x64emu_t *emu, uintptr_t fnc); void iFEpBp__32(x64emu_t *emu, uintptr_t fnc); +void iFWubp__32(x64emu_t *emu, uintptr_t fnc); void iFuubp__32(x64emu_t *emu, uintptr_t fnc); void iFpibl__32(x64emu_t *emu, uintptr_t fnc); void iFpubp__32(x64emu_t *emu, uintptr_t fnc); @@ -821,6 +827,7 @@ void pFnUbp__32(x64emu_t *emu, uintptr_t fnc); void vFpibpp__32(x64emu_t *emu, uintptr_t fnc); void vFpbpu_u_32(x64emu_t *emu, uintptr_t fnc); void vFpbpu_p_32(x64emu_t *emu, uintptr_t fnc); +void iFLbpi_i_32(x64emu_t *emu, uintptr_t fnc); void iFpibpu__32(x64emu_t *emu, uintptr_t fnc); void iFpibpp__32(x64emu_t *emu, uintptr_t fnc); void iFpubpu__32(x64emu_t *emu, uintptr_t fnc); @@ -1046,6 +1053,7 @@ void iFpLuu_32(x64emu_t *emu, uintptr_t fnc); void iFppii_32(x64emu_t *emu, uintptr_t fnc); void iFppiU_32(x64emu_t *emu, uintptr_t fnc); void iFppip_32(x64emu_t *emu, uintptr_t fnc); +void iFppWp_32(x64emu_t *emu, uintptr_t fnc); void iFppuw_32(x64emu_t *emu, uintptr_t fnc); void iFppui_32(x64emu_t *emu, uintptr_t fnc); void iFppuu_32(x64emu_t *emu, uintptr_t fnc); @@ -1167,6 +1175,7 @@ void iFpupbL__32(x64emu_t *emu, uintptr_t fnc); void iFpubp_u_32(x64emu_t *emu, uintptr_t fnc); void iFplibl__32(x64emu_t *emu, uintptr_t fnc); void iFpLpbL__32(x64emu_t *emu, uintptr_t fnc); +void iFppWbp__32(x64emu_t *emu, uintptr_t fnc); void iFpppbp__32(x64emu_t *emu, uintptr_t fnc); void iFpppbL__32(x64emu_t *emu, uintptr_t fnc); void iFppbp_u_32(x64emu_t *emu, uintptr_t fnc); @@ -1213,7 +1222,9 @@ void pFnbpi_up_32(x64emu_t *emu, uintptr_t fnc); void vFppbp_bL__32(x64emu_t *emu, uintptr_t fnc); void vFpbLdd_ip_32(x64emu_t *emu, uintptr_t fnc); void vFpbupu_uu_32(x64emu_t *emu, uintptr_t fnc); +void iFupbp_bp__32(x64emu_t *emu, uintptr_t fnc); void iFppbL_bL__32(x64emu_t *emu, uintptr_t fnc); +void iFppbp_bp__32(x64emu_t *emu, uintptr_t fnc); void iFpbupu_up_32(x64emu_t *emu, uintptr_t fnc); void iFbp_urp_u_32(x64emu_t *emu, uintptr_t fnc); void iFrpuu_Lui_32(x64emu_t *emu, uintptr_t fnc); @@ -1416,6 +1427,7 @@ void iFpupuu_32(x64emu_t *emu, uintptr_t fnc); void iFpupLu_32(x64emu_t *emu, uintptr_t fnc); void iFpuppp_32(x64emu_t *emu, uintptr_t fnc); void iFppiUi_32(x64emu_t *emu, uintptr_t fnc); +void iFppWup_32(x64emu_t *emu, uintptr_t fnc); void iFppupu_32(x64emu_t *emu, uintptr_t fnc); void iFppLpL_32(x64emu_t *emu, uintptr_t fnc); void iFpppip_32(x64emu_t *emu, uintptr_t fnc); @@ -1490,6 +1502,7 @@ void vFXibL_ii_32(x64emu_t *emu, uintptr_t fnc); void iEEBh_ppp_32(x64emu_t *emu, uintptr_t fnc); void iFpupbL_p_32(x64emu_t *emu, uintptr_t fnc); void iFppibp_I_32(x64emu_t *emu, uintptr_t fnc); +void iFppWpbp__32(x64emu_t *emu, uintptr_t fnc); void iFppupbL__32(x64emu_t *emu, uintptr_t fnc); void iFppppbp__32(x64emu_t *emu, uintptr_t fnc); void iFppbL_pu_32(x64emu_t *emu, uintptr_t fnc); diff --git a/src/wrapped32/wrappedselinux.c b/src/wrapped32/wrappedselinux.c new file mode 100644 index 00000000..cebe93a7 --- /dev/null +++ b/src/wrapped32/wrappedselinux.c @@ -0,0 +1,19 @@ +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#define _GNU_SOURCE /* See feature_test_macros(7) */ +#include <dlfcn.h> + +#include "wrappedlibs.h" + +#include "wrapper32.h" +#include "bridge.h" +#include "librarian/library_private.h" +#include "x64emu.h" +#include "box32context.h" + +static const char* selinuxName = "libselinux.so.1"; +#define LIBNAME selinux + +#include "wrappedlib_init32.h" + diff --git a/src/wrapped32/wrappedselinux_private.h b/src/wrapped32/wrappedselinux_private.h new file mode 100644 index 00000000..116fb1b5 --- /dev/null +++ b/src/wrapped32/wrappedselinux_private.h @@ -0,0 +1,247 @@ +#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA)) +#error Meh... +#endif + +//GO(avc_add_callback, +//GO(avc_audit, +//GO(avc_av_stats, +//GO(avc_cache_stats, +//GO(avc_cleanup, +//GO(avc_compute_create, +//GO(avc_compute_member, +//GO(avc_context_to_sid, +//GO(avc_context_to_sid_raw, +//GO(avc_destroy, +//GO(avc_get_initial_sid, +//GO(avc_has_perm, +//GO(avc_has_perm_noaudit, +//GO(avc_init, +//GO(avc_netlink_acquire_fd, +//GO(avc_netlink_check_nb, +//GO(avc_netlink_close, +//GO(avc_netlink_loop, +//GO(avc_netlink_open, +//GO(avc_netlink_release_fd, +//GO(avc_open, +//GO(avc_reset, +//GO(avc_sid_stats, +//GO(avc_sid_to_context, +//GO(avc_sid_to_context_raw, +GO(checkPasswdAccess, iFu) +//GO(context_free, +//GO(context_new, +//GO(context_range_get, +//GO(context_range_set, +//GO(context_role_get, +//GO(context_role_set, +//GO(context_str, +//GO(context_type_get, +//GO(context_type_set, +//GO(context_user_get, +//GO(context_user_set, +//DATAB(dir_xattr_list, +GO(fgetfilecon, iFibp_) +GO(fgetfilecon_raw, iFibp_) +GO(fini_selinuxmnt, vFv) +GO(freecon, vFp) +GO(freeconary, vFbp_) +GO(fsetfilecon, iFip) +GO(fsetfilecon_raw, iFip) +GO(getcon, iFbp_) +GO(getcon_raw, iFbp_) +//GO(get_default_context, +//GO(get_default_context_with_level, +//GO(get_default_context_with_role, +//GO(get_default_context_with_rolelevel, +//GO(get_default_type, +GO(getexeccon, iFbp_) +GO(getexeccon_raw, iFbp_) +GO(getfilecon, iFpbp_) +GO(getfilecon_raw, iFpbp_) +GO(getfscreatecon, iFbp_) +GO(getfscreatecon_raw, iFbp_) +GO(getkeycreatecon, iFbp_) +GO(getkeycreatecon_raw, iFbp_) +//GO(get_ordered_context_list, +//GO(get_ordered_context_list_with_level, +GO(getpeercon, iFibp_) +GO(getpeercon_raw, iFibp_) +GO(getpidcon, iFibp_) +GO(getpidcon_raw, iFibp_) +GO(getprevcon, iFbp_) +GO(getprevcon_raw, iFbp_) +GO(getseuser, iFppbp_bp_) +GO(getseuserbyname, iFpbp_bp_) +GO(getsockcreatecon, iFbp_) +GO(getsockcreatecon_raw, iFbp_) +GO(is_context_customizable, iFp) +GO(is_selinux_enabled, iFv) +GO(is_selinux_mls_enabled, iFv) +GO(lgetfilecon, iFpbp_) +GO(lgetfilecon_raw, iFpbp_) +GO(lsetfilecon, iFpp) +GO(lsetfilecon_raw, iFpp) +//GO(manual_user_enter_context, +//GO(map_class, +//GO(map_decision, +//GO(map_perm, +GO(matchmediacon, iFpbp_) +GO(matchpathcon, iFpubp_) +GO(matchpathcon_checkmatches, vFp) +GO(matchpathcon_filespec_add, iFUip) +GO(matchpathcon_filespec_destroy, vFv) +GO(matchpathcon_filespec_eval, vFv) +GO(matchpathcon_fini, vFv) +GO(matchpathcon_index, iFpubp_) +GO(matchpathcon_init, iFp) +GO(matchpathcon_init_prefix, iFpp) +GO(mode_to_security_class, WFu) +//DATAB(myprintf_compat, +GO(print_access_vector, vFWu) +//GO(query_user_context, +GO(realpath_not_final, iFpp) +GO(rpm_execcon, iFupbp_bp_) +GO(security_av_perm_to_string, pFWu) +GO(security_av_string, iFWubp_) +GO(security_canonicalize_context, iFpbp_) +GO(security_canonicalize_context_raw, iFpbp_) +GO(security_check_context, iFp) +GO(security_check_context_raw, iFp) +GO(security_class_to_string, pFW) +GO(security_commit_booleans, iFv) +GO(security_compute_av, iFppWup) +GO(security_compute_av_flags, iFppWup) +GO(security_compute_av_flags_raw, iFppWup) +GO(security_compute_av_raw, iFppWup) +GO(security_compute_create, iFppWbp_) +GO(security_compute_create_name, iFppWpbp_) +GO(security_compute_create_name_raw, iFppWpbp_) +GO(security_compute_create_raw, iFppWbp_) +GO(security_compute_member, iFppWbp_) +GO(security_compute_member_raw, iFppWbp_) +GO(security_compute_relabel, iFppWbp_) +GO(security_compute_relabel_raw, iFppWbp_) +//GOM(security_compute_user, iFEppbp_) +//GOM(security_compute_user_raw, iFEppbp_) +GO(security_deny_unknown, iFv) +GO(security_disable, iFv) +GO(security_get_boolean_active, iFp) +//GOM(security_get_boolean_names, iFEbp_p) +GO(security_get_boolean_pending, iFp) +GO(security_get_checkreqprot, iFv) +GO(security_getenforce, iFv) +GO(security_get_initial_context, iFpbp_) +GO(security_get_initial_context_raw, iFpbp_) +GO(security_load_booleans, iFp) +GO(security_load_policy, iFpL) +GO(security_policyvers, iFv) +GO(security_reject_unknown, iFv) +GO(security_set_boolean, iFpi) +GO(security_set_boolean_list, iFLbpi_i) +GO(security_setenforce, iFi) +GO(security_validatetrans, iFppWp) +GO(security_validatetrans_raw, iFppWp) +//GO(selabel_close, +//GO(selabel_cmp, +//GO(selabel_digest, +//GO(selabel_get_digests_all_partial_matches, +//GO(selabel_hash_all_partial_matches, +//GO(selabel_lookup, +//GO(selabel_lookup_best_match, +//GO(selabel_lookup_best_match_raw, +//GO(selabel_lookup_raw, +//GO(selabel_open, +//GO(selabel_partial_match, +//GO(selabel_stats, +GO(selinux_binary_policy_path, pFv) +GO(selinux_booleans_path, pFv) +GO(selinux_booleans_subs_path, pFv) +GO(selinux_boolean_sub, pFp) +GO(selinux_check_access, iFppppp) +GO(selinux_check_passwd_access, iFu) +GO(selinux_check_securetty_context, iFp) +GO(selinux_colors_path, pFv) +GO(selinux_contexts_path, pFv) +GO(selinux_current_policy_path, pFv) +GO(selinux_customizable_types_path, pFv) +GO(selinux_default_context_path, pFv) +//GO(selinux_default_type_path, +GO(selinux_failsafe_context_path, pFv) +GO(selinux_file_context_cmp, iFpp) +GO(selinux_file_context_homedir_path, pFv) +GO(selinux_file_context_local_path, pFv) +GO(selinux_file_context_path, pFv) +GO(selinux_file_context_subs_dist_path, pFv) +GO(selinux_file_context_subs_path, pFv) +GO(selinux_file_context_verify, iFpu) +GO(selinuxfs_exists, iFv) +//GOS(selinux_get_callback, pFpi) +GO(selinux_getenforcemode, iFp) +GO(selinux_getpolicytype, iFbp_) +GO(selinux_homedir_context_path, pFv) +GO(selinux_init_load_policy, iFp) +GO(selinux_lsetfilecon_default, iFp) +GO(selinux_lxc_contexts_path, pFv) +GO(selinux_media_context_path, pFv) +GO(selinux_mkload_policy, iFi) +//DATAB(selinux_mnt, +GO(selinux_netfilter_context_path, pFv) +GO(selinux_openrc_contexts_path, pFv) +GO(selinux_openssh_contexts_path, pFv) +GO(selinux_path, pFv) +GO(selinux_policy_root, pFv) +GO(selinux_raw_context_to_color, iFpbp_) +GO(selinux_raw_to_trans_context, iFpbp_) +GO(selinux_removable_context_path, pFv) +GO(selinux_reset_config, vFv) +//GO(selinux_restorecon, +//GO(selinux_restorecon_default_handle, +//GO(selinux_restorecon_set_alt_rootpath, +//GO(selinux_restorecon_set_exclude_list, +//GO(selinux_restorecon_set_sehandle, +//GO(selinux_restorecon_xattr, +GO(selinux_securetty_types_path, pFv) +GO(selinux_sepgsql_context_path, pFv) +//GO(selinux_set_callback, +//GO(selinux_set_mapping, iFbpppppppppppppppppppppppppppppppppp_) +GO(selinux_set_policy_root, iFp) +GO(selinux_snapperd_contexts_path, pFv) +//GO(selinux_status_close, +//GO(selinux_status_deny_unknown, +//GO(selinux_status_getenforce, +//GO(selinux_status_open, +//GO(selinux_status_policyload, +//GO(selinux_status_updated, +GO(selinux_systemd_contexts_path, pFv) +GO(selinux_translations_path, pFv) +GO(selinux_trans_to_raw_context, iFpbp_) +GO(selinux_user_contexts_path, pFv) +GO(selinux_usersconf_path, pFv) +GO(selinux_users_path, pFv) +GO(selinux_virtual_domain_context_path, pFv) +GO(selinux_virtual_image_context_path, pFv) +GO(selinux_x_context_path, pFv) +GO(setcon, iFp) +GO(setcon_raw, iFp) +GO(setexeccon, iFp) +GO(setexeccon_raw, iFp) +GO(setexecfilecon, iFpp) +GO(setfilecon, iFpp) +GO(setfilecon_raw, iFpp) +GO(setfscreatecon, iFp) +GO(setfscreatecon_raw, iFp) +GO(setkeycreatecon, iFp) +GO(setkeycreatecon_raw, iFp) +//GOM(set_matchpathcon_canoncon, vFEp) +GO(set_matchpathcon_flags, vFu) +//GOM(set_matchpathcon_invalidcon, vFEp) +//GOM(set_matchpathcon_printf, vFEp) +GO(set_selinuxmnt, vFp) +GO(setsockcreatecon, iFp) +GO(setsockcreatecon_raw, iFp) +//GO(sidget, +//GO(sidput, +GO(string_to_av_perm, uFWp) +GO(string_to_security_class, WFp) +//GO(unmap_class, +//GO(unmap_perm, |