diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/library_list_32.h | 2 | ||||
| -rw-r--r-- | src/wrapped32/generated/functions_list.txt | 11 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrappedlibasounddefs32.h | 8 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrappedlibasoundtypes32.h | 17 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrappedlibasoundundefs32.h | 8 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrapper32.c | 20 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrapper32.h | 10 | ||||
| -rw-r--r-- | src/wrapped32/wrappedlibasound.c | 299 | ||||
| -rw-r--r-- | src/wrapped32/wrappedlibasound_private.h | 1279 |
9 files changed, 1654 insertions, 0 deletions
diff --git a/src/library_list_32.h b/src/library_list_32.h index f982b84c..da9ac12e 100644 --- a/src/library_list_32.h +++ b/src/library_list_32.h @@ -12,5 +12,7 @@ GO("ld-linux.so.2", ldlinux) GO("libGL.so", libgl) GO("libGL.so.1", libgl) GO("libSDL-1.2.so.0", sdl1) +GO("libasound.so.2", libasound) +GO("libasound.so", libasound) GO("crashhandler.so", crashhandler) diff --git a/src/wrapped32/generated/functions_list.txt b/src/wrapped32/generated/functions_list.txt index a006f68b..c1ea54fd 100644 --- a/src/wrapped32/generated/functions_list.txt +++ b/src/wrapped32/generated/functions_list.txt @@ -153,6 +153,7 @@ #() dFdp -> dFdp #() dFLL -> dFLL #() lFui -> lFui +#() lFpl -> lFpl #() LFpL -> LFpL #() LFpp -> LFpp #() pFEv -> pFEv @@ -171,6 +172,8 @@ #() tFip -> tFip #() tFpL -> tFpL #() iFEbp_ -> iFEB +#() iFiBp_ -> iFiB +#() iFpBL_ -> iFpB #() iFHBp_ -> iFHB #() fFpBp_ -> fFpB #() dFpBp_ -> dFpB @@ -304,6 +307,7 @@ #() dFddp -> dFddp #() lFipL -> lFipL #() lFlpi -> lFlpi +#() lFppL -> lFppL #() LFpip -> LFpip #() LFppL -> LFppL #() pFEip -> pFEip @@ -325,7 +329,9 @@ #() SFEpp -> SFEpp #() SFppS -> SFppS #() tFipu -> tFipu +#() iFppbL_ -> iFppB #() iFpBp_i -> iFpBi +#() iFpbL_p -> iFpBp #() iFBp_LL -> iFBLL #() IFpBp_i -> IFpBi #() UFpBp_i -> UFpBi @@ -446,6 +452,8 @@ #() iFppii -> iFppii #() iFppiU -> iFppiU #() iFppip -> iFppip +#() iFppui -> iFppui +#() iFppLi -> iFppLi #() iFpppi -> iFpppi #() iFpppp -> iFpppp #() iFhpiL -> iFhpiL @@ -470,6 +478,7 @@ #() pFppLL -> pFppLL #() pFpppi -> pFpppi #() pFpppp -> pFpppp +#() iFBp_pui -> iFBpui #() IFpBp_ii -> IFpBii #() UFpBp_ii -> UFpBii #() lFiibp_L -> lFiiBL @@ -660,6 +669,7 @@ #() vFuppppu -> vFuppppu #() vFffffff -> vFffffff #() vFdddddd -> vFdddddd +#() vFpipipV -> vFpipipV #() vFppiiii -> vFppiiii #() vFppupii -> vFppupii #() iFpiiipp -> iFpiiipp @@ -858,6 +868,7 @@ wrappedldlinux: - ___tls_get_addr - pFp: - __tls_get_addr +wrappedlibasound: wrappedlibc: - vFv: - vFp: diff --git a/src/wrapped32/generated/wrappedlibasounddefs32.h b/src/wrapped32/generated/wrappedlibasounddefs32.h new file mode 100644 index 00000000..4428c624 --- /dev/null +++ b/src/wrapped32/generated/wrappedlibasounddefs32.h @@ -0,0 +1,8 @@ +/****************************************************************** + * File automatically generated by rebuild_wrappers_32.py (v0.0.1.1) * + ******************************************************************/ +#ifndef __wrappedlibasoundDEFS32_H_ +#define __wrappedlibasoundDEFS32_H_ + + +#endif // __wrappedlibasoundDEFS32_H_ diff --git a/src/wrapped32/generated/wrappedlibasoundtypes32.h b/src/wrapped32/generated/wrappedlibasoundtypes32.h new file mode 100644 index 00000000..4dbbd14c --- /dev/null +++ b/src/wrapped32/generated/wrappedlibasoundtypes32.h @@ -0,0 +1,17 @@ +/****************************************************************** + * File automatically generated by rebuild_wrappers_32.py (v0.0.1.1) * + ******************************************************************/ +#ifndef __wrappedlibasoundTYPES32_H_ +#define __wrappedlibasoundTYPES32_H_ + +#ifndef LIBNAME +#error You should only #include this file inside a wrapped*.c file +#endif +#ifndef ADDED_FUNCTIONS +#define ADDED_FUNCTIONS() +#endif + + +#define SUPER() ADDED_FUNCTIONS() + +#endif // __wrappedlibasoundTYPES32_H_ diff --git a/src/wrapped32/generated/wrappedlibasoundundefs32.h b/src/wrapped32/generated/wrappedlibasoundundefs32.h new file mode 100644 index 00000000..24ad6bac --- /dev/null +++ b/src/wrapped32/generated/wrappedlibasoundundefs32.h @@ -0,0 +1,8 @@ +/****************************************************************** + * File automatically generated by rebuild_wrappers_32.py (v0.0.1.1) * + ******************************************************************/ +#ifndef __wrappedlibasoundUNDEFS32_H_ +#define __wrappedlibasoundUNDEFS32_H_ + + +#endif // __wrappedlibasoundUNDEFS32_H_ diff --git a/src/wrapped32/generated/wrapper32.c b/src/wrapped32/generated/wrapper32.c index f95486ba..a260e3d4 100644 --- a/src/wrapped32/generated/wrapper32.c +++ b/src/wrapped32/generated/wrapper32.c @@ -240,6 +240,7 @@ typedef double (*dFdD_t)(double, long double); typedef double (*dFdp_t)(double, void*); typedef double (*dFLL_t)(uintptr_t, uintptr_t); typedef intptr_t (*lFui_t)(uint32_t, int32_t); +typedef intptr_t (*lFpl_t)(void*, intptr_t); typedef uintptr_t (*LFpL_t)(void*, uintptr_t); typedef uintptr_t (*LFpp_t)(void*, void*); typedef void* (*pFEv_t)(x64emu_t*); @@ -258,6 +259,8 @@ typedef void* (*SFpp_t)(void*, void*); typedef char* (*tFip_t)(int32_t, void*); typedef char* (*tFpL_t)(void*, uintptr_t); typedef int32_t (*iFEbp__t)(x64emu_t*, struct_p_t*); +typedef int32_t (*iFiBp__t)(int32_t, struct_p_t*); +typedef int32_t (*iFpBL__t)(void*, struct_L_t*); typedef int32_t (*iFHBp__t)(uintptr_t, struct_p_t*); typedef float (*fFpBp__t)(void*, struct_p_t*); typedef double (*dFpBp__t)(void*, struct_p_t*); @@ -391,6 +394,7 @@ typedef double (*dFddd_t)(double, double, double); typedef double (*dFddp_t)(double, double, void*); typedef intptr_t (*lFipL_t)(int32_t, void*, uintptr_t); typedef intptr_t (*lFlpi_t)(intptr_t, void*, int32_t); +typedef intptr_t (*lFppL_t)(void*, void*, uintptr_t); typedef uintptr_t (*LFpip_t)(void*, int32_t, void*); typedef uintptr_t (*LFppL_t)(void*, void*, uintptr_t); typedef void* (*pFEip_t)(x64emu_t*, int32_t, void*); @@ -412,7 +416,9 @@ typedef void* (*aFipa_t)(int32_t, void*, void*); typedef void* (*SFEpp_t)(x64emu_t*, void*, void*); typedef void* (*SFppS_t)(void*, void*, void*); typedef char* (*tFipu_t)(int32_t, void*, uint32_t); +typedef int32_t (*iFppbL__t)(void*, void*, struct_L_t*); typedef int32_t (*iFpBp_i_t)(void*, struct_p_t*, int32_t); +typedef int32_t (*iFpbL_p_t)(void*, struct_L_t*, void*); typedef int32_t (*iFBp_LL_t)(struct_p_t*, uintptr_t, uintptr_t); typedef int64_t (*IFpBp_i_t)(void*, struct_p_t*, int32_t); typedef uint64_t (*UFpBp_i_t)(void*, struct_p_t*, int32_t); @@ -533,6 +539,8 @@ typedef int32_t (*iFpupp_t)(void*, uint32_t, void*, void*); typedef int32_t (*iFppii_t)(void*, void*, int32_t, int32_t); typedef int32_t (*iFppiU_t)(void*, void*, int32_t, uint64_t); typedef int32_t (*iFppip_t)(void*, void*, int32_t, void*); +typedef int32_t (*iFppui_t)(void*, void*, uint32_t, int32_t); +typedef int32_t (*iFppLi_t)(void*, void*, uintptr_t, int32_t); typedef int32_t (*iFpppi_t)(void*, void*, void*, int32_t); typedef int32_t (*iFpppp_t)(void*, void*, void*, void*); typedef int32_t (*iFhpiL_t)(uintptr_t, void*, int32_t, uintptr_t); @@ -557,6 +565,7 @@ typedef void* (*pFpipp_t)(void*, int32_t, void*, void*); typedef void* (*pFppLL_t)(void*, void*, uintptr_t, uintptr_t); typedef void* (*pFpppi_t)(void*, void*, void*, int32_t); typedef void* (*pFpppp_t)(void*, void*, void*, void*); +typedef int32_t (*iFBp_pui_t)(struct_p_t*, void*, uint32_t, int32_t); typedef int64_t (*IFpBp_ii_t)(void*, struct_p_t*, int32_t, int32_t); typedef uint64_t (*UFpBp_ii_t)(void*, struct_p_t*, int32_t, int32_t); typedef intptr_t (*lFiibp_L_t)(int32_t, int32_t, struct_p_t*, uintptr_t); @@ -747,6 +756,7 @@ typedef void (*vFupupip_t)(uint32_t, void*, uint32_t, void*, int32_t, void*); typedef void (*vFuppppu_t)(uint32_t, void*, void*, void*, void*, uint32_t); 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 (*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); typedef int32_t (*iFpiiipp_t)(void*, int32_t, int32_t, int32_t, void*, void*); @@ -1095,6 +1105,7 @@ void dFdD_32(x64emu_t *emu, uintptr_t fcn) { dFdD_t fn = (dFdD_t)fcn; double db void dFdp_32(x64emu_t *emu, uintptr_t fcn) { dFdp_t fn = (dFdp_t)fcn; double db = fn(from_ptri(double, R_ESP + 4), from_ptriv(R_ESP + 12)); fpu_do_push(emu); ST0val = db; } void dFLL_32(x64emu_t *emu, uintptr_t fcn) { dFLL_t fn = (dFLL_t)fcn; double db = fn(to_ulong(from_ptri(ulong_t, R_ESP + 4)), to_ulong(from_ptri(ulong_t, R_ESP + 8))); fpu_do_push(emu); ST0val = db; } void lFui_32(x64emu_t *emu, uintptr_t fcn) { lFui_t fn = (lFui_t)fcn; R_EAX = to_long(fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8))); } +void lFpl_32(x64emu_t *emu, uintptr_t fcn) { lFpl_t fn = (lFpl_t)fcn; R_EAX = to_long(fn(from_ptriv(R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8)))); } void LFpL_32(x64emu_t *emu, uintptr_t fcn) { LFpL_t fn = (LFpL_t)fcn; R_EAX = to_ulong(fn(from_ptriv(R_ESP + 4), to_ulong(from_ptri(ulong_t, R_ESP + 8)))); } void LFpp_32(x64emu_t *emu, uintptr_t fcn) { LFpp_t fn = (LFpp_t)fcn; R_EAX = to_ulong(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8))); } void pFEv_32(x64emu_t *emu, uintptr_t fcn) { pFEv_t fn = (pFEv_t)fcn; R_EAX = to_ptrv(fn(emu)); } @@ -1113,6 +1124,8 @@ void SFpp_32(x64emu_t *emu, uintptr_t fcn) { SFpp_t fn = (SFpp_t)fcn; R_EAX = to void tFip_32(x64emu_t *emu, uintptr_t fcn) { tFip_t fn = (tFip_t)fcn; R_EAX = to_cstring(fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8))); } void tFpL_32(x64emu_t *emu, uintptr_t fcn) { tFpL_t fn = (tFpL_t)fcn; R_EAX = to_cstring(fn(from_ptriv(R_ESP + 4), to_ulong(from_ptri(ulong_t, R_ESP + 8)))); } void iFEbp__32(x64emu_t *emu, uintptr_t fcn) { iFEbp__t fn = (iFEbp__t)fcn; struct_p_t arg_4; from_struct_p(&arg_4, *(ptr_t*)(from_ptr((R_ESP + 4)))); R_EAX = fn(emu, *(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 4)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 4))), &arg_4); } +void iFiBp__32(x64emu_t *emu, uintptr_t fcn) { iFiBp__t fn = (iFiBp__t)fcn; struct_p_t arg_8; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); } +void iFpBL__32(x64emu_t *emu, uintptr_t fcn) { iFpBL__t fn = (iFpBL__t)fcn; struct_L_t arg_8; R_EAX = fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); } void iFHBp__32(x64emu_t *emu, uintptr_t fcn) { iFHBp__t fn = (iFHBp__t)fcn; struct_p_t arg_8; R_EAX = fn(from_hash_d(from_ptri(ptr_t, R_ESP + 4)), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); } void fFpBp__32(x64emu_t *emu, uintptr_t fcn) { fFpBp__t fn = (fFpBp__t)fcn; struct_p_t arg_8; float fl = fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL); fpu_do_push(emu); ST0val = fl; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); } void dFpBp__32(x64emu_t *emu, uintptr_t fcn) { dFpBp__t fn = (dFpBp__t)fcn; struct_p_t arg_8; double db = fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL); fpu_do_push(emu); ST0val = db; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); } @@ -1246,6 +1259,7 @@ void dFddd_32(x64emu_t *emu, uintptr_t fcn) { dFddd_t fn = (dFddd_t)fcn; double void dFddp_32(x64emu_t *emu, uintptr_t fcn) { dFddp_t fn = (dFddp_t)fcn; double db = fn(from_ptri(double, R_ESP + 4), from_ptri(double, R_ESP + 12), from_ptriv(R_ESP + 20)); fpu_do_push(emu); ST0val = db; } void lFipL_32(x64emu_t *emu, uintptr_t fcn) { lFipL_t fn = (lFipL_t)fcn; R_EAX = to_long(fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), to_ulong(from_ptri(ulong_t, R_ESP + 12)))); } void lFlpi_32(x64emu_t *emu, uintptr_t fcn) { lFlpi_t fn = (lFlpi_t)fcn; R_EAX = to_long(fn(to_long(from_ptri(long_t, R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12))); } +void lFppL_32(x64emu_t *emu, uintptr_t fcn) { lFppL_t fn = (lFppL_t)fcn; R_EAX = to_long(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), to_ulong(from_ptri(ulong_t, R_ESP + 12)))); } void LFpip_32(x64emu_t *emu, uintptr_t fcn) { LFpip_t fn = (LFpip_t)fcn; R_EAX = to_ulong(fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12))); } void LFppL_32(x64emu_t *emu, uintptr_t fcn) { LFppL_t fn = (LFppL_t)fcn; R_EAX = to_ulong(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), to_ulong(from_ptri(ulong_t, R_ESP + 12)))); } void pFEip_32(x64emu_t *emu, uintptr_t fcn) { pFEip_t fn = (pFEip_t)fcn; R_EAX = to_ptrv(fn(emu, from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8))); } @@ -1267,7 +1281,9 @@ void aFipa_32(x64emu_t *emu, uintptr_t fcn) { aFipa_t fn = (aFipa_t)fcn; R_EAX = void SFEpp_32(x64emu_t *emu, uintptr_t fcn) { SFEpp_t fn = (SFEpp_t)fcn; R_EAX = to_ptrv(io_convert_from(fn(emu, from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8)))); } void SFppS_32(x64emu_t *emu, uintptr_t fcn) { SFppS_t fn = (SFppS_t)fcn; R_EAX = to_ptrv(io_convert_from(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), io_convert32(from_ptriv(R_ESP + 12))))); } void tFipu_32(x64emu_t *emu, uintptr_t fcn) { tFipu_t fn = (tFipu_t)fcn; R_EAX = to_cstring(fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12))); } +void iFppbL__32(x64emu_t *emu, uintptr_t fcn) { iFppbL__t fn = (iFppbL__t)fcn; struct_L_t arg_12; from_struct_L(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); } void iFpBp_i_32(x64emu_t *emu, uintptr_t fcn) { iFpBp_i_t fn = (iFpBp_i_t)fcn; struct_p_t arg_8; R_EAX = fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, from_ptri(int32_t, R_ESP + 12)); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); } +void iFpbL_p_32(x64emu_t *emu, uintptr_t fcn) { iFpbL_p_t fn = (iFpbL_p_t)fcn; struct_L_t arg_8; from_struct_L(&arg_8, *(ptr_t*)(from_ptr((R_ESP + 8)))); R_EAX = fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, from_ptriv(R_ESP + 12)); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); } void iFBp_LL_32(x64emu_t *emu, uintptr_t fcn) { iFBp_LL_t fn = (iFBp_LL_t)fcn; struct_p_t arg_4; R_EAX = fn(*(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL, to_ulong(from_ptri(ulong_t, R_ESP + 8)), to_ulong(from_ptri(ulong_t, R_ESP + 12))); if (*(ptr_t*)(from_ptr((R_ESP + 4)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 4))), &arg_4); } void IFpBp_i_32(x64emu_t *emu, uintptr_t fcn) { IFpBp_i_t fn = (IFpBp_i_t)fcn; struct_p_t arg_8; ui64_t r; r.i = fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, from_ptri(int32_t, R_ESP + 12)); R_EAX = r.d[0]; R_EDX = r.d[1]; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); } void UFpBp_i_32(x64emu_t *emu, uintptr_t fcn) { UFpBp_i_t fn = (UFpBp_i_t)fcn; struct_p_t arg_8; ui64_t r; r.u = (uint64_t)fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, from_ptri(int32_t, R_ESP + 12)); R_EAX = r.d[0]; R_EDX = r.d[1]; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); } @@ -1388,6 +1404,8 @@ void iFpupp_32(x64emu_t *emu, uintptr_t fcn) { iFpupp_t fn = (iFpupp_t)fcn; R_EA void iFppii_32(x64emu_t *emu, uintptr_t fcn) { iFppii_t fn = (iFppii_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); } void iFppiU_32(x64emu_t *emu, uintptr_t fcn) { iFppiU_t fn = (iFppiU_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(uint64_t, R_ESP + 16)); } void iFppip_32(x64emu_t *emu, uintptr_t fcn) { iFppip_t fn = (iFppip_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16)); } +void iFppui_32(x64emu_t *emu, uintptr_t fcn) { iFppui_t fn = (iFppui_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); } +void iFppLi_32(x64emu_t *emu, uintptr_t fcn) { iFppLi_t fn = (iFppLi_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), to_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptri(int32_t, R_ESP + 16)); } void iFpppi_32(x64emu_t *emu, uintptr_t fcn) { iFpppi_t fn = (iFpppi_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); } void iFpppp_32(x64emu_t *emu, uintptr_t fcn) { iFpppp_t fn = (iFpppp_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16)); } void iFhpiL_32(x64emu_t *emu, uintptr_t fcn) { iFhpiL_t fn = (iFhpiL_t)fcn; R_EAX = fn(from_hash(from_ptri(ptr_t, R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), to_ulong(from_ptri(ulong_t, R_ESP + 16))); } @@ -1412,6 +1430,7 @@ void pFpipp_32(x64emu_t *emu, uintptr_t fcn) { pFpipp_t fn = (pFpipp_t)fcn; R_EA void pFppLL_32(x64emu_t *emu, uintptr_t fcn) { pFppLL_t fn = (pFppLL_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), to_ulong(from_ptri(ulong_t, R_ESP + 12)), to_ulong(from_ptri(ulong_t, R_ESP + 16)))); } void pFpppi_32(x64emu_t *emu, uintptr_t fcn) { pFpppi_t fn = (pFpppi_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(int32_t, R_ESP + 16))); } void pFpppp_32(x64emu_t *emu, uintptr_t fcn) { pFpppp_t fn = (pFpppp_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16))); } +void iFBp_pui_32(x64emu_t *emu, uintptr_t fcn) { iFBp_pui_t fn = (iFBp_pui_t)fcn; struct_p_t arg_4; R_EAX = fn(*(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL, from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); if (*(ptr_t*)(from_ptr((R_ESP + 4)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 4))), &arg_4); } void IFpBp_ii_32(x64emu_t *emu, uintptr_t fcn) { IFpBp_ii_t fn = (IFpBp_ii_t)fcn; struct_p_t arg_8; ui64_t r; r.i = fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); R_EAX = r.d[0]; R_EDX = r.d[1]; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); } void UFpBp_ii_32(x64emu_t *emu, uintptr_t fcn) { UFpBp_ii_t fn = (UFpBp_ii_t)fcn; struct_p_t arg_8; ui64_t r; r.u = (uint64_t)fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); R_EAX = r.d[0]; R_EDX = r.d[1]; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); } void lFiibp_L_32(x64emu_t *emu, uintptr_t fcn) { lFiibp_L_t fn = (lFiibp_L_t)fcn; struct_p_t arg_12; from_struct_p(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); R_EAX = to_long(fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL, to_ulong(from_ptri(ulong_t, R_ESP + 16)))); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); } @@ -1602,6 +1621,7 @@ void vFupupip_32(x64emu_t *emu, uintptr_t fcn) { vFupupip_t fn = (vFupupip_t)fcn void vFuppppu_32(x64emu_t *emu, uintptr_t fcn) { vFuppppu_t fn = (vFuppppu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20), from_ptri(uint32_t, R_ESP + 24)); } void vFffffff_32(x64emu_t *emu, uintptr_t fcn) { vFffffff_t fn = (vFffffff_t)fcn; fn(from_ptri(float, R_ESP + 4), from_ptri(float, R_ESP + 8), from_ptri(float, R_ESP + 12), from_ptri(float, R_ESP + 16), from_ptri(float, R_ESP + 20), from_ptri(float, R_ESP + 24)); } void vFdddddd_32(x64emu_t *emu, uintptr_t fcn) { vFdddddd_t fn = (vFdddddd_t)fcn; fn(from_ptri(double, R_ESP + 4), from_ptri(double, R_ESP + 12), from_ptri(double, R_ESP + 20), from_ptri(double, R_ESP + 28), from_ptri(double, R_ESP + 36), from_ptri(double, R_ESP + 44)); } +void vFpipipV_32(x64emu_t *emu, uintptr_t fcn) { vFpipipV_t fn = (vFpipipV_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptriv(R_ESP + 20), from_ptrv(R_ESP + 24)); } void vFppiiii_32(x64emu_t *emu, uintptr_t fcn) { vFppiiii_t fn = (vFppiiii_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24)); } void vFppupii_32(x64emu_t *emu, uintptr_t fcn) { vFppupii_t fn = (vFppupii_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24)); } void iFpiiipp_32(x64emu_t *emu, uintptr_t fcn) { iFpiiipp_t fn = (iFpiiipp_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24)); } diff --git a/src/wrapped32/generated/wrapper32.h b/src/wrapped32/generated/wrapper32.h index 4f1f22fb..53359abd 100644 --- a/src/wrapped32/generated/wrapper32.h +++ b/src/wrapped32/generated/wrapper32.h @@ -193,6 +193,7 @@ void dFdD_32(x64emu_t *emu, uintptr_t fnc); void dFdp_32(x64emu_t *emu, uintptr_t fnc); void dFLL_32(x64emu_t *emu, uintptr_t fnc); void lFui_32(x64emu_t *emu, uintptr_t fnc); +void lFpl_32(x64emu_t *emu, uintptr_t fnc); void LFpL_32(x64emu_t *emu, uintptr_t fnc); void LFpp_32(x64emu_t *emu, uintptr_t fnc); void pFEv_32(x64emu_t *emu, uintptr_t fnc); @@ -211,6 +212,8 @@ void SFpp_32(x64emu_t *emu, uintptr_t fnc); void tFip_32(x64emu_t *emu, uintptr_t fnc); void tFpL_32(x64emu_t *emu, uintptr_t fnc); void iFEbp__32(x64emu_t *emu, uintptr_t fnc); +void iFiBp__32(x64emu_t *emu, uintptr_t fnc); +void iFpBL__32(x64emu_t *emu, uintptr_t fnc); void iFHBp__32(x64emu_t *emu, uintptr_t fnc); void fFpBp__32(x64emu_t *emu, uintptr_t fnc); void dFpBp__32(x64emu_t *emu, uintptr_t fnc); @@ -344,6 +347,7 @@ void dFddd_32(x64emu_t *emu, uintptr_t fnc); void dFddp_32(x64emu_t *emu, uintptr_t fnc); void lFipL_32(x64emu_t *emu, uintptr_t fnc); void lFlpi_32(x64emu_t *emu, uintptr_t fnc); +void lFppL_32(x64emu_t *emu, uintptr_t fnc); void LFpip_32(x64emu_t *emu, uintptr_t fnc); void LFppL_32(x64emu_t *emu, uintptr_t fnc); void pFEip_32(x64emu_t *emu, uintptr_t fnc); @@ -365,7 +369,9 @@ void aFipa_32(x64emu_t *emu, uintptr_t fnc); void SFEpp_32(x64emu_t *emu, uintptr_t fnc); void SFppS_32(x64emu_t *emu, uintptr_t fnc); void tFipu_32(x64emu_t *emu, uintptr_t fnc); +void iFppbL__32(x64emu_t *emu, uintptr_t fnc); void iFpBp_i_32(x64emu_t *emu, uintptr_t fnc); +void iFpbL_p_32(x64emu_t *emu, uintptr_t fnc); void iFBp_LL_32(x64emu_t *emu, uintptr_t fnc); void IFpBp_i_32(x64emu_t *emu, uintptr_t fnc); void UFpBp_i_32(x64emu_t *emu, uintptr_t fnc); @@ -486,6 +492,8 @@ void iFpupp_32(x64emu_t *emu, uintptr_t fnc); void iFppii_32(x64emu_t *emu, uintptr_t fnc); void iFppiU_32(x64emu_t *emu, uintptr_t fnc); void iFppip_32(x64emu_t *emu, uintptr_t fnc); +void iFppui_32(x64emu_t *emu, uintptr_t fnc); +void iFppLi_32(x64emu_t *emu, uintptr_t fnc); void iFpppi_32(x64emu_t *emu, uintptr_t fnc); void iFpppp_32(x64emu_t *emu, uintptr_t fnc); void iFhpiL_32(x64emu_t *emu, uintptr_t fnc); @@ -510,6 +518,7 @@ void pFpipp_32(x64emu_t *emu, uintptr_t fnc); void pFppLL_32(x64emu_t *emu, uintptr_t fnc); void pFpppi_32(x64emu_t *emu, uintptr_t fnc); void pFpppp_32(x64emu_t *emu, uintptr_t fnc); +void iFBp_pui_32(x64emu_t *emu, uintptr_t fnc); void IFpBp_ii_32(x64emu_t *emu, uintptr_t fnc); void UFpBp_ii_32(x64emu_t *emu, uintptr_t fnc); void lFiibp_L_32(x64emu_t *emu, uintptr_t fnc); @@ -700,6 +709,7 @@ void vFupupip_32(x64emu_t *emu, uintptr_t fnc); void vFuppppu_32(x64emu_t *emu, uintptr_t fnc); void vFffffff_32(x64emu_t *emu, uintptr_t fnc); void vFdddddd_32(x64emu_t *emu, uintptr_t fnc); +void vFpipipV_32(x64emu_t *emu, uintptr_t fnc); void vFppiiii_32(x64emu_t *emu, uintptr_t fnc); void vFppupii_32(x64emu_t *emu, uintptr_t fnc); void iFpiiipp_32(x64emu_t *emu, uintptr_t fnc); diff --git a/src/wrapped32/wrappedlibasound.c b/src/wrapped32/wrappedlibasound.c new file mode 100644 index 00000000..0e583717 --- /dev/null +++ b/src/wrapped32/wrappedlibasound.c @@ -0,0 +1,299 @@ +#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 "wrapper32.h" +#include "bridge.h" +#include "librarian/library_private.h" +#include "x64emu.h" +#include "emu/x64emu_private.h" +#include "callback.h" +#include "librarian.h" +#include "box64context.h" +#include "emu/x64emu_private.h" +#include "bridge.h" +#include "box32.h" + +#define LIBNAME libasound +static const char* libasoundName = "libasound.so.2"; + +#include "generated/wrappedlibasoundtypes32.h" + +EXPORT uintptr_t my32_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) +{ + (void)file; (void)line; (void)function; (void)err; + vprintf(fmt, ap); +} + +#define ADDED_INIT() \ + my32_snd_lib_error = AddCheckBridge(my_lib->w.bridge, vFpipipV_32, default_error_handler, 0, "ASoundCustomErrorHandler"); + +#define ADDED_FINI() \ + my32_snd_lib_error = 0; // no removing of bridge + +#include "wrappercallback32.h" + +#define SUPER() \ +GO(0) \ +GO(1) \ +GO(2) \ +GO(3) + +// snd_async_callback_t +#define GO(A) \ +static uintptr_t my32_async_fct_##A = 0; \ +static void* my32_async_##A(void* handler) \ +{ \ + return (void*)RunFunctionFmt(my32_async_fct_##A, "p", 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(my32_async_fct_##A == (uintptr_t)fct) return my32_async_##A; + SUPER() + #undef GO + #define GO(A) if(my32_async_fct_##A == 0) {my32_async_fct_##A = (uintptr_t)fct; return my32_async_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for Asound Async callback\n"); + return NULL; +} +// snd_mixer_elem_callback_t +#define GO(A) \ +static uintptr_t my32_elem_fct_##A = 0; \ +static int my32_elem_##A(void* elem, uint32_t mask) \ +{ \ + return (int)RunFunctionFmt(my32_elem_fct_##A, "pu", elem, mask); \ +} +SUPER() +#undef GO +static void* findElemFct(void* fct) +{ + if(!fct) return fct; + if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct); + #define GO(A) if(my32_elem_fct_##A == (uintptr_t)fct) return my32_elem_##A; + SUPER() + #undef GO + #define GO(A) if(my32_elem_fct_##A == 0) {my32_elem_fct_##A = (uintptr_t)fct; return my32_elem_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for Asound Elem callback\n"); + return NULL; +} +// snd_pcm_hook_func_t +#define GO(A) \ +static uintptr_t my32_pcm_hook_fct_##A = 0; \ +static int my32_pcm_hook_##A(void* a) \ +{ \ + return (int)RunFunctionFmt(my32_pcm_hook_fct_##A, "p", a); \ +} +SUPER() +#undef GO +static void* findPCMHookFct(void* fct) +{ + if(!fct) return fct; + if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct); + #define GO(A) if(my32_pcm_hook_fct_##A == (uintptr_t)fct) return my32_elem_##A; + SUPER() + #undef GO + #define GO(A) if(my32_pcm_hook_fct_##A == 0) {my32_pcm_hook_fct_##A = (uintptr_t)fct; return my32_pcm_hook_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for Asound PCMHook callback\n"); + return NULL; +} +// snd_mixer_compare_t +#define GO(A) \ +static uintptr_t my32_mixer_compare_fct_##A = 0; \ +static int my32_mixer_compare_##A(void* a) \ +{ \ + return (int)RunFunctionFmt(my32_mixer_compare_fct_##A, "p", a); \ +} +SUPER() +#undef GO +static void* findMixerCompareFct(void* fct) +{ + if(!fct) return fct; + if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct); + #define GO(A) if(my32_mixer_compare_fct_##A == (uintptr_t)fct) return my32_elem_##A; + SUPER() + #undef GO + #define GO(A) if(my32_mixer_compare_fct_##A == 0) {my32_mixer_compare_fct_##A = (uintptr_t)fct; return my32_mixer_compare_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for Asound Mixer Compare callback\n"); + return NULL; +} +// private_free +#define GO(A) \ +static uintptr_t my32_private_free_fct_##A = 0; \ +static int my32_private_free_##A(void* a) \ +{ \ + return (int)RunFunctionFmt(my32_private_free_fct_##A, "p", a); \ +} +SUPER() +#undef GO +static void* findPrivateFreeFct(void* fct) +{ + if(!fct) return fct; + if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct); + #define GO(A) if(my32_private_free_fct_##A == (uintptr_t)fct) return my32_elem_##A; + SUPER() + #undef GO + #define GO(A) if(my32_private_free_fct_##A == 0) {my32_private_free_fct_##A = (uintptr_t)fct; return my32_private_free_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for Asound PrivateFree callback\n"); + return NULL; +} +// snd_mixer_event_t +#define GO(A) \ +static uintptr_t my32_mixer_event_fct_##A = 0; \ +static int my32_mixer_event_##A(void* a, uint32_t b, void* c, void* d) \ +{ \ + return (int)RunFunctionFmt(my32_mixer_event_fct_##A, "pupp", a, b, c, d); \ +} +SUPER() +#undef GO +static void* findMixerEventFct(void* fct) +{ + if(!fct) return fct; + if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct); + #define GO(A) if(my32_mixer_event_fct_##A == (uintptr_t)fct) return my32_elem_##A; + SUPER() + #undef GO + #define GO(A) if(my32_mixer_event_fct_##A == 0) {my32_mixer_event_fct_##A = (uintptr_t)fct; return my32_mixer_event_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for Asound MixerEvent callback\n"); + return NULL; +} + + +//EXPORT int my32_snd_async_add_handler(x64emu_t *emu, void *handler, int fd, void* callback, void *private_data) +//{ +// return my->snd_async_add_handler(handler, fd, findAsyncFct(callback), private_data); +//} + +//EXPORT int my32_snd_async_add_pcm_handler(x64emu_t *emu, void *handler, void* pcm, void* callback, void *private_data) +//{ +// return my->snd_async_add_pcm_handler(handler, pcm, findAsyncFct(callback), private_data); +//} + +static void* current_error_handler = NULL; +static void dummy32_error_handler(const char *file, int line, const char *function, int err, const char *fmt, ...) +{ + (void)function; (void)err; + va_list ap; + + fprintf(stderr, "Warning: this is a dummy snd_lib error handler\n"); + fprintf(stderr, "Error in file %s on line %i: ", file, line); + va_start(ap, fmt); + vfprintf(stderr, fmt, ap); + va_end(ap); +} + +static void empty_error_handler(const char *file, int line, const char *function, int err, const char *fmt, ...) +{ + (void)file; (void)line; (void)function; (void)err; (void)fmt; + // do nothing +} + +//EXPORT int my32_snd_lib_error_set_handler(x64emu_t* emu, void* handler) +//{ +// current_error_handler = handler; +// void *error_handler; +// uint8_t *code = (uint8_t *)handler; +// if (code) { +// if ((code[0] == 0xC3) || ((code[0] == 0xF3) && (code[1] == 0xC3))) { +// error_handler = &empty_error_handler; +// } else { +// error_handler = &dummy32_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); +//} + +//EXPORT void my32_snd_mixer_elem_set_callback(x64emu_t* emu, void* handler, void* f) +//{ +// my->snd_mixer_elem_set_callback(handler, findElemFct(f)); +//} + +//EXPORT int my32_snd_pcm_hook_add(x64emu_t* emu, void* hook, void* pcm, uint32_t type, void* f, void* data) +//{ +// return my->snd_pcm_hook_add(hook, pcm, type, findPCMHookFct(f), data); +//} + +//EXPORT int my32_snd_mixer_set_compare(x64emu_t* emu, void* mixer, void* f) +//{ +// return my->snd_mixer_set_compare(mixer, findMixerCompareFct(f)); +//} + +//EXPORT int my32_snd_mixer_elem_new(x64emu_t* emu, void* elem, uint32_t type, int weight, void* data, void* f) +//{ +// return my->snd_mixer_elem_new(elem, type, weight, data, findPrivateFreeFct(f)); +//} + +//EXPORT void* my32_snd_mixer_class_get_event(x64emu_t* emu, void* class) +//{ +// void* ret = my->snd_mixer_class_get_event(class); +// AddAutomaticBridge(my_lib->w.bridge, iFpupp, ret, 0, "snd_event_t"); +// return ret; +//} + +//EXPORT void* my32_snd_mixer_class_get_compare(x64emu_t* emu, void* class) +//{ +// void* ret = my->snd_mixer_class_get_compare(class); +// AddAutomaticBridge(my_lib->w.bridge, iFpp, ret, 0, "snd_mixer_compare_t"); +// return ret; +//} + +//EXPORT int my32_snd_mixer_class_set_event(x64emu_t* emu, void* class, void* f) +//{ +// return my->snd_mixer_class_set_event(class, findMixerEventFct(f)); +//} + +//EXPORT int my32_snd_mixer_class_set_private_free(x64emu_t* emu, void* class, void* f) +//{ +// return my->snd_mixer_class_set_private_free(class, findPrivateFreeFct(f)); +//} + +//EXPORT int my32_snd_mixer_class_set_compare(x64emu_t* emu, void* class, void* f) +//{ +// return my->snd_mixer_class_set_compare(class, findMixerCompareFct(f)); +//} + +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 * my32_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 my32_snd_dlclose(x64emu_t* emu, void* handle) +{ + return my_dlclose(emu, handle); +} +EXPORT void* my32_snd_dlsym(x64emu_t* emu, void* handle, void* name, void* version) +{ + return my_dlvsym(emu, handle, name, version); +} + +#include "wrappedlib_init32.h" diff --git a/src/wrapped32/wrappedlibasound_private.h b/src/wrapped32/wrappedlibasound_private.h new file mode 100644 index 00000000..a0474385 --- /dev/null +++ b/src/wrapped32/wrappedlibasound_private.h @@ -0,0 +1,1279 @@ +#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA)) +#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, iFppl) +//GO(snd_input_close, iFp) +//GOM(snd_input_scanf, iFppV) +//GO(snd_input_gets, pFppL) +//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, LFpp) +//GO(snd_output_close, iFp) +//GOM(snd_output_printf, iFppV) +//GOM(snd_output_vprintf, iFppA) +//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) +//GOM(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, iFppu) +//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, iFppl) +//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, uFp) +//GO(snd_config_set_id, iFpp) +//GO(snd_config_set_integer, iFpl) +//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, LFv) +//GO(snd_pcm_subformat_mask_sizeof, LFv) +//GO(snd_pcm_status_sizeof, LFv) +//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, vFpu) +//GO(snd_pcm_access_mask_set, vFpu) +//GO(snd_pcm_access_mask_test, iFpu) +//GO(snd_pcm_access_name, pFu) +//GO(snd_pcm_area_copy, iFpLpLui) +//GO(snd_pcm_area_silence, iFpLui) +//GO(snd_pcm_areas_copy, iFpLpLuLi) +//GO(snd_pcm_areas_silence, iFpLuLi) +//GO(snd_pcm_avail, lFp) +//GO(snd_pcm_avail_delay, iFppp) +//GO(snd_pcm_avail_update, lFp) +//GO(snd_pcm_build_linear_format, iFiiii) +GO(snd_pcm_bytes_to_frames, lFpl) +GO(snd_pcm_bytes_to_samples, lFpl) +GO(snd_pcm_chmap_type_name, pFu) +GO(snd_pcm_chmap_name, pFu) +GO(snd_pcm_chmap_long_name, pFu) +//GO(snd_pcm_chmap_print, iFpLp) +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, CFi) +//GO(snd_pcm_format_silence_16, WFi) +//GO(snd_pcm_format_silence_32, uFi) +//GO(snd_pcm_format_silence_64, UFi) +//GO(snd_pcm_format_size, lFiL) +//GO(snd_pcm_format_unsigned, iFi) +//GO(snd_pcm_format_value, iFp) +//GO(snd_pcm_format_width, iFi) +//GO(snd_pcm_forward, lFpL) +//GO(snd_pcm_frames_to_bytes, lFpl) +//GO(snd_pcm_get_params, iFppp) +//GO(snd_pcm_get_chmap, pFp) +//GOM(snd_pcm_hook_add, iFEppupp) +//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, iFpBL_) +GO(snd_pcm_hw_params_get_buffer_size_max, iFpBL_) +GO(snd_pcm_hw_params_get_buffer_size_min, iFpBL_) +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, iFpbL_p) +GO(snd_pcm_hw_params_get_period_size_max, iFpbL_p) +GO(snd_pcm_hw_params_get_period_size_min, iFpbL_p) +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, iFppu) +//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, iFppL) +//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, iFppbL_) +//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, iFppLi) +//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, iFppu) +GO(snd_pcm_hw_params_test_buffer_size, iFppL) +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, iFppLi) +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, uFp) +//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, uFp) +//GO(snd_pcm_info_get_subclass, uFp) +//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, HFp) +//GO(snd_pcm_info_malloc, iFp) +//GO(snd_pcm_info_sizeof, LFv) +//GO(snd_pcm_access_mask_sizeof, LFv) +//GO(snd_pcm_info_set_device, vFpu) +//GO(snd_pcm_info_set_stream, vFpu) +//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, LFp) +//GO(snd_pcm_meter_get_bufsize, LFp) +//GO(snd_pcm_meter_get_channels, uFp) +//GO(snd_pcm_meter_get_now, LFp) +//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, lFpLL) +//GO(snd_pcm_mmap_readi, lFppL) +//GO(snd_pcm_mmap_readn, lFppL) +//GO(snd_pcm_mmap_writei, lFppL) +//GO(snd_pcm_mmap_writen, lFppL) +//GO(snd_pcm_name, pFp) +GO(snd_pcm_nonblock, iFpi) +GO(snd_pcm_open, iFBp_pui) +//GO(snd_pcm_open_lconf, iFppuip) +//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, lFppL) +//GO(snd_pcm_readn, lFppL) +//GO(snd_pcm_recover, iFpii) +//GO(snd_pcm_reset, iFp) +//GO(snd_pcm_resume, iFp) +//GO(snd_pcm_rewind, lFpL) +//GO(snd_pcm_samples_to_bytes, lFpl) +//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, LFv) +GO(snd_pcm_sw_params_sizeof, LFv) +//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, iFpiuuuiu) +//GO(snd_pcm_start, iFp) +//GO(snd_pcm_start_mode_name, pFu) +//GO(snd_pcm_state, uFp) +//GO(snd_pcm_state_name, pFu) +//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, LFp) +//GO(snd_pcm_status_get_avail_max, LFp) +//GO(snd_pcm_status_get_delay, lFp) +//GO(snd_pcm_status_get_htstamp, vFpp) +//GO(snd_pcm_status_get_overrange, LFp) +//GO(snd_pcm_status_get_state, uFp) +//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, uFp) +//GO(snd_pcm_stream_name, pFu) +//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, uFp) +//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, uFp) +//GO(snd_pcm_sw_params_malloc, iFp) +//GO(snd_pcm_sw_params_set_avail_min, iFppL) +//GO(snd_pcm_sw_params_set_period_event, iFppi) +//GO(snd_pcm_sw_params_set_silence_size, iFppL) +//GO(snd_pcm_sw_params_set_silence_threshold, iFppL) +//GO(snd_pcm_sw_params_set_sleep_min, iFppu) +//GO(snd_pcm_sw_params_set_start_mode, iFppu) +//GO(snd_pcm_sw_params_set_start_threshold, iFppL) +//GO(snd_pcm_sw_params_set_stop_threshold, iFppL) +//GO(snd_pcm_sw_params_set_tstamp_mode, iFppu) +//GO(snd_pcm_sw_params_set_tstamp_type, iFppu) +//GO(snd_pcm_sw_params_set_xfer_align, iFppL) +//GO(snd_pcm_sw_params_set_xrun_mode, iFppu) +//GO(snd_pcm_tstamp_mode_name, pFu) +//GO(snd_pcm_type, uFp) +//GO(snd_pcm_type_name, pFu) +//GO(snd_pcm_unlink, iFp) +//GO(snd_pcm_wait, iFpi) +GO(snd_pcm_writei, lFppL) +//GO(snd_pcm_writen, lFppL) +//GO(snd_pcm_xrun_mode_name, pFu) +//GO(snd_spcm_init, iFpuuiiuuu) +//GO(snd_spcm_init_duplex, iFppuuiiuuuu) +//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, LFv) +//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, uFp) +//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, vFpu) +//GO(snd_rawmidi_info, iFpp) +//GO(snd_rawmidi_params_sizeof, LFv) +//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, iFppL) +//GO(snd_rawmidi_params_get_buffer_size, LFp) +//GO(snd_rawmidi_params_set_avail_min, iFppL) +//GO(snd_rawmidi_params_get_avail_min, LFp) +//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, LFv) +//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, LFp) +//GO(snd_rawmidi_status_get_xruns, LFp) +//GO(snd_rawmidi_status, iFpp) +//GO(snd_rawmidi_drain, iFp) +//GO(snd_rawmidi_drop, iFp) +//GO(snd_rawmidi_write, lFppL) +//GO(snd_rawmidi_read, lFppL) +//GO(snd_rawmidi_name, pFp) +//GO(snd_rawmidi_type, uFp) +//GO(snd_rawmidi_stream, uFp) +//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) +//GOM(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, lFppL) +//GO(snd_timer_id_sizeof, LFv) +//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, LFv) +//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, LFp) +//GO(snd_timer_ginfo_get_resolution_min, LFp) +//GO(snd_timer_ginfo_get_resolution_max, LFp) +//GO(snd_timer_ginfo_get_clients, uFp) +//GO(snd_timer_info_sizeof, LFv) +//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, lFp) +//GO(snd_timer_params_sizeof, LFv) +//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, vFpl) +//GO(snd_timer_params_get_ticks, lFp) +//GO(snd_timer_params_set_queue_size, vFpl) +//GO(snd_timer_params_get_queue_size, lFp) +//GO(snd_timer_params_set_filter, vFpu) +//GO(snd_timer_params_get_filter, uFp) +//GO(snd_timer_status_sizeof, LFv) +//GO(snd_timer_status_malloc, iFp) +//GO(snd_timer_status_free, vFp) +//GO(snd_timer_status_copy, vFpp) +//GO(snd_timer_status_get_timestamp, HFp) +//GO(snd_timer_status_get_resolution, lFp) +//GO(snd_timer_status_get_lost, lFp) +//GO(snd_timer_status_get_overrun, lFp) +//GO(snd_timer_status_get_queue, lFp) +//GO(snd_timer_info_get_ticks, lFp) +//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, lFppL) +//GO(snd_hwdep_read, lFppL) +//GO(snd_hwdep_info_sizeof, LFv) +//GO(snd_hwdep_dsp_status_sizeof, LFv) +//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, LFv) +//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, LFp) +//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, vFpL) +GO(snd_card_load, iFi) +GO(snd_card_next, iFp) +//GO(snd_card_get_index, iFp) +GO(snd_card_get_name, iFiBp_ ) +//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) +//GOM(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, uFp) +//GO(snd_ctl_elem_type_name, pFu) +//GO(snd_ctl_elem_iface_name, pFu) +//GO(snd_ctl_event_type_name, pFu) +//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, uFp) +//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, LFv) +//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, uFp) +//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, vFpu) +//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, LFv) +//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, LFv) +//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, uFp) +//GO(snd_ctl_elem_list_sizeof, LFv) +//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, uFpu) +//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, LFv) +//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, uFp) +//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, lFp) +//GO(snd_ctl_elem_info_get_max, lFp) +//GO(snd_ctl_elem_info_get_step, lFp) +//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, uFp) +//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, vFpu) +//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, iFppulll) +//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, LFv) +//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, uFp) +//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, vFpu) +//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, lFpu) +//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, vFpul) +//GO(snd_ctl_elem_value_set_integer, vFpul) +//GO(snd_ctl_elem_value_set_integer64, vFpuI) +//GO(snd_ctl_elem_value_set_enumerated, vFpuu) +//GO(snd_ctl_elem_value_set_byte, vFpuC) +//GO(snd_ctl_elem_set_bytes, vFppL) +//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) +//GOM(snd_hctl_set_compare, iFpp) +//GO(snd_hctl_first_elem, pFp) +//GO(snd_hctl_last_elem, pFp) +//GO(snd_hctl_find_elem, pFpp) +//GOM(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, uFp) +//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) +//GOM(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) +//GOM(snd_mixer_set_compare, iFEpp) +//GOM(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) +//GOM(snd_mixer_elem_set_callback, vFEpp) +//GO(snd_mixer_elem_get_callback_private, pFp) +//GO(snd_mixer_elem_set_callback_private, vFpp) +//GO(snd_mixer_elem_get_type, uFp) +//GO(snd_mixer_class_register, iFpp) +//GO(snd_mixer_add_elem, iFpp) +//GO(snd_mixer_remove_elem, iFpp) +//GOM(snd_mixer_elem_new, iFEpuipp) +//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, LFv) +//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) +//GOM(snd_mixer_class_get_event, pFEp) +//GO(snd_mixer_class_get_private, pFp) +//GOM(snd_mixer_class_get_compare, pFEp) +//GOM(snd_mixer_class_set_event, iFEpp) +//GO(snd_mixer_class_set_private, iFpp) +//GOM(snd_mixer_class_set_private_free, iFEpp) +//GOM(snd_mixer_class_set_compare, iFEpp) +//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_ask_playback_dB_vol, iFplip) +//GO(snd_mixer_selem_ask_playback_vol_dB, iFplp) +//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, iFpil) +//GO(snd_mixer_selem_set_capture_volume, iFpil) +//GO(snd_mixer_selem_set_playback_dB, iFpili) +//GO(snd_mixer_selem_set_capture_dB, iFpili) +//GO(snd_mixer_selem_set_playback_volume_all, iFpl) +//GO(snd_mixer_selem_set_capture_volume_all, iFpl) +//GO(snd_mixer_selem_set_playback_dB_all, iFpli) +//GO(snd_mixer_selem_set_capture_dB_all, iFpli) +//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, iFpll) +//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, iFpll) +//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, iFpuLp) +//GO(snd_mixer_selem_get_enum_item, iFpip) +//GO(snd_mixer_selem_set_enum_item, iFpiu) +//GO(snd_mixer_selem_id_sizeof, LFv) +//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, uFp) +//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, LFp) +//GO(snd_seq_get_input_buffer_size, LFp) +//GO(snd_seq_set_output_buffer_size, iFpL) +//GO(snd_seq_set_input_buffer_size, iFpL) +//GO(snd_seq_system_info_sizeof, LFv) +//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, LFv) +//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, uFp) +//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, LFv) +//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, LFp) +//GO(snd_seq_client_pool_get_input_pool, LFp) +//GO(snd_seq_client_pool_get_output_room, LFp) +//GO(snd_seq_client_pool_get_output_free, LFp) +//GO(snd_seq_client_pool_get_input_free, LFp) +//GO(snd_seq_client_pool_set_output_pool, vFpL) +//GO(snd_seq_client_pool_set_input_pool, vFpL) +//GO(snd_seq_client_pool_set_output_room, vFpL) +//GO(snd_seq_get_client_pool, iFpp) +//GO(snd_seq_set_client_pool, iFpp) +//GO(snd_seq_port_info_sizeof, LFv) +//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, LFv) +//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, LFv) +//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, uFp) +//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, vFpu) +//GO(snd_seq_query_subscribe_set_index, vFpi) +//GO(snd_seq_query_port_subscribers, iFpp) +//GO(snd_seq_queue_info_sizeof, LFv) +//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, LFv) +//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, LFv) +//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, LFv) +//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, uFp) +//GO(snd_seq_queue_timer_get_id, pFp) +//GO(snd_seq_queue_timer_get_resolution, uFp) +//GO(snd_seq_queue_timer_set_type, vFpu) +//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, lFp) +//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, LFv) +//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, iFLp) +//GO(snd_midi_event_resize_buffer, iFpL) +//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, lFpplp) +//GO(snd_midi_event_encode_byte, iFpip) +//GO(snd_midi_event_decode, lFpplp) +//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, iFpL) +//GO(snd_seq_set_client_pool_input, iFpL) +//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, uFp) +//DATAM(snd_lib_error, 8) +GO(superdummy_error_handler, vFpipipV) // dummy to have the bridge definition |