about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2021-03-08 15:02:33 +0100
committerptitSeb <sebastien.chev@gmail.com>2021-03-08 15:02:33 +0100
commiteda8b442e09877ccd3884a813d30b57ed161f5a6 (patch)
tree5d84f0994d629dbd20b6532fe67890c8c188cca4 /src
parent9d0e59b31c4404b26976e70e4ecf81ad19f7838d (diff)
downloadbox64-eda8b442e09877ccd3884a813d30b57ed161f5a6.tar.gz
box64-eda8b442e09877ccd3884a813d30b57ed161f5a6.zip
Added wrapped libasound
Diffstat (limited to 'src')
-rwxr-xr-xsrc/library_list.h2
-rw-r--r--src/wrapped/generated/functions_list.txt32
-rw-r--r--src/wrapped/generated/wrapper.c64
-rw-r--r--src/wrapped/generated/wrapper.h32
-rwxr-xr-xsrc/wrapped/wrappedlibasound.c178
-rwxr-xr-xsrc/wrapped/wrappedlibasound_private.h1275
6 files changed, 1582 insertions, 1 deletions
diff --git a/src/library_list.h b/src/library_list.h
index e78fc57f..68f685f4 100755
--- a/src/library_list.h
+++ b/src/library_list.h
@@ -9,7 +9,7 @@ GO("libGL.so.1", libgl)
 GO("libGL.so", libgl)
 GO("libGLU.so.1", libglu)
 GO("libX11.so.6", libx11)
-//GO("libasound.so.2", libasound)
+GO("libasound.so.2", libasound)
 GO("libdl.so.2", libdl)
 GO("libm.so.6", libm)
 GO("libSDL2-2.0.so.0", sdl2)
diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt
index 4a49811e..4bbdf00f 100644
--- a/src/wrapped/generated/functions_list.txt
+++ b/src/wrapped/generated/functions_list.txt
@@ -61,6 +61,7 @@
 #() vFfp
 #() vFdd
 #() vFpi
+#() vFpu
 #() vFpL
 #() vFpp
 #() cFpp
@@ -74,21 +75,28 @@
 #() iFUU
 #() iFLL
 #() iFLp
+#() iFpw
 #() iFpi
+#() iFpI
 #() iFpC
 #() iFpu
 #() iFpf
+#() iFpd
 #() iFpl
 #() iFpL
 #() iFpp
 #() IFEp
+#() IFpu
 #() CFui
 #() CFpi
+#() CFpu
 #() uFEp
+#() uFiu
 #() uFui
 #() uFuu
 #() uFup
 #() uFpi
+#() uFpu
 #() uFpp
 #() UFEp
 #() fFif
@@ -104,6 +112,7 @@
 #() LFpL
 #() pFEp
 #() pFii
+#() pFip
 #() pFui
 #() pFuu
 #() pFup
@@ -153,6 +162,9 @@
 #() vFpid
 #() vFpip
 #() vFpui
+#() vFpuI
+#() vFpuu
+#() vFpup
 #() vFppi
 #() vFppu
 #() vFppp
@@ -179,7 +191,9 @@
 #() iFplp
 #() iFpLp
 #() iFppi
+#() iFppI
 #() iFppu
+#() iFppd
 #() iFppL
 #() iFppp
 #() IFpIi
@@ -277,11 +291,13 @@
 #() iFEpip
 #() iFEppi
 #() iFEppp
+#() iFiiii
 #() iFiiiu
 #() iFippp
 #() iFuipp
 #() iFuuff
 #() iFuppp
+#() iFpiii
 #() iFpiiu
 #() iFpiiL
 #() iFpiip
@@ -291,6 +307,7 @@
 #() iFpCCC
 #() iFpWWu
 #() iFpuip
+#() iFpuui
 #() iFpuup
 #() iFpuLL
 #() iFpupV
@@ -298,11 +315,14 @@
 #() iFppiu
 #() iFppiL
 #() iFppip
+#() iFppuw
+#() iFppui
 #() iFppuu
 #() iFppup
 #() iFpplp
 #() iFppLp
 #() iFpppi
+#() iFpppu
 #() iFpppL
 #() iFpppp
 #() IFEpIi
@@ -394,6 +414,7 @@
 #() vFppWui
 #() vFpppii
 #() vFppppp
+#() iFEpipp
 #() iFEppiV
 #() iFEpppp
 #() iFiiupp
@@ -402,9 +423,11 @@
 #() iFpiiip
 #() iFpiiuu
 #() iFpiipi
+#() iFpiipp
 #() iFpipii
 #() iFpippp
 #() iFpCCCC
+#() iFpuuui
 #() iFpuuLL
 #() iFpuupp
 #() iFppiip
@@ -414,6 +437,7 @@
 #() iFppupi
 #() iFpppii
 #() iFpppiL
+#() iFpppip
 #() iFppppi
 #() iFppppp
 #() IFppIII
@@ -425,6 +449,7 @@
 #() uFppiip
 #() uFppppp
 #() LFppppp
+#() pFEpipL
 #() pFuiiiu
 #() pFuiipp
 #() pFpiiuu
@@ -480,6 +505,7 @@
 #() vFuppppp
 #() vFffffff
 #() vFdddddd
+#() vFpipipV
 #() vFpdddii
 #() vFppiiii
 #() vFppupii
@@ -492,10 +518,12 @@
 #() iFuppppp
 #() iFpiiiii
 #() iFpiiipp
+#() iFpupuui
 #() iFppiiuu
 #() iFppIppp
 #() iFppuiii
 #() iFppuiiL
+#() iFppuIII
 #() iFppuupp
 #() iFppupip
 #() iFpppipi
@@ -551,8 +579,10 @@
 #() vFpppiiii
 #() iFEpppppp
 #() iFiiiiiip
+#() iFpiiuuiu
 #() iFpiupiii
 #() iFpuuiuui
+#() iFpupuuui
 #() iFpuppppp
 #() iFppiiuui
 #() iFppiipii
@@ -592,6 +622,7 @@
 #() iFiiiiiiip
 #() iFiiupiupi
 #() iFuiifpppp
+#() iFpuuiiiii
 #() iFpupppppp
 #() iFppIIIppp
 #() iFpppiippp
@@ -644,6 +675,7 @@
 #() vFffffffffff
 #() iFiiiiiiiiip
 #() iFpuupiuiipp
+#() iFppuuiiiiii
 #() iFppppiiuuii
 #() pFppuiipuuii
 #() pFpppppppppp
diff --git a/src/wrapped/generated/wrapper.c b/src/wrapped/generated/wrapper.c
index 725b76c9..451a70aa 100644
--- a/src/wrapped/generated/wrapper.c
+++ b/src/wrapped/generated/wrapper.c
@@ -94,6 +94,7 @@ typedef void (*vFff_t)(float, float);
 typedef void (*vFfp_t)(float, void*);
 typedef void (*vFdd_t)(double, double);
 typedef void (*vFpi_t)(void*, int32_t);
+typedef void (*vFpu_t)(void*, uint32_t);
 typedef void (*vFpL_t)(void*, uintptr_t);
 typedef void (*vFpp_t)(void*, void*);
 typedef int8_t (*cFpp_t)(void*, void*);
@@ -107,21 +108,28 @@ typedef int32_t (*iFup_t)(uint32_t, void*);
 typedef int32_t (*iFUU_t)(uint64_t, uint64_t);
 typedef int32_t (*iFLL_t)(uintptr_t, uintptr_t);
 typedef int32_t (*iFLp_t)(uintptr_t, void*);
+typedef int32_t (*iFpw_t)(void*, int16_t);
 typedef int32_t (*iFpi_t)(void*, int32_t);
+typedef int32_t (*iFpI_t)(void*, int64_t);
 typedef int32_t (*iFpC_t)(void*, uint8_t);
 typedef int32_t (*iFpu_t)(void*, uint32_t);
 typedef int32_t (*iFpf_t)(void*, float);
+typedef int32_t (*iFpd_t)(void*, double);
 typedef int32_t (*iFpl_t)(void*, intptr_t);
 typedef int32_t (*iFpL_t)(void*, uintptr_t);
 typedef int32_t (*iFpp_t)(void*, void*);
 typedef int64_t (*IFEp_t)(x64emu_t*, void*);
+typedef int64_t (*IFpu_t)(void*, uint32_t);
 typedef uint8_t (*CFui_t)(uint32_t, int32_t);
 typedef uint8_t (*CFpi_t)(void*, int32_t);
+typedef uint8_t (*CFpu_t)(void*, uint32_t);
 typedef uint32_t (*uFEp_t)(x64emu_t*, void*);
+typedef uint32_t (*uFiu_t)(int32_t, uint32_t);
 typedef uint32_t (*uFui_t)(uint32_t, int32_t);
 typedef uint32_t (*uFuu_t)(uint32_t, uint32_t);
 typedef uint32_t (*uFup_t)(uint32_t, void*);
 typedef uint32_t (*uFpi_t)(void*, int32_t);
+typedef uint32_t (*uFpu_t)(void*, uint32_t);
 typedef uint32_t (*uFpp_t)(void*, void*);
 typedef uint64_t (*UFEp_t)(x64emu_t*, void*);
 typedef float (*fFif_t)(int32_t, float);
@@ -137,6 +145,7 @@ typedef uintptr_t (*LFpi_t)(void*, int32_t);
 typedef uintptr_t (*LFpL_t)(void*, uintptr_t);
 typedef void* (*pFEp_t)(x64emu_t*, void*);
 typedef void* (*pFii_t)(int32_t, int32_t);
+typedef void* (*pFip_t)(int32_t, void*);
 typedef void* (*pFui_t)(uint32_t, int32_t);
 typedef void* (*pFuu_t)(uint32_t, uint32_t);
 typedef void* (*pFup_t)(uint32_t, void*);
@@ -186,6 +195,9 @@ typedef void (*vFpif_t)(void*, int32_t, float);
 typedef void (*vFpid_t)(void*, int32_t, double);
 typedef void (*vFpip_t)(void*, int32_t, void*);
 typedef void (*vFpui_t)(void*, uint32_t, int32_t);
+typedef void (*vFpuI_t)(void*, uint32_t, int64_t);
+typedef void (*vFpuu_t)(void*, uint32_t, uint32_t);
+typedef void (*vFpup_t)(void*, uint32_t, void*);
 typedef void (*vFppi_t)(void*, void*, int32_t);
 typedef void (*vFppu_t)(void*, void*, uint32_t);
 typedef void (*vFppp_t)(void*, void*, void*);
@@ -212,7 +224,9 @@ typedef int32_t (*iFpff_t)(void*, float, float);
 typedef int32_t (*iFplp_t)(void*, intptr_t, void*);
 typedef int32_t (*iFpLp_t)(void*, uintptr_t, void*);
 typedef int32_t (*iFppi_t)(void*, void*, int32_t);
+typedef int32_t (*iFppI_t)(void*, void*, int64_t);
 typedef int32_t (*iFppu_t)(void*, void*, uint32_t);
+typedef int32_t (*iFppd_t)(void*, void*, double);
 typedef int32_t (*iFppL_t)(void*, void*, uintptr_t);
 typedef int32_t (*iFppp_t)(void*, void*, void*);
 typedef int64_t (*IFpIi_t)(void*, int64_t, int32_t);
@@ -310,11 +324,13 @@ typedef int32_t (*iFEupp_t)(x64emu_t*, uint32_t, void*, void*);
 typedef int32_t (*iFEpip_t)(x64emu_t*, void*, int32_t, void*);
 typedef int32_t (*iFEppi_t)(x64emu_t*, void*, void*, int32_t);
 typedef int32_t (*iFEppp_t)(x64emu_t*, void*, void*, void*);
+typedef int32_t (*iFiiii_t)(int32_t, int32_t, int32_t, int32_t);
 typedef int32_t (*iFiiiu_t)(int32_t, int32_t, int32_t, uint32_t);
 typedef int32_t (*iFippp_t)(int32_t, void*, void*, void*);
 typedef int32_t (*iFuipp_t)(uint32_t, int32_t, void*, void*);
 typedef int32_t (*iFuuff_t)(uint32_t, uint32_t, float, float);
 typedef int32_t (*iFuppp_t)(uint32_t, void*, void*, void*);
+typedef int32_t (*iFpiii_t)(void*, int32_t, int32_t, int32_t);
 typedef int32_t (*iFpiiu_t)(void*, int32_t, int32_t, uint32_t);
 typedef int32_t (*iFpiiL_t)(void*, int32_t, int32_t, uintptr_t);
 typedef int32_t (*iFpiip_t)(void*, int32_t, int32_t, void*);
@@ -324,6 +340,7 @@ typedef int32_t (*iFpipp_t)(void*, int32_t, void*, void*);
 typedef int32_t (*iFpCCC_t)(void*, uint8_t, uint8_t, uint8_t);
 typedef int32_t (*iFpWWu_t)(void*, uint16_t, uint16_t, uint32_t);
 typedef int32_t (*iFpuip_t)(void*, uint32_t, int32_t, void*);
+typedef int32_t (*iFpuui_t)(void*, uint32_t, uint32_t, int32_t);
 typedef int32_t (*iFpuup_t)(void*, uint32_t, uint32_t, void*);
 typedef int32_t (*iFpuLL_t)(void*, uint32_t, uintptr_t, uintptr_t);
 typedef int32_t (*iFpupV_t)(void*, uint32_t, void*, void*);
@@ -331,11 +348,14 @@ typedef int32_t (*iFppii_t)(void*, void*, int32_t, int32_t);
 typedef int32_t (*iFppiu_t)(void*, void*, int32_t, uint32_t);
 typedef int32_t (*iFppiL_t)(void*, void*, int32_t, uintptr_t);
 typedef int32_t (*iFppip_t)(void*, void*, int32_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);
 typedef int32_t (*iFppup_t)(void*, void*, uint32_t, void*);
 typedef int32_t (*iFpplp_t)(void*, void*, intptr_t, void*);
 typedef int32_t (*iFppLp_t)(void*, void*, uintptr_t, void*);
 typedef int32_t (*iFpppi_t)(void*, void*, void*, int32_t);
+typedef int32_t (*iFpppu_t)(void*, void*, void*, uint32_t);
 typedef int32_t (*iFpppL_t)(void*, void*, void*, uintptr_t);
 typedef int32_t (*iFpppp_t)(void*, void*, void*, void*);
 typedef int64_t (*IFEpIi_t)(x64emu_t*, void*, int64_t, int32_t);
@@ -427,6 +447,7 @@ typedef void (*vFpddii_t)(void*, double, double, int32_t, int32_t);
 typedef void (*vFppWui_t)(void*, void*, uint16_t, uint32_t, int32_t);
 typedef void (*vFpppii_t)(void*, void*, void*, int32_t, int32_t);
 typedef void (*vFppppp_t)(void*, void*, void*, void*, void*);
+typedef int32_t (*iFEpipp_t)(x64emu_t*, void*, int32_t, void*, void*);
 typedef int32_t (*iFEppiV_t)(x64emu_t*, void*, void*, int32_t, void*);
 typedef int32_t (*iFEpppp_t)(x64emu_t*, void*, void*, void*, void*);
 typedef int32_t (*iFiiupp_t)(int32_t, int32_t, uint32_t, void*, void*);
@@ -435,9 +456,11 @@ typedef int32_t (*iFpiiii_t)(void*, int32_t, int32_t, int32_t, int32_t);
 typedef int32_t (*iFpiiip_t)(void*, int32_t, int32_t, int32_t, void*);
 typedef int32_t (*iFpiiuu_t)(void*, int32_t, int32_t, uint32_t, uint32_t);
 typedef int32_t (*iFpiipi_t)(void*, int32_t, int32_t, void*, int32_t);
+typedef int32_t (*iFpiipp_t)(void*, int32_t, int32_t, void*, void*);
 typedef int32_t (*iFpipii_t)(void*, int32_t, void*, int32_t, int32_t);
 typedef int32_t (*iFpippp_t)(void*, int32_t, void*, void*, void*);
 typedef int32_t (*iFpCCCC_t)(void*, uint8_t, uint8_t, uint8_t, uint8_t);
+typedef int32_t (*iFpuuui_t)(void*, uint32_t, uint32_t, uint32_t, int32_t);
 typedef int32_t (*iFpuuLL_t)(void*, uint32_t, uint32_t, uintptr_t, uintptr_t);
 typedef int32_t (*iFpuupp_t)(void*, uint32_t, uint32_t, void*, void*);
 typedef int32_t (*iFppiip_t)(void*, void*, int32_t, int32_t, void*);
@@ -447,6 +470,7 @@ typedef int32_t (*iFppipp_t)(void*, void*, int32_t, void*, void*);
 typedef int32_t (*iFppupi_t)(void*, void*, uint32_t, void*, int32_t);
 typedef int32_t (*iFpppii_t)(void*, void*, void*, int32_t, int32_t);
 typedef int32_t (*iFpppiL_t)(void*, void*, void*, int32_t, uintptr_t);
+typedef int32_t (*iFpppip_t)(void*, void*, void*, int32_t, void*);
 typedef int32_t (*iFppppi_t)(void*, void*, void*, void*, int32_t);
 typedef int32_t (*iFppppp_t)(void*, void*, void*, void*, void*);
 typedef int64_t (*IFppIII_t)(void*, void*, int64_t, int64_t, int64_t);
@@ -458,6 +482,7 @@ typedef uint32_t (*uFpuuuu_t)(void*, uint32_t, uint32_t, uint32_t, uint32_t);
 typedef uint32_t (*uFppiip_t)(void*, void*, int32_t, int32_t, void*);
 typedef uint32_t (*uFppppp_t)(void*, void*, void*, void*, void*);
 typedef uintptr_t (*LFppppp_t)(void*, void*, void*, void*, void*);
+typedef void* (*pFEpipL_t)(x64emu_t*, void*, int32_t, void*, uintptr_t);
 typedef void* (*pFuiiiu_t)(uint32_t, int32_t, int32_t, int32_t, uint32_t);
 typedef void* (*pFuiipp_t)(uint32_t, int32_t, int32_t, void*, void*);
 typedef void* (*pFpiiuu_t)(void*, int32_t, int32_t, uint32_t, uint32_t);
@@ -513,6 +538,7 @@ typedef void (*vFupupip_t)(uint32_t, void*, uint32_t, void*, int32_t, void*);
 typedef void (*vFuppppp_t)(uint32_t, void*, void*, void*, void*, void*);
 typedef void (*vFffffff_t)(float, float, float, float, float, float);
 typedef void (*vFdddddd_t)(double, double, double, double, double, double);
+typedef void (*vFpipipV_t)(void*, int32_t, void*, int32_t, void*, void*);
 typedef void (*vFpdddii_t)(void*, double, double, double, int32_t, int32_t);
 typedef void (*vFppiiii_t)(void*, void*, int32_t, int32_t, int32_t, int32_t);
 typedef void (*vFppupii_t)(void*, void*, uint32_t, void*, int32_t, int32_t);
@@ -525,10 +551,12 @@ typedef int32_t (*iFuppipp_t)(uint32_t, void*, void*, int32_t, void*, void*);
 typedef int32_t (*iFuppppp_t)(uint32_t, void*, void*, void*, void*, void*);
 typedef int32_t (*iFpiiiii_t)(void*, int32_t, int32_t, int32_t, int32_t, int32_t);
 typedef int32_t (*iFpiiipp_t)(void*, int32_t, int32_t, int32_t, void*, void*);
+typedef int32_t (*iFpupuui_t)(void*, uint32_t, void*, uint32_t, uint32_t, int32_t);
 typedef int32_t (*iFppiiuu_t)(void*, void*, int32_t, int32_t, uint32_t, uint32_t);
 typedef int32_t (*iFppIppp_t)(void*, void*, int64_t, void*, void*, void*);
 typedef int32_t (*iFppuiii_t)(void*, void*, uint32_t, int32_t, int32_t, int32_t);
 typedef int32_t (*iFppuiiL_t)(void*, void*, uint32_t, int32_t, int32_t, uintptr_t);
+typedef int32_t (*iFppuIII_t)(void*, void*, uint32_t, int64_t, int64_t, int64_t);
 typedef int32_t (*iFppuupp_t)(void*, void*, uint32_t, uint32_t, void*, void*);
 typedef int32_t (*iFppupip_t)(void*, void*, uint32_t, void*, int32_t, void*);
 typedef int32_t (*iFpppipi_t)(void*, void*, void*, int32_t, void*, int32_t);
@@ -584,8 +612,10 @@ typedef void (*vFpddiidd_t)(void*, double, double, int32_t, int32_t, double, dou
 typedef void (*vFpppiiii_t)(void*, void*, void*, int32_t, int32_t, int32_t, int32_t);
 typedef int32_t (*iFEpppppp_t)(x64emu_t*, void*, void*, void*, void*, void*, void*);
 typedef int32_t (*iFiiiiiip_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*);
+typedef int32_t (*iFpiiuuiu_t)(void*, int32_t, int32_t, uint32_t, uint32_t, int32_t, uint32_t);
 typedef int32_t (*iFpiupiii_t)(void*, int32_t, uint32_t, void*, int32_t, int32_t, int32_t);
 typedef int32_t (*iFpuuiuui_t)(void*, uint32_t, uint32_t, int32_t, uint32_t, uint32_t, int32_t);
+typedef int32_t (*iFpupuuui_t)(void*, uint32_t, void*, uint32_t, uint32_t, uint32_t, int32_t);
 typedef int32_t (*iFpuppppp_t)(void*, uint32_t, void*, void*, void*, void*, void*);
 typedef int32_t (*iFppiiuui_t)(void*, void*, int32_t, int32_t, uint32_t, uint32_t, int32_t);
 typedef int32_t (*iFppiipii_t)(void*, void*, int32_t, int32_t, void*, int32_t, int32_t);
@@ -625,6 +655,7 @@ typedef int32_t (*iFEpippppp_t)(x64emu_t*, void*, int32_t, void*, void*, void*,
 typedef int32_t (*iFiiiiiiip_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*);
 typedef int32_t (*iFiiupiupi_t)(int32_t, int32_t, uint32_t, void*, int32_t, uint32_t, void*, int32_t);
 typedef int32_t (*iFuiifpppp_t)(uint32_t, int32_t, int32_t, float, void*, void*, void*, void*);
+typedef int32_t (*iFpuuiiiii_t)(void*, uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
 typedef int32_t (*iFpupppppp_t)(void*, uint32_t, void*, void*, void*, void*, void*, void*);
 typedef int32_t (*iFppIIIppp_t)(void*, void*, int64_t, int64_t, int64_t, void*, void*, void*);
 typedef int32_t (*iFpppiippp_t)(void*, void*, void*, int32_t, int32_t, void*, void*, void*);
@@ -677,6 +708,7 @@ typedef void (*vFuddiiddiip_t)(uint32_t, double, double, int32_t, int32_t, doubl
 typedef void (*vFffffffffff_t)(float, float, float, float, float, float, float, float, float, float);
 typedef int32_t (*iFiiiiiiiiip_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*);
 typedef int32_t (*iFpuupiuiipp_t)(void*, uint32_t, uint32_t, void*, int32_t, uint32_t, int32_t, int32_t, void*, void*);
+typedef int32_t (*iFppuuiiiiii_t)(void*, void*, uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
 typedef int32_t (*iFppppiiuuii_t)(void*, void*, void*, void*, int32_t, int32_t, uint32_t, uint32_t, int32_t, int32_t);
 typedef void* (*pFppuiipuuii_t)(void*, void*, uint32_t, int32_t, int32_t, void*, uint32_t, uint32_t, int32_t, int32_t);
 typedef void* (*pFpppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
@@ -791,6 +823,7 @@ void vFff(x64emu_t *emu, uintptr_t fcn) { vFff_t fn = (vFff_t)fcn; fn(emu->xmm[0
 void vFfp(x64emu_t *emu, uintptr_t fcn) { vFfp_t fn = (vFfp_t)fcn; fn(emu->xmm[0].f[0], (void*)R_RDI); }
 void vFdd(x64emu_t *emu, uintptr_t fcn) { vFdd_t fn = (vFdd_t)fcn; fn(emu->xmm[0].d[0], emu->xmm[1].d[0]); }
 void vFpi(x64emu_t *emu, uintptr_t fcn) { vFpi_t fn = (vFpi_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI); }
+void vFpu(x64emu_t *emu, uintptr_t fcn) { vFpu_t fn = (vFpu_t)fcn; fn((void*)R_RDI, (uint32_t)R_RSI); }
 void vFpL(x64emu_t *emu, uintptr_t fcn) { vFpL_t fn = (vFpL_t)fcn; fn((void*)R_RDI, (uintptr_t)R_RSI); }
 void vFpp(x64emu_t *emu, uintptr_t fcn) { vFpp_t fn = (vFpp_t)fcn; fn((void*)R_RDI, (void*)R_RSI); }
 void cFpp(x64emu_t *emu, uintptr_t fcn) { cFpp_t fn = (cFpp_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI); }
@@ -804,21 +837,28 @@ void iFup(x64emu_t *emu, uintptr_t fcn) { iFup_t fn = (iFup_t)fcn; R_RAX=fn((uin
 void iFUU(x64emu_t *emu, uintptr_t fcn) { iFUU_t fn = (iFUU_t)fcn; R_RAX=fn((uint64_t)R_RDI, (uint64_t)R_RSI); }
 void iFLL(x64emu_t *emu, uintptr_t fcn) { iFLL_t fn = (iFLL_t)fcn; R_RAX=fn((uintptr_t)R_RDI, (uintptr_t)R_RSI); }
 void iFLp(x64emu_t *emu, uintptr_t fcn) { iFLp_t fn = (iFLp_t)fcn; R_RAX=fn((uintptr_t)R_RDI, (void*)R_RSI); }
+void iFpw(x64emu_t *emu, uintptr_t fcn) { iFpw_t fn = (iFpw_t)fcn; R_RAX=fn((void*)R_RDI, (int16_t)R_RSI); }
 void iFpi(x64emu_t *emu, uintptr_t fcn) { iFpi_t fn = (iFpi_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI); }
+void iFpI(x64emu_t *emu, uintptr_t fcn) { iFpI_t fn = (iFpI_t)fcn; R_RAX=fn((void*)R_RDI, (int64_t)R_RSI); }
 void iFpC(x64emu_t *emu, uintptr_t fcn) { iFpC_t fn = (iFpC_t)fcn; R_RAX=fn((void*)R_RDI, (uint8_t)R_RSI); }
 void iFpu(x64emu_t *emu, uintptr_t fcn) { iFpu_t fn = (iFpu_t)fcn; R_RAX=fn((void*)R_RDI, (uint32_t)R_RSI); }
 void iFpf(x64emu_t *emu, uintptr_t fcn) { iFpf_t fn = (iFpf_t)fcn; R_RAX=fn((void*)R_RDI, emu->xmm[0].f[0]); }
+void iFpd(x64emu_t *emu, uintptr_t fcn) { iFpd_t fn = (iFpd_t)fcn; R_RAX=fn((void*)R_RDI, emu->xmm[0].d[0]); }
 void iFpl(x64emu_t *emu, uintptr_t fcn) { iFpl_t fn = (iFpl_t)fcn; R_RAX=fn((void*)R_RDI, (intptr_t)R_RSI); }
 void iFpL(x64emu_t *emu, uintptr_t fcn) { iFpL_t fn = (iFpL_t)fcn; R_RAX=fn((void*)R_RDI, (uintptr_t)R_RSI); }
 void iFpp(x64emu_t *emu, uintptr_t fcn) { iFpp_t fn = (iFpp_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI); }
 void IFEp(x64emu_t *emu, uintptr_t fcn) { IFEp_t fn = (IFEp_t)fcn; R_RAX=(uint64_t)fn(emu, (void*)R_RDI); }
+void IFpu(x64emu_t *emu, uintptr_t fcn) { IFpu_t fn = (IFpu_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (uint32_t)R_RSI); }
 void CFui(x64emu_t *emu, uintptr_t fcn) { CFui_t fn = (CFui_t)fcn; R_RAX=(unsigned char)fn((uint32_t)R_RDI, (int32_t)R_RSI); }
 void CFpi(x64emu_t *emu, uintptr_t fcn) { CFpi_t fn = (CFpi_t)fcn; R_RAX=(unsigned char)fn((void*)R_RDI, (int32_t)R_RSI); }
+void CFpu(x64emu_t *emu, uintptr_t fcn) { CFpu_t fn = (CFpu_t)fcn; R_RAX=(unsigned char)fn((void*)R_RDI, (uint32_t)R_RSI); }
 void uFEp(x64emu_t *emu, uintptr_t fcn) { uFEp_t fn = (uFEp_t)fcn; R_RAX=(uint32_t)fn(emu, (void*)R_RDI); }
+void uFiu(x64emu_t *emu, uintptr_t fcn) { uFiu_t fn = (uFiu_t)fcn; R_RAX=(uint32_t)fn((int32_t)R_RDI, (uint32_t)R_RSI); }
 void uFui(x64emu_t *emu, uintptr_t fcn) { uFui_t fn = (uFui_t)fcn; R_RAX=(uint32_t)fn((uint32_t)R_RDI, (int32_t)R_RSI); }
 void uFuu(x64emu_t *emu, uintptr_t fcn) { uFuu_t fn = (uFuu_t)fcn; R_RAX=(uint32_t)fn((uint32_t)R_RDI, (uint32_t)R_RSI); }
 void uFup(x64emu_t *emu, uintptr_t fcn) { uFup_t fn = (uFup_t)fcn; R_RAX=(uint32_t)fn((uint32_t)R_RDI, (void*)R_RSI); }
 void uFpi(x64emu_t *emu, uintptr_t fcn) { uFpi_t fn = (uFpi_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (int32_t)R_RSI); }
+void uFpu(x64emu_t *emu, uintptr_t fcn) { uFpu_t fn = (uFpu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI); }
 void uFpp(x64emu_t *emu, uintptr_t fcn) { uFpp_t fn = (uFpp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI); }
 void UFEp(x64emu_t *emu, uintptr_t fcn) { UFEp_t fn = (UFEp_t)fcn; R_RAX=fn(emu, (void*)R_RDI); }
 void fFif(x64emu_t *emu, uintptr_t fcn) { fFif_t fn = (fFif_t)fcn; emu->xmm[0].f[0]=fn((int32_t)R_RDI, emu->xmm[0].f[0]); }
@@ -834,6 +874,7 @@ void LFpi(x64emu_t *emu, uintptr_t fcn) { LFpi_t fn = (LFpi_t)fcn; R_RAX=(uintpt
 void LFpL(x64emu_t *emu, uintptr_t fcn) { LFpL_t fn = (LFpL_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI); }
 void pFEp(x64emu_t *emu, uintptr_t fcn) { pFEp_t fn = (pFEp_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI); }
 void pFii(x64emu_t *emu, uintptr_t fcn) { pFii_t fn = (pFii_t)fcn; R_RAX=(uintptr_t)fn((int32_t)R_RDI, (int32_t)R_RSI); }
+void pFip(x64emu_t *emu, uintptr_t fcn) { pFip_t fn = (pFip_t)fcn; R_RAX=(uintptr_t)fn((int32_t)R_RDI, (void*)R_RSI); }
 void pFui(x64emu_t *emu, uintptr_t fcn) { pFui_t fn = (pFui_t)fcn; R_RAX=(uintptr_t)fn((uint32_t)R_RDI, (int32_t)R_RSI); }
 void pFuu(x64emu_t *emu, uintptr_t fcn) { pFuu_t fn = (pFuu_t)fcn; R_RAX=(uintptr_t)fn((uint32_t)R_RDI, (uint32_t)R_RSI); }
 void pFup(x64emu_t *emu, uintptr_t fcn) { pFup_t fn = (pFup_t)fcn; R_RAX=(uintptr_t)fn((uint32_t)R_RDI, (void*)R_RSI); }
@@ -883,6 +924,9 @@ void vFpif(x64emu_t *emu, uintptr_t fcn) { vFpif_t fn = (vFpif_t)fcn; fn((void*)
 void vFpid(x64emu_t *emu, uintptr_t fcn) { vFpid_t fn = (vFpid_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI, emu->xmm[0].d[0]); }
 void vFpip(x64emu_t *emu, uintptr_t fcn) { vFpip_t fn = (vFpip_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX); }
 void vFpui(x64emu_t *emu, uintptr_t fcn) { vFpui_t fn = (vFpui_t)fcn; fn((void*)R_RDI, (uint32_t)R_RSI, (int32_t)R_RDX); }
+void vFpuI(x64emu_t *emu, uintptr_t fcn) { vFpuI_t fn = (vFpuI_t)fcn; fn((void*)R_RDI, (uint32_t)R_RSI, (int64_t)R_RDX); }
+void vFpuu(x64emu_t *emu, uintptr_t fcn) { vFpuu_t fn = (vFpuu_t)fcn; fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX); }
+void vFpup(x64emu_t *emu, uintptr_t fcn) { vFpup_t fn = (vFpup_t)fcn; fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX); }
 void vFppi(x64emu_t *emu, uintptr_t fcn) { vFppi_t fn = (vFppi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX); }
 void vFppu(x64emu_t *emu, uintptr_t fcn) { vFppu_t fn = (vFppu_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX); }
 void vFppp(x64emu_t *emu, uintptr_t fcn) { vFppp_t fn = (vFppp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX); }
@@ -909,7 +953,9 @@ void iFpff(x64emu_t *emu, uintptr_t fcn) { iFpff_t fn = (iFpff_t)fcn; R_RAX=fn((
 void iFplp(x64emu_t *emu, uintptr_t fcn) { iFplp_t fn = (iFplp_t)fcn; R_RAX=fn((void*)R_RDI, (intptr_t)R_RSI, (void*)R_RDX); }
 void iFpLp(x64emu_t *emu, uintptr_t fcn) { iFpLp_t fn = (iFpLp_t)fcn; R_RAX=fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX); }
 void iFppi(x64emu_t *emu, uintptr_t fcn) { iFppi_t fn = (iFppi_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX); }
+void iFppI(x64emu_t *emu, uintptr_t fcn) { iFppI_t fn = (iFppI_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX); }
 void iFppu(x64emu_t *emu, uintptr_t fcn) { iFppu_t fn = (iFppu_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX); }
+void iFppd(x64emu_t *emu, uintptr_t fcn) { iFppd_t fn = (iFppd_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, emu->xmm[0].d[0]); }
 void iFppL(x64emu_t *emu, uintptr_t fcn) { iFppL_t fn = (iFppL_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX); }
 void iFppp(x64emu_t *emu, uintptr_t fcn) { iFppp_t fn = (iFppp_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX); }
 void IFpIi(x64emu_t *emu, uintptr_t fcn) { IFpIi_t fn = (IFpIi_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (int64_t)R_RSI, (int32_t)R_RDX); }
@@ -1007,11 +1053,13 @@ void iFEupp(x64emu_t *emu, uintptr_t fcn) { iFEupp_t fn = (iFEupp_t)fcn; R_RAX=f
 void iFEpip(x64emu_t *emu, uintptr_t fcn) { iFEpip_t fn = (iFEpip_t)fcn; R_RAX=fn(emu, (void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX); }
 void iFEppi(x64emu_t *emu, uintptr_t fcn) { iFEppi_t fn = (iFEppi_t)fcn; R_RAX=fn(emu, (void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX); }
 void iFEppp(x64emu_t *emu, uintptr_t fcn) { iFEppp_t fn = (iFEppp_t)fcn; R_RAX=fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX); }
+void iFiiii(x64emu_t *emu, uintptr_t fcn) { iFiiii_t fn = (iFiiii_t)fcn; R_RAX=fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX); }
 void iFiiiu(x64emu_t *emu, uintptr_t fcn) { iFiiiu_t fn = (iFiiiu_t)fcn; R_RAX=fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (uint32_t)R_RCX); }
 void iFippp(x64emu_t *emu, uintptr_t fcn) { iFippp_t fn = (iFippp_t)fcn; R_RAX=fn((int32_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX); }
 void iFuipp(x64emu_t *emu, uintptr_t fcn) { iFuipp_t fn = (iFuipp_t)fcn; R_RAX=fn((uint32_t)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX); }
 void iFuuff(x64emu_t *emu, uintptr_t fcn) { iFuuff_t fn = (iFuuff_t)fcn; R_RAX=fn((uint32_t)R_RDI, (uint32_t)R_RSI, emu->xmm[0].f[0], emu->xmm[1].f[0]); }
 void iFuppp(x64emu_t *emu, uintptr_t fcn) { iFuppp_t fn = (iFuppp_t)fcn; R_RAX=fn((uint32_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX); }
+void iFpiii(x64emu_t *emu, uintptr_t fcn) { iFpiii_t fn = (iFpiii_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX); }
 void iFpiiu(x64emu_t *emu, uintptr_t fcn) { iFpiiu_t fn = (iFpiiu_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (uint32_t)R_RCX); }
 void iFpiiL(x64emu_t *emu, uintptr_t fcn) { iFpiiL_t fn = (iFpiiL_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (uintptr_t)R_RCX); }
 void iFpiip(x64emu_t *emu, uintptr_t fcn) { iFpiip_t fn = (iFpiip_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (void*)R_RCX); }
@@ -1021,6 +1069,7 @@ void iFpipp(x64emu_t *emu, uintptr_t fcn) { iFpipp_t fn = (iFpipp_t)fcn; R_RAX=f
 void iFpCCC(x64emu_t *emu, uintptr_t fcn) { iFpCCC_t fn = (iFpCCC_t)fcn; R_RAX=fn((void*)R_RDI, (uint8_t)R_RSI, (uint8_t)R_RDX, (uint8_t)R_RCX); }
 void iFpWWu(x64emu_t *emu, uintptr_t fcn) { iFpWWu_t fn = (iFpWWu_t)fcn; R_RAX=fn((void*)R_RDI, (uint16_t)R_RSI, (uint16_t)R_RDX, (uint32_t)R_RCX); }
 void iFpuip(x64emu_t *emu, uintptr_t fcn) { iFpuip_t fn = (iFpuip_t)fcn; R_RAX=fn((void*)R_RDI, (uint32_t)R_RSI, (int32_t)R_RDX, (void*)R_RCX); }
+void iFpuui(x64emu_t *emu, uintptr_t fcn) { iFpuui_t fn = (iFpuui_t)fcn; R_RAX=fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX); }
 void iFpuup(x64emu_t *emu, uintptr_t fcn) { iFpuup_t fn = (iFpuup_t)fcn; R_RAX=fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX); }
 void iFpuLL(x64emu_t *emu, uintptr_t fcn) { iFpuLL_t fn = (iFpuLL_t)fcn; R_RAX=fn((void*)R_RDI, (uint32_t)R_RSI, (uintptr_t)R_RDX, (uintptr_t)R_RCX); }
 void iFpupV(x64emu_t *emu, uintptr_t fcn) { iFpupV_t fn = (iFpupV_t)fcn; R_RAX=fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)(R_RSP + 8)); }
@@ -1028,11 +1077,14 @@ void iFppii(x64emu_t *emu, uintptr_t fcn) { iFppii_t fn = (iFppii_t)fcn; R_RAX=f
 void iFppiu(x64emu_t *emu, uintptr_t fcn) { iFppiu_t fn = (iFppiu_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (uint32_t)R_RCX); }
 void iFppiL(x64emu_t *emu, uintptr_t fcn) { iFppiL_t fn = (iFppiL_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (uintptr_t)R_RCX); }
 void iFppip(x64emu_t *emu, uintptr_t fcn) { iFppip_t fn = (iFppip_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX); }
+void iFppuw(x64emu_t *emu, uintptr_t fcn) { iFppuw_t fn = (iFppuw_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (int16_t)R_RCX); }
+void iFppui(x64emu_t *emu, uintptr_t fcn) { iFppui_t fn = (iFppui_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX); }
 void iFppuu(x64emu_t *emu, uintptr_t fcn) { iFppuu_t fn = (iFppuu_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX); }
 void iFppup(x64emu_t *emu, uintptr_t fcn) { iFppup_t fn = (iFppup_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX); }
 void iFpplp(x64emu_t *emu, uintptr_t fcn) { iFpplp_t fn = (iFpplp_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (intptr_t)R_RDX, (void*)R_RCX); }
 void iFppLp(x64emu_t *emu, uintptr_t fcn) { iFppLp_t fn = (iFppLp_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX); }
 void iFpppi(x64emu_t *emu, uintptr_t fcn) { iFpppi_t fn = (iFpppi_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX); }
+void iFpppu(x64emu_t *emu, uintptr_t fcn) { iFpppu_t fn = (iFpppu_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint32_t)R_RCX); }
 void iFpppL(x64emu_t *emu, uintptr_t fcn) { iFpppL_t fn = (iFpppL_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX); }
 void iFpppp(x64emu_t *emu, uintptr_t fcn) { iFpppp_t fn = (iFpppp_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX); }
 void IFEpIi(x64emu_t *emu, uintptr_t fcn) { IFEpIi_t fn = (IFEpIi_t)fcn; R_RAX=(uint64_t)fn(emu, (void*)R_RDI, (int64_t)R_RSI, (int32_t)R_RDX); }
@@ -1124,6 +1176,7 @@ void vFpddii(x64emu_t *emu, uintptr_t fcn) { vFpddii_t fn = (vFpddii_t)fcn; fn((
 void vFppWui(x64emu_t *emu, uintptr_t fcn) { vFppWui_t fn = (vFppWui_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uint16_t)R_RDX, (uint32_t)R_RCX, (int32_t)R_R8); }
 void vFpppii(x64emu_t *emu, uintptr_t fcn) { vFpppii_t fn = (vFpppii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8); }
 void vFppppp(x64emu_t *emu, uintptr_t fcn) { vFppppp_t fn = (vFppppp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
+void iFEpipp(x64emu_t *emu, uintptr_t fcn) { iFEpipp_t fn = (iFEpipp_t)fcn; R_RAX=fn(emu, (void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX); }
 void iFEppiV(x64emu_t *emu, uintptr_t fcn) { iFEppiV_t fn = (iFEppiV_t)fcn; R_RAX=fn(emu, (void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)(R_RSP + 8)); }
 void iFEpppp(x64emu_t *emu, uintptr_t fcn) { iFEpppp_t fn = (iFEpppp_t)fcn; R_RAX=fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX); }
 void iFiiupp(x64emu_t *emu, uintptr_t fcn) { iFiiupp_t fn = (iFiiupp_t)fcn; R_RAX=fn((int32_t)R_RDI, (int32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
@@ -1132,9 +1185,11 @@ void iFpiiii(x64emu_t *emu, uintptr_t fcn) { iFpiiii_t fn = (iFpiiii_t)fcn; R_RA
 void iFpiiip(x64emu_t *emu, uintptr_t fcn) { iFpiiip_t fn = (iFpiiip_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8); }
 void iFpiiuu(x64emu_t *emu, uintptr_t fcn) { iFpiiuu_t fn = (iFpiiuu_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8); }
 void iFpiipi(x64emu_t *emu, uintptr_t fcn) { iFpiipi_t fn = (iFpiipi_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8); }
+void iFpiipp(x64emu_t *emu, uintptr_t fcn) { iFpiipp_t fn = (iFpiipp_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void iFpipii(x64emu_t *emu, uintptr_t fcn) { iFpipii_t fn = (iFpipii_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8); }
 void iFpippp(x64emu_t *emu, uintptr_t fcn) { iFpippp_t fn = (iFpippp_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void iFpCCCC(x64emu_t *emu, uintptr_t fcn) { iFpCCCC_t fn = (iFpCCCC_t)fcn; R_RAX=fn((void*)R_RDI, (uint8_t)R_RSI, (uint8_t)R_RDX, (uint8_t)R_RCX, (uint8_t)R_R8); }
+void iFpuuui(x64emu_t *emu, uintptr_t fcn) { iFpuuui_t fn = (iFpuuui_t)fcn; R_RAX=fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (int32_t)R_R8); }
 void iFpuuLL(x64emu_t *emu, uintptr_t fcn) { iFpuuLL_t fn = (iFpuuLL_t)fcn; R_RAX=fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uintptr_t)R_RCX, (uintptr_t)R_R8); }
 void iFpuupp(x64emu_t *emu, uintptr_t fcn) { iFpuupp_t fn = (iFpuupp_t)fcn; R_RAX=fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void iFppiip(x64emu_t *emu, uintptr_t fcn) { iFppiip_t fn = (iFppiip_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8); }
@@ -1144,6 +1199,7 @@ void iFppipp(x64emu_t *emu, uintptr_t fcn) { iFppipp_t fn = (iFppipp_t)fcn; R_RA
 void iFppupi(x64emu_t *emu, uintptr_t fcn) { iFppupi_t fn = (iFppupi_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8); }
 void iFpppii(x64emu_t *emu, uintptr_t fcn) { iFpppii_t fn = (iFpppii_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8); }
 void iFpppiL(x64emu_t *emu, uintptr_t fcn) { iFpppiL_t fn = (iFpppiL_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (uintptr_t)R_R8); }
+void iFpppip(x64emu_t *emu, uintptr_t fcn) { iFpppip_t fn = (iFpppip_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8); }
 void iFppppi(x64emu_t *emu, uintptr_t fcn) { iFppppi_t fn = (iFppppi_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8); }
 void iFppppp(x64emu_t *emu, uintptr_t fcn) { iFppppp_t fn = (iFppppp_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void IFppIII(x64emu_t *emu, uintptr_t fcn) { IFppIII_t fn = (IFppIII_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8); }
@@ -1155,6 +1211,7 @@ void uFpuuuu(x64emu_t *emu, uintptr_t fcn) { uFpuuuu_t fn = (uFpuuuu_t)fcn; R_RA
 void uFppiip(x64emu_t *emu, uintptr_t fcn) { uFppiip_t fn = (uFppiip_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8); }
 void uFppppp(x64emu_t *emu, uintptr_t fcn) { uFppppp_t fn = (uFppppp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void LFppppp(x64emu_t *emu, uintptr_t fcn) { LFppppp_t fn = (LFppppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
+void pFEpipL(x64emu_t *emu, uintptr_t fcn) { pFEpipL_t fn = (pFEpipL_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX); }
 void pFuiiiu(x64emu_t *emu, uintptr_t fcn) { pFuiiiu_t fn = (pFuiiiu_t)fcn; R_RAX=(uintptr_t)fn((uint32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (uint32_t)R_R8); }
 void pFuiipp(x64emu_t *emu, uintptr_t fcn) { pFuiipp_t fn = (pFuiipp_t)fcn; R_RAX=(uintptr_t)fn((uint32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void pFpiiuu(x64emu_t *emu, uintptr_t fcn) { pFpiiuu_t fn = (pFpiiuu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8); }
@@ -1210,6 +1267,7 @@ void vFupupip(x64emu_t *emu, uintptr_t fcn) { vFupupip_t fn = (vFupupip_t)fcn; f
 void vFuppppp(x64emu_t *emu, uintptr_t fcn) { vFuppppp_t fn = (vFuppppp_t)fcn; fn((uint32_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
 void vFffffff(x64emu_t *emu, uintptr_t fcn) { vFffffff_t fn = (vFffffff_t)fcn; fn(emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0], emu->xmm[3].f[0], emu->xmm[4].f[0], emu->xmm[5].f[0]); }
 void vFdddddd(x64emu_t *emu, uintptr_t fcn) { vFdddddd_t fn = (vFdddddd_t)fcn; fn(emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0], emu->xmm[3].d[0], emu->xmm[4].d[0], emu->xmm[5].d[0]); }
+void vFpipipV(x64emu_t *emu, uintptr_t fcn) { vFpipipV_t fn = (vFpipipV_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8, (void*)(R_RSP + 8)); }
 void vFpdddii(x64emu_t *emu, uintptr_t fcn) { vFpdddii_t fn = (vFpdddii_t)fcn; fn((void*)R_RDI, emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0], (int32_t)R_RSI, (int32_t)R_RDX); }
 void vFppiiii(x64emu_t *emu, uintptr_t fcn) { vFppiiii_t fn = (vFppiiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9); }
 void vFppupii(x64emu_t *emu, uintptr_t fcn) { vFppupii_t fn = (vFppupii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8, (int32_t)R_R9); }
@@ -1222,10 +1280,12 @@ void iFuppipp(x64emu_t *emu, uintptr_t fcn) { iFuppipp_t fn = (iFuppipp_t)fcn; R
 void iFuppppp(x64emu_t *emu, uintptr_t fcn) { iFuppppp_t fn = (iFuppppp_t)fcn; R_RAX=fn((uint32_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
 void iFpiiiii(x64emu_t *emu, uintptr_t fcn) { iFpiiiii_t fn = (iFpiiiii_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9); }
 void iFpiiipp(x64emu_t *emu, uintptr_t fcn) { iFpiiipp_t fn = (iFpiiipp_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8, (void*)R_R9); }
+void iFpupuui(x64emu_t *emu, uintptr_t fcn) { iFpupuui_t fn = (iFpupuui_t)fcn; R_RAX=fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (int32_t)R_R9); }
 void iFppiiuu(x64emu_t *emu, uintptr_t fcn) { iFppiiuu_t fn = (iFppiiuu_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9); }
 void iFppIppp(x64emu_t *emu, uintptr_t fcn) { iFppIppp_t fn = (iFppIppp_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
 void iFppuiii(x64emu_t *emu, uintptr_t fcn) { iFppuiii_t fn = (iFppuiii_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9); }
 void iFppuiiL(x64emu_t *emu, uintptr_t fcn) { iFppuiiL_t fn = (iFppuiiL_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (uintptr_t)R_R9); }
+void iFppuIII(x64emu_t *emu, uintptr_t fcn) { iFppuIII_t fn = (iFppuIII_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9); }
 void iFppuupp(x64emu_t *emu, uintptr_t fcn) { iFppuupp_t fn = (iFppuupp_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (void*)R_R9); }
 void iFppupip(x64emu_t *emu, uintptr_t fcn) { iFppupip_t fn = (iFppupip_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8, (void*)R_R9); }
 void iFpppipi(x64emu_t *emu, uintptr_t fcn) { iFpppipi_t fn = (iFpppipi_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8, (int32_t)R_R9); }
@@ -1281,8 +1341,10 @@ void vFpddiidd(x64emu_t *emu, uintptr_t fcn) { vFpddiidd_t fn = (vFpddiidd_t)fcn
 void vFpppiiii(x64emu_t *emu, uintptr_t fcn) { vFpppiiii_t fn = (vFpppiiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8)); }
 void iFEpppppp(x64emu_t *emu, uintptr_t fcn) { iFEpppppp_t fn = (iFEpppppp_t)fcn; R_RAX=fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
 void iFiiiiiip(x64emu_t *emu, uintptr_t fcn) { iFiiiiiip_t fn = (iFiiiiiip_t)fcn; R_RAX=fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8)); }
+void iFpiiuuiu(x64emu_t *emu, uintptr_t fcn) { iFpiiuuiu_t fn = (iFpiiuuiu_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (int32_t)R_R9, *(uint32_t*)(R_RSP + 8)); }
 void iFpiupiii(x64emu_t *emu, uintptr_t fcn) { iFpiupiii_t fn = (iFpiupiii_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8)); }
 void iFpuuiuui(x64emu_t *emu, uintptr_t fcn) { iFpuuiuui_t fn = (iFpuuiuui_t)fcn; R_RAX=fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(int32_t*)(R_RSP + 8)); }
+void iFpupuuui(x64emu_t *emu, uintptr_t fcn) { iFpupuuui_t fn = (iFpupuuui_t)fcn; R_RAX=fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(int32_t*)(R_RSP + 8)); }
 void iFpuppppp(x64emu_t *emu, uintptr_t fcn) { iFpuppppp_t fn = (iFpuppppp_t)fcn; R_RAX=fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void iFppiiuui(x64emu_t *emu, uintptr_t fcn) { iFppiiuui_t fn = (iFppiiuui_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(int32_t*)(R_RSP + 8)); }
 void iFppiipii(x64emu_t *emu, uintptr_t fcn) { iFppiipii_t fn = (iFppiipii_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8)); }
@@ -1322,6 +1384,7 @@ void iFEpippppp(x64emu_t *emu, uintptr_t fcn) { iFEpippppp_t fn = (iFEpippppp_t)
 void iFiiiiiiip(x64emu_t *emu, uintptr_t fcn) { iFiiiiiiip_t fn = (iFiiiiiiip_t)fcn; R_RAX=fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void iFiiupiupi(x64emu_t *emu, uintptr_t fcn) { iFiiupiupi_t fn = (iFiiupiupi_t)fcn; R_RAX=fn((int32_t)R_RDI, (int32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8, (uint32_t)R_R9, *(void**)(R_RSP + 8), *(int32_t*)(R_RSP + 16)); }
 void iFuiifpppp(x64emu_t *emu, uintptr_t fcn) { iFuiifpppp_t fn = (iFuiifpppp_t)fcn; R_RAX=fn((uint32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, emu->xmm[0].f[0], (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
+void iFpuuiiiii(x64emu_t *emu, uintptr_t fcn) { iFpuuiiiii_t fn = (iFpuuiiiii_t)fcn; R_RAX=fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16)); }
 void iFpupppppp(x64emu_t *emu, uintptr_t fcn) { iFpupppppp_t fn = (iFpupppppp_t)fcn; R_RAX=fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void iFppIIIppp(x64emu_t *emu, uintptr_t fcn) { iFppIIIppp_t fn = (iFppIIIppp_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void iFpppiippp(x64emu_t *emu, uintptr_t fcn) { iFpppiippp_t fn = (iFpppiippp_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
@@ -1374,6 +1437,7 @@ void vFuddiiddiip(x64emu_t *emu, uintptr_t fcn) { vFuddiiddiip_t fn = (vFuddiidd
 void vFffffffffff(x64emu_t *emu, uintptr_t fcn) { vFffffffffff_t fn = (vFffffffffff_t)fcn; fn(emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0], emu->xmm[3].f[0], emu->xmm[4].f[0], emu->xmm[5].f[0], emu->xmm[6].f[0], emu->xmm[7].f[0], *(float*)(R_RSP + 8), *(float*)(R_RSP + 16)); }
 void iFiiiiiiiiip(x64emu_t *emu, uintptr_t fcn) { iFiiiiiiiiip_t fn = (iFiiiiiiiiip_t)fcn; R_RAX=fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(int32_t*)(R_RSP + 24), *(void**)(R_RSP + 32)); }
 void iFpuupiuiipp(x64emu_t *emu, uintptr_t fcn) { iFpuupiuiipp_t fn = (iFpuupiuiipp_t)fcn; R_RAX=fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8, (uint32_t)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32)); }
+void iFppuuiiiiii(x64emu_t *emu, uintptr_t fcn) { iFppuuiiiiii_t fn = (iFppuuiiiiii_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(int32_t*)(R_RSP + 24), *(int32_t*)(R_RSP + 32)); }
 void iFppppiiuuii(x64emu_t *emu, uintptr_t fcn) { iFppppiiuuii_t fn = (iFppppiiuuii_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(uint32_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16), *(int32_t*)(R_RSP + 24), *(int32_t*)(R_RSP + 32)); }
 void pFppuiipuuii(x64emu_t *emu, uintptr_t fcn) { pFppuiipuuii_t fn = (pFppuiipuuii_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (void*)R_R9, *(uint32_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16), *(int32_t*)(R_RSP + 24), *(int32_t*)(R_RSP + 32)); }
 void pFpppppppppp(x64emu_t *emu, uintptr_t fcn) { pFpppppppppp_t fn = (pFpppppppppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32)); }
diff --git a/src/wrapped/generated/wrapper.h b/src/wrapped/generated/wrapper.h
index ac05123b..1ac1b20b 100644
--- a/src/wrapped/generated/wrapper.h
+++ b/src/wrapped/generated/wrapper.h
@@ -91,6 +91,7 @@ void vFff(x64emu_t *emu, uintptr_t fnc);
 void vFfp(x64emu_t *emu, uintptr_t fnc);
 void vFdd(x64emu_t *emu, uintptr_t fnc);
 void vFpi(x64emu_t *emu, uintptr_t fnc);
+void vFpu(x64emu_t *emu, uintptr_t fnc);
 void vFpL(x64emu_t *emu, uintptr_t fnc);
 void vFpp(x64emu_t *emu, uintptr_t fnc);
 void cFpp(x64emu_t *emu, uintptr_t fnc);
@@ -104,21 +105,28 @@ void iFup(x64emu_t *emu, uintptr_t fnc);
 void iFUU(x64emu_t *emu, uintptr_t fnc);
 void iFLL(x64emu_t *emu, uintptr_t fnc);
 void iFLp(x64emu_t *emu, uintptr_t fnc);
+void iFpw(x64emu_t *emu, uintptr_t fnc);
 void iFpi(x64emu_t *emu, uintptr_t fnc);
+void iFpI(x64emu_t *emu, uintptr_t fnc);
 void iFpC(x64emu_t *emu, uintptr_t fnc);
 void iFpu(x64emu_t *emu, uintptr_t fnc);
 void iFpf(x64emu_t *emu, uintptr_t fnc);
+void iFpd(x64emu_t *emu, uintptr_t fnc);
 void iFpl(x64emu_t *emu, uintptr_t fnc);
 void iFpL(x64emu_t *emu, uintptr_t fnc);
 void iFpp(x64emu_t *emu, uintptr_t fnc);
 void IFEp(x64emu_t *emu, uintptr_t fnc);
+void IFpu(x64emu_t *emu, uintptr_t fnc);
 void CFui(x64emu_t *emu, uintptr_t fnc);
 void CFpi(x64emu_t *emu, uintptr_t fnc);
+void CFpu(x64emu_t *emu, uintptr_t fnc);
 void uFEp(x64emu_t *emu, uintptr_t fnc);
+void uFiu(x64emu_t *emu, uintptr_t fnc);
 void uFui(x64emu_t *emu, uintptr_t fnc);
 void uFuu(x64emu_t *emu, uintptr_t fnc);
 void uFup(x64emu_t *emu, uintptr_t fnc);
 void uFpi(x64emu_t *emu, uintptr_t fnc);
+void uFpu(x64emu_t *emu, uintptr_t fnc);
 void uFpp(x64emu_t *emu, uintptr_t fnc);
 void UFEp(x64emu_t *emu, uintptr_t fnc);
 void fFif(x64emu_t *emu, uintptr_t fnc);
@@ -134,6 +142,7 @@ void LFpi(x64emu_t *emu, uintptr_t fnc);
 void LFpL(x64emu_t *emu, uintptr_t fnc);
 void pFEp(x64emu_t *emu, uintptr_t fnc);
 void pFii(x64emu_t *emu, uintptr_t fnc);
+void pFip(x64emu_t *emu, uintptr_t fnc);
 void pFui(x64emu_t *emu, uintptr_t fnc);
 void pFuu(x64emu_t *emu, uintptr_t fnc);
 void pFup(x64emu_t *emu, uintptr_t fnc);
@@ -183,6 +192,9 @@ void vFpif(x64emu_t *emu, uintptr_t fnc);
 void vFpid(x64emu_t *emu, uintptr_t fnc);
 void vFpip(x64emu_t *emu, uintptr_t fnc);
 void vFpui(x64emu_t *emu, uintptr_t fnc);
+void vFpuI(x64emu_t *emu, uintptr_t fnc);
+void vFpuu(x64emu_t *emu, uintptr_t fnc);
+void vFpup(x64emu_t *emu, uintptr_t fnc);
 void vFppi(x64emu_t *emu, uintptr_t fnc);
 void vFppu(x64emu_t *emu, uintptr_t fnc);
 void vFppp(x64emu_t *emu, uintptr_t fnc);
@@ -209,7 +221,9 @@ void iFpff(x64emu_t *emu, uintptr_t fnc);
 void iFplp(x64emu_t *emu, uintptr_t fnc);
 void iFpLp(x64emu_t *emu, uintptr_t fnc);
 void iFppi(x64emu_t *emu, uintptr_t fnc);
+void iFppI(x64emu_t *emu, uintptr_t fnc);
 void iFppu(x64emu_t *emu, uintptr_t fnc);
+void iFppd(x64emu_t *emu, uintptr_t fnc);
 void iFppL(x64emu_t *emu, uintptr_t fnc);
 void iFppp(x64emu_t *emu, uintptr_t fnc);
 void IFpIi(x64emu_t *emu, uintptr_t fnc);
@@ -307,11 +321,13 @@ void iFEupp(x64emu_t *emu, uintptr_t fnc);
 void iFEpip(x64emu_t *emu, uintptr_t fnc);
 void iFEppi(x64emu_t *emu, uintptr_t fnc);
 void iFEppp(x64emu_t *emu, uintptr_t fnc);
+void iFiiii(x64emu_t *emu, uintptr_t fnc);
 void iFiiiu(x64emu_t *emu, uintptr_t fnc);
 void iFippp(x64emu_t *emu, uintptr_t fnc);
 void iFuipp(x64emu_t *emu, uintptr_t fnc);
 void iFuuff(x64emu_t *emu, uintptr_t fnc);
 void iFuppp(x64emu_t *emu, uintptr_t fnc);
+void iFpiii(x64emu_t *emu, uintptr_t fnc);
 void iFpiiu(x64emu_t *emu, uintptr_t fnc);
 void iFpiiL(x64emu_t *emu, uintptr_t fnc);
 void iFpiip(x64emu_t *emu, uintptr_t fnc);
@@ -321,6 +337,7 @@ void iFpipp(x64emu_t *emu, uintptr_t fnc);
 void iFpCCC(x64emu_t *emu, uintptr_t fnc);
 void iFpWWu(x64emu_t *emu, uintptr_t fnc);
 void iFpuip(x64emu_t *emu, uintptr_t fnc);
+void iFpuui(x64emu_t *emu, uintptr_t fnc);
 void iFpuup(x64emu_t *emu, uintptr_t fnc);
 void iFpuLL(x64emu_t *emu, uintptr_t fnc);
 void iFpupV(x64emu_t *emu, uintptr_t fnc);
@@ -328,11 +345,14 @@ void iFppii(x64emu_t *emu, uintptr_t fnc);
 void iFppiu(x64emu_t *emu, uintptr_t fnc);
 void iFppiL(x64emu_t *emu, uintptr_t fnc);
 void iFppip(x64emu_t *emu, uintptr_t fnc);
+void iFppuw(x64emu_t *emu, uintptr_t fnc);
+void iFppui(x64emu_t *emu, uintptr_t fnc);
 void iFppuu(x64emu_t *emu, uintptr_t fnc);
 void iFppup(x64emu_t *emu, uintptr_t fnc);
 void iFpplp(x64emu_t *emu, uintptr_t fnc);
 void iFppLp(x64emu_t *emu, uintptr_t fnc);
 void iFpppi(x64emu_t *emu, uintptr_t fnc);
+void iFpppu(x64emu_t *emu, uintptr_t fnc);
 void iFpppL(x64emu_t *emu, uintptr_t fnc);
 void iFpppp(x64emu_t *emu, uintptr_t fnc);
 void IFEpIi(x64emu_t *emu, uintptr_t fnc);
@@ -424,6 +444,7 @@ void vFpddii(x64emu_t *emu, uintptr_t fnc);
 void vFppWui(x64emu_t *emu, uintptr_t fnc);
 void vFpppii(x64emu_t *emu, uintptr_t fnc);
 void vFppppp(x64emu_t *emu, uintptr_t fnc);
+void iFEpipp(x64emu_t *emu, uintptr_t fnc);
 void iFEppiV(x64emu_t *emu, uintptr_t fnc);
 void iFEpppp(x64emu_t *emu, uintptr_t fnc);
 void iFiiupp(x64emu_t *emu, uintptr_t fnc);
@@ -432,9 +453,11 @@ void iFpiiii(x64emu_t *emu, uintptr_t fnc);
 void iFpiiip(x64emu_t *emu, uintptr_t fnc);
 void iFpiiuu(x64emu_t *emu, uintptr_t fnc);
 void iFpiipi(x64emu_t *emu, uintptr_t fnc);
+void iFpiipp(x64emu_t *emu, uintptr_t fnc);
 void iFpipii(x64emu_t *emu, uintptr_t fnc);
 void iFpippp(x64emu_t *emu, uintptr_t fnc);
 void iFpCCCC(x64emu_t *emu, uintptr_t fnc);
+void iFpuuui(x64emu_t *emu, uintptr_t fnc);
 void iFpuuLL(x64emu_t *emu, uintptr_t fnc);
 void iFpuupp(x64emu_t *emu, uintptr_t fnc);
 void iFppiip(x64emu_t *emu, uintptr_t fnc);
@@ -444,6 +467,7 @@ void iFppipp(x64emu_t *emu, uintptr_t fnc);
 void iFppupi(x64emu_t *emu, uintptr_t fnc);
 void iFpppii(x64emu_t *emu, uintptr_t fnc);
 void iFpppiL(x64emu_t *emu, uintptr_t fnc);
+void iFpppip(x64emu_t *emu, uintptr_t fnc);
 void iFppppi(x64emu_t *emu, uintptr_t fnc);
 void iFppppp(x64emu_t *emu, uintptr_t fnc);
 void IFppIII(x64emu_t *emu, uintptr_t fnc);
@@ -455,6 +479,7 @@ void uFpuuuu(x64emu_t *emu, uintptr_t fnc);
 void uFppiip(x64emu_t *emu, uintptr_t fnc);
 void uFppppp(x64emu_t *emu, uintptr_t fnc);
 void LFppppp(x64emu_t *emu, uintptr_t fnc);
+void pFEpipL(x64emu_t *emu, uintptr_t fnc);
 void pFuiiiu(x64emu_t *emu, uintptr_t fnc);
 void pFuiipp(x64emu_t *emu, uintptr_t fnc);
 void pFpiiuu(x64emu_t *emu, uintptr_t fnc);
@@ -510,6 +535,7 @@ void vFupupip(x64emu_t *emu, uintptr_t fnc);
 void vFuppppp(x64emu_t *emu, uintptr_t fnc);
 void vFffffff(x64emu_t *emu, uintptr_t fnc);
 void vFdddddd(x64emu_t *emu, uintptr_t fnc);
+void vFpipipV(x64emu_t *emu, uintptr_t fnc);
 void vFpdddii(x64emu_t *emu, uintptr_t fnc);
 void vFppiiii(x64emu_t *emu, uintptr_t fnc);
 void vFppupii(x64emu_t *emu, uintptr_t fnc);
@@ -522,10 +548,12 @@ void iFuppipp(x64emu_t *emu, uintptr_t fnc);
 void iFuppppp(x64emu_t *emu, uintptr_t fnc);
 void iFpiiiii(x64emu_t *emu, uintptr_t fnc);
 void iFpiiipp(x64emu_t *emu, uintptr_t fnc);
+void iFpupuui(x64emu_t *emu, uintptr_t fnc);
 void iFppiiuu(x64emu_t *emu, uintptr_t fnc);
 void iFppIppp(x64emu_t *emu, uintptr_t fnc);
 void iFppuiii(x64emu_t *emu, uintptr_t fnc);
 void iFppuiiL(x64emu_t *emu, uintptr_t fnc);
+void iFppuIII(x64emu_t *emu, uintptr_t fnc);
 void iFppuupp(x64emu_t *emu, uintptr_t fnc);
 void iFppupip(x64emu_t *emu, uintptr_t fnc);
 void iFpppipi(x64emu_t *emu, uintptr_t fnc);
@@ -581,8 +609,10 @@ void vFpddiidd(x64emu_t *emu, uintptr_t fnc);
 void vFpppiiii(x64emu_t *emu, uintptr_t fnc);
 void iFEpppppp(x64emu_t *emu, uintptr_t fnc);
 void iFiiiiiip(x64emu_t *emu, uintptr_t fnc);
+void iFpiiuuiu(x64emu_t *emu, uintptr_t fnc);
 void iFpiupiii(x64emu_t *emu, uintptr_t fnc);
 void iFpuuiuui(x64emu_t *emu, uintptr_t fnc);
+void iFpupuuui(x64emu_t *emu, uintptr_t fnc);
 void iFpuppppp(x64emu_t *emu, uintptr_t fnc);
 void iFppiiuui(x64emu_t *emu, uintptr_t fnc);
 void iFppiipii(x64emu_t *emu, uintptr_t fnc);
@@ -622,6 +652,7 @@ void iFEpippppp(x64emu_t *emu, uintptr_t fnc);
 void iFiiiiiiip(x64emu_t *emu, uintptr_t fnc);
 void iFiiupiupi(x64emu_t *emu, uintptr_t fnc);
 void iFuiifpppp(x64emu_t *emu, uintptr_t fnc);
+void iFpuuiiiii(x64emu_t *emu, uintptr_t fnc);
 void iFpupppppp(x64emu_t *emu, uintptr_t fnc);
 void iFppIIIppp(x64emu_t *emu, uintptr_t fnc);
 void iFpppiippp(x64emu_t *emu, uintptr_t fnc);
@@ -674,6 +705,7 @@ void vFuddiiddiip(x64emu_t *emu, uintptr_t fnc);
 void vFffffffffff(x64emu_t *emu, uintptr_t fnc);
 void iFiiiiiiiiip(x64emu_t *emu, uintptr_t fnc);
 void iFpuupiuiipp(x64emu_t *emu, uintptr_t fnc);
+void iFppuuiiiiii(x64emu_t *emu, uintptr_t fnc);
 void iFppppiiuuii(x64emu_t *emu, uintptr_t fnc);
 void pFppuiipuuii(x64emu_t *emu, uintptr_t fnc);
 void pFpppppppppp(x64emu_t *emu, uintptr_t fnc);
diff --git a/src/wrapped/wrappedlibasound.c b/src/wrapped/wrappedlibasound.c
new file mode 100755
index 00000000..a11b0fde
--- /dev/null
+++ b/src/wrapped/wrappedlibasound.c
@@ -0,0 +1,178 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#define _GNU_SOURCE         /* See feature_test_macros(7) */
+#include <dlfcn.h>
+#include <stdarg.h>
+
+#include "wrappedlibs.h"
+
+#include "debug.h"
+#include "wrapper.h"
+#include "bridge.h"
+#include "librarian/library_private.h"
+#include "x64emu.h"
+#include "emu/x64emu_private.h"
+#include "callback.h"
+#include "librarian.h"
+#include "box64context.h"
+#include "emu/x64emu_private.h"
+#include "bridge.h"
+
+#define LIBNAME libasound
+const char* libasoundName = "libasound.so.2";
+
+typedef int     (*iFp_t)        (void*);
+typedef void*   (*pFp_t)        (void*);
+typedef int     (*iFpipp_t)     (void*, int, void*, void*);
+typedef int     (*iFpppp_t)     (void*, void*, void*, void*);
+
+EXPORT uintptr_t my_snd_lib_error = 0;
+static void default_error_handler(const char *file, int line, const char *function, int err, const char *fmt, va_list ap)
+{
+    vprintf(fmt, ap);
+}
+
+#define SUPER() \
+    GO(snd_async_add_handler, iFpipp_t)                 \
+    GO(snd_async_add_pcm_handler, iFpppp_t)             \
+    GO(snd_lib_error_set_handler, iFp_t)
+
+typedef struct asound_my_s {
+    // functions
+    #define GO(A, B)    B   A;
+    SUPER()
+    #undef GO
+} asound_my_t;
+
+void* getAsoundMy(library_t* lib)
+{
+    asound_my_t* my = (asound_my_t*)calloc(1, sizeof(asound_my_t));
+    #define GO(A, W) my->A = (W)dlsym(lib->priv.w.lib, #A);
+    SUPER()
+    #undef GO
+    // setup custom error handler
+    my_snd_lib_error = AddCheckBridge(my_context->system, vFpipipV, default_error_handler, 0);
+    //all done
+    return my;
+}
+#undef SUPER
+
+void freeAsoundMy(void* lib)
+{
+    // asound_my_t *my = (asound_my_t *)lib;
+    my_snd_lib_error = 0;   // no removing of bridge
+}
+
+#define SUPER() \
+GO(0)   \
+GO(1)   \
+GO(2)   \
+GO(3)
+
+// snd_async_callback_t
+#define GO(A)   \
+static uintptr_t my_async_fct_##A = 0;   \
+static void* my_async_##A(void* handler)     \
+{                                       \
+    return (void*)RunFunction(my_context, my_async_fct_##A, 1, handler);\
+}
+SUPER()
+#undef GO
+static void* findAsyncFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_async_fct_##A == (uintptr_t)fct) return my_async_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_async_fct_##A == 0) {my_async_fct_##A = (uintptr_t)fct; return my_async_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for Asound Async callback\n");
+    return NULL;
+}
+
+
+EXPORT int my_snd_async_add_handler(x64emu_t *emu, void *handler, int fd, void* callback, void *private_data)
+{
+    asound_my_t* my = (asound_my_t*)emu->context->asound->priv.w.p2;
+
+    return my->snd_async_add_handler(handler, fd, findAsyncFct(callback), private_data);
+}
+
+EXPORT int my_snd_async_add_pcm_handler(x64emu_t *emu, void *handler, void* pcm,  void* callback, void *private_data)
+{
+    asound_my_t* my = (asound_my_t*)emu->context->asound->priv.w.p2;
+
+    return my->snd_async_add_pcm_handler(handler, pcm, findAsyncFct(callback), private_data);
+}
+
+static void* current_error_handler = NULL;
+static void dummy_error_handler(const char *file, int line, const char *function, int err, const char *fmt, ...)
+{
+    va_list ap;
+
+    fprintf(ftrace, "Warning: this is a dummy snd_lib error handler\n");
+    fprintf(ftrace, "Error in file %s on line %i: ", file, line);
+    va_start(ap, fmt);
+    vfprintf(ftrace, fmt, ap);
+    va_end(ap);
+    fflush(ftrace);
+}
+
+static void empty_error_handler(const char *file, int line, const char *function, int err, const char *fmt, ...)
+{
+    // do nothing
+}
+
+EXPORT int my_snd_lib_error_set_handler(x64emu_t* emu, void* handler)
+{
+    asound_my_t* my = (asound_my_t*)emu->context->asound->priv.w.p2;
+    current_error_handler = handler;
+    void *error_handler;
+    uint8_t *code = (uint8_t *)handler;
+    if (code) {
+        if (code && ((code[0] == 0xC3) || ((code[0] == 0xF3) && (code[1] == 0xC3)))) {
+            error_handler = &empty_error_handler;
+        } else {
+            error_handler = &dummy_error_handler;
+            printf_log(LOG_NONE, "Warning: snd_lib_error_set_handler: using dummy error handler\n");
+        }
+    } else error_handler = NULL;
+
+    return my->snd_lib_error_set_handler(error_handler);
+}
+
+void* my_dlopen(x64emu_t* emu, void *filename, int flag);   // defined in wrappedlibdl.c
+char* my_dlerror(x64emu_t* emu);
+int my_dlclose(x64emu_t* emu, void *handle);
+void* my_dlvsym(x64emu_t* emu, void *handle, void *symbol, void *version);
+EXPORT void * my_snd_dlopen(x64emu_t* emu, void* name, int mode, void* errbuf, size_t errbuflen)
+{
+    void* ret = my_dlopen(emu, name, mode);  // Does NULL name (so dlopen libasound) need special treatment?
+    if(!ret && errbuf) {
+        strncpy(errbuf, my_dlerror(emu), errbuflen);
+    }
+    return ret;
+}
+EXPORT int my_snd_dlclose(x64emu_t* emu, void* handle)
+{
+    return my_dlclose(emu, handle);
+}
+EXPORT void* my_snd_dlsym(x64emu_t* emu, void* handle, void* name, void* version)
+{
+    return my_dlvsym(emu, handle, name, version);
+}
+
+#define CUSTOM_INIT                     \
+    box64->asound = lib;                \
+    lib->priv.w.p2 = getAsoundMy(lib);
+
+#define CUSTOM_FINI                     \
+    lib->context->asound = NULL;        \
+    freeAsoundMy(lib->priv.w.p2);       \
+    free(lib->priv.w.p2);
+
+#include "wrappedlib_init.h"
+
diff --git a/src/wrapped/wrappedlibasound_private.h b/src/wrapped/wrappedlibasound_private.h
new file mode 100755
index 00000000..f5f41d0a
--- /dev/null
+++ b/src/wrapped/wrappedlibasound_private.h
@@ -0,0 +1,1275 @@
+#if !(defined(GO) && defined(GOM) && defined(GO2))
+#error meh!
+#endif
+
+DATAB(alsa_lisp_nil, 4)
+DATAB(alsa_lisp_t, 4)
+DATAB(snd_config, 4)
+DATAB(_snd_config_hook_load_dlsym_config_hook_001, 4)
+DATAB(_snd_config_hook_load_for_all_cards_dlsym_config_hook_001, 4)
+DATAB(__snd_ctl_hw_open_dlsym_control_001, 4)
+DATAB(__snd_ctl_shm_open_dlsym_control_001, 4)
+DATAB(_snd_func_card_driver_dlsym_config_evaluate_001, 4)
+DATAB(_snd_func_card_id_dlsym_config_evaluate_001, 4)
+DATAB(_snd_func_card_inum_dlsym_config_evaluate_001, 4)
+DATAB(_snd_func_card_name_dlsym_config_evaluate_001, 4)
+DATAB(_snd_func_concat_dlsym_config_evaluate_001, 4)
+DATAB(_snd_func_datadir_dlsym_config_evaluate_001, 4)
+DATAB(_snd_func_getenv_dlsym_config_evaluate_001, 4)
+DATAB(_snd_func_iadd_dlsym_config_evaluate_001, 4)
+DATAB(_snd_func_igetenv_dlsym_config_evaluate_001, 4)
+DATAB(_snd_func_imul_dlsym_config_evaluate_001, 4)
+DATAB(_snd_func_pcm_args_by_class_dlsym_config_evaluate_001, 4)
+DATAB(_snd_func_pcm_id_dlsym_config_evaluate_001, 4)
+DATAB(_snd_func_private_card_driver_dlsym_config_evaluate_001, 4)
+DATAB(_snd_func_private_pcm_subdevice_dlsym_config_evaluate_001, 4)
+DATAB(_snd_func_private_string_dlsym_config_evaluate_001, 4)
+DATAB(_snd_func_refer_dlsym_config_evaluate_001, 4)
+DATAB(__snd_hwdep_hw_open_dlsym_hwdep_001, 4)
+DATAB(__snd_pcm_adpcm_open_dlsym_pcm_001, 4)
+DATAB(__snd_pcm_alaw_open_dlsym_pcm_001, 4)
+DATAB(__snd_pcm_asym_open_dlsym_pcm_001, 4)
+DATAB(__snd_pcm_copy_open_dlsym_pcm_001, 4)
+DATAB(__snd_pcm_dmix_open_dlsym_pcm_001, 4)
+DATAB(__snd_pcm_dshare_open_dlsym_pcm_001, 4)
+DATAB(__snd_pcm_dsnoop_open_dlsym_pcm_001, 4)
+DATAB(__snd_pcm_empty_open_dlsym_pcm_001, 4)
+DATAB(__snd_pcm_file_open_dlsym_pcm_001, 4)
+DATAB(__snd_pcm_hook_ctl_elems_install_dlsym_pcm_001, 4)
+DATAB(__snd_pcm_hooks_open_dlsym_pcm_001, 4)
+DATAB(__snd_pcm_hw_open_dlsym_pcm_001, 4)
+DATAB(__snd_pcm_iec958_open_dlsym_pcm_001, 4)
+DATAB(__snd_pcm_ladspa_open_dlsym_pcm_001, 4)
+DATAB(__snd_pcm_lfloat_open_dlsym_pcm_001, 4)
+DATAB(__snd_pcm_linear_open_dlsym_pcm_001, 4)
+DATAB(__snd_pcm_mmap_emul_open_dlsym_pcm_001, 4)
+DATAB(__snd_pcm_mulaw_open_dlsym_pcm_001, 4)
+DATAB(__snd_pcm_multi_open_dlsym_pcm_001, 4)
+DATAB(__snd_pcm_null_open_dlsym_pcm_001, 4)
+DATAB(__snd_pcm_plug_open_dlsym_pcm_001, 4)
+DATAB(__snd_pcm_rate_open_dlsym_pcm_001, 4)
+DATAB(__snd_pcm_route_open_dlsym_pcm_001, 4)
+DATAB(__snd_pcm_share_open_dlsym_pcm_001, 4)
+DATAB(__snd_pcm_shm_open_dlsym_pcm_001, 4)
+DATAB(__snd_pcm_softvol_open_dlsym_pcm_001, 4)
+DATAB(__snd_rawmidi_hw_open_dlsym_rawmidi_001, 4)
+DATAB(__snd_rawmidi_virtual_open_dlsym_rawmidi_001, 4)
+DATAB(__snd_seq_hw_open_dlsym_seq_001, 4)
+DATAB(__snd_timer_hw_open_dlsym_timer_001, 4)
+DATAB(__snd_timer_query_hw_open_dlsym_timer_query_001, 4)
+
+GO(snd_asoundlib_version, pFv)
+GOM(snd_dlopen, pFEpipL)
+GOM(snd_dlsym, pFEppp)
+GOM(snd_dlclose, iFEp)
+GOM(snd_async_add_handler, iFEpipp)
+//GO(snd_async_del_handler, iFp)
+//GO(snd_async_handler_get_fd, iFp)
+//GO(snd_async_handler_get_signo, iFp)
+GO(snd_async_handler_get_callback_private, pFp)
+GO(snd_shm_area_create, pFip)
+GO(snd_shm_area_share, pFp)
+GO(snd_shm_area_destroy, iFp)
+GO(snd_user_file, iFpp)
+GO(snd_input_stdio_open, iFppp)
+GO(snd_input_stdio_attach, iFppi)
+GO(snd_input_buffer_open, iFppu)
+GO(snd_input_close, iFp)
+//GO(snd_input_scanf, iFppV)
+GO(snd_input_gets, pFppu)
+GO(snd_input_getc, iFp)
+GO(snd_input_ungetc, iFpi)
+GO(snd_output_stdio_open, iFppp)
+GO(snd_output_stdio_attach, iFppi)
+GO(snd_output_buffer_open, iFp)
+GO(snd_output_buffer_string, uFpp)
+GO(snd_output_close, iFp)
+//GO(snd_output_printf, iFppV)
+//GO(snd_output_vprintf, iFppV)
+GO(snd_output_puts, iFpp)
+GO(snd_output_putc, iFpi)
+GO(snd_output_flush, iFp)
+GO(snd_strerror, pFi)
+GOM(snd_lib_error_set_handler, iFEp)
+GO(snd_config_top, iFp)
+GO(snd_config_load, iFpp)
+GO(snd_config_load_override, iFpp)
+GO(snd_config_save, iFpp)
+GO(snd_config_update, iFv)
+GO(snd_config_update_r, iFppp)
+GO(snd_config_update_free, iFp)
+GO(snd_config_update_free_global, iFv)
+GO(snd_config_search, iFppp)
+//GO(snd_config_searchv, iFppV)
+GO(snd_config_search_definition, iFpppp)
+GO(snd_config_expand, iFppppp)
+GO(snd_config_evaluate, iFpppp)
+GO(snd_config_add, iFpp)
+GO(snd_config_delete, iFp)
+GO(snd_config_delete_compound_members, iFp)
+GO(snd_config_copy, iFpp)
+GO(snd_config_make, iFppi)
+GO(snd_config_make_integer, iFpp)
+GO(snd_config_make_integer64, iFpp)
+GO(snd_config_make_real, iFpp)
+GO(snd_config_make_string, iFpp)
+GO(snd_config_make_pointer, iFpp)
+GO(snd_config_make_compound, iFppi)
+GO(snd_config_imake_integer, iFppi)
+GO(snd_config_imake_integer64, iFppI)
+GO(snd_config_imake_real, iFppd)
+GO(snd_config_imake_string, iFppp)
+GO(snd_config_imake_pointer, iFppp)
+GO(snd_config_get_type, iFp)
+GO(snd_config_set_id, iFpp)
+GO(snd_config_set_integer, iFpi)
+GO(snd_config_set_integer64, iFpI)
+GO(snd_config_set_real, iFpd)
+GO(snd_config_set_string, iFpp)
+GO(snd_config_set_ascii, iFpp)
+GO(snd_config_set_pointer, iFpp)
+GO(snd_config_get_id, iFpp)
+GO(snd_config_get_integer, iFpp)
+GO(snd_config_get_integer64, iFpp)
+GO(snd_config_get_real, iFpp)
+GO(snd_config_get_ireal, iFpp)
+GO(snd_config_get_string, iFpp)
+GO(snd_config_get_ascii, iFpp)
+GO(snd_config_get_pointer, iFpp)
+GO(snd_config_test_id, iFpp)
+GO(snd_config_iterator_first, pFp)
+GO(snd_config_iterator_next, pFp)
+GO(snd_config_iterator_end, pFp)
+GO(snd_config_iterator_entry, pFp)
+GO(snd_config_get_bool_ascii, iFp)
+GO(snd_config_get_bool, iFp)
+GO(snd_config_get_ctl_iface_ascii, iFp)
+GO(snd_config_get_ctl_iface, iFp)
+GO(snd_device_name_free_hint, iFp)
+GO(snd_device_name_get_hint, pFpp)
+GO(snd_device_name_hint, iFipp)
+GO(snd_names_list, iFpp)
+GO(snd_names_list_free, vFp)
+GO(snd_pcm_format_mask_sizeof, uFv)
+GO(snd_pcm_subformat_mask_sizeof, uFv)
+GO(snd_pcm_status_sizeof, uFv)
+GOM(snd_async_add_pcm_handler, iFEpppp)
+GO(snd_async_handler_get_pcm, pFp)
+GO(snd_pcm_access_mask_any, vFp)
+GO(snd_pcm_access_mask_copy, vFpp)
+GO(snd_pcm_access_mask_empty, iFp)
+GO(snd_pcm_access_mask_free, vFp)
+GO(snd_pcm_access_mask_malloc, iFp)
+GO(snd_pcm_access_mask_none, vFp)
+GO(snd_pcm_access_mask_reset, vFpi)
+GO(snd_pcm_access_mask_set, vFpi)
+GO(snd_pcm_access_mask_test, iFpi)
+GO(snd_pcm_access_name, pFi)
+GO(snd_pcm_area_copy, iFpupuui)
+GO(snd_pcm_area_silence, iFpuui)
+GO(snd_pcm_areas_copy, iFpupuuui)
+GO(snd_pcm_areas_silence, iFpuuui)
+GO(snd_pcm_avail, iFp)
+GO(snd_pcm_avail_delay, iFppp)
+GO(snd_pcm_avail_update, iFp)
+GO(snd_pcm_build_linear_format, iFiiii)
+GO(snd_pcm_bytes_to_frames, iFpu)
+GO(snd_pcm_bytes_to_samples, iFpu)
+GO(snd_pcm_chmap_type_name, pFi)
+GO(snd_pcm_chmap_name, pFi)
+GO(snd_pcm_chmap_long_name, pFi)
+GO(snd_pcm_chmap_print, iFpup)
+GO(snd_pcm_chmap_from_string, uFp)
+GO(snd_pcm_chmap_parse_string, pFp)
+GO(snd_pcm_close, iFp)
+GO(snd_pcm_delay, iFpp)
+GO(snd_pcm_drain, iFp)
+GO(snd_pcm_drop, iFp)
+GO(snd_pcm_dump, iFpp)
+GO(snd_pcm_dump_hw_setup, iFpp)
+GO(snd_pcm_dump_setup, iFpp)
+GO(snd_pcm_dump_sw_setup, iFpp)
+GO(snd_pcm_format_big_endian, iFi)
+GO(snd_pcm_format_cpu_endian, iFi)
+GO(snd_pcm_format_description, pFi)
+GO(snd_pcm_format_float, iFi)
+GO(snd_pcm_format_linear, iFi)
+GO(snd_pcm_format_little_endian, iFi)
+GO(snd_pcm_format_mask_any, vFp)
+GO(snd_pcm_format_mask_copy, vFpp)
+GO(snd_pcm_format_mask_empty, iFp)
+GO(snd_pcm_format_mask_free, vFp)
+GO(snd_pcm_format_mask_malloc, iFp)
+GO(snd_pcm_format_mask_none, vFp)
+GO(snd_pcm_format_mask_reset, vFpi)
+GO(snd_pcm_format_mask_set, vFpi)
+GO(snd_pcm_format_mask_test, iFpi)
+GO(snd_pcm_format_name, pFi)
+GO(snd_pcm_format_physical_width, iFi)
+GO(snd_pcm_format_set_silence, iFipu)
+GO(snd_pcm_format_signed, iFi)
+GO(snd_pcm_format_silence, iFi)
+GO(snd_pcm_format_silence_16, iFi)
+GO(snd_pcm_format_silence_32, iFi)
+GO(snd_pcm_format_silence_64, iFi)
+GO(snd_pcm_format_size, uFiu)
+GO(snd_pcm_format_unsigned, iFi)
+GO(snd_pcm_format_value, iFp)
+GO(snd_pcm_format_width, iFi)
+GO(snd_pcm_forward, iFpu)
+GO(snd_pcm_frames_to_bytes, uFpi)
+GO(snd_pcm_get_params, iFppp)
+GO(snd_pcm_get_chmap, pFp)
+GO(snd_pcm_hook_add, iFppipp)
+GO(snd_pcm_hook_get_pcm, pFp)
+GO(snd_pcm_hook_get_private, pFp)
+GO(snd_pcm_hook_remove, iFp)
+GO(snd_pcm_hook_set_private, vFpp)
+GO(snd_pcm_hw_free, iFp)
+GO(snd_pcm_hw_params, iFpp)
+GO(snd_pcm_hw_params_any, iFpp)
+GO(snd_pcm_hw_params_can_mmap_sample_resolution, iFp)
+GO(snd_pcm_hw_params_can_overrange, iFp)
+GO(snd_pcm_hw_params_can_pause, iFp)
+GO(snd_pcm_hw_params_can_resume, iFp)
+GO(snd_pcm_hw_params_can_sync_start, iFp)
+GO(snd_pcm_hw_params_copy, vFpp)
+GO(snd_pcm_hw_params_current, iFpp)
+GO(snd_pcm_hw_params_dump, iFpp)
+GO(snd_pcm_hw_params_free, vFp)
+GO(snd_pcm_hw_params_get_access, iFpp)
+GO(snd_pcm_hw_params_get_access_mask, iFpp)
+GO(snd_pcm_hw_params_get_buffer_size, iFpp)
+GO(snd_pcm_hw_params_get_buffer_size_max, iFpp)
+GO(snd_pcm_hw_params_get_buffer_size_min, iFpp)
+GO(snd_pcm_hw_params_get_buffer_time, iFppp)
+GO(snd_pcm_hw_params_get_buffer_time_max, iFppp)
+GO(snd_pcm_hw_params_get_buffer_time_min, iFppp)
+GO(snd_pcm_hw_params_get_channels, iFpp)
+GO(snd_pcm_hw_params_get_channels_max, iFpp)
+GO(snd_pcm_hw_params_get_channels_min, iFpp)
+GO(snd_pcm_hw_params_get_export_buffer, iFppp)
+GO(snd_pcm_hw_params_get_fifo_size, iFp)
+GO(snd_pcm_hw_params_get_format, iFpp)
+GO(snd_pcm_hw_params_get_format_mask, vFpp)
+GO(snd_pcm_hw_params_get_min_align, iFpp)
+GO(snd_pcm_hw_params_get_period_size, iFppp)
+GO(snd_pcm_hw_params_get_period_size_max, iFppp)
+GO(snd_pcm_hw_params_get_period_size_min, iFppp)
+GO(snd_pcm_hw_params_get_period_time, iFppp)
+GO(snd_pcm_hw_params_get_period_time_max, iFppp)
+GO(snd_pcm_hw_params_get_period_time_min, iFppp)
+GO(snd_pcm_hw_params_get_periods, iFppp)
+GO(snd_pcm_hw_params_get_periods_max, iFppp)
+GO(snd_pcm_hw_params_get_periods_min, iFppp)
+GO(snd_pcm_hw_params_get_rate, iFppp)
+GO(snd_pcm_hw_params_get_rate_max, iFppp)
+GO(snd_pcm_hw_params_get_rate_min, iFppp)
+GO(snd_pcm_hw_params_get_rate_numden, iFppp)
+GO(snd_pcm_hw_params_get_rate_resample, iFppp)
+GO(snd_pcm_hw_params_get_sbits, iFp)
+GO(snd_pcm_hw_params_get_subformat, iFpp)
+GO(snd_pcm_hw_params_get_subformat_mask, vFpp)
+GO(snd_pcm_hw_params_get_tick_time, iFppp)
+GO(snd_pcm_hw_params_get_tick_time_max, iFppp)
+GO(snd_pcm_hw_params_get_tick_time_min, iFppp)
+GO(snd_pcm_hw_params_is_batch, iFp)
+GO(snd_pcm_hw_params_is_block_transfer, iFp)
+GO(snd_pcm_hw_params_is_double, iFp)
+GO(snd_pcm_hw_params_is_half_duplex, iFp)
+GO(snd_pcm_hw_params_is_joint_duplex, iFp)
+GO(snd_pcm_hw_params_malloc, iFp)
+GO(snd_pcm_hw_params_set_access, iFppi)
+GO(snd_pcm_hw_params_set_access_first, iFppp)
+GO(snd_pcm_hw_params_set_access_last, iFppp)
+GO(snd_pcm_hw_params_set_access_mask, iFppp)
+GO(snd_pcm_hw_params_set_buffer_size, iFppu)
+GO(snd_pcm_hw_params_set_buffer_size_first, iFppp)
+GO(snd_pcm_hw_params_set_buffer_size_last, iFppp)
+GO(snd_pcm_hw_params_set_buffer_size_max, iFppp)
+GO(snd_pcm_hw_params_set_buffer_size_min, iFppp)
+GO(snd_pcm_hw_params_set_buffer_size_minmax, iFpppp)
+GO(snd_pcm_hw_params_set_buffer_size_near, iFppp)
+GO(snd_pcm_hw_params_set_buffer_time, iFppui)
+GO(snd_pcm_hw_params_set_buffer_time_first, iFpppp)
+GO(snd_pcm_hw_params_set_buffer_time_last, iFpppp)
+GO(snd_pcm_hw_params_set_buffer_time_max, iFpppp)
+GO(snd_pcm_hw_params_set_buffer_time_min, iFpppp)
+GO(snd_pcm_hw_params_set_buffer_time_minmax, iFpppppp)
+GO(snd_pcm_hw_params_set_buffer_time_near, iFpppp)
+GO(snd_pcm_hw_params_set_channels, iFppu)
+GO(snd_pcm_hw_params_set_channels_first, iFppp)
+GO(snd_pcm_hw_params_set_channels_last, iFppp)
+GO(snd_pcm_hw_params_set_channels_max, iFppp)
+GO(snd_pcm_hw_params_set_channels_min, iFppp)
+GO(snd_pcm_hw_params_set_channels_minmax, iFpppp)
+GO(snd_pcm_hw_params_set_channels_near, iFppp)
+GO(snd_pcm_hw_params_set_export_buffer, iFppu)
+GO(snd_pcm_hw_params_set_format, iFppi)
+GO(snd_pcm_hw_params_set_format_first, iFppp)
+GO(snd_pcm_hw_params_set_format_last, iFppp)
+GO(snd_pcm_hw_params_set_format_mask, iFppp)
+GO(snd_pcm_hw_params_set_period_size, iFppui)
+GO(snd_pcm_hw_params_set_period_size_first, iFpppp)
+GO(snd_pcm_hw_params_set_period_size_integer, iFpp)
+GO(snd_pcm_hw_params_set_period_size_last, iFpppp)
+GO(snd_pcm_hw_params_set_period_size_max, iFpppp)
+GO(snd_pcm_hw_params_set_period_size_min, iFpppp)
+GO(snd_pcm_hw_params_set_period_size_minmax, iFpppppp)
+GO(snd_pcm_hw_params_set_period_size_near, iFpppp)
+GO(snd_pcm_hw_params_set_period_time, iFppui)
+GO(snd_pcm_hw_params_set_period_time_first, iFpppp)
+GO(snd_pcm_hw_params_set_period_time_last, iFpppp)
+GO(snd_pcm_hw_params_set_period_time_max, iFpppp)
+GO(snd_pcm_hw_params_set_period_time_min, iFpppp)
+GO(snd_pcm_hw_params_set_period_time_minmax, iFpppppp)
+GO(snd_pcm_hw_params_set_period_time_near, iFpppp)
+GO(snd_pcm_hw_params_set_periods, iFppui)
+GO(snd_pcm_hw_params_set_periods_first, iFpppp)
+GO(snd_pcm_hw_params_set_periods_integer, iFpp)
+GO(snd_pcm_hw_params_set_periods_last, iFpppp)
+GO(snd_pcm_hw_params_set_periods_max, iFpppp)
+GO(snd_pcm_hw_params_set_periods_min, iFpppp)
+GO(snd_pcm_hw_params_set_periods_minmax, iFpppppp)
+GO(snd_pcm_hw_params_set_periods_near, iFpppp)
+GO(snd_pcm_hw_params_set_rate, iFppui)
+GO(snd_pcm_hw_params_set_rate_first, iFpppp)
+GO(snd_pcm_hw_params_set_rate_last, iFpppp)
+GO(snd_pcm_hw_params_set_rate_max, iFpppp)
+GO(snd_pcm_hw_params_set_rate_min, iFpppp)
+GO(snd_pcm_hw_params_set_rate_minmax, iFpppppp)
+GO(snd_pcm_hw_params_set_rate_near, iFpppp)
+GO(snd_pcm_hw_params_set_rate_resample, iFppu)
+GO(snd_pcm_hw_params_set_subformat, iFppi)
+GO(snd_pcm_hw_params_set_subformat_first, iFppp)
+GO(snd_pcm_hw_params_set_subformat_last, iFppp)
+GO(snd_pcm_hw_params_set_subformat_mask, iFppp)
+GO(snd_pcm_hw_params_set_tick_time, iFppui)
+GO(snd_pcm_hw_params_set_tick_time_first, iFpppp)
+GO(snd_pcm_hw_params_set_tick_time_last, iFpppp)
+GO(snd_pcm_hw_params_set_tick_time_max, iFpppp)
+GO(snd_pcm_hw_params_set_tick_time_min, iFpppp)
+GO(snd_pcm_hw_params_set_tick_time_minmax, iFpppppp)
+GO(snd_pcm_hw_params_set_tick_time_near, iFpppp)
+GO(snd_pcm_hw_params_test_access, iFppi)
+GO(snd_pcm_hw_params_test_buffer_size, iFppu)
+GO(snd_pcm_hw_params_test_buffer_time, iFppui)
+GO(snd_pcm_hw_params_test_channels, iFppu)
+GO(snd_pcm_hw_params_test_format, iFppi)
+GO(snd_pcm_hw_params_test_period_size, iFppui)
+GO(snd_pcm_hw_params_test_period_time, iFppui)
+GO(snd_pcm_hw_params_test_periods, iFppui)
+GO(snd_pcm_hw_params_test_rate, iFppui)
+GO(snd_pcm_hw_params_test_subformat, iFppi)
+GO(snd_pcm_hw_params_test_tick_time, iFppui)
+GO(snd_pcm_hwsync, iFp)
+GO(snd_pcm_info, iFpp)
+GO(snd_pcm_info_copy, vFpp)
+GO(snd_pcm_info_free, vFp)
+GO(snd_pcm_info_get_card, iFp)
+GO(snd_pcm_info_get_class, iFp)
+GO(snd_pcm_info_get_device, uFp)
+GO(snd_pcm_info_get_id, pFp)
+GO(snd_pcm_info_get_name, pFp)
+GO(snd_pcm_info_get_stream, iFp)
+GO(snd_pcm_info_get_subclass, iFp)
+GO(snd_pcm_info_get_subdevice, uFp)
+GO(snd_pcm_info_get_subdevice_name, pFp)
+GO(snd_pcm_info_get_subdevices_avail, uFp)
+GO(snd_pcm_info_get_subdevices_count, uFp)
+GO(snd_pcm_info_get_sync, pFp)
+GO(snd_pcm_info_malloc, iFp)
+GO(snd_pcm_info_sizeof, uFv)
+GO(snd_pcm_access_mask_sizeof, uFv)
+GO(snd_pcm_info_set_device, vFpu)
+GO(snd_pcm_info_set_stream, vFpi)
+GO(snd_pcm_info_set_subdevice, vFpu)
+GO(snd_pcm_link, iFpp)
+GO(snd_pcm_meter_add_scope, iFpp)
+GO(snd_pcm_meter_get_boundary, uFp)
+GO(snd_pcm_meter_get_bufsize, uFp)
+GO(snd_pcm_meter_get_channels, uFp)
+GO(snd_pcm_meter_get_now, uFp)
+GO(snd_pcm_meter_get_rate, uFp)
+GO(snd_pcm_meter_search_scope, pFpp)
+GO(snd_pcm_mmap_begin, iFpppp)
+GO(snd_pcm_mmap_commit, iFpuu)
+GO(snd_pcm_mmap_readi, iFppu)
+GO(snd_pcm_mmap_readn, iFppu)
+GO(snd_pcm_mmap_writei, iFppu)
+GO(snd_pcm_mmap_writen, iFppu)
+GO(snd_pcm_name, pFp)
+GO(snd_pcm_nonblock, iFpi)
+GO(snd_pcm_open, iFppii)
+GO(snd_pcm_open_lconf, iFppiip)
+GO(snd_pcm_pause, iFpi)
+GO(snd_pcm_poll_descriptors, iFppu)
+GO(snd_pcm_poll_descriptors_count, iFp)
+GO(snd_pcm_poll_descriptors_revents, iFppup)
+GO(snd_pcm_prepare, iFp)
+GO(snd_pcm_readi, iFppu)
+GO(snd_pcm_readn, iFppu)
+GO(snd_pcm_recover, iFpii)
+GO(snd_pcm_reset, iFp)
+GO(snd_pcm_resume, iFp)
+GO(snd_pcm_rewind, iFpu)
+GO(snd_pcm_samples_to_bytes, uFpi)
+//GOM(snd_pcm_scope_get_callback_private, pFEp)
+GO(snd_pcm_scope_get_name, pFp)
+GO(snd_pcm_scope_malloc, iFp)
+GO(snd_pcm_scope_s16_get_channel_buffer, pFpu)
+GO(snd_pcm_scope_s16_open, iFppp)
+//GOM(snd_pcm_scope_set_callback_private, vFEpp)
+GO(snd_pcm_hw_params_sizeof, uFv)
+GO(snd_pcm_sw_params_sizeof, uFv)
+GO(snd_pcm_hw_params_is_monotonic, iFp)
+GO(snd_pcm_scope_set_name, vFpp)
+//GOM(snd_pcm_scope_set_ops, vFEpp)
+GO(snd_pcm_set_chmap, iFpp)
+GO(snd_pcm_set_params, iFpiiuuiu)
+GO(snd_pcm_start, iFp)
+GO(snd_pcm_start_mode_name, pFi)
+GO(snd_pcm_state, iFp)
+GO(snd_pcm_state_name, pFi)
+GO(snd_pcm_status, iFpp)
+GO(snd_pcm_status_copy, vFpp)
+GO(snd_pcm_status_dump, iFpp)
+GO(snd_pcm_status_free, vFp)
+GO(snd_pcm_status_get_avail, uFp)
+GO(snd_pcm_status_get_avail_max, uFp)
+GO(snd_pcm_status_get_delay, iFp)
+GO(snd_pcm_status_get_htstamp, vFpp)
+GO(snd_pcm_status_get_overrange, uFp)
+GO(snd_pcm_status_get_state, iFp)
+GO(snd_pcm_status_get_trigger_htstamp, vFpp)
+GO(snd_pcm_status_get_trigger_tstamp, vFpp)
+GO(snd_pcm_status_get_tstamp, vFpp)
+GO(snd_pcm_status_malloc, iFp)
+GO(snd_pcm_stream, iFp)
+GO(snd_pcm_stream_name, pFi)
+GO(snd_pcm_subformat_description, pFi)
+GO(snd_pcm_subformat_mask_any, vFp)
+GO(snd_pcm_subformat_mask_copy, vFpp)
+GO(snd_pcm_subformat_mask_empty, iFp)
+GO(snd_pcm_subformat_mask_free, vFp)
+GO(snd_pcm_subformat_mask_malloc, iFp)
+GO(snd_pcm_subformat_mask_none, vFp)
+GO(snd_pcm_subformat_mask_reset, vFpi)
+GO(snd_pcm_subformat_mask_set, vFpi)
+GO(snd_pcm_subformat_mask_test, iFpi)
+GO(snd_pcm_subformat_name, pFi)
+GO(snd_pcm_sw_params, iFpp)
+GO(snd_pcm_sw_params_copy, vFpp)
+GO(snd_pcm_sw_params_current, iFpp)
+GO(snd_pcm_sw_params_dump, iFpp)
+GO(snd_pcm_sw_params_free, vFp)
+GO(snd_pcm_sw_params_get_avail_min, iFpp)
+GO(snd_pcm_sw_params_get_boundary, iFpp)
+GO(snd_pcm_sw_params_get_silence_size, iFpp)
+GO(snd_pcm_sw_params_get_silence_threshold, iFpp)
+GO(snd_pcm_sw_params_get_sleep_min, iFpp)
+GO(snd_pcm_sw_params_get_start_mode, iFp)
+GO(snd_pcm_sw_params_get_start_threshold, iFpp)
+GO(snd_pcm_sw_params_get_stop_threshold, iFpp)
+GO(snd_pcm_sw_params_get_tstamp_mode, iFpp)
+GO(snd_pcm_sw_params_get_xfer_align, iFpp)
+GO(snd_pcm_sw_params_get_xrun_mode, iFp)
+GO(snd_pcm_sw_params_malloc, iFp)
+GO(snd_pcm_sw_params_set_avail_min, iFppu)
+GO(snd_pcm_sw_params_set_silence_size, iFppu)
+GO(snd_pcm_sw_params_set_silence_threshold, iFppu)
+GO(snd_pcm_sw_params_set_sleep_min, iFppu)
+GO(snd_pcm_sw_params_set_start_mode, iFppi)
+GO(snd_pcm_sw_params_set_start_threshold, iFppu)
+GO(snd_pcm_sw_params_set_stop_threshold, iFppu)
+GO(snd_pcm_sw_params_set_tstamp_mode, iFppi)
+GO(snd_pcm_sw_params_set_xfer_align, iFppu)
+GO(snd_pcm_sw_params_set_xrun_mode, iFppi)
+GO(snd_pcm_tstamp_mode_name, pFi)
+GO(snd_pcm_type, iFp)
+GO(snd_pcm_type_name, pFi)
+GO(snd_pcm_unlink, iFp)
+GO(snd_pcm_wait, iFpi)
+GO(snd_pcm_writei, iFppu)
+GO(snd_pcm_writen, iFppu)
+GO(snd_pcm_xrun_mode_name, pFi)
+GO(snd_spcm_init, iFpuuiiiii)
+GO(snd_spcm_init_duplex, iFppuuiiiiii)
+GO(snd_spcm_init_get_params, iFpppp)
+GO(snd_rawmidi_open, iFpppi)
+GO(snd_rawmidi_open_lconf, iFpppip)
+GO(snd_rawmidi_close, iFp)
+GO(snd_rawmidi_poll_descriptors_count, iFp)
+GO(snd_rawmidi_poll_descriptors, iFppu)
+GO(snd_rawmidi_poll_descriptors_revents, iFppup)
+GO(snd_rawmidi_nonblock, iFpi)
+GO(snd_rawmidi_info_sizeof, uFv)
+GO(snd_rawmidi_info_malloc, iFp)
+GO(snd_rawmidi_info_free, vFp)
+GO(snd_rawmidi_info_copy, vFpp)
+GO(snd_rawmidi_info_get_device, uFp)
+GO(snd_rawmidi_info_get_subdevice, uFp)
+GO(snd_rawmidi_info_get_stream, iFp)
+GO(snd_rawmidi_info_get_card, iFp)
+GO(snd_rawmidi_info_get_flags, uFp)
+GO(snd_rawmidi_info_get_id, pFp)
+GO(snd_rawmidi_info_get_name, pFp)
+GO(snd_rawmidi_info_get_subdevice_name, pFp)
+GO(snd_rawmidi_info_get_subdevices_count, uFp)
+GO(snd_rawmidi_info_get_subdevices_avail, uFp)
+GO(snd_rawmidi_info_set_device, vFpu)
+GO(snd_rawmidi_info_set_subdevice, vFpu)
+GO(snd_rawmidi_info_set_stream, vFpi)
+GO(snd_rawmidi_info, iFpp)
+GO(snd_rawmidi_params_sizeof, uFv)
+GO(snd_rawmidi_params_malloc, iFp)
+GO(snd_rawmidi_params_free, vFp)
+GO(snd_rawmidi_params_copy, vFpp)
+GO(snd_rawmidi_params_set_buffer_size, iFppu)
+GO(snd_rawmidi_params_get_buffer_size, uFp)
+GO(snd_rawmidi_params_set_avail_min, iFppu)
+GO(snd_rawmidi_params_get_avail_min, uFp)
+GO(snd_rawmidi_params_set_no_active_sensing, iFppi)
+GO(snd_rawmidi_params_get_no_active_sensing, iFp)
+GO(snd_rawmidi_params, iFpp)
+GO(snd_rawmidi_params_current, iFpp)
+GO(snd_rawmidi_status_sizeof, uFv)
+GO(snd_rawmidi_status_malloc, iFp)
+GO(snd_rawmidi_status_free, vFp)
+GO(snd_rawmidi_status_copy, vFpp)
+GO(snd_rawmidi_status_get_tstamp, vFpp)
+GO(snd_rawmidi_status_get_avail, uFp)
+GO(snd_rawmidi_status_get_xruns, uFp)
+GO(snd_rawmidi_status, iFpp)
+GO(snd_rawmidi_drain, iFp)
+GO(snd_rawmidi_drop, iFp)
+GO(snd_rawmidi_write, uFppu)
+GO(snd_rawmidi_read, uFppu)
+GO(snd_rawmidi_name, pFp)
+GO(snd_rawmidi_type, iFp)
+GO(snd_rawmidi_stream, iFp)
+GO(snd_timer_query_open, iFppi)
+GO(snd_timer_query_open_lconf, iFppip)
+GO(snd_timer_query_close, iFp)
+GO(snd_timer_query_next_device, iFpp)
+GO(snd_timer_query_info, iFpp)
+GO(snd_timer_query_params, iFpp)
+GO(snd_timer_query_status, iFpp)
+GO(snd_timer_open, iFppi)
+GO(snd_timer_open_lconf, iFppip)
+GO(snd_timer_close, iFp)
+//GO(snd_async_add_timer_handler, iFppPp)
+//GO(snd_async_handler_get_timer, pFp)
+GO(snd_timer_poll_descriptors_count, iFp)
+GO(snd_timer_poll_descriptors, iFppu)
+GO(snd_timer_poll_descriptors_revents, iFppup)
+GO(snd_timer_info, iFpp)
+GO(snd_timer_params, iFpp)
+GO(snd_timer_status, iFpp)
+GO(snd_timer_start, iFp)
+GO(snd_timer_stop, iFp)
+GO(snd_timer_continue, iFp)
+GO(snd_timer_read, uFppu)
+GO(snd_timer_id_sizeof, uFv)
+GO(snd_timer_id_malloc, iFp)
+GO(snd_timer_id_free, vFp)
+GO(snd_timer_id_copy, vFpp)
+GO(snd_timer_id_set_class, vFpi)
+GO(snd_timer_id_get_class, iFp)
+GO(snd_timer_id_set_sclass, vFpi)
+GO(snd_timer_id_get_sclass, iFp)
+GO(snd_timer_id_set_card, vFpi)
+GO(snd_timer_id_get_card, iFp)
+GO(snd_timer_id_set_device, vFpi)
+GO(snd_timer_id_get_device, iFp)
+GO(snd_timer_id_set_subdevice, vFpi)
+GO(snd_timer_id_get_subdevice, iFp)
+GO(snd_timer_ginfo_sizeof, uFv)
+GO(snd_timer_ginfo_malloc, iFp)
+GO(snd_timer_ginfo_free, vFp)
+GO(snd_timer_ginfo_copy, vFpp)
+GO(snd_timer_ginfo_set_tid, iFpp)
+GO(snd_timer_ginfo_get_tid, pFp)
+GO(snd_timer_ginfo_get_flags, uFp)
+GO(snd_timer_ginfo_get_card, iFp)
+GO(snd_timer_ginfo_get_id, pFp)
+GO(snd_timer_ginfo_get_name, pFp)
+GO(snd_timer_ginfo_get_resolution, iFp)
+GO(snd_timer_ginfo_get_resolution_min, iFp)
+GO(snd_timer_ginfo_get_resolution_max, iFp)
+GO(snd_timer_ginfo_get_clients, uFp)
+GO(snd_timer_info_sizeof, uFv)
+GO(snd_timer_info_malloc, iFp)
+GO(snd_timer_info_free, vFp)
+GO(snd_timer_info_copy, vFpp)
+GO(snd_timer_info_is_slave, iFp)
+GO(snd_timer_info_get_card, iFp)
+GO(snd_timer_info_get_id, pFp)
+GO(snd_timer_info_get_name, pFp)
+GO(snd_timer_info_get_resolution, iFp)
+GO(snd_timer_params_sizeof, uFv)
+GO(snd_timer_params_malloc, iFp)
+GO(snd_timer_params_free, vFp)
+GO(snd_timer_params_copy, vFpp)
+GO(snd_timer_params_set_auto_start, iFpi)
+GO(snd_timer_params_get_auto_start, iFp)
+GO(snd_timer_params_set_exclusive, iFpi)
+GO(snd_timer_params_get_exclusive, iFp)
+GO(snd_timer_params_set_early_event, iFpi)
+GO(snd_timer_params_get_early_event, iFp)
+GO(snd_timer_params_set_ticks, vFpi)
+GO(snd_timer_params_get_ticks, iFp)
+GO(snd_timer_params_set_queue_size, vFpi)
+GO(snd_timer_params_get_queue_size, iFp)
+GO(snd_timer_params_set_filter, vFpu)
+GO(snd_timer_params_get_filter, uFp)
+GO(snd_timer_status_sizeof, uFv)
+GO(snd_timer_status_malloc, iFp)
+GO(snd_timer_status_free, vFp)
+GO(snd_timer_status_copy, vFpp)
+GO(snd_timer_status_get_timestamp, iFp)
+GO(snd_timer_status_get_resolution, iFp)
+GO(snd_timer_status_get_lost, iFp)
+GO(snd_timer_status_get_overrun, iFp)
+GO(snd_timer_status_get_queue, iFp)
+GO(snd_timer_info_get_ticks, iFp)
+GO(snd_hwdep_open, iFppi)
+GO(snd_hwdep_close, iFp)
+GO(snd_hwdep_poll_descriptors, iFppu)
+GO(snd_hwdep_poll_descriptors_revents, iFppup)
+GO(snd_hwdep_nonblock, iFpi)
+GO(snd_hwdep_info, iFpp)
+GO(snd_hwdep_dsp_status, iFpp)
+GO(snd_hwdep_dsp_load, iFpp)
+GO(snd_hwdep_ioctl, iFpup)
+GO(snd_hwdep_write, uFppu)
+GO(snd_hwdep_read, uFppu)
+GO(snd_hwdep_info_sizeof, uFv)
+GO(snd_hwdep_dsp_status_sizeof, uFv)
+GO(snd_hwdep_dsp_status_malloc, iFp)
+GO(snd_hwdep_dsp_status_free, vFp)
+GO(snd_hwdep_dsp_status_copy, vFpp)
+GO(snd_hwdep_dsp_status_get_version, uFp)
+GO(snd_hwdep_dsp_status_get_id, pFp)
+GO(snd_hwdep_dsp_status_get_num_dsps, uFp)
+GO(snd_hwdep_dsp_status_get_dsp_loaded, uFp)
+GO(snd_hwdep_dsp_status_get_chip_ready, uFp)
+GO(snd_hwdep_dsp_image_sizeof, uFv)
+GO(snd_hwdep_dsp_image_malloc, iFp)
+GO(snd_hwdep_dsp_image_free, vFp)
+GO(snd_hwdep_dsp_image_copy, vFpp)
+GO(snd_hwdep_dsp_image_get_index, uFp)
+GO(snd_hwdep_dsp_image_get_name, pFp)
+GO(snd_hwdep_dsp_image_get_image, pFp)
+GO(snd_hwdep_dsp_image_get_length, uFp)
+GO(snd_hwdep_dsp_image_set_index, vFpu)
+GO(snd_hwdep_dsp_image_set_name, vFpp)
+GO(snd_hwdep_dsp_image_set_image, vFpp)
+GO(snd_hwdep_dsp_image_set_length, vFpu)
+GO(snd_card_load, iFi)
+GO(snd_card_next, iFp)
+GO(snd_card_get_index, iFp)
+GO(snd_card_get_name, iFip)
+GO(snd_card_get_longname, iFip)
+GO(snd_ctl_open, iFppi)
+GO(snd_ctl_open_lconf, iFppip)
+GO(snd_ctl_close, iFp)
+GO(snd_ctl_nonblock, iFpi)
+//GO(snd_async_add_ctl_handler, iFppPp)
+//GO(snd_async_handler_get_ctl, pFp)
+GO(snd_ctl_poll_descriptors_count, iFp)
+GO(snd_ctl_poll_descriptors, iFppu)
+GO(snd_ctl_poll_descriptors_revents, iFppup)
+GO(snd_ctl_subscribe_events, iFpi)
+GO(snd_ctl_card_info, iFpp)
+GO(snd_ctl_elem_list, iFpp)
+GO(snd_ctl_elem_info, iFpp)
+GO(snd_ctl_elem_read, iFpp)
+GO(snd_ctl_elem_write, iFpp)
+GO(snd_ctl_elem_lock, iFpp)
+GO(snd_ctl_elem_unlock, iFpp)
+GO(snd_ctl_elem_tlv_read, iFpppu)
+GO(snd_ctl_elem_tlv_write, iFppp)
+GO(snd_ctl_elem_tlv_command, iFppp)
+GO(snd_ctl_hwdep_next_device, iFpp)
+GO(snd_ctl_hwdep_info, iFpp)
+GO(snd_ctl_pcm_next_device, iFpp)
+GO(snd_ctl_pcm_info, iFpp)
+GO(snd_ctl_pcm_prefer_subdevice, iFpi)
+GO(snd_ctl_rawmidi_next_device, iFpp)
+GO(snd_ctl_rawmidi_info, iFpp)
+GO(snd_ctl_rawmidi_prefer_subdevice, iFpi)
+GO(snd_ctl_set_power_state, iFpu)
+GO(snd_ctl_get_power_state, iFpp)
+GO(snd_ctl_read, iFpp)
+GO(snd_ctl_wait, iFpi)
+GO(snd_ctl_name, pFp)
+GO(snd_ctl_type, iFp)
+GO(snd_ctl_elem_type_name, pFi)
+GO(snd_ctl_elem_iface_name, pFi)
+GO(snd_ctl_event_type_name, pFi)
+GO(snd_ctl_event_elem_get_mask, uFp)
+GO(snd_ctl_event_elem_get_numid, uFp)
+GO(snd_ctl_event_elem_get_id, vFpp)
+GO(snd_ctl_event_elem_get_interface, iFp)
+GO(snd_ctl_event_elem_get_device, uFp)
+GO(snd_ctl_event_elem_get_subdevice, uFp)
+GO(snd_ctl_event_elem_get_name, pFp)
+GO(snd_ctl_event_elem_get_index, uFp)
+GO(snd_ctl_elem_list_alloc_space, iFpu)
+GO(snd_ctl_elem_list_free_space, vFp)
+GO(snd_ctl_elem_id_sizeof, uFv)
+GO(snd_ctl_elem_id_malloc, iFp)
+GO(snd_ctl_elem_id_free, vFp)
+GO(snd_ctl_elem_id_clear, vFp)
+GO(snd_ctl_elem_id_copy, vFpp)
+GO(snd_ctl_elem_id_get_numid, uFp)
+GO(snd_ctl_elem_id_get_interface, iFp)
+GO(snd_ctl_elem_id_get_device, uFp)
+GO(snd_ctl_elem_id_get_subdevice, uFp)
+GO(snd_ctl_elem_id_get_name, pFp)
+GO(snd_ctl_elem_id_get_index, uFp)
+GO(snd_ctl_elem_id_set_numid, vFpu)
+GO(snd_ctl_elem_id_set_interface, vFpi)
+GO(snd_ctl_elem_id_set_device, vFpu)
+GO(snd_ctl_elem_id_set_subdevice, vFpu)
+GO(snd_ctl_elem_id_set_name, vFpp)
+GO(snd_ctl_elem_id_set_index, vFpu)
+GO(snd_ctl_card_info_sizeof, uFv)
+GO(snd_ctl_card_info_malloc, iFp)
+GO(snd_ctl_card_info_free, vFp)
+GO(snd_ctl_card_info_clear, vFp)
+GO(snd_ctl_card_info_copy, vFpp)
+GO(snd_ctl_card_info_get_card, iFp)
+GO(snd_ctl_card_info_get_id, pFp)
+GO(snd_ctl_card_info_get_driver, pFp)
+GO(snd_ctl_card_info_get_name, pFp)
+GO(snd_ctl_card_info_get_longname, pFp)
+GO(snd_ctl_card_info_get_mixername, pFp)
+GO(snd_ctl_card_info_get_components, pFp)
+GO(snd_ctl_event_sizeof, uFv)
+GO(snd_ctl_event_malloc, iFp)
+GO(snd_ctl_event_free, vFp)
+GO(snd_ctl_event_clear, vFp)
+GO(snd_ctl_event_copy, vFpp)
+GO(snd_ctl_event_get_type, iFp)
+GO(snd_ctl_elem_list_sizeof, uFv)
+GO(snd_ctl_elem_list_malloc, iFp)
+GO(snd_ctl_elem_list_free, vFp)
+GO(snd_ctl_elem_list_clear, vFp)
+GO(snd_ctl_elem_list_copy, vFpp)
+GO(snd_ctl_elem_list_set_offset, vFpu)
+GO(snd_ctl_elem_list_get_used, uFp)
+GO(snd_ctl_elem_list_get_count, uFp)
+GO(snd_ctl_elem_list_get_id, vFpup)
+GO(snd_ctl_elem_list_get_numid, uFpu)
+GO(snd_ctl_elem_list_get_interface, iFpu)
+GO(snd_ctl_elem_list_get_device, uFpu)
+GO(snd_ctl_elem_list_get_subdevice, uFpu)
+GO(snd_ctl_elem_list_get_name, pFpu)
+GO(snd_ctl_elem_list_get_index, uFpu)
+GO(snd_ctl_elem_info_sizeof, uFv)
+GO(snd_ctl_elem_info_malloc, iFp)
+GO(snd_ctl_elem_info_free, vFp)
+GO(snd_ctl_elem_info_clear, vFp)
+GO(snd_ctl_elem_info_copy, vFpp)
+GO(snd_ctl_elem_info_get_type, iFp)
+GO(snd_ctl_elem_info_is_readable, iFp)
+GO(snd_ctl_elem_info_is_writable, iFp)
+GO(snd_ctl_elem_info_is_volatile, iFp)
+GO(snd_ctl_elem_info_is_inactive, iFp)
+GO(snd_ctl_elem_info_is_locked, iFp)
+GO(snd_ctl_elem_info_is_tlv_readable, iFp)
+GO(snd_ctl_elem_info_is_tlv_writable, iFp)
+GO(snd_ctl_elem_info_is_tlv_commandable, iFp)
+GO(snd_ctl_elem_info_is_owner, iFp)
+GO(snd_ctl_elem_info_is_user, iFp)
+GO(snd_ctl_elem_info_get_owner, iFp)
+GO(snd_ctl_elem_info_get_count, uFp)
+GO(snd_ctl_elem_info_get_min, iFp)
+GO(snd_ctl_elem_info_get_max, iFp)
+GO(snd_ctl_elem_info_get_step, iFp)
+GO(snd_ctl_elem_info_get_min64, IFp)
+GO(snd_ctl_elem_info_get_max64, IFp)
+GO(snd_ctl_elem_info_get_step64, IFp)
+GO(snd_ctl_elem_info_get_items, uFp)
+GO(snd_ctl_elem_info_set_item, vFpu)
+GO(snd_ctl_elem_info_get_item_name, pFp)
+GO(snd_ctl_elem_info_get_dimensions, iFp)
+GO(snd_ctl_elem_info_get_dimension, iFpu)
+GO(snd_ctl_elem_info_get_id, vFpp)
+GO(snd_ctl_elem_info_get_numid, uFp)
+GO(snd_ctl_elem_info_get_interface, iFp)
+GO(snd_ctl_elem_info_get_device, uFp)
+GO(snd_ctl_elem_info_get_subdevice, uFp)
+GO(snd_ctl_elem_info_get_name, pFp)
+GO(snd_ctl_elem_info_get_index, uFp)
+GO(snd_ctl_elem_info_set_id, vFpp)
+GO(snd_ctl_elem_info_set_numid, vFpu)
+GO(snd_ctl_elem_info_set_interface, vFpi)
+GO(snd_ctl_elem_info_set_device, vFpu)
+GO(snd_ctl_elem_info_set_subdevice, vFpu)
+GO(snd_ctl_elem_info_set_name, vFpp)
+GO(snd_ctl_elem_info_set_index, vFpu)
+GO(snd_ctl_elem_add_integer, iFppuiii)
+GO(snd_ctl_elem_add_integer64, iFppuIII)
+GO(snd_ctl_elem_add_boolean, iFppu)
+GO(snd_ctl_elem_add_iec958, iFpp)
+GO(snd_ctl_elem_remove, iFpp)
+GO(snd_ctl_elem_value_sizeof, uFv)
+GO(snd_ctl_elem_value_malloc, iFp)
+GO(snd_ctl_elem_value_free, vFp)
+GO(snd_ctl_elem_value_clear, vFp)
+GO(snd_ctl_elem_value_copy, vFpp)
+GO(snd_ctl_elem_value_get_id, vFpp)
+GO(snd_ctl_elem_value_get_numid, uFp)
+GO(snd_ctl_elem_value_get_interface, iFp)
+GO(snd_ctl_elem_value_get_device, uFp)
+GO(snd_ctl_elem_value_get_subdevice, uFp)
+GO(snd_ctl_elem_value_get_name, pFp)
+GO(snd_ctl_elem_value_get_index, uFp)
+GO(snd_ctl_elem_value_set_id, vFpp)
+GO(snd_ctl_elem_value_set_numid, vFpu)
+GO(snd_ctl_elem_value_set_interface, vFpi)
+GO(snd_ctl_elem_value_set_device, vFpu)
+GO(snd_ctl_elem_value_set_subdevice, vFpu)
+GO(snd_ctl_elem_value_set_name, vFpp)
+GO(snd_ctl_elem_value_set_index, vFpu)
+GO(snd_ctl_elem_value_get_boolean, iFpu)
+GO(snd_ctl_elem_value_get_integer, iFpu)
+GO(snd_ctl_elem_value_get_integer64, IFpu)
+GO(snd_ctl_elem_value_get_enumerated, uFpu)
+GO(snd_ctl_elem_value_get_byte, CFpu)
+GO(snd_ctl_elem_value_set_boolean, vFpui)
+GO(snd_ctl_elem_value_set_integer, vFpui)
+GO(snd_ctl_elem_value_set_integer64, vFpuI)
+GO(snd_ctl_elem_value_set_enumerated, vFpuu)
+GO(snd_ctl_elem_value_set_byte, vFpuu)
+GO(snd_ctl_elem_set_bytes, vFppu)
+GO(snd_ctl_elem_value_get_bytes, pFp)
+GO(snd_ctl_elem_value_get_iec958, vFpp)
+GO(snd_ctl_elem_value_set_iec958, vFpp)
+GO(snd_hctl_compare_fast, iFpp)
+GO(snd_hctl_open, iFppi)
+GO(snd_hctl_open_ctl, iFpp)
+GO(snd_hctl_close, iFp)
+GO(snd_hctl_nonblock, iFpi)
+GO(snd_hctl_poll_descriptors_count, iFp)
+GO(snd_hctl_poll_descriptors, iFppu)
+GO(snd_hctl_poll_descriptors_revents, iFppup)
+GO(snd_hctl_get_count, uFp)
+GO(snd_hctl_set_compare, iFpp)
+GO(snd_hctl_first_elem, pFp)
+GO(snd_hctl_last_elem, pFp)
+GO(snd_hctl_find_elem, pFpp)
+//GO(snd_hctl_set_callback, vFpP)
+//GO(snd_hctl_set_callback_private, vFpp)
+//GO(snd_hctl_get_callback_private, pFp)
+GO(snd_hctl_load, iFp)
+GO(snd_hctl_free, iFp)
+//GO(snd_hctl_handle_events, iFp)
+GO(snd_hctl_name, pFp)
+GO(snd_hctl_wait, iFpi)
+GO(snd_hctl_ctl, pFp)
+GO(snd_hctl_elem_next, pFp)
+GO(snd_hctl_elem_prev, pFp)
+GO(snd_hctl_elem_info, iFpp)
+GO(snd_hctl_elem_read, iFpp)
+GO(snd_hctl_elem_write, iFpp)
+GO(snd_hctl_elem_tlv_read, iFppu)
+GO(snd_hctl_elem_tlv_write, iFpp)
+GO(snd_hctl_elem_tlv_command, iFpp)
+GO(snd_hctl_elem_get_hctl, pFp)
+GO(snd_hctl_elem_get_id, vFpp)
+GO(snd_hctl_elem_get_numid, uFp)
+GO(snd_hctl_elem_get_interface, iFp)
+GO(snd_hctl_elem_get_device, uFp)
+GO(snd_hctl_elem_get_subdevice, uFp)
+GO(snd_hctl_elem_get_name, pFp)
+GO(snd_hctl_elem_get_index, uFp)
+//GO(snd_hctl_elem_set_callback, vFpP)
+//GO(snd_hctl_elem_get_callback_private, pFp)
+//GO(snd_hctl_elem_set_callback_private, vFpp)
+GO(snd_sctl_build, iFppppi)
+GO(snd_sctl_free, iFp)
+GO(snd_sctl_install, iFp)
+GO(snd_sctl_remove, iFp)
+GO(snd_mixer_open, iFpi)
+GO(snd_mixer_close, iFp)
+GO(snd_mixer_first_elem, pFp)
+GO(snd_mixer_last_elem, pFp)
+GO(snd_mixer_handle_events, iFp)
+GO(snd_mixer_attach, iFpp)
+GO(snd_mixer_attach_hctl, iFpp)
+GO(snd_mixer_detach, iFpp)
+GO(snd_mixer_detach_hctl, iFpp)
+GO(snd_mixer_get_hctl, iFppp)
+GO(snd_mixer_poll_descriptors_count, iFp)
+GO(snd_mixer_poll_descriptors, iFppu)
+GO(snd_mixer_poll_descriptors_revents, iFppup)
+GO(snd_mixer_load, iFp)
+GO(snd_mixer_free, vFp)
+GO(snd_mixer_wait, iFpi)
+GO(snd_mixer_set_compare, iFpp)
+//GO(snd_mixer_set_callback, vFpP)
+//GO(snd_mixer_get_callback_private, pFp)
+//GO(snd_mixer_set_callback_private, vFpp)
+GO(snd_mixer_get_count, uFp)
+GO(snd_mixer_class_unregister, iFp)
+GO(snd_mixer_elem_next, pFp)
+GO(snd_mixer_elem_prev, pFp)
+//GO(snd_mixer_elem_set_callback, vFpP)
+//GO(snd_mixer_elem_get_callback_private, pFp)
+//GO(snd_mixer_elem_set_callback_private, vFpp)
+GO(snd_mixer_elem_get_type, iFp)
+//GO(snd_mixer_class_register, iFpp)
+GO(snd_mixer_add_elem, iFpp)
+GO(snd_mixer_remove_elem, iFpp)
+GO(snd_mixer_elem_new, iFpiipp)
+GO(snd_mixer_elem_add, iFpp)
+GO(snd_mixer_elem_remove, iFp)
+GO(snd_mixer_elem_free, vFp)
+GO(snd_mixer_elem_info, iFp)
+GO(snd_mixer_elem_value, iFp)
+GO(snd_mixer_elem_attach, iFpp)
+GO(snd_mixer_elem_detach, iFpp)
+GO(snd_mixer_elem_empty, iFp)
+GO(snd_mixer_elem_get_private, pFp)
+GO(snd_mixer_class_sizeof, uFv)
+GO(snd_mixer_class_malloc, iFp)
+GO(snd_mixer_class_free, vFp)
+GO(snd_mixer_class_copy, vFpp)
+GO(snd_mixer_class_get_mixer, pFp)
+GO(snd_mixer_class_get_event, pFp)
+GO(snd_mixer_class_get_private, pFp)
+GO(snd_mixer_class_get_compare, pFp)
+GO(snd_mixer_class_set_event, iFpp)
+GO(snd_mixer_class_set_private, iFpp)
+GO(snd_mixer_class_set_private_free, iFpp)
+GO(snd_mixer_class_set_compare, iFpp)
+GO(snd_mixer_selem_channel_name, pFi)
+GO(snd_mixer_selem_register, iFppp)
+GO(snd_mixer_selem_get_id, vFpp)
+GO(snd_mixer_selem_get_name, pFp)
+GO(snd_mixer_selem_get_index, uFp)
+GO(snd_mixer_find_selem, pFpp)
+GO(snd_mixer_selem_is_active, iFp)
+GO(snd_mixer_selem_is_playback_mono, iFp)
+GO(snd_mixer_selem_has_playback_channel, iFpi)
+GO(snd_mixer_selem_is_capture_mono, iFp)
+GO(snd_mixer_selem_has_capture_channel, iFpi)
+GO(snd_mixer_selem_get_capture_group, iFp)
+GO(snd_mixer_selem_has_common_volume, iFp)
+GO(snd_mixer_selem_has_playback_volume, iFp)
+GO(snd_mixer_selem_has_playback_volume_joined, iFp)
+GO(snd_mixer_selem_has_capture_volume, iFp)
+GO(snd_mixer_selem_has_capture_volume_joined, iFp)
+GO(snd_mixer_selem_has_common_switch, iFp)
+GO(snd_mixer_selem_has_playback_switch, iFp)
+GO(snd_mixer_selem_has_playback_switch_joined, iFp)
+GO(snd_mixer_selem_has_capture_switch, iFp)
+GO(snd_mixer_selem_has_capture_switch_joined, iFp)
+GO(snd_mixer_selem_has_capture_switch_exclusive, iFp)
+GO(snd_mixer_selem_get_playback_volume, iFpip)
+GO(snd_mixer_selem_get_capture_volume, iFpip)
+GO(snd_mixer_selem_get_playback_dB, iFpip)
+GO(snd_mixer_selem_get_capture_dB, iFpip)
+GO(snd_mixer_selem_get_playback_switch, iFpip)
+GO(snd_mixer_selem_get_capture_switch, iFpip)
+GO(snd_mixer_selem_set_playback_volume, iFpii)
+GO(snd_mixer_selem_set_capture_volume, iFpii)
+GO(snd_mixer_selem_set_playback_dB, iFpiii)
+GO(snd_mixer_selem_set_capture_dB, iFpiii)
+GO(snd_mixer_selem_set_playback_volume_all, iFpi)
+GO(snd_mixer_selem_set_capture_volume_all, iFpi)
+GO(snd_mixer_selem_set_playback_dB_all, iFpii)
+GO(snd_mixer_selem_set_capture_dB_all, iFpii)
+GO(snd_mixer_selem_set_playback_switch, iFpii)
+GO(snd_mixer_selem_set_capture_switch, iFpii)
+GO(snd_mixer_selem_set_playback_switch_all, iFpi)
+GO(snd_mixer_selem_set_capture_switch_all, iFpi)
+GO(snd_mixer_selem_get_playback_volume_range, iFppp)
+GO(snd_mixer_selem_get_playback_dB_range, iFppp)
+GO(snd_mixer_selem_set_playback_volume_range, iFpii)
+GO(snd_mixer_selem_get_capture_volume_range, iFppp)
+GO(snd_mixer_selem_get_capture_dB_range, iFppp)
+GO(snd_mixer_selem_set_capture_volume_range, iFpii)
+GO(snd_mixer_selem_is_enumerated, iFp)
+GO(snd_mixer_selem_is_enum_playback, iFp)
+GO(snd_mixer_selem_is_enum_capture, iFp)
+GO(snd_mixer_selem_get_enum_items, iFp)
+GO(snd_mixer_selem_get_enum_item_name, iFpuup)
+GO(snd_mixer_selem_get_enum_item, iFpip)
+GO(snd_mixer_selem_set_enum_item, iFpiu)
+GO(snd_mixer_selem_id_sizeof, uFv)
+GO(snd_mixer_selem_id_malloc, iFp)
+GO(snd_mixer_selem_id_free, vFp)
+GO(snd_mixer_selem_id_copy, vFpp)
+GO(snd_mixer_selem_id_get_name, pFp)
+GO(snd_mixer_selem_id_get_index, uFp)
+GO(snd_mixer_selem_id_set_name, vFpp)
+GO(snd_mixer_selem_id_set_index, vFpu)
+GO(snd_seq_open, iFppii)
+GO(snd_seq_open_lconf, iFppiip)
+GO(snd_seq_name, pFp)
+GO(snd_seq_type, iFp)
+GO(snd_seq_close, iFp)
+GO(snd_seq_poll_descriptors_count, iFpw)
+GO(snd_seq_poll_descriptors, iFppuw)
+GO(snd_seq_poll_descriptors_revents, iFppup)
+GO(snd_seq_nonblock, iFpi)
+GO(snd_seq_client_id, iFp)
+GO(snd_seq_get_output_buffer_size, uFp)
+GO(snd_seq_get_input_buffer_size, uFp)
+GO(snd_seq_set_output_buffer_size, iFpu)
+GO(snd_seq_set_input_buffer_size, iFpu)
+GO(snd_seq_system_info_sizeof, uFv)
+GO(snd_seq_system_info_malloc, iFp)
+GO(snd_seq_system_info_free, vFp)
+GO(snd_seq_system_info_copy, vFpp)
+GO(snd_seq_system_info_get_queues, iFp)
+GO(snd_seq_system_info_get_clients, iFp)
+GO(snd_seq_system_info_get_ports, iFp)
+GO(snd_seq_system_info_get_channels, iFp)
+GO(snd_seq_system_info_get_cur_clients, iFp)
+GO(snd_seq_system_info_get_cur_queues, iFp)
+GO(snd_seq_system_info, iFpp)
+GO(snd_seq_client_info_sizeof, uFv)
+GO(snd_seq_client_info_malloc, iFp)
+GO(snd_seq_client_info_free, vFp)
+GO(snd_seq_client_info_copy, vFpp)
+GO(snd_seq_client_info_get_client, iFp)
+GO(snd_seq_client_info_get_type, iFp)
+GO(snd_seq_client_info_get_name, pFp)
+GO(snd_seq_client_info_get_broadcast_filter, iFp)
+GO(snd_seq_client_info_get_error_bounce, iFp)
+GO(snd_seq_client_info_get_event_filter, pFp)
+GO(snd_seq_client_info_get_num_ports, iFp)
+GO(snd_seq_client_info_get_event_lost, iFp)
+GO(snd_seq_client_info_set_client, vFpi)
+GO(snd_seq_client_info_set_name, vFpp)
+GO(snd_seq_client_info_set_broadcast_filter, vFpi)
+GO(snd_seq_client_info_set_error_bounce, vFpi)
+GO(snd_seq_client_info_set_event_filter, vFpp)
+GO(snd_seq_get_client_info, iFpp)
+GO(snd_seq_get_any_client_info, iFpip)
+GO(snd_seq_set_client_info, iFpp)
+GO(snd_seq_query_next_client, iFpp)
+GO(snd_seq_client_pool_sizeof, uFv)
+GO(snd_seq_client_pool_malloc, iFp)
+GO(snd_seq_client_pool_free, vFp)
+GO(snd_seq_client_pool_copy, vFpp)
+GO(snd_seq_client_pool_get_client, iFp)
+GO(snd_seq_client_pool_get_output_pool, uFp)
+GO(snd_seq_client_pool_get_input_pool, uFp)
+GO(snd_seq_client_pool_get_output_room, uFp)
+GO(snd_seq_client_pool_get_output_free, uFp)
+GO(snd_seq_client_pool_get_input_free, uFp)
+GO(snd_seq_client_pool_set_output_pool, vFpu)
+GO(snd_seq_client_pool_set_input_pool, vFpu)
+GO(snd_seq_client_pool_set_output_room, vFpu)
+GO(snd_seq_get_client_pool, iFpp)
+GO(snd_seq_set_client_pool, iFpp)
+GO(snd_seq_port_info_sizeof, uFv)
+GO(snd_seq_port_info_malloc, iFp)
+GO(snd_seq_port_info_free, vFp)
+GO(snd_seq_port_info_copy, vFpp)
+GO(snd_seq_port_info_get_client, iFp)
+GO(snd_seq_port_info_get_port, iFp)
+GO(snd_seq_port_info_get_addr, pFp)
+GO(snd_seq_port_info_get_name, pFp)
+GO(snd_seq_port_info_get_capability, uFp)
+GO(snd_seq_port_info_get_type, uFp)
+GO(snd_seq_port_info_get_midi_channels, iFp)
+GO(snd_seq_port_info_get_midi_voices, iFp)
+GO(snd_seq_port_info_get_synth_voices, iFp)
+GO(snd_seq_port_info_get_read_use, iFp)
+GO(snd_seq_port_info_get_write_use, iFp)
+GO(snd_seq_port_info_get_port_specified, iFp)
+GO(snd_seq_port_info_get_timestamping, iFp)
+GO(snd_seq_port_info_get_timestamp_real, iFp)
+GO(snd_seq_port_info_get_timestamp_queue, iFp)
+GO(snd_seq_port_info_set_client, vFpi)
+GO(snd_seq_port_info_set_port, vFpi)
+GO(snd_seq_port_info_set_addr, vFpp)
+GO(snd_seq_port_info_set_name, vFpp)
+GO(snd_seq_port_info_set_capability, vFpu)
+GO(snd_seq_port_info_set_type, vFpu)
+GO(snd_seq_port_info_set_midi_channels, vFpi)
+GO(snd_seq_port_info_set_midi_voices, vFpi)
+GO(snd_seq_port_info_set_synth_voices, vFpi)
+GO(snd_seq_port_info_set_port_specified, vFpi)
+GO(snd_seq_port_info_set_timestamping, vFpi)
+GO(snd_seq_port_info_set_timestamp_real, vFpi)
+GO(snd_seq_port_info_set_timestamp_queue, vFpi)
+GO(snd_seq_create_port, iFpp)
+GO(snd_seq_delete_port, iFpi)
+GO(snd_seq_get_port_info, iFpip)
+GO(snd_seq_get_any_port_info, iFpiip)
+GO(snd_seq_set_port_info, iFpip)
+GO(snd_seq_query_next_port, iFpp)
+GO(snd_seq_port_subscribe_sizeof, uFv)
+GO(snd_seq_port_subscribe_malloc, iFp)
+GO(snd_seq_port_subscribe_free, vFp)
+GO(snd_seq_port_subscribe_copy, vFpp)
+GO(snd_seq_port_subscribe_get_sender, pFp)
+GO(snd_seq_port_subscribe_get_dest, pFp)
+GO(snd_seq_port_subscribe_get_queue, iFp)
+GO(snd_seq_port_subscribe_get_exclusive, iFp)
+GO(snd_seq_port_subscribe_get_time_update, iFp)
+GO(snd_seq_port_subscribe_get_time_real, iFp)
+GO(snd_seq_port_subscribe_set_sender, vFpp)
+GO(snd_seq_port_subscribe_set_dest, vFpp)
+GO(snd_seq_port_subscribe_set_queue, vFpi)
+GO(snd_seq_port_subscribe_set_exclusive, vFpi)
+GO(snd_seq_port_subscribe_set_time_update, vFpi)
+GO(snd_seq_port_subscribe_set_time_real, vFpi)
+GO(snd_seq_get_port_subscription, iFpp)
+GO(snd_seq_subscribe_port, iFpp)
+GO(snd_seq_unsubscribe_port, iFpp)
+GO(snd_seq_query_subscribe_sizeof, uFv)
+GO(snd_seq_query_subscribe_malloc, iFp)
+GO(snd_seq_query_subscribe_free, vFp)
+GO(snd_seq_query_subscribe_copy, vFpp)
+GO(snd_seq_query_subscribe_get_client, iFp)
+GO(snd_seq_query_subscribe_get_port, iFp)
+GO(snd_seq_query_subscribe_get_root, pFp)
+GO(snd_seq_query_subscribe_get_type, iFp)
+GO(snd_seq_query_subscribe_get_index, iFp)
+GO(snd_seq_query_subscribe_get_num_subs, iFp)
+GO(snd_seq_query_subscribe_get_addr, pFp)
+GO(snd_seq_query_subscribe_get_queue, iFp)
+GO(snd_seq_query_subscribe_get_exclusive, iFp)
+GO(snd_seq_query_subscribe_get_time_update, iFp)
+GO(snd_seq_query_subscribe_get_time_real, iFp)
+GO(snd_seq_query_subscribe_set_client, vFpi)
+GO(snd_seq_query_subscribe_set_port, vFpi)
+GO(snd_seq_query_subscribe_set_root, vFpp)
+GO(snd_seq_query_subscribe_set_type, vFpi)
+GO(snd_seq_query_subscribe_set_index, vFpi)
+GO(snd_seq_query_port_subscribers, iFpp)
+GO(snd_seq_queue_info_sizeof, uFv)
+GO(snd_seq_queue_info_malloc, iFp)
+GO(snd_seq_queue_info_free, vFp)
+GO(snd_seq_queue_info_copy, vFpp)
+GO(snd_seq_queue_info_get_queue, iFp)
+GO(snd_seq_queue_info_get_name, pFp)
+GO(snd_seq_queue_info_get_owner, iFp)
+GO(snd_seq_queue_info_get_locked, iFp)
+GO(snd_seq_queue_info_get_flags, uFp)
+GO(snd_seq_queue_info_set_name, vFpp)
+GO(snd_seq_queue_info_set_owner, vFpi)
+GO(snd_seq_queue_info_set_locked, vFpi)
+GO(snd_seq_queue_info_set_flags, vFpu)
+GO(snd_seq_create_queue, iFpp)
+GO(snd_seq_alloc_named_queue, iFpp)
+GO(snd_seq_alloc_queue, iFp)
+GO(snd_seq_free_queue, iFpi)
+GO(snd_seq_get_queue_info, iFpip)
+GO(snd_seq_set_queue_info, iFpip)
+GO(snd_seq_query_named_queue, iFpp)
+GO(snd_seq_get_queue_usage, iFpi)
+GO(snd_seq_set_queue_usage, iFpii)
+GO(snd_seq_queue_status_sizeof, uFv)
+GO(snd_seq_queue_status_malloc, iFp)
+GO(snd_seq_queue_status_free, vFp)
+GO(snd_seq_queue_status_copy, vFpp)
+GO(snd_seq_queue_status_get_queue, iFp)
+GO(snd_seq_queue_status_get_events, iFp)
+GO(snd_seq_queue_status_get_tick_time, uFp)
+GO(snd_seq_queue_status_get_real_time, pFp)
+GO(snd_seq_queue_status_get_status, uFp)
+GO(snd_seq_get_queue_status, iFpip)
+GO(snd_seq_queue_tempo_sizeof, uFv)
+GO(snd_seq_queue_tempo_malloc, iFp)
+GO(snd_seq_queue_tempo_free, vFp)
+GO(snd_seq_queue_tempo_copy, vFpp)
+GO(snd_seq_queue_tempo_get_queue, iFp)
+GO(snd_seq_queue_tempo_get_tempo, uFp)
+GO(snd_seq_queue_tempo_get_ppq, iFp)
+GO(snd_seq_queue_tempo_get_skew, uFp)
+GO(snd_seq_queue_tempo_get_skew_base, uFp)
+GO(snd_seq_queue_tempo_set_tempo, vFpu)
+GO(snd_seq_queue_tempo_set_ppq, vFpi)
+GO(snd_seq_queue_tempo_set_skew, vFpu)
+GO(snd_seq_queue_tempo_set_skew_base, vFpu)
+GO(snd_seq_get_queue_tempo, iFpip)
+GO(snd_seq_set_queue_tempo, iFpip)
+GO(snd_seq_queue_timer_sizeof, uFv)
+GO(snd_seq_queue_timer_malloc, iFp)
+GO(snd_seq_queue_timer_free, vFp)
+GO(snd_seq_queue_timer_copy, vFpp)
+GO(snd_seq_queue_timer_get_queue, iFp)
+GO(snd_seq_queue_timer_get_type, iFp)
+GO(snd_seq_queue_timer_get_id, pFp)
+GO(snd_seq_queue_timer_get_resolution, uFp)
+GO(snd_seq_queue_timer_set_type, vFpi)
+GO(snd_seq_queue_timer_set_id, vFpp)
+GO(snd_seq_queue_timer_set_resolution, vFpu)
+GO(snd_seq_get_queue_timer, iFpip)
+GO(snd_seq_set_queue_timer, iFpip)
+GO(snd_seq_free_event, iFp)
+GO(snd_seq_event_length, uFp)
+GO(snd_seq_event_output, iFpp)
+GO(snd_seq_event_output_buffer, iFpp)
+GO(snd_seq_event_output_direct, iFpp)
+GO(snd_seq_event_input, iFpp)
+GO(snd_seq_event_input_pending, iFpi)
+GO(snd_seq_drain_output, iFp)
+GO(snd_seq_event_output_pending, iFp)
+GO(snd_seq_extract_output, iFpp)
+GO(snd_seq_drop_output, iFp)
+GO(snd_seq_drop_output_buffer, iFp)
+GO(snd_seq_drop_input, iFp)
+GO(snd_seq_drop_input_buffer, iFp)
+GO(snd_seq_remove_events_sizeof, uFv)
+GO(snd_seq_remove_events_malloc, iFp)
+GO(snd_seq_remove_events_free, vFp)
+GO(snd_seq_remove_events_copy, vFpp)
+GO(snd_seq_remove_events_get_condition, uFp)
+GO(snd_seq_remove_events_get_queue, iFp)
+GO(snd_seq_remove_events_get_time, pFp)
+GO(snd_seq_remove_events_get_dest, pFp)
+GO(snd_seq_remove_events_get_channel, iFp)
+GO(snd_seq_remove_events_get_event_type, iFp)
+GO(snd_seq_remove_events_get_tag, iFp)
+GO(snd_seq_remove_events_set_condition, vFpu)
+GO(snd_seq_remove_events_set_queue, vFpi)
+GO(snd_seq_remove_events_set_time, vFpp)
+GO(snd_seq_remove_events_set_dest, vFpp)
+GO(snd_seq_remove_events_set_channel, vFpi)
+GO(snd_seq_remove_events_set_event_type, vFpi)
+GO(snd_seq_remove_events_set_tag, vFpi)
+GO(snd_seq_remove_events, iFpp)
+GO(snd_seq_set_bit, vFip)
+GO(snd_seq_change_bit, iFip)
+GO(snd_seq_get_bit, iFip)
+GO(snd_midi_event_new, iFup)
+GO(snd_midi_event_resize_buffer, iFpu)
+GO(snd_midi_event_free, vFp)
+GO(snd_midi_event_init, vFp)
+GO(snd_midi_event_reset_encode, vFp)
+GO(snd_midi_event_reset_decode, vFp)
+GO(snd_midi_event_no_status, vFpi)
+GO(snd_midi_event_encode, iFppip)
+GO(snd_midi_event_encode_byte, iFpip)
+GO(snd_midi_event_decode, iFppip)
+GO(snd_seq_control_queue, iFpiiip)
+GO(snd_seq_create_simple_port, iFppuu)
+GO(snd_seq_delete_simple_port, iFpi)
+GO(snd_seq_connect_from, iFpiii)
+GO(snd_seq_connect_to, iFpiii)
+GO(snd_seq_disconnect_from, iFpiii)
+GO(snd_seq_disconnect_to, iFpiii)
+GO(snd_seq_set_client_name, iFpp)
+GO(snd_seq_set_client_event_filter, iFpi)
+GO(snd_seq_set_client_pool_output_room, iFpu)
+GO(snd_seq_set_client_pool_input, iFpu)
+GO(snd_seq_reset_pool_output, iFp)
+GO(snd_seq_reset_pool_input, iFp)
+GO(snd_seq_sync_output_queue, iFp)
+GO(snd_seq_parse_address, iFppp)
+
+GO(snd_hwdep_info_get_iface, iFp)
+DATAM(snd_lib_error, 4)
+GO(superdummy_error_handler, vFpipipV)   // dummy to have the bridge definition
\ No newline at end of file