about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2025-04-12 17:53:56 +0200
committerptitSeb <sebastien.chev@gmail.com>2025-04-12 17:53:56 +0200
commit91f9a58b3058732259e8a86d830493ad87fa9ff5 (patch)
treea5063ded1c7ad8c60c2ac0097952f2987bb93550 /src
parentfea05a30e8d65322de79220ba8a07857b9aea90f (diff)
downloadbox64-91f9a58b3058732259e8a86d830493ad87fa9ff5.tar.gz
box64-91f9a58b3058732259e8a86d830493ad87fa9ff5.zip
[BOX32][WRAPPER] Added 32bits wrapped libselinux
Diffstat (limited to 'src')
-rw-r--r--src/library_list_32.h2
-rw-r--r--src/wrapped32/generated/functions_list.txt14
-rw-r--r--src/wrapped32/generated/wrappedselinuxdefs32.h8
-rw-r--r--src/wrapped32/generated/wrappedselinuxtypes32.h17
-rw-r--r--src/wrapped32/generated/wrappedselinuxundefs32.h8
-rw-r--r--src/wrapped32/generated/wrapper32.c26
-rw-r--r--src/wrapped32/generated/wrapper32.h13
-rw-r--r--src/wrapped32/wrappedselinux.c19
-rw-r--r--src/wrapped32/wrappedselinux_private.h247
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,