summaryrefslogtreecommitdiffstats
path: root/alsa-lib/include
diff options
context:
space:
mode:
Diffstat (limited to 'alsa-lib/include')
-rw-r--r--alsa-lib/include/Makefile.am90
-rw-r--r--alsa-lib/include/Makefile.in690
-rw-r--r--alsa-lib/include/alisp.h55
l---------alsa-lib/include/alsa1
-rw-r--r--alsa-lib/include/alsa-symbols.h72
-rw-r--r--alsa-lib/include/aserver.h160
-rw-r--r--alsa-lib/include/asoundef.h310
-rw-r--r--alsa-lib/include/asoundlib-head.h48
-rw-r--r--alsa-lib/include/asoundlib-tail.h2
-rw-r--r--alsa-lib/include/asoundlib.h60
-rw-r--r--alsa-lib/include/conf.h198
-rwxr-xr-xalsa-lib/include/config.h165
-rw-r--r--alsa-lib/include/config.h.in157
-rw-r--r--alsa-lib/include/control.h576
-rw-r--r--alsa-lib/include/control_external.h265
-rw-r--r--alsa-lib/include/error.h78
-rw-r--r--alsa-lib/include/global.h159
-rw-r--r--alsa-lib/include/hwdep.h160
-rw-r--r--alsa-lib/include/iatomic.h1175
-rw-r--r--alsa-lib/include/input.h83
-rw-r--r--alsa-lib/include/list.h166
-rw-r--r--alsa-lib/include/local.h278
-rw-r--r--alsa-lib/include/mixer.h319
-rw-r--r--alsa-lib/include/mixer_abst.h112
-rw-r--r--alsa-lib/include/output.h86
-rw-r--r--alsa-lib/include/pcm.h1140
-rw-r--r--alsa-lib/include/pcm_external.h70
-rw-r--r--alsa-lib/include/pcm_extplug.h189
-rw-r--r--alsa-lib/include/pcm_ioplug.h217
-rw-r--r--alsa-lib/include/pcm_old.h230
-rw-r--r--alsa-lib/include/pcm_plugin.h202
-rw-r--r--alsa-lib/include/pcm_rate.h117
-rw-r--r--alsa-lib/include/rawmidi.h159
-rw-r--r--alsa-lib/include/search.h177
-rw-r--r--alsa-lib/include/seq.h737
-rw-r--r--alsa-lib/include/seq_event.h319
-rw-r--r--alsa-lib/include/seq_midi_event.h65
-rw-r--r--alsa-lib/include/seqmid.h490
-rw-r--r--alsa-lib/include/sound/Makefile.am6
-rw-r--r--alsa-lib/include/sound/Makefile.in497
-rw-r--r--alsa-lib/include/sound/asequencer.h678
-rw-r--r--alsa-lib/include/sound/asound.h954
-rw-r--r--alsa-lib/include/sound/asound_fm.h134
-rw-r--r--alsa-lib/include/sound/asoundef.h227
-rw-r--r--alsa-lib/include/sound/emu10k1.h349
-rw-r--r--alsa-lib/include/sound/hdsp.h112
-rw-r--r--alsa-lib/include/sound/sb16_csp.h115
-rw-r--r--alsa-lib/include/sound/sscape_ioctl.h21
-rw-r--r--alsa-lib/include/sound/type_compat.h40
-rw-r--r--alsa-lib/include/sys.h2
-rw-r--r--alsa-lib/include/timer.h257
-rw-r--r--alsa-lib/include/version.h15
52 files changed, 0 insertions, 12984 deletions
diff --git a/alsa-lib/include/Makefile.am b/alsa-lib/include/Makefile.am
deleted file mode 100644
index a291503..0000000
--- a/alsa-lib/include/Makefile.am
+++ /dev/null
@@ -1,90 +0,0 @@
-SUBDIRS = sound
-
-sysincludedir = ${includedir}/sys
-alsaincludedir = ${includedir}/alsa
-
-alsainclude_HEADERS = asoundlib.h asoundef.h \
- version.h global.h input.h output.h error.h \
- conf.h control.h iatomic.h
-
-if BUILD_CTL_PLUGIN_EXT
-alsainclude_HEADERS += control_external.h
-endif
-
-if BUILD_PCM
-alsainclude_HEADERS += pcm.h pcm_old.h timer.h
-if BUILD_PCM_PLUGIN
-alsainclude_HEADERS += pcm_plugin.h
-endif
-if BUILD_PCM_PLUGIN_RATE
-alsainclude_HEADERS += pcm_rate.h
-endif
-if BUILD_PCM_PLUGIN_EXTPLUG
-alsainclude_HEADERS += pcm_external.h pcm_extplug.h
-endif
-if BUILD_PCM_PLUGIN_IOPLUG
-if !BUILD_PCM_PLUGIN_EXTPLUG
-alsainclude_HEADERS += pcm_external.h
-endif
-alsainclude_HEADERS += pcm_ioplug.h
-endif
-endif
-
-if BUILD_RAWMIDI
-alsainclude_HEADERS += rawmidi.h
-endif
-
-if BUILD_HWDEP
-alsainclude_HEADERS += hwdep.h
-endif
-
-if BUILD_MIXER
-alsainclude_HEADERS += mixer.h mixer_abst.h
-endif
-
-if BUILD_SEQ
-alsainclude_HEADERS += seq_event.h seq.h seqmid.h seq_midi_event.h
-endif
-
-if BUILD_ALISP
-alsainclude_HEADERS += alisp.h
-endif
-
-noinst_HEADERS = alsa sys.h search.h list.h aserver.h local.h alsa-symbols.h \
- asoundlib-head.h asoundlib-tail.h
-
-DISTCLEANFILES = stamp-vh version.h alsa asoundlib.h
-
-alsa:
- ln -s $(top_srcdir)/include alsa
-
-version.h: stamp-vh alsa
- @:
-
-stamp-vh: $(top_builddir)/configure.in
- @echo "/*" > ver.tmp
- @echo " * version.h" >> ver.tmp
- @echo " */" >> ver.tmp
- @echo "" >> ver.tmp
- @echo "#define SND_LIB_MAJOR $(SND_LIB_MAJOR) /**< major number of library version */" >> ver.tmp
- @echo "#define SND_LIB_MINOR $(SND_LIB_MINOR) /**< minor number of library version */" >> ver.tmp
- @echo "#define SND_LIB_SUBMINOR $(SND_LIB_SUBMINOR) /**< subminor number of library version */" >> ver.tmp
- @echo "#define SND_LIB_EXTRAVER $(SND_LIB_EXTRAVER) /**< extra version number, used mainly for betas */" >> ver.tmp
- @echo "/** library version */" >> ver.tmp
- @echo "#define SND_LIB_VERSION ((SND_LIB_MAJOR<<16)|\\" >> ver.tmp
- @echo " (SND_LIB_MINOR<<8)|\\" >> ver.tmp
- @echo " SND_LIB_SUBMINOR)" >> ver.tmp
- @echo "/** library version (string) */" >> ver.tmp
- @echo "#define SND_LIB_VERSION_STR \"$(SND_LIB_VERSION)\"" >> ver.tmp
- @echo >> ver.tmp
- @cmp -s version.h ver.tmp \
- || (echo "Updating version.h"; \
- cp ver.tmp version.h; \
- echo timestamp > stamp-vh)
- -@rm -f ver.tmp
-
-INCLUDES=-I$(top_srcdir)/include
-
-install-data-hook:
- test -d $(DESTDIR)$(sysincludedir) || mkdir -p $(DESTDIR)$(sysincludedir)
- $(INSTALL_DATA) $(srcdir)/sys.h $(DESTDIR)$(sysincludedir)/asoundlib.h
diff --git a/alsa-lib/include/Makefile.in b/alsa-lib/include/Makefile.in
deleted file mode 100644
index bf081c6..0000000
--- a/alsa-lib/include/Makefile.in
+++ /dev/null
@@ -1,690 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-@BUILD_CTL_PLUGIN_EXT_TRUE@am__append_1 = control_external.h
-@BUILD_PCM_TRUE@am__append_2 = pcm.h pcm_old.h timer.h
-@BUILD_PCM_PLUGIN_TRUE@@BUILD_PCM_TRUE@am__append_3 = pcm_plugin.h
-@BUILD_PCM_PLUGIN_RATE_TRUE@@BUILD_PCM_TRUE@am__append_4 = pcm_rate.h
-@BUILD_PCM_PLUGIN_EXTPLUG_TRUE@@BUILD_PCM_TRUE@am__append_5 = pcm_external.h pcm_extplug.h
-@BUILD_PCM_PLUGIN_EXTPLUG_FALSE@@BUILD_PCM_PLUGIN_IOPLUG_TRUE@@BUILD_PCM_TRUE@am__append_6 = pcm_external.h
-@BUILD_PCM_PLUGIN_IOPLUG_TRUE@@BUILD_PCM_TRUE@am__append_7 = pcm_ioplug.h
-@BUILD_RAWMIDI_TRUE@am__append_8 = rawmidi.h
-@BUILD_HWDEP_TRUE@am__append_9 = hwdep.h
-@BUILD_MIXER_TRUE@am__append_10 = mixer.h mixer_abst.h
-@BUILD_SEQ_TRUE@am__append_11 = seq_event.h seq.h seqmid.h seq_midi_event.h
-@BUILD_ALISP_TRUE@am__append_12 = alisp.h
-subdir = include
-DIST_COMMON = $(am__alsainclude_HEADERS_DIST) $(noinst_HEADERS) \
- $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(srcdir)/config.h.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
- $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = config.h
-CONFIG_CLEAN_FILES =
-SOURCES =
-DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-exec-recursive install-info-recursive \
- install-recursive installcheck-recursive installdirs-recursive \
- pdf-recursive ps-recursive uninstall-info-recursive \
- uninstall-recursive
-am__alsainclude_HEADERS_DIST = asoundlib.h asoundef.h version.h \
- global.h input.h output.h error.h conf.h control.h iatomic.h \
- control_external.h pcm.h pcm_old.h timer.h pcm_plugin.h \
- pcm_rate.h pcm_external.h pcm_extplug.h pcm_ioplug.h rawmidi.h \
- hwdep.h mixer.h mixer_abst.h seq_event.h seq.h seqmid.h \
- seq_midi_event.h alisp.h
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
-am__installdirs = "$(DESTDIR)$(alsaincludedir)"
-alsaincludeHEADERS_INSTALL = $(INSTALL_HEADER)
-HEADERS = $(alsainclude_HEADERS) $(noinst_HEADERS)
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ALSA_CONFIG_DIR = @ALSA_CONFIG_DIR@
-ALSA_DEPLIBS = @ALSA_DEPLIBS@
-ALSA_HSEARCH_R_FALSE = @ALSA_HSEARCH_R_FALSE@
-ALSA_HSEARCH_R_TRUE = @ALSA_HSEARCH_R_TRUE@
-ALSA_PLUGIN_DIR = @ALSA_PLUGIN_DIR@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BUILD_ALISP_FALSE = @BUILD_ALISP_FALSE@
-BUILD_ALISP_TRUE = @BUILD_ALISP_TRUE@
-BUILD_CTL_PLUGIN_EXT_FALSE = @BUILD_CTL_PLUGIN_EXT_FALSE@
-BUILD_CTL_PLUGIN_EXT_TRUE = @BUILD_CTL_PLUGIN_EXT_TRUE@
-BUILD_CTL_PLUGIN_FALSE = @BUILD_CTL_PLUGIN_FALSE@
-BUILD_CTL_PLUGIN_SHM_FALSE = @BUILD_CTL_PLUGIN_SHM_FALSE@
-BUILD_CTL_PLUGIN_SHM_TRUE = @BUILD_CTL_PLUGIN_SHM_TRUE@
-BUILD_CTL_PLUGIN_TRUE = @BUILD_CTL_PLUGIN_TRUE@
-BUILD_HWDEP_FALSE = @BUILD_HWDEP_FALSE@
-BUILD_HWDEP_TRUE = @BUILD_HWDEP_TRUE@
-BUILD_MIXER_FALSE = @BUILD_MIXER_FALSE@
-BUILD_MIXER_TRUE = @BUILD_MIXER_TRUE@
-BUILD_MODULES_FALSE = @BUILD_MODULES_FALSE@
-BUILD_MODULES_TRUE = @BUILD_MODULES_TRUE@
-BUILD_PCM_FALSE = @BUILD_PCM_FALSE@
-BUILD_PCM_PLUGIN_ADPCM_FALSE = @BUILD_PCM_PLUGIN_ADPCM_FALSE@
-BUILD_PCM_PLUGIN_ADPCM_TRUE = @BUILD_PCM_PLUGIN_ADPCM_TRUE@
-BUILD_PCM_PLUGIN_ALAW_FALSE = @BUILD_PCM_PLUGIN_ALAW_FALSE@
-BUILD_PCM_PLUGIN_ALAW_TRUE = @BUILD_PCM_PLUGIN_ALAW_TRUE@
-BUILD_PCM_PLUGIN_ASYM_FALSE = @BUILD_PCM_PLUGIN_ASYM_FALSE@
-BUILD_PCM_PLUGIN_ASYM_TRUE = @BUILD_PCM_PLUGIN_ASYM_TRUE@
-BUILD_PCM_PLUGIN_COPY_FALSE = @BUILD_PCM_PLUGIN_COPY_FALSE@
-BUILD_PCM_PLUGIN_COPY_TRUE = @BUILD_PCM_PLUGIN_COPY_TRUE@
-BUILD_PCM_PLUGIN_DMIX_FALSE = @BUILD_PCM_PLUGIN_DMIX_FALSE@
-BUILD_PCM_PLUGIN_DMIX_TRUE = @BUILD_PCM_PLUGIN_DMIX_TRUE@
-BUILD_PCM_PLUGIN_DSHARE_FALSE = @BUILD_PCM_PLUGIN_DSHARE_FALSE@
-BUILD_PCM_PLUGIN_DSHARE_TRUE = @BUILD_PCM_PLUGIN_DSHARE_TRUE@
-BUILD_PCM_PLUGIN_DSNOOP_FALSE = @BUILD_PCM_PLUGIN_DSNOOP_FALSE@
-BUILD_PCM_PLUGIN_DSNOOP_TRUE = @BUILD_PCM_PLUGIN_DSNOOP_TRUE@
-BUILD_PCM_PLUGIN_EMPTY_FALSE = @BUILD_PCM_PLUGIN_EMPTY_FALSE@
-BUILD_PCM_PLUGIN_EMPTY_TRUE = @BUILD_PCM_PLUGIN_EMPTY_TRUE@
-BUILD_PCM_PLUGIN_EXTPLUG_FALSE = @BUILD_PCM_PLUGIN_EXTPLUG_FALSE@
-BUILD_PCM_PLUGIN_EXTPLUG_TRUE = @BUILD_PCM_PLUGIN_EXTPLUG_TRUE@
-BUILD_PCM_PLUGIN_FALSE = @BUILD_PCM_PLUGIN_FALSE@
-BUILD_PCM_PLUGIN_FILE_FALSE = @BUILD_PCM_PLUGIN_FILE_FALSE@
-BUILD_PCM_PLUGIN_FILE_TRUE = @BUILD_PCM_PLUGIN_FILE_TRUE@
-BUILD_PCM_PLUGIN_HOOKS_FALSE = @BUILD_PCM_PLUGIN_HOOKS_FALSE@
-BUILD_PCM_PLUGIN_HOOKS_TRUE = @BUILD_PCM_PLUGIN_HOOKS_TRUE@
-BUILD_PCM_PLUGIN_IEC958_FALSE = @BUILD_PCM_PLUGIN_IEC958_FALSE@
-BUILD_PCM_PLUGIN_IEC958_TRUE = @BUILD_PCM_PLUGIN_IEC958_TRUE@
-BUILD_PCM_PLUGIN_IOPLUG_FALSE = @BUILD_PCM_PLUGIN_IOPLUG_FALSE@
-BUILD_PCM_PLUGIN_IOPLUG_TRUE = @BUILD_PCM_PLUGIN_IOPLUG_TRUE@
-BUILD_PCM_PLUGIN_LADSPA_FALSE = @BUILD_PCM_PLUGIN_LADSPA_FALSE@
-BUILD_PCM_PLUGIN_LADSPA_TRUE = @BUILD_PCM_PLUGIN_LADSPA_TRUE@
-BUILD_PCM_PLUGIN_LFLOAT_FALSE = @BUILD_PCM_PLUGIN_LFLOAT_FALSE@
-BUILD_PCM_PLUGIN_LFLOAT_TRUE = @BUILD_PCM_PLUGIN_LFLOAT_TRUE@
-BUILD_PCM_PLUGIN_LINEAR_FALSE = @BUILD_PCM_PLUGIN_LINEAR_FALSE@
-BUILD_PCM_PLUGIN_LINEAR_TRUE = @BUILD_PCM_PLUGIN_LINEAR_TRUE@
-BUILD_PCM_PLUGIN_METER_FALSE = @BUILD_PCM_PLUGIN_METER_FALSE@
-BUILD_PCM_PLUGIN_METER_TRUE = @BUILD_PCM_PLUGIN_METER_TRUE@
-BUILD_PCM_PLUGIN_MMAP_EMUL_FALSE = @BUILD_PCM_PLUGIN_MMAP_EMUL_FALSE@
-BUILD_PCM_PLUGIN_MMAP_EMUL_TRUE = @BUILD_PCM_PLUGIN_MMAP_EMUL_TRUE@
-BUILD_PCM_PLUGIN_MULAW_FALSE = @BUILD_PCM_PLUGIN_MULAW_FALSE@
-BUILD_PCM_PLUGIN_MULAW_TRUE = @BUILD_PCM_PLUGIN_MULAW_TRUE@
-BUILD_PCM_PLUGIN_MULTI_FALSE = @BUILD_PCM_PLUGIN_MULTI_FALSE@
-BUILD_PCM_PLUGIN_MULTI_TRUE = @BUILD_PCM_PLUGIN_MULTI_TRUE@
-BUILD_PCM_PLUGIN_NULL_FALSE = @BUILD_PCM_PLUGIN_NULL_FALSE@
-BUILD_PCM_PLUGIN_NULL_TRUE = @BUILD_PCM_PLUGIN_NULL_TRUE@
-BUILD_PCM_PLUGIN_PLUG_FALSE = @BUILD_PCM_PLUGIN_PLUG_FALSE@
-BUILD_PCM_PLUGIN_PLUG_TRUE = @BUILD_PCM_PLUGIN_PLUG_TRUE@
-BUILD_PCM_PLUGIN_RATE_FALSE = @BUILD_PCM_PLUGIN_RATE_FALSE@
-BUILD_PCM_PLUGIN_RATE_TRUE = @BUILD_PCM_PLUGIN_RATE_TRUE@
-BUILD_PCM_PLUGIN_ROUTE_FALSE = @BUILD_PCM_PLUGIN_ROUTE_FALSE@
-BUILD_PCM_PLUGIN_ROUTE_TRUE = @BUILD_PCM_PLUGIN_ROUTE_TRUE@
-BUILD_PCM_PLUGIN_SHARE_FALSE = @BUILD_PCM_PLUGIN_SHARE_FALSE@
-BUILD_PCM_PLUGIN_SHARE_TRUE = @BUILD_PCM_PLUGIN_SHARE_TRUE@
-BUILD_PCM_PLUGIN_SHM_FALSE = @BUILD_PCM_PLUGIN_SHM_FALSE@
-BUILD_PCM_PLUGIN_SHM_TRUE = @BUILD_PCM_PLUGIN_SHM_TRUE@
-BUILD_PCM_PLUGIN_SOFTVOL_FALSE = @BUILD_PCM_PLUGIN_SOFTVOL_FALSE@
-BUILD_PCM_PLUGIN_SOFTVOL_TRUE = @BUILD_PCM_PLUGIN_SOFTVOL_TRUE@
-BUILD_PCM_PLUGIN_TRUE = @BUILD_PCM_PLUGIN_TRUE@
-BUILD_PCM_TRUE = @BUILD_PCM_TRUE@
-BUILD_PYTHON_FALSE = @BUILD_PYTHON_FALSE@
-BUILD_PYTHON_TRUE = @BUILD_PYTHON_TRUE@
-BUILD_RAWMIDI_FALSE = @BUILD_RAWMIDI_FALSE@
-BUILD_RAWMIDI_TRUE = @BUILD_RAWMIDI_TRUE@
-BUILD_SEQ_FALSE = @BUILD_SEQ_FALSE@
-BUILD_SEQ_TRUE = @BUILD_SEQ_TRUE@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-GREP = @GREP@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_M4_FALSE = @INSTALL_M4_FALSE@
-INSTALL_M4_TRUE = @INSTALL_M4_TRUE@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-KEEP_OLD_SYMBOLS_FALSE = @KEEP_OLD_SYMBOLS_FALSE@
-KEEP_OLD_SYMBOLS_TRUE = @KEEP_OLD_SYMBOLS_TRUE@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIBTOOL_VERSION_INFO = @LIBTOOL_VERSION_INFO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PYTHON_INCLUDES = @PYTHON_INCLUDES@
-PYTHON_LIBS = @PYTHON_LIBS@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SND_LIB_EXTRAVER = @SND_LIB_EXTRAVER@
-SND_LIB_MAJOR = @SND_LIB_MAJOR@
-SND_LIB_MINOR = @SND_LIB_MINOR@
-SND_LIB_SUBMINOR = @SND_LIB_SUBMINOR@
-SND_LIB_VERSION = @SND_LIB_VERSION@
-STRIP = @STRIP@
-SYMBOLIC_FUNCTIONS_FALSE = @SYMBOLIC_FUNCTIONS_FALSE@
-SYMBOLIC_FUNCTIONS_TRUE = @SYMBOLIC_FUNCTIONS_TRUE@
-SYMBOL_PREFIX = @SYMBOL_PREFIX@
-VERSION = @VERSION@
-VERSIONED_SYMBOLS_FALSE = @VERSIONED_SYMBOLS_FALSE@
-VERSIONED_SYMBOLS_TRUE = @VERSIONED_SYMBOLS_TRUE@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-SUBDIRS = sound
-sysincludedir = ${includedir}/sys
-alsaincludedir = ${includedir}/alsa
-alsainclude_HEADERS = asoundlib.h asoundef.h version.h global.h \
- input.h output.h error.h conf.h control.h iatomic.h \
- $(am__append_1) $(am__append_2) $(am__append_3) \
- $(am__append_4) $(am__append_5) $(am__append_6) \
- $(am__append_7) $(am__append_8) $(am__append_9) \
- $(am__append_10) $(am__append_11) $(am__append_12)
-noinst_HEADERS = alsa sys.h search.h list.h aserver.h local.h alsa-symbols.h \
- asoundlib-head.h asoundlib-tail.h
-
-DISTCLEANFILES = stamp-vh version.h alsa asoundlib.h
-INCLUDES = -I$(top_srcdir)/include
-all: config.h
- $(MAKE) $(AM_MAKEFLAGS) all-recursive
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign include/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign include/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-config.h: stamp-h1
- @if test ! -f $@; then \
- rm -f stamp-h1; \
- $(MAKE) stamp-h1; \
- else :; fi
-
-stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
- @rm -f stamp-h1
- cd $(top_builddir) && $(SHELL) ./config.status include/config.h
-$(srcdir)/config.h.in: $(am__configure_deps)
- cd $(top_srcdir) && $(AUTOHEADER)
- rm -f stamp-h1
- touch $@
-
-distclean-hdr:
- -rm -f config.h stamp-h1
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-install-alsaincludeHEADERS: $(alsainclude_HEADERS)
- @$(NORMAL_INSTALL)
- test -z "$(alsaincludedir)" || $(mkdir_p) "$(DESTDIR)$(alsaincludedir)"
- @list='$(alsainclude_HEADERS)'; for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(alsaincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(alsaincludedir)/$$f'"; \
- $(alsaincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(alsaincludedir)/$$f"; \
- done
-
-uninstall-alsaincludeHEADERS:
- @$(NORMAL_UNINSTALL)
- @list='$(alsainclude_HEADERS)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(alsaincludedir)/$$f'"; \
- rm -f "$(DESTDIR)$(alsaincludedir)/$$f"; \
- done
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- empty_fix=.; \
- else \
- include_option=--include; \
- empty_fix=; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test ! -f $$subdir/TAGS || \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -d "$(distdir)/$$subdir" \
- || $(mkdir_p) "$(distdir)/$$subdir" \
- || exit 1; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
- distdir) \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-recursive
-all-am: Makefile $(HEADERS) config.h
-installdirs: installdirs-recursive
-installdirs-am:
- for dir in "$(DESTDIR)$(alsaincludedir)"; do \
- test -z "$$dir" || $(mkdir_p) "$$dir"; \
- done
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-hdr \
- distclean-libtool distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-info: info-recursive
-
-info-am:
-
-install-data-am: install-alsaincludeHEADERS
- @$(NORMAL_INSTALL)
- $(MAKE) $(AM_MAKEFLAGS) install-data-hook
-
-install-exec-am:
-
-install-info: install-info-recursive
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-alsaincludeHEADERS uninstall-info-am
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
- clean clean-generic clean-libtool clean-recursive ctags \
- ctags-recursive distclean distclean-generic distclean-hdr \
- distclean-libtool distclean-recursive distclean-tags distdir \
- dvi dvi-am html html-am info info-am install \
- install-alsaincludeHEADERS install-am install-data \
- install-data-am install-data-hook install-exec install-exec-am \
- install-info install-info-am install-man install-strip \
- installcheck installcheck-am installdirs installdirs-am \
- maintainer-clean maintainer-clean-generic \
- maintainer-clean-recursive mostlyclean mostlyclean-generic \
- mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \
- tags tags-recursive uninstall uninstall-alsaincludeHEADERS \
- uninstall-am uninstall-info-am
-
-
-alsa:
- ln -s $(top_srcdir)/include alsa
-
-version.h: stamp-vh alsa
- @:
-
-stamp-vh: $(top_builddir)/configure.in
- @echo "/*" > ver.tmp
- @echo " * version.h" >> ver.tmp
- @echo " */" >> ver.tmp
- @echo "" >> ver.tmp
- @echo "#define SND_LIB_MAJOR $(SND_LIB_MAJOR) /**< major number of library version */" >> ver.tmp
- @echo "#define SND_LIB_MINOR $(SND_LIB_MINOR) /**< minor number of library version */" >> ver.tmp
- @echo "#define SND_LIB_SUBMINOR $(SND_LIB_SUBMINOR) /**< subminor number of library version */" >> ver.tmp
- @echo "#define SND_LIB_EXTRAVER $(SND_LIB_EXTRAVER) /**< extra version number, used mainly for betas */" >> ver.tmp
- @echo "/** library version */" >> ver.tmp
- @echo "#define SND_LIB_VERSION ((SND_LIB_MAJOR<<16)|\\" >> ver.tmp
- @echo " (SND_LIB_MINOR<<8)|\\" >> ver.tmp
- @echo " SND_LIB_SUBMINOR)" >> ver.tmp
- @echo "/** library version (string) */" >> ver.tmp
- @echo "#define SND_LIB_VERSION_STR \"$(SND_LIB_VERSION)\"" >> ver.tmp
- @echo >> ver.tmp
- @cmp -s version.h ver.tmp \
- || (echo "Updating version.h"; \
- cp ver.tmp version.h; \
- echo timestamp > stamp-vh)
- -@rm -f ver.tmp
-
-install-data-hook:
- test -d $(DESTDIR)$(sysincludedir) || mkdir -p $(DESTDIR)$(sysincludedir)
- $(INSTALL_DATA) $(srcdir)/sys.h $(DESTDIR)$(sysincludedir)/asoundlib.h
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/alsa-lib/include/alisp.h b/alsa-lib/include/alisp.h
deleted file mode 100644
index 407ed64..0000000
--- a/alsa-lib/include/alisp.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * ALSA lisp implementation
- * Copyright (c) 2003 by Jaroslav Kysela <perex@perex.cz>
- *
- *
- * This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-struct alisp_cfg {
- int verbose: 1,
- warning: 1,
- debug: 1;
- snd_input_t *in; /* program code */
- snd_output_t *out; /* program output */
- snd_output_t *eout; /* error output */
- snd_output_t *vout; /* verbose output */
- snd_output_t *wout; /* warning output */
- snd_output_t *dout; /* debug output */
-};
-
-struct alisp_instance;
-struct alisp_object;
-struct alisp_seq_iterator;
-
-struct alisp_cfg *alsa_lisp_default_cfg(snd_input_t *input);
-void alsa_lisp_default_cfg_free(struct alisp_cfg *cfg);
-int alsa_lisp(struct alisp_cfg *cfg, struct alisp_instance **instance);
-void alsa_lisp_free(struct alisp_instance *instance);
-int alsa_lisp_function(struct alisp_instance *instance, struct alisp_seq_iterator **result,
- const char *id, const char *args, ...)
-#ifndef DOC_HIDDEN
- __attribute__ ((format (printf, 4, 5)))
-#endif
- ;
-void alsa_lisp_result_free(struct alisp_instance *instance,
- struct alisp_seq_iterator *result);
-int alsa_lisp_seq_first(struct alisp_instance *instance, const char *id,
- struct alisp_seq_iterator **seq);
-int alsa_lisp_seq_next(struct alisp_seq_iterator **seq);
-int alsa_lisp_seq_count(struct alisp_seq_iterator *seq);
-int alsa_lisp_seq_integer(struct alisp_seq_iterator *seq, long *val);
-int alsa_lisp_seq_pointer(struct alisp_seq_iterator *seq, const char *ptr_id, void **ptr);
diff --git a/alsa-lib/include/alsa b/alsa-lib/include/alsa
deleted file mode 120000
index 945c9b4..0000000
--- a/alsa-lib/include/alsa
+++ /dev/null
@@ -1 +0,0 @@
-. \ No newline at end of file
diff --git a/alsa-lib/include/alsa-symbols.h b/alsa-lib/include/alsa-symbols.h
deleted file mode 100644
index 51cb982..0000000
--- a/alsa-lib/include/alsa-symbols.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * ALSA lib - dynamic symbol versions
- * Copyright (c) 2002 by Jaroslav Kysela <perex@perex.cz>
- *
- *
- * This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#ifndef __ALSA_SYMBOLS_H
-#define __ALSA_SYMBOLS_H
-
-#if defined(PIC) && defined(VERSIONED_SYMBOLS) /* might be also configurable */
-#define USE_VERSIONED_SYMBOLS
-#endif
-
-#define INTERNAL_CONCAT2_2(Pre, Post) Pre##Post
-#define INTERNAL(Name) INTERNAL_CONCAT2_2(__, Name)
-
-#ifdef __powerpc64__
-# define symbol_version(real, name, version) \
- __asm__ (".symver " ASM_NAME(#real) "," ASM_NAME(#name) "@" #version); \
- __asm__ (".symver ." ASM_NAME(#real) ",." ASM_NAME(#name) "@" #version)
-# define default_symbol_version(real, name, version) \
- __asm__ (".symver " ASM_NAME(#real) "," ASM_NAME(#name) "@@" #version); \
- __asm__ (".symver ." ASM_NAME(#real) ",." ASM_NAME(#name) "@@" #version)
-#else
-# define symbol_version(real, name, version) \
- __asm__ (".symver " ASM_NAME(#real) "," ASM_NAME(#name) "@" #version)
-# define default_symbol_version(real, name, version) \
- __asm__ (".symver " ASM_NAME(#real) "," ASM_NAME(#name) "@@" #version)
-#endif
-
-#ifdef USE_VERSIONED_SYMBOLS
-#define use_symbol_version(real, name, version) \
- symbol_version(real, name, version)
-#define use_default_symbol_version(real, name, version) \
- default_symbol_version(real, name, version)
-#else
-#define use_symbol_version(real, name, version) /* nothing */
-#ifdef __powerpc64__
-#define use_default_symbol_version(real, name, version) \
- __asm__ (".weak " ASM_NAME(#name)); \
- __asm__ (".weak ." ASM_NAME(#name)); \
- __asm__ (".set " ASM_NAME(#name) "," ASM_NAME(#real)); \
- __asm__ (".set ." ASM_NAME(#name) ",." ASM_NAME(#real))
-#else
-#if defined(__alpha__) || defined(__mips__)
-#define use_default_symbol_version(real, name, version) \
- __asm__ (".weak " ASM_NAME(#name)); \
- __asm__ (ASM_NAME(#name) " = " ASM_NAME(#real))
-#else
-#define use_default_symbol_version(real, name, version) \
- __asm__ (".weak " ASM_NAME(#name)); \
- __asm__ (".set " ASM_NAME(#name) "," ASM_NAME(#real))
-#endif
-#endif
-#endif
-
-#endif /* __ALSA_SYMBOLS_H */
diff --git a/alsa-lib/include/aserver.h b/alsa-lib/include/aserver.h
deleted file mode 100644
index 2586832..0000000
--- a/alsa-lib/include/aserver.h
+++ /dev/null
@@ -1,160 +0,0 @@
-/*
- * ALSA client/server header file
- * Copyright (c) 2000 by Abramo Bagnara <abramo@alsa-project.org>
- *
- * This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include <netdb.h>
-#include "../src/pcm/pcm_local.h"
-#include "../src/control/control_local.h"
-
-int snd_receive_fd(int sock, void *data, size_t len, int *fd);
-int snd_is_local(struct hostent *hent);
-
-typedef enum _snd_dev_type {
- SND_DEV_TYPE_PCM,
- SND_DEV_TYPE_CONTROL,
- SND_DEV_TYPE_RAWMIDI,
- SND_DEV_TYPE_TIMER,
- SND_DEV_TYPE_HWDEP,
- SND_DEV_TYPE_SEQ,
-} snd_dev_type_t;
-
-typedef enum _snd_transport_type {
- SND_TRANSPORT_TYPE_SHM,
- SND_TRANSPORT_TYPE_TCP,
-} snd_transport_type_t;
-
-#define SND_PCM_IOCTL_HWSYNC _IO ('A', 0x22)
-#define SND_PCM_IOCTL_STATE _IO ('A', 0xf1)
-#define SND_PCM_IOCTL_MMAP _IO ('A', 0xf2)
-#define SND_PCM_IOCTL_MUNMAP _IO ('A', 0xf3)
-#define SND_PCM_IOCTL_MMAP_COMMIT _IO ('A', 0xf4)
-#define SND_PCM_IOCTL_AVAIL_UPDATE _IO ('A', 0xf5)
-#define SND_PCM_IOCTL_ASYNC _IO ('A', 0xf6)
-#define SND_PCM_IOCTL_CLOSE _IO ('A', 0xf7)
-#define SND_PCM_IOCTL_POLL_DESCRIPTOR _IO ('A', 0xf8)
-#define SND_PCM_IOCTL_HW_PTR_FD _IO ('A', 0xf9)
-#define SND_PCM_IOCTL_APPL_PTR_FD _IO ('A', 0xfa)
-#define SND_PCM_IOCTL_FORWARD _IO ('A', 0xfb)
-
-typedef struct {
- snd_pcm_uframes_t ptr;
- int use_mmap;
- off_t offset; /* for mmap */
- int changed;
-} snd_pcm_shm_rbptr_t;
-
-typedef struct {
- long result;
- int cmd;
- snd_pcm_shm_rbptr_t hw;
- snd_pcm_shm_rbptr_t appl;
- union {
- struct {
- int sig;
- pid_t pid;
- } async;
- snd_pcm_info_t info;
- snd_pcm_hw_params_t hw_refine;
- snd_pcm_hw_params_t hw_params;
- snd_pcm_sw_params_t sw_params;
- snd_pcm_status_t status;
- struct {
- snd_pcm_uframes_t frames;
- } avail;
- struct {
- snd_pcm_sframes_t frames;
- } delay;
- struct {
- int enable;
- } pause;
- snd_pcm_channel_info_t channel_info;
- struct {
- snd_pcm_uframes_t frames;
- } rewind;
- struct {
- snd_pcm_uframes_t frames;
- } forward;
- struct {
- int fd;
- } link;
- struct {
- snd_pcm_uframes_t offset;
- snd_pcm_uframes_t frames;
- } mmap_commit;
- struct {
- char use_mmap;
- int shmid;
- off_t offset;
- } rbptr;
- } u;
- char data[0];
-} snd_pcm_shm_ctrl_t;
-
-#define PCM_SHM_SIZE sizeof(snd_pcm_shm_ctrl_t)
-
-#define SND_CTL_IOCTL_READ _IOR('U', 0xf1, snd_ctl_event_t)
-#define SND_CTL_IOCTL_CLOSE _IO ('U', 0xf2)
-#define SND_CTL_IOCTL_POLL_DESCRIPTOR _IO ('U', 0xf3)
-#define SND_CTL_IOCTL_ASYNC _IO ('U', 0xf4)
-
-typedef struct {
- int result;
- int cmd;
- union {
- struct {
- int sig;
- pid_t pid;
- } async;
- int device;
- int subscribe_events;
- snd_ctl_card_info_t card_info;
- snd_ctl_elem_list_t element_list;
- snd_ctl_elem_info_t element_info;
- snd_ctl_elem_value_t element_read;
- snd_ctl_elem_value_t element_write;
- snd_ctl_elem_id_t element_lock;
- snd_ctl_elem_id_t element_unlock;
- snd_hwdep_info_t hwdep_info;
- snd_pcm_info_t pcm_info;
- int pcm_prefer_subdevice;
- snd_rawmidi_info_t rawmidi_info;
- int rawmidi_prefer_subdevice;
- unsigned int power_state;
- snd_ctl_event_t read;
- } u;
- char data[0];
-} snd_ctl_shm_ctrl_t;
-
-#define CTL_SHM_SIZE 65536
-#define CTL_SHM_DATA_MAXLEN (CTL_SHM_SIZE - offsetof(snd_ctl_shm_ctrl_t, data))
-
-typedef struct {
- unsigned char dev_type;
- unsigned char transport_type;
- unsigned char stream;
- unsigned char mode;
- unsigned char namelen;
- char name[0];
-} snd_client_open_request_t;
-
-typedef struct {
- long result;
- int cookie;
-} snd_client_open_answer_t;
-
diff --git a/alsa-lib/include/asoundef.h b/alsa-lib/include/asoundef.h
deleted file mode 100644
index c6c4eec..0000000
--- a/alsa-lib/include/asoundef.h
+++ /dev/null
@@ -1,310 +0,0 @@
-/**
- * \file include/asoundef.h
- * \brief Application interface library for the ALSA driver
- * \author Jaroslav Kysela <perex@perex.cz>
- * \author Abramo Bagnara <abramo@alsa-project.org>
- * \author Takashi Iwai <tiwai@suse.de>
- * \date 1998-2001
- *
- * Definitions of constants for the ALSA driver
- */
-/*
- * This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#ifndef __ALSA_ASOUNDEF_H
-#define __ALSA_ASOUNDEF_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * \defgroup Digital_Audio_Interface Constants for Digital Audio Interfaces
- * AES/IEC958 channel status bits.
- * \{
- */
-
-#define IEC958_AES0_PROFESSIONAL (1<<0) /**< 0 = consumer, 1 = professional */
-#define IEC958_AES0_NONAUDIO (1<<1) /**< 0 = audio, 1 = non-audio */
-#define IEC958_AES0_PRO_EMPHASIS (7<<2) /**< mask - emphasis */
-#define IEC958_AES0_PRO_EMPHASIS_NOTID (0<<2) /**< emphasis not indicated */
-#define IEC958_AES0_PRO_EMPHASIS_NONE (1<<2) /**< no emphasis */
-#define IEC958_AES0_PRO_EMPHASIS_5015 (3<<2) /**< 50/15us emphasis */
-#define IEC958_AES0_PRO_EMPHASIS_CCITT (7<<2) /**< CCITT J.17 emphasis */
-#define IEC958_AES0_PRO_FREQ_UNLOCKED (1<<5) /**< source sample frequency: 0 = locked, 1 = unlocked */
-#define IEC958_AES0_PRO_FS (3<<6) /**< mask - sample frequency */
-#define IEC958_AES0_PRO_FS_NOTID (0<<6) /**< fs not indicated */
-#define IEC958_AES0_PRO_FS_44100 (1<<6) /**< 44.1kHz */
-#define IEC958_AES0_PRO_FS_48000 (2<<6) /**< 48kHz */
-#define IEC958_AES0_PRO_FS_32000 (3<<6) /**< 32kHz */
-#define IEC958_AES0_CON_NOT_COPYRIGHT (1<<2) /**< 0 = copyright, 1 = not copyright */
-#define IEC958_AES0_CON_EMPHASIS (7<<3) /**< mask - emphasis */
-#define IEC958_AES0_CON_EMPHASIS_NONE (0<<3) /**< no emphasis */
-#define IEC958_AES0_CON_EMPHASIS_5015 (1<<3) /**< 50/15us emphasis */
-#define IEC958_AES0_CON_MODE (3<<6) /**< mask - mode */
-#define IEC958_AES1_PRO_MODE (15<<0) /**< mask - channel mode */
-#define IEC958_AES1_PRO_MODE_NOTID (0<<0) /**< mode not indicated */
-#define IEC958_AES1_PRO_MODE_STEREOPHONIC (2<<0) /**< stereophonic - ch A is left */
-#define IEC958_AES1_PRO_MODE_SINGLE (4<<0) /**< single channel */
-#define IEC958_AES1_PRO_MODE_TWO (8<<0) /**< two channels */
-#define IEC958_AES1_PRO_MODE_PRIMARY (12<<0) /**< primary/secondary */
-#define IEC958_AES1_PRO_MODE_BYTE3 (15<<0) /**< vector to byte 3 */
-#define IEC958_AES1_PRO_USERBITS (15<<4) /**< mask - user bits */
-#define IEC958_AES1_PRO_USERBITS_NOTID (0<<4) /**< user bits not indicated */
-#define IEC958_AES1_PRO_USERBITS_192 (8<<4) /**< 192-bit structure */
-#define IEC958_AES1_PRO_USERBITS_UDEF (12<<4) /**< user defined application */
-#define IEC958_AES1_CON_CATEGORY 0x7f /**< consumer category */
-#define IEC958_AES1_CON_GENERAL 0x00 /**< general category */
-#define IEC958_AES1_CON_LASEROPT_MASK 0x07 /**< Laser-optical mask */
-#define IEC958_AES1_CON_LASEROPT_ID 0x01 /**< Laser-optical ID */
-#define IEC958_AES1_CON_IEC908_CD (IEC958_AES1_CON_LASEROPT_ID|0x00) /**< IEC958 CD compatible device */
-#define IEC958_AES1_CON_NON_IEC908_CD (IEC958_AES1_CON_LASEROPT_ID|0x08) /**< non-IEC958 CD compatible device */
-#define IEC958_AES1_CON_MINI_DISC (IEC958_AES1_CON_LASEROPT_ID|0x48) /**< Mini-Disc device */
-#define IEC958_AES1_CON_DVD (IEC958_AES1_CON_LASEROPT_ID|0x18) /**< DVD device */
-#define IEC958_AES1_CON_LASTEROPT_OTHER (IEC958_AES1_CON_LASEROPT_ID|0x78) /**< Other laser-optical product */
-#define IEC958_AES1_CON_DIGDIGCONV_MASK 0x07 /**< digital<->digital converter mask */
-#define IEC958_AES1_CON_DIGDIGCONV_ID 0x02 /**< digital<->digital converter id */
-#define IEC958_AES1_CON_PCM_CODER (IEC958_AES1_CON_DIGDIGCONV_ID|0x00) /**< PCM coder */
-#define IEC958_AES1_CON_MIXER (IEC958_AES1_CON_DIGDIGCONV_ID|0x10) /**< Digital signal mixer */
-#define IEC958_AES1_CON_RATE_CONVERTER (IEC958_AES1_CON_DIGDIGCONV_ID|0x18) /**< Rate converter */
-#define IEC958_AES1_CON_SAMPLER (IEC958_AES1_CON_DIGDIGCONV_ID|0x20) /**< PCM sampler */
-#define IEC958_AES1_CON_DSP (IEC958_AES1_CON_DIGDIGCONV_ID|0x28) /**< Digital sound processor */
-#define IEC958_AES1_CON_DIGDIGCONV_OTHER (IEC958_AES1_CON_DIGDIGCONV_ID|0x78) /**< Other digital<->digital product */
-#define IEC958_AES1_CON_MAGNETIC_MASK 0x07 /**< Magnetic device mask */
-#define IEC958_AES1_CON_MAGNETIC_ID 0x03 /**< Magnetic device ID */
-#define IEC958_AES1_CON_DAT (IEC958_AES1_CON_MAGNETIC_ID|0x00) /**< Digital Audio Tape */
-#define IEC958_AES1_CON_VCR (IEC958_AES1_CON_MAGNETIC_ID|0x08) /**< Video recorder */
-#define IEC958_AES1_CON_DCC (IEC958_AES1_CON_MAGNETIC_ID|0x40) /**< Digital compact cassette */
-#define IEC958_AES1_CON_MAGNETIC_DISC (IEC958_AES1_CON_MAGNETIC_ID|0x18) /**< Magnetic disc digital audio device */
-#define IEC958_AES1_CON_MAGNETIC_OTHER (IEC958_AES1_CON_MAGNETIC_ID|0x78) /**< Other magnetic device */
-#define IEC958_AES1_CON_BROADCAST1_MASK 0x07 /**< Broadcast mask */
-#define IEC958_AES1_CON_BROADCAST1_ID 0x04 /**< Broadcast ID */
-#define IEC958_AES1_CON_DAB_JAPAN (IEC958_AES1_CON_BROADCAST1_ID|0x00) /**< Digital audio broadcast (Japan) */
-#define IEC958_AES1_CON_DAB_EUROPE (IEC958_AES1_CON_BROADCAST1_ID|0x08) /**< Digital audio broadcast (Europe) */
-#define IEC958_AES1_CON_DAB_USA (IEC958_AES1_CON_BROADCAST1_ID|0x60) /**< Digital audio broadcast (USA) */
-#define IEC958_AES1_CON_SOFTWARE (IEC958_AES1_CON_BROADCAST1_ID|0x40) /**< Electronic software delivery */
-#define IEC958_AES1_CON_IEC62105 (IEC958_AES1_CON_BROADCAST1_ID|0x20) /**< Used by another standard (IEC 62105) */
-#define IEC958_AES1_CON_BROADCAST1_OTHER (IEC958_AES1_CON_BROADCAST1_ID|0x78) /**< Other broadcast product */
-#define IEC958_AES1_CON_BROADCAST2_MASK 0x0f /**< Broadcast alternative mask */
-#define IEC958_AES1_CON_BROADCAST2_ID 0x0e /**< Broadcast alternative ID */
-#define IEC958_AES1_CON_MUSICAL_MASK 0x07 /**< Musical device mask */
-#define IEC958_AES1_CON_MUSICAL_ID 0x05 /**< Musical device ID */
-#define IEC958_AES1_CON_SYNTHESIZER (IEC958_AES1_CON_MUSICAL_ID|0x00) /**< Synthesizer */
-#define IEC958_AES1_CON_MICROPHONE (IEC958_AES1_CON_MUSICAL_ID|0x08) /**< Microphone */
-#define IEC958_AES1_CON_MUSICAL_OTHER (IEC958_AES1_CON_MUSICAL_ID|0x78) /**< Other musical device */
-#define IEC958_AES1_CON_ADC_MASK 0x1f /**< ADC Mask */
-#define IEC958_AES1_CON_ADC_ID 0x06 /**< ADC ID */
-#define IEC958_AES1_CON_ADC (IEC958_AES1_CON_ADC_ID|0x00) /**< ADC without copyright information */
-#define IEC958_AES1_CON_ADC_OTHER (IEC958_AES1_CON_ADC_ID|0x60) /**< Other ADC product (with no copyright information) */
-#define IEC958_AES1_CON_ADC_COPYRIGHT_MASK 0x1f /**< ADC Copyright mask */
-#define IEC958_AES1_CON_ADC_COPYRIGHT_ID 0x16 /**< ADC Copyright ID */
-#define IEC958_AES1_CON_ADC_COPYRIGHT (IEC958_AES1_CON_ADC_COPYRIGHT_ID|0x00) /**< ADC with copyright information */
-#define IEC958_AES1_CON_ADC_COPYRIGHT_OTHER (IEC958_AES1_CON_ADC_COPYRIGHT_ID|0x60) /**< Other ADC with copyright information product */
-#define IEC958_AES1_CON_SOLIDMEM_MASK 0x0f /**< Solid memory based products mask */
-#define IEC958_AES1_CON_SOLIDMEM_ID 0x08 /**< Solid memory based products ID */
-#define IEC958_AES1_CON_SOLIDMEM_DIGITAL_RECORDER_PLAYER (IEC958_AES1_CON_SOLIDMEM_ID|0x00) /**< Digital audio recorder and player using solid state memory */
-#define IEC958_AES1_CON_SOLIDMEM_OTHER (IEC958_AES1_CON_SOLIDMEM_ID|0x70) /**< Other solid state memory based product */
-#define IEC958_AES1_CON_EXPERIMENTAL 0x40 /**< experimental category */
-#define IEC958_AES1_CON_ORIGINAL (1<<7) /**< this bits depends on the category code */
-#define IEC958_AES2_PRO_SBITS (7<<0) /**< mask - sample bits */
-#define IEC958_AES2_PRO_SBITS_20 (2<<0) /**< 20-bit - coordination */
-#define IEC958_AES2_PRO_SBITS_24 (4<<0) /**< 24-bit - main audio */
-#define IEC958_AES2_PRO_SBITS_UDEF (6<<0) /**< user defined application */
-#define IEC958_AES2_PRO_WORDLEN (7<<3) /**< mask - source word length */
-#define IEC958_AES2_PRO_WORDLEN_NOTID (0<<3) /**< source word length not indicated */
-#define IEC958_AES2_PRO_WORDLEN_22_18 (2<<3) /**< 22-bit or 18-bit */
-#define IEC958_AES2_PRO_WORDLEN_23_19 (4<<3) /**< 23-bit or 19-bit */
-#define IEC958_AES2_PRO_WORDLEN_24_20 (5<<3) /**< 24-bit or 20-bit */
-#define IEC958_AES2_PRO_WORDLEN_20_16 (6<<3) /**< 20-bit or 16-bit */
-#define IEC958_AES2_CON_SOURCE (15<<0) /**< mask - source number */
-#define IEC958_AES2_CON_SOURCE_UNSPEC (0<<0) /**< source number unspecified */
-#define IEC958_AES2_CON_CHANNEL (15<<4) /**< mask - channel number */
-#define IEC958_AES2_CON_CHANNEL_UNSPEC (0<<4) /**< channel number unspecified */
-#define IEC958_AES3_CON_FS (15<<0) /**< mask - sample frequency */
-#define IEC958_AES3_CON_FS_44100 (0<<0) /**< 44.1kHz */
-#define IEC958_AES3_CON_FS_NOTID (1<<0) /**< sample frequency non indicated */
-#define IEC958_AES3_CON_FS_48000 (2<<0) /**< 48kHz */
-#define IEC958_AES3_CON_FS_32000 (3<<0) /**< 32kHz */
-#define IEC958_AES3_CON_FS_22050 (4<<0) /**< 22.05kHz */
-#define IEC958_AES3_CON_FS_24000 (6<<0) /**< 24kHz */
-#define IEC958_AES3_CON_FS_88200 (8<<0) /**< 88.2kHz */
-#define IEC958_AES3_CON_FS_768000 (9<<0) /**< 768kHz */
-#define IEC958_AES3_CON_FS_96000 (10<<0) /**< 96kHz */
-#define IEC958_AES3_CON_FS_176400 (12<<0) /**< 176.4kHz */
-#define IEC958_AES3_CON_FS_192000 (14<<0) /**< 192kHz */
-#define IEC958_AES3_CON_CLOCK (3<<4) /**< mask - clock accuracy */
-#define IEC958_AES3_CON_CLOCK_1000PPM (0<<4) /**< 1000 ppm */
-#define IEC958_AES3_CON_CLOCK_50PPM (1<<4) /**< 50 ppm */
-#define IEC958_AES3_CON_CLOCK_VARIABLE (2<<4) /**< variable pitch */
-#define IEC958_AES4_CON_MAX_WORDLEN_24 (1<<0) /**< 0 = 20-bit, 1 = 24-bit */
-#define IEC958_AES4_CON_WORDLEN (7<<1) /**< mask - sample word length */
-#define IEC958_AES4_CON_WORDLEN_NOTID (0<<1) /**< not indicated */
-#define IEC958_AES4_CON_WORDLEN_20_16 (1<<1) /**< 20-bit or 16-bit */
-#define IEC958_AES4_CON_WORDLEN_22_18 (2<<1) /**< 22-bit or 18-bit */
-#define IEC958_AES4_CON_WORDLEN_23_19 (4<<1) /**< 23-bit or 19-bit */
-#define IEC958_AES4_CON_WORDLEN_24_20 (5<<1) /**< 24-bit or 20-bit */
-#define IEC958_AES4_CON_WORDLEN_21_17 (6<<1) /**< 21-bit or 17-bit */
-#define IEC958_AES4_CON_ORIGFS (15<<4) /**< mask - original sample frequency */
-#define IEC958_AES4_CON_ORIGFS_NOTID (0<<4) /**< original sample frequency not indicated */
-#define IEC958_AES4_CON_ORIGFS_192000 (1<<4) /**< 192kHz */
-#define IEC958_AES4_CON_ORIGFS_12000 (2<<4) /**< 12kHz */
-#define IEC958_AES4_CON_ORIGFS_176400 (3<<4) /**< 176.4kHz */
-#define IEC958_AES4_CON_ORIGFS_96000 (5<<4) /**< 96kHz */
-#define IEC958_AES4_CON_ORIGFS_8000 (6<<4) /**< 8kHz */
-#define IEC958_AES4_CON_ORIGFS_88200 (7<<4) /**< 88.2kHz */
-#define IEC958_AES4_CON_ORIGFS_16000 (8<<4) /**< 16kHz */
-#define IEC958_AES4_CON_ORIGFS_24000 (9<<4) /**< 24kHz */
-#define IEC958_AES4_CON_ORIGFS_11025 (10<<4) /**< 11.025kHz */
-#define IEC958_AES4_CON_ORIGFS_22050 (11<<4) /**< 22.05kHz */
-#define IEC958_AES4_CON_ORIGFS_32000 (12<<4) /**< 32kHz */
-#define IEC958_AES4_CON_ORIGFS_48000 (13<<4) /**< 48kHz */
-#define IEC958_AES4_CON_ORIGFS_44100 (15<<4) /**< 44.1kHz */
-#define IEC958_AES5_CON_CGMSA (3<<0) /**< mask - CGMS-A */
-#define IEC958_AES5_CON_CGMSA_COPYFREELY (0<<0) /**< copying is permitted without restriction */
-#define IEC958_AES5_CON_CGMSA_COPYONCE (1<<0) /**< one generation of copies may be made */
-#define IEC958_AES5_CON_CGMSA_COPYNOMORE (2<<0) /**< condition not be used */
-#define IEC958_AES5_CON_CGMSA_COPYNEVER (3<<0) /**< no copying is permitted */
-
-/** \} */
-
-/**
- * \defgroup MIDI_Interface Constants for MIDI v1.0
- * Constants for MIDI v1.0.
- * \{
- */
-
-#define MIDI_CHANNELS 16 /**< Number of channels per port/cable. */
-#define MIDI_GM_DRUM_CHANNEL (10-1) /**< Channel number for GM drums. */
-
-/**
- * \defgroup MIDI_Commands MIDI Commands
- * MIDI command codes.
- * \{
- */
-
-#define MIDI_CMD_NOTE_OFF 0x80 /**< note off */
-#define MIDI_CMD_NOTE_ON 0x90 /**< note on */
-#define MIDI_CMD_NOTE_PRESSURE 0xa0 /**< key pressure */
-#define MIDI_CMD_CONTROL 0xb0 /**< control change */
-#define MIDI_CMD_PGM_CHANGE 0xc0 /**< program change */
-#define MIDI_CMD_CHANNEL_PRESSURE 0xd0 /**< channel pressure */
-#define MIDI_CMD_BENDER 0xe0 /**< pitch bender */
-
-#define MIDI_CMD_COMMON_SYSEX 0xf0 /**< sysex (system exclusive) begin */
-#define MIDI_CMD_COMMON_MTC_QUARTER 0xf1 /**< MTC quarter frame */
-#define MIDI_CMD_COMMON_SONG_POS 0xf2 /**< song position */
-#define MIDI_CMD_COMMON_SONG_SELECT 0xf3 /**< song select */
-#define MIDI_CMD_COMMON_TUNE_REQUEST 0xf6 /**< tune request */
-#define MIDI_CMD_COMMON_SYSEX_END 0xf7 /**< end of sysex */
-#define MIDI_CMD_COMMON_CLOCK 0xf8 /**< clock */
-#define MIDI_CMD_COMMON_START 0xfa /**< start */
-#define MIDI_CMD_COMMON_CONTINUE 0xfb /**< continue */
-#define MIDI_CMD_COMMON_STOP 0xfc /**< stop */
-#define MIDI_CMD_COMMON_SENSING 0xfe /**< active sensing */
-#define MIDI_CMD_COMMON_RESET 0xff /**< reset */
-
-/** \} */
-
-/**
- * \defgroup MIDI_Controllers MIDI Controllers
- * MIDI controller numbers.
- * \{
- */
-
-#define MIDI_CTL_MSB_BANK 0x00 /**< Bank selection */
-#define MIDI_CTL_MSB_MODWHEEL 0x01 /**< Modulation */
-#define MIDI_CTL_MSB_BREATH 0x02 /**< Breath */
-#define MIDI_CTL_MSB_FOOT 0x04 /**< Foot */
-#define MIDI_CTL_MSB_PORTAMENTO_TIME 0x05 /**< Portamento time */
-#define MIDI_CTL_MSB_DATA_ENTRY 0x06 /**< Data entry */
-#define MIDI_CTL_MSB_MAIN_VOLUME 0x07 /**< Main volume */
-#define MIDI_CTL_MSB_BALANCE 0x08 /**< Balance */
-#define MIDI_CTL_MSB_PAN 0x0a /**< Panpot */
-#define MIDI_CTL_MSB_EXPRESSION 0x0b /**< Expression */
-#define MIDI_CTL_MSB_EFFECT1 0x0c /**< Effect1 */
-#define MIDI_CTL_MSB_EFFECT2 0x0d /**< Effect2 */
-#define MIDI_CTL_MSB_GENERAL_PURPOSE1 0x10 /**< General purpose 1 */
-#define MIDI_CTL_MSB_GENERAL_PURPOSE2 0x11 /**< General purpose 2 */
-#define MIDI_CTL_MSB_GENERAL_PURPOSE3 0x12 /**< General purpose 3 */
-#define MIDI_CTL_MSB_GENERAL_PURPOSE4 0x13 /**< General purpose 4 */
-#define MIDI_CTL_LSB_BANK 0x20 /**< Bank selection */
-#define MIDI_CTL_LSB_MODWHEEL 0x21 /**< Modulation */
-#define MIDI_CTL_LSB_BREATH 0x22 /**< Breath */
-#define MIDI_CTL_LSB_FOOT 0x24 /**< Foot */
-#define MIDI_CTL_LSB_PORTAMENTO_TIME 0x25 /**< Portamento time */
-#define MIDI_CTL_LSB_DATA_ENTRY 0x26 /**< Data entry */
-#define MIDI_CTL_LSB_MAIN_VOLUME 0x27 /**< Main volume */
-#define MIDI_CTL_LSB_BALANCE 0x28 /**< Balance */
-#define MIDI_CTL_LSB_PAN 0x2a /**< Panpot */
-#define MIDI_CTL_LSB_EXPRESSION 0x2b /**< Expression */
-#define MIDI_CTL_LSB_EFFECT1 0x2c /**< Effect1 */
-#define MIDI_CTL_LSB_EFFECT2 0x2d /**< Effect2 */
-#define MIDI_CTL_LSB_GENERAL_PURPOSE1 0x30 /**< General purpose 1 */
-#define MIDI_CTL_LSB_GENERAL_PURPOSE2 0x31 /**< General purpose 2 */
-#define MIDI_CTL_LSB_GENERAL_PURPOSE3 0x32 /**< General purpose 3 */
-#define MIDI_CTL_LSB_GENERAL_PURPOSE4 0x33 /**< General purpose 4 */
-#define MIDI_CTL_SUSTAIN 0x40 /**< Sustain pedal */
-#define MIDI_CTL_PORTAMENTO 0x41 /**< Portamento */
-#define MIDI_CTL_SOSTENUTO 0x42 /**< Sostenuto */
-#define MIDI_CTL_SUSTENUTO 0x42 /**< Sostenuto (a typo in the older version) */
-#define MIDI_CTL_SOFT_PEDAL 0x43 /**< Soft pedal */
-#define MIDI_CTL_LEGATO_FOOTSWITCH 0x44 /**< Legato foot switch */
-#define MIDI_CTL_HOLD2 0x45 /**< Hold2 */
-#define MIDI_CTL_SC1_SOUND_VARIATION 0x46 /**< SC1 Sound Variation */
-#define MIDI_CTL_SC2_TIMBRE 0x47 /**< SC2 Timbre */
-#define MIDI_CTL_SC3_RELEASE_TIME 0x48 /**< SC3 Release Time */
-#define MIDI_CTL_SC4_ATTACK_TIME 0x49 /**< SC4 Attack Time */
-#define MIDI_CTL_SC5_BRIGHTNESS 0x4a /**< SC5 Brightness */
-#define MIDI_CTL_SC6 0x4b /**< SC6 */
-#define MIDI_CTL_SC7 0x4c /**< SC7 */
-#define MIDI_CTL_SC8 0x4d /**< SC8 */
-#define MIDI_CTL_SC9 0x4e /**< SC9 */
-#define MIDI_CTL_SC10 0x4f /**< SC10 */
-#define MIDI_CTL_GENERAL_PURPOSE5 0x50 /**< General purpose 5 */
-#define MIDI_CTL_GENERAL_PURPOSE6 0x51 /**< General purpose 6 */
-#define MIDI_CTL_GENERAL_PURPOSE7 0x52 /**< General purpose 7 */
-#define MIDI_CTL_GENERAL_PURPOSE8 0x53 /**< General purpose 8 */
-#define MIDI_CTL_PORTAMENTO_CONTROL 0x54 /**< Portamento control */
-#define MIDI_CTL_E1_REVERB_DEPTH 0x5b /**< E1 Reverb Depth */
-#define MIDI_CTL_E2_TREMOLO_DEPTH 0x5c /**< E2 Tremolo Depth */
-#define MIDI_CTL_E3_CHORUS_DEPTH 0x5d /**< E3 Chorus Depth */
-#define MIDI_CTL_E4_DETUNE_DEPTH 0x5e /**< E4 Detune Depth */
-#define MIDI_CTL_E5_PHASER_DEPTH 0x5f /**< E5 Phaser Depth */
-#define MIDI_CTL_DATA_INCREMENT 0x60 /**< Data Increment */
-#define MIDI_CTL_DATA_DECREMENT 0x61 /**< Data Decrement */
-#define MIDI_CTL_NONREG_PARM_NUM_LSB 0x62 /**< Non-registered parameter number */
-#define MIDI_CTL_NONREG_PARM_NUM_MSB 0x63 /**< Non-registered parameter number */
-#define MIDI_CTL_REGIST_PARM_NUM_LSB 0x64 /**< Registered parameter number */
-#define MIDI_CTL_REGIST_PARM_NUM_MSB 0x65 /**< Registered parameter number */
-#define MIDI_CTL_ALL_SOUNDS_OFF 0x78 /**< All sounds off */
-#define MIDI_CTL_RESET_CONTROLLERS 0x79 /**< Reset Controllers */
-#define MIDI_CTL_LOCAL_CONTROL_SWITCH 0x7a /**< Local control switch */
-#define MIDI_CTL_ALL_NOTES_OFF 0x7b /**< All notes off */
-#define MIDI_CTL_OMNI_OFF 0x7c /**< Omni off */
-#define MIDI_CTL_OMNI_ON 0x7d /**< Omni on */
-#define MIDI_CTL_MONO1 0x7e /**< Mono1 */
-#define MIDI_CTL_MONO2 0x7f /**< Mono2 */
-
-/** \} */
-
-/** \} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __ALSA_ASOUNDEF_H */
diff --git a/alsa-lib/include/asoundlib-head.h b/alsa-lib/include/asoundlib-head.h
deleted file mode 100644
index 20c8a68..0000000
--- a/alsa-lib/include/asoundlib-head.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
- * \file include/asoundlib.h
- * \brief Application interface library for the ALSA driver
- * \author Jaroslav Kysela <perex@perex.cz>
- * \author Abramo Bagnara <abramo@alsa-project.org>
- * \author Takashi Iwai <tiwai@suse.de>
- * \date 1998-2001
- *
- * Application interface library for the ALSA driver
- */
-/*
- * This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#ifndef __ASOUNDLIB_H
-#define __ASOUNDLIB_H
-
-#include <unistd.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <fcntl.h>
-#include <assert.h>
-#include <endian.h>
-#include <sys/poll.h>
-#include <errno.h>
-#include <stdarg.h>
-
-#include <alsa/asoundef.h>
-#include <alsa/version.h>
-#include <alsa/global.h>
-#include <alsa/input.h>
-#include <alsa/output.h>
-#include <alsa/error.h>
-#include <alsa/conf.h>
diff --git a/alsa-lib/include/asoundlib-tail.h b/alsa-lib/include/asoundlib-tail.h
deleted file mode 100644
index e20f5ad..0000000
--- a/alsa-lib/include/asoundlib-tail.h
+++ /dev/null
@@ -1,2 +0,0 @@
-
-#endif /* __ASOUNDLIB_H */
diff --git a/alsa-lib/include/asoundlib.h b/alsa-lib/include/asoundlib.h
deleted file mode 100644
index 9fc860a..0000000
--- a/alsa-lib/include/asoundlib.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
- * \file include/asoundlib.h
- * \brief Application interface library for the ALSA driver
- * \author Jaroslav Kysela <perex@perex.cz>
- * \author Abramo Bagnara <abramo@alsa-project.org>
- * \author Takashi Iwai <tiwai@suse.de>
- * \date 1998-2001
- *
- * Application interface library for the ALSA driver
- */
-/*
- * This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#ifndef __ASOUNDLIB_H
-#define __ASOUNDLIB_H
-
-#include <unistd.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <fcntl.h>
-#include <assert.h>
-#include <endian.h>
-#include <sys/poll.h>
-#include <errno.h>
-#include <stdarg.h>
-
-#include <alsa/asoundef.h>
-#include <alsa/version.h>
-#include <alsa/global.h>
-#include <alsa/input.h>
-#include <alsa/output.h>
-#include <alsa/error.h>
-#include <alsa/conf.h>
-#include <alsa/pcm.h>
-#include <alsa/rawmidi.h>
-#include <alsa/timer.h>
-#include <alsa/hwdep.h>
-#include <alsa/control.h>
-#include <alsa/mixer.h>
-#include <alsa/seq_event.h>
-#include <alsa/seq.h>
-#include <alsa/seqmid.h>
-#include <alsa/seq_midi_event.h>
-
-#endif /* __ASOUNDLIB_H */
diff --git a/alsa-lib/include/conf.h b/alsa-lib/include/conf.h
deleted file mode 100644
index 7c0cab0..0000000
--- a/alsa-lib/include/conf.h
+++ /dev/null
@@ -1,198 +0,0 @@
-/**
- * \file include/conf.h
- * \brief Application interface library for the ALSA driver
- * \author Jaroslav Kysela <perex@perex.cz>
- * \author Abramo Bagnara <abramo@alsa-project.org>
- * \author Takashi Iwai <tiwai@suse.de>
- * \date 1998-2001
- *
- * Application interface library for the ALSA driver
- */
-/*
- * This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#ifndef __ALSA_CONF_H
-#define __ALSA_CONF_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * \defgroup Config Configuration Interface
- * The configuration functions and types allow you to read, enumerate,
- * modify and write the contents of ALSA configuration files.
- * \{
- */
-
-/** \brief \c dlsym version for the config evaluate callback. */
-#define SND_CONFIG_DLSYM_VERSION_EVALUATE _dlsym_config_evaluate_001
-/** \brief \c dlsym version for the config hook callback. */
-#define SND_CONFIG_DLSYM_VERSION_HOOK _dlsym_config_hook_001
-
-/** Configuration node type. */
-typedef enum _snd_config_type {
- /** Integer number. */
- SND_CONFIG_TYPE_INTEGER,
- /** 64 bit Integer number. */
- SND_CONFIG_TYPE_INTEGER64,
- /** Real number. */
- SND_CONFIG_TYPE_REAL,
- /** Character string. */
- SND_CONFIG_TYPE_STRING,
- /** Pointer (runtime only, cannot be saved). */
- SND_CONFIG_TYPE_POINTER,
- /** Compound node. */
- SND_CONFIG_TYPE_COMPOUND = 1024
-} snd_config_type_t;
-
-/**
- * \brief Internal structure for a configuration node object.
- *
- * The ALSA library uses a pointer to this structure as a handle to a
- * configuration node. Applications don't access its contents directly.
- */
-typedef struct _snd_config snd_config_t;
-/**
- * \brief Type for a configuration compound iterator.
- *
- * The ALSA library uses this pointer type as a handle to a configuration
- * compound iterator. Applications don't directly access the contents of
- * the structure pointed to by this type.
- */
-typedef struct _snd_config_iterator *snd_config_iterator_t;
-/**
- * \brief Internal structure for a configuration private update object.
- *
- * The ALSA library uses this structure to save private update information.
- */
-typedef struct _snd_config_update snd_config_update_t;
-
-extern snd_config_t *snd_config;
-
-int snd_config_top(snd_config_t **config);
-
-int snd_config_load(snd_config_t *config, snd_input_t *in);
-int snd_config_load_override(snd_config_t *config, snd_input_t *in);
-int snd_config_save(snd_config_t *config, snd_output_t *out);
-int snd_config_update(void);
-int snd_config_update_r(snd_config_t **top, snd_config_update_t **update, const char *path);
-int snd_config_update_free(snd_config_update_t *update);
-int snd_config_update_free_global(void);
-
-int snd_config_search(snd_config_t *config, const char *key,
- snd_config_t **result);
-int snd_config_searchv(snd_config_t *config,
- snd_config_t **result, ...);
-int snd_config_search_definition(snd_config_t *config,
- const char *base, const char *key,
- snd_config_t **result);
-
-int snd_config_expand(snd_config_t *config, snd_config_t *root,
- const char *args, snd_config_t *private_data,
- snd_config_t **result);
-int snd_config_evaluate(snd_config_t *config, snd_config_t *root,
- snd_config_t *private_data, snd_config_t **result);
-
-int snd_config_add(snd_config_t *config, snd_config_t *leaf);
-int snd_config_delete(snd_config_t *config);
-int snd_config_delete_compound_members(const snd_config_t *config);
-int snd_config_copy(snd_config_t **dst, snd_config_t *src);
-
-int snd_config_make(snd_config_t **config, const char *key,
- snd_config_type_t type);
-int snd_config_make_integer(snd_config_t **config, const char *key);
-int snd_config_make_integer64(snd_config_t **config, const char *key);
-int snd_config_make_real(snd_config_t **config, const char *key);
-int snd_config_make_string(snd_config_t **config, const char *key);
-int snd_config_make_pointer(snd_config_t **config, const char *key);
-int snd_config_make_compound(snd_config_t **config, const char *key, int join);
-
-int snd_config_imake_integer(snd_config_t **config, const char *key, const long value);
-int snd_config_imake_integer64(snd_config_t **config, const char *key, const long long value);
-int snd_config_imake_real(snd_config_t **config, const char *key, const double value);
-int snd_config_imake_string(snd_config_t **config, const char *key, const char *ascii);
-int snd_config_imake_pointer(snd_config_t **config, const char *key, const void *ptr);
-
-snd_config_type_t snd_config_get_type(const snd_config_t *config);
-
-int snd_config_set_id(snd_config_t *config, const char *id);
-int snd_config_set_integer(snd_config_t *config, long value);
-int snd_config_set_integer64(snd_config_t *config, long long value);
-int snd_config_set_real(snd_config_t *config, double value);
-int snd_config_set_string(snd_config_t *config, const char *value);
-int snd_config_set_ascii(snd_config_t *config, const char *ascii);
-int snd_config_set_pointer(snd_config_t *config, const void *ptr);
-int snd_config_get_id(const snd_config_t *config, const char **value);
-int snd_config_get_integer(const snd_config_t *config, long *value);
-int snd_config_get_integer64(const snd_config_t *config, long long *value);
-int snd_config_get_real(const snd_config_t *config, double *value);
-int snd_config_get_ireal(const snd_config_t *config, double *value);
-int snd_config_get_string(const snd_config_t *config, const char **value);
-int snd_config_get_ascii(const snd_config_t *config, char **value);
-int snd_config_get_pointer(const snd_config_t *config, const void **value);
-int snd_config_test_id(const snd_config_t *config, const char *id);
-
-snd_config_iterator_t snd_config_iterator_first(const snd_config_t *node);
-snd_config_iterator_t snd_config_iterator_next(const snd_config_iterator_t iterator);
-snd_config_iterator_t snd_config_iterator_end(const snd_config_t *node);
-snd_config_t *snd_config_iterator_entry(const snd_config_iterator_t iterator);
-
-/**
- * \brief Helper macro to iterate over the children of a compound node.
- * \param pos Iterator variable for the current node.
- * \param next Iterator variable for the next node.
- * \param node Handle to the compound configuration node to iterate over.
- *
- * This macro is designed to permit the removal of the current node.
- */
-#define snd_config_for_each(pos, next, node) \
- for (pos = snd_config_iterator_first(node), next = snd_config_iterator_next(pos); pos != snd_config_iterator_end(node); pos = next, next = snd_config_iterator_next(pos))
-
-/* Misc functions */
-
-int snd_config_get_bool_ascii(const char *ascii);
-int snd_config_get_bool(const snd_config_t *conf);
-int snd_config_get_ctl_iface_ascii(const char *ascii);
-int snd_config_get_ctl_iface(const snd_config_t *conf);
-
-/* Names functions */
-
-/**
- * Device-name list element
- */
-typedef struct snd_devname snd_devname_t;
-
-/**
- * Device-name list element (definition)
- */
-struct snd_devname {
- char *name; /**< Device name string */
- char *comment; /**< Comments */
- snd_devname_t *next; /**< Next pointer */
-};
-
-int snd_names_list(const char *iface, snd_devname_t **list);
-void snd_names_list_free(snd_devname_t *list);
-
-/** \} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __ALSA_CONF_H */
diff --git a/alsa-lib/include/config.h b/alsa-lib/include/config.h
deleted file mode 100755
index e743490..0000000
--- a/alsa-lib/include/config.h
+++ /dev/null
@@ -1,165 +0,0 @@
-/* include/config.h. Generated from config.h.in by configure. */
-/* include/config.h.in. Generated from configure.in by autoheader. */
-
-/* Directory with aload* device files */
-#ifndef ALOAD_DEVICE_DIRECTORY
-#define ALOAD_DEVICE_DIRECTORY "/dev/"
-#endif
-
-/* directory containing ALSA configuration database */
-#ifndef ALSA_CONFIG_DIR
-#define ALSA_CONFIG_DIR "/usr/share/alsa"
-#endif
-
-/* Enable assert at error message handler */
-/* #undef ALSA_DEBUG_ASSERT */
-
-/* Directory with ALSA device files */
-#ifndef ALSA_DEVICE_DIRECTORY
-#define ALSA_DEVICE_DIRECTORY "/dev/snd/"
-#endif
-
-/* directory containing ALSA add-on modules */
-#ifndef ALSA_PLUGIN_DIR
-#define ALSA_PLUGIN_DIR "/usr/lib/alsa-lib"
-#endif
-
-/* Build hwdep component */
-#define BUILD_HWDEP "1"
-
-/* Build mixer component */
-#define BUILD_MIXER "1"
-
-/* Build PCM component */
-#define BUILD_PCM "1"
-
-/* Build PCM adpcm plugin */
-/* #undef BUILD_PCM_PLUGIN_ADPCM */
-
-/* Build PCM alaw plugin */
-/* #undef BUILD_PCM_PLUGIN_ALAW */
-
-/* Build PCM lfloat plugin */
-/* #undef BUILD_PCM_PLUGIN_LFLOAT */
-
-/* Build PCM mulaw plugin */
-/* #undef BUILD_PCM_PLUGIN_MULAW */
-
-/* Build PCM rate plugin */
-#define BUILD_PCM_PLUGIN_RATE "1"
-
-/* Build PCM route plugin */
-/* #undef BUILD_PCM_PLUGIN_ROUTE */
-
-/* Build raw MIDI component */
-/* #undef BUILD_RAWMIDI */
-
-/* Build sequencer component */
-/* #undef BUILD_SEQ */
-
-/* Have clock gettime */
-/* #undef HAVE_CLOCK_GETTIME */
-
-/* Define to 1 if you have the <dlfcn.h> header file. */
-#define HAVE_DLFCN_H 1
-
-/* Define to 1 if you have the <inttypes.h> header file. */
-#define HAVE_INTTYPES_H 1
-
-/* Have libdl */
-#define HAVE_LIBDL 1
-
-/* Have libpthread */
-#define HAVE_LIBPTHREAD 1
-
-/* Define to 1 if you have the `resmgr' library (-lresmgr). */
-/* #undef HAVE_LIBRESMGR */
-
-/* Have librt */
-/* #undef HAVE_LIBRT */
-
-/* Define to 1 if you have the <memory.h> header file. */
-#define HAVE_MEMORY_H 1
-
-/* Avoid calculation in float */
-#define HAVE_SOFT_FLOAT "1"
-
-/* Define to 1 if you have the <stdint.h> header file. */
-#define HAVE_STDINT_H 1
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#define HAVE_STDLIB_H 1
-
-/* Define to 1 if you have the <strings.h> header file. */
-#define HAVE_STRINGS_H 1
-
-/* Define to 1 if you have the <string.h> header file. */
-#define HAVE_STRING_H 1
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
-#define HAVE_SYS_STAT_H 1
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-#define HAVE_SYS_TYPES_H 1
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#define HAVE_UNISTD_H 1
-
-/* Define to 1 if you have the <wordexp.h> header file. */
-/* #undef HAVE_WORDEXP_H */
-
-/* No assert debug */
-#ifndef NDEBUG
-#define NDEBUG
-#endif
-
-/* Name of package */
-#define PACKAGE "alsa-lib"
-
-/* Define to the address where bug reports for this package should be sent. */
-#define PACKAGE_BUGREPORT ""
-
-/* Define to the full name of this package. */
-#define PACKAGE_NAME ""
-
-/* Define to the full name and version of this package. */
-#define PACKAGE_STRING ""
-
-/* Define to the one symbol short name of this package. */
-#define PACKAGE_TARNAME ""
-
-/* Define to the version of this package. */
-#define PACKAGE_VERSION ""
-
-/* Define to 1 if you have the ANSI C header files. */
-#define STDC_HEADERS 1
-
-/* Support /dev/aload* access for auto-loading */
-#define SUPPORT_ALOAD "1"
-
-/* Support resmgr with alsa-lib */
-/* #undef SUPPORT_RESMGR */
-
-/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
-#define TIME_WITH_SYS_TIME 1
-
-/* directory to put tmp socket files */
-#define TMPDIR "/tmp"
-
-/* sound library version string */
-#define VERSION "1.0.16"
-
-/* compiled with versioned symbols */
-/* #undef VERSIONED_SYMBOLS */
-
-/* Toolchain Symbol Prefix */
-#define __SYMBOL_PREFIX ""
-
-/* Define to empty if `const' does not conform to ANSI C. */
-/* #undef const */
-
-/* Define to `__inline__' or `__inline' if that's what the C compiler
- calls it, or to nothing if 'inline' is not supported under any name. */
-#ifndef __cplusplus
-/* #undef inline */
-#endif
diff --git a/alsa-lib/include/config.h.in b/alsa-lib/include/config.h.in
deleted file mode 100644
index d20667f..0000000
--- a/alsa-lib/include/config.h.in
+++ /dev/null
@@ -1,157 +0,0 @@
-/* include/config.h.in. Generated from configure.in by autoheader. */
-
-/* Directory with aload* device files */
-#undef ALOAD_DEVICE_DIRECTORY
-
-/* directory containing ALSA configuration database */
-#undef ALSA_CONFIG_DIR
-
-/* Enable assert at error message handler */
-#undef ALSA_DEBUG_ASSERT
-
-/* Directory with ALSA device files */
-#undef ALSA_DEVICE_DIRECTORY
-
-/* directory containing ALSA add-on modules */
-#undef ALSA_PLUGIN_DIR
-
-/* Build hwdep component */
-#undef BUILD_HWDEP
-
-/* Build mixer component */
-#undef BUILD_MIXER
-
-/* Build PCM component */
-#undef BUILD_PCM
-
-/* Build PCM adpcm plugin */
-#undef BUILD_PCM_PLUGIN_ADPCM
-
-/* Build PCM alaw plugin */
-#undef BUILD_PCM_PLUGIN_ALAW
-
-/* Build PCM lfloat plugin */
-#undef BUILD_PCM_PLUGIN_LFLOAT
-
-/* Build PCM mmap-emul plugin */
-#undef BUILD_PCM_PLUGIN_MMAP_EMUL
-
-/* Build PCM mulaw plugin */
-#undef BUILD_PCM_PLUGIN_MULAW
-
-/* Build PCM rate plugin */
-#undef BUILD_PCM_PLUGIN_RATE
-
-/* Build PCM route plugin */
-#undef BUILD_PCM_PLUGIN_ROUTE
-
-/* Build raw MIDI component */
-#undef BUILD_RAWMIDI
-
-/* Build sequencer component */
-#undef BUILD_SEQ
-
-/* Have clock gettime */
-#undef HAVE_CLOCK_GETTIME
-
-/* Define to 1 if you have the <dlfcn.h> header file. */
-#undef HAVE_DLFCN_H
-
-/* Define to 1 if you have the <inttypes.h> header file. */
-#undef HAVE_INTTYPES_H
-
-/* Have libdl */
-#undef HAVE_LIBDL
-
-/* Have libpthread */
-#undef HAVE_LIBPTHREAD
-
-/* Define to 1 if you have the `resmgr' library (-lresmgr). */
-#undef HAVE_LIBRESMGR
-
-/* Have librt */
-#undef HAVE_LIBRT
-
-/* Define to 1 if you have the <memory.h> header file. */
-#undef HAVE_MEMORY_H
-
-/* Avoid calculation in float */
-#undef HAVE_SOFT_FLOAT
-
-/* Define to 1 if you have the <stdint.h> header file. */
-#undef HAVE_STDINT_H
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#undef HAVE_STDLIB_H
-
-/* Define to 1 if you have the <strings.h> header file. */
-#undef HAVE_STRINGS_H
-
-/* Define to 1 if you have the <string.h> header file. */
-#undef HAVE_STRING_H
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
-#undef HAVE_SYS_STAT_H
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-#undef HAVE_SYS_TYPES_H
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#undef HAVE_UNISTD_H
-
-/* Define to 1 if you have the <wordexp.h> header file. */
-#undef HAVE_WORDEXP_H
-
-/* No assert debug */
-#undef NDEBUG
-
-/* Name of package */
-#undef PACKAGE
-
-/* Define to the address where bug reports for this package should be sent. */
-#undef PACKAGE_BUGREPORT
-
-/* Define to the full name of this package. */
-#undef PACKAGE_NAME
-
-/* Define to the full name and version of this package. */
-#undef PACKAGE_STRING
-
-/* Define to the one symbol short name of this package. */
-#undef PACKAGE_TARNAME
-
-/* Define to the version of this package. */
-#undef PACKAGE_VERSION
-
-/* Define to 1 if you have the ANSI C header files. */
-#undef STDC_HEADERS
-
-/* Support /dev/aload* access for auto-loading */
-#undef SUPPORT_ALOAD
-
-/* Support resmgr with alsa-lib */
-#undef SUPPORT_RESMGR
-
-/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
-#undef TIME_WITH_SYS_TIME
-
-/* directory to put tmp socket files */
-#undef TMPDIR
-
-/* sound library version string */
-#undef VERSION
-
-/* compiled with versioned symbols */
-#undef VERSIONED_SYMBOLS
-
-/* Toolchain Symbol Prefix */
-#undef __SYMBOL_PREFIX
-
-/* Define to empty if `const' does not conform to ANSI C. */
-#undef const
-
-/* Define to `__inline__' or `__inline' if that's what the C compiler
- calls it, or to nothing if 'inline' is not supported under any name. */
-#ifndef __cplusplus
-#undef inline
-#endif
diff --git a/alsa-lib/include/control.h b/alsa-lib/include/control.h
deleted file mode 100644
index 2361dc3..0000000
--- a/alsa-lib/include/control.h
+++ /dev/null
@@ -1,576 +0,0 @@
-/**
- * \file include/control.h
- * \brief Application interface library for the ALSA driver
- * \author Jaroslav Kysela <perex@perex.cz>
- * \author Abramo Bagnara <abramo@alsa-project.org>
- * \author Takashi Iwai <tiwai@suse.de>
- * \date 1998-2001
- *
- * Application interface library for the ALSA driver
- */
-/*
- * This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#ifndef __ALSA_CONTROL_H
-#define __ALSA_CONTROL_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * \defgroup Control Control Interface
- * The control interface.
- * See \ref control page for more details.
- * \{
- */
-
-/** dlsym version for interface entry callback */
-#define SND_CONTROL_DLSYM_VERSION _dlsym_control_001
-
-/** IEC958 structure */
-typedef struct snd_aes_iec958 {
- unsigned char status[24]; /**< AES/IEC958 channel status bits */
- unsigned char subcode[147]; /**< AES/IEC958 subcode bits */
- unsigned char pad; /**< nothing */
- unsigned char dig_subframe[4]; /**< AES/IEC958 subframe bits */
-} snd_aes_iec958_t;
-
-/** CTL card info container */
-typedef struct _snd_ctl_card_info snd_ctl_card_info_t;
-
-/** CTL element identifier container */
-typedef struct _snd_ctl_elem_id snd_ctl_elem_id_t;
-
-/** CTL element identifier list container */
-typedef struct _snd_ctl_elem_list snd_ctl_elem_list_t;
-
-/** CTL element info container */
-typedef struct _snd_ctl_elem_info snd_ctl_elem_info_t;
-
-/** CTL element value container */
-typedef struct _snd_ctl_elem_value snd_ctl_elem_value_t;
-
-/** CTL event container */
-typedef struct _snd_ctl_event snd_ctl_event_t;
-
-/** CTL element type */
-typedef enum _snd_ctl_elem_type {
- /** Invalid type */
- SND_CTL_ELEM_TYPE_NONE = 0,
- /** Boolean contents */
- SND_CTL_ELEM_TYPE_BOOLEAN,
- /** Integer contents */
- SND_CTL_ELEM_TYPE_INTEGER,
- /** Enumerated contents */
- SND_CTL_ELEM_TYPE_ENUMERATED,
- /** Bytes contents */
- SND_CTL_ELEM_TYPE_BYTES,
- /** IEC958 (S/PDIF) setting content */
- SND_CTL_ELEM_TYPE_IEC958,
- /** 64-bit integer contents */
- SND_CTL_ELEM_TYPE_INTEGER64,
- SND_CTL_ELEM_TYPE_LAST = SND_CTL_ELEM_TYPE_INTEGER64
-} snd_ctl_elem_type_t;
-
-/** CTL related interface */
-typedef enum _snd_ctl_elem_iface {
- /** Card level */
- SND_CTL_ELEM_IFACE_CARD = 0,
- /** Hardware dependent device */
- SND_CTL_ELEM_IFACE_HWDEP,
- /** Mixer */
- SND_CTL_ELEM_IFACE_MIXER,
- /** PCM */
- SND_CTL_ELEM_IFACE_PCM,
- /** RawMidi */
- SND_CTL_ELEM_IFACE_RAWMIDI,
- /** Timer */
- SND_CTL_ELEM_IFACE_TIMER,
- /** Sequencer */
- SND_CTL_ELEM_IFACE_SEQUENCER,
- SND_CTL_ELEM_IFACE_LAST = SND_CTL_ELEM_IFACE_SEQUENCER
-} snd_ctl_elem_iface_t;
-
-/** Event class */
-typedef enum _snd_ctl_event_type {
- /** Elements related event */
- SND_CTL_EVENT_ELEM = 0,
- SND_CTL_EVENT_LAST = SND_CTL_EVENT_ELEM
-}snd_ctl_event_type_t;
-
-/** Element has been removed (Warning: test this first and if set don't
- * test the other masks) \hideinitializer */
-#define SND_CTL_EVENT_MASK_REMOVE (~0U)
-/** Element value has been changed \hideinitializer */
-#define SND_CTL_EVENT_MASK_VALUE (1<<0)
-/** Element info has been changed \hideinitializer */
-#define SND_CTL_EVENT_MASK_INFO (1<<1)
-/** Element has been added \hideinitializer */
-#define SND_CTL_EVENT_MASK_ADD (1<<2)
-/** Element's TLV value has been changed \hideinitializer */
-#define SND_CTL_EVENT_MASK_TLV (1<<3)
-
-/** CTL name helper */
-#define SND_CTL_NAME_NONE ""
-/** CTL name helper */
-#define SND_CTL_NAME_PLAYBACK "Playback "
-/** CTL name helper */
-#define SND_CTL_NAME_CAPTURE "Capture "
-
-/** CTL name helper */
-#define SND_CTL_NAME_IEC958_NONE ""
-/** CTL name helper */
-#define SND_CTL_NAME_IEC958_SWITCH "Switch"
-/** CTL name helper */
-#define SND_CTL_NAME_IEC958_VOLUME "Volume"
-/** CTL name helper */
-#define SND_CTL_NAME_IEC958_DEFAULT "Default"
-/** CTL name helper */
-#define SND_CTL_NAME_IEC958_MASK "Mask"
-/** CTL name helper */
-#define SND_CTL_NAME_IEC958_CON_MASK "Con Mask"
-/** CTL name helper */
-#define SND_CTL_NAME_IEC958_PRO_MASK "Pro Mask"
-/** CTL name helper */
-#define SND_CTL_NAME_IEC958_PCM_STREAM "PCM Stream"
-/** Element name for IEC958 (S/PDIF) */
-#define SND_CTL_NAME_IEC958(expl,direction,what) "IEC958 " expl SND_CTL_NAME_##direction SND_CTL_NAME_IEC958_##what
-
-/** Mask for the major Power State identifier */
-#define SND_CTL_POWER_MASK 0xff00
-/** ACPI/PCI Power State D0 */
-#define SND_CTL_POWER_D0 0x0000
-/** ACPI/PCI Power State D1 */
-#define SND_CTL_POWER_D1 0x0100
-/** ACPI/PCI Power State D2 */
-#define SND_CTL_POWER_D2 0x0200
-/** ACPI/PCI Power State D3 */
-#define SND_CTL_POWER_D3 0x0300
-/** ACPI/PCI Power State D3hot */
-#define SND_CTL_POWER_D3hot (SND_CTL_POWER_D3|0x0000)
-/** ACPI/PCI Power State D3cold */
-#define SND_CTL_POWER_D3cold (SND_CTL_POWER_D3|0x0001)
-
-/** TLV type - Container */
-#define SND_CTL_TLVT_CONTAINER 0x0000
-/** TLV type - basic dB scale */
-#define SND_CTL_TLVT_DB_SCALE 0x0001
-/** TLV type - linear volume */
-#define SND_CTL_TLVT_DB_LINEAR 0x0002
-/** TLV type - dB range container */
-#define SND_CTL_TLVT_DB_RANGE 0x0003
-
-/** Mute state */
-#define SND_CTL_TLV_DB_GAIN_MUTE -9999999
-
-/** CTL type */
-typedef enum _snd_ctl_type {
- /** Kernel level CTL */
- SND_CTL_TYPE_HW,
- /** Shared memory client CTL */
- SND_CTL_TYPE_SHM,
- /** INET client CTL (not yet implemented) */
- SND_CTL_TYPE_INET,
- /** External control plugin */
- SND_CTL_TYPE_EXT
-} snd_ctl_type_t;
-
-/** Non blocking mode (flag for open mode) \hideinitializer */
-#define SND_CTL_NONBLOCK 0x0001
-
-/** Async notification (flag for open mode) \hideinitializer */
-#define SND_CTL_ASYNC 0x0002
-
-/** Read only (flag for open mode) \hideinitializer */
-#define SND_CTL_READONLY 0x0004
-
-/** CTL handle */
-typedef struct _snd_ctl snd_ctl_t;
-
-/** Don't destroy the ctl handle when close */
-#define SND_SCTL_NOFREE 0x0001
-
-/** SCTL type */
-typedef struct _snd_sctl snd_sctl_t;
-
-int snd_card_load(int card);
-int snd_card_next(int *card);
-int snd_card_get_index(const char *name);
-int snd_card_get_name(int card, char **name);
-int snd_card_get_longname(int card, char **name);
-
-int snd_device_name_hint(int card, const char *iface, void ***hints);
-int snd_device_name_free_hint(void **hints);
-char *snd_device_name_get_hint(const void *hint, const char *id);
-
-int snd_ctl_open(snd_ctl_t **ctl, const char *name, int mode);
-int snd_ctl_open_lconf(snd_ctl_t **ctl, const char *name, int mode, snd_config_t *lconf);
-int snd_ctl_close(snd_ctl_t *ctl);
-int snd_ctl_nonblock(snd_ctl_t *ctl, int nonblock);
-int snd_async_add_ctl_handler(snd_async_handler_t **handler, snd_ctl_t *ctl,
- snd_async_callback_t callback, void *private_data);
-snd_ctl_t *snd_async_handler_get_ctl(snd_async_handler_t *handler);
-int snd_ctl_poll_descriptors_count(snd_ctl_t *ctl);
-int snd_ctl_poll_descriptors(snd_ctl_t *ctl, struct pollfd *pfds, unsigned int space);
-int snd_ctl_poll_descriptors_revents(snd_ctl_t *ctl, struct pollfd *pfds, unsigned int nfds, unsigned short *revents);
-int snd_ctl_subscribe_events(snd_ctl_t *ctl, int subscribe);
-int snd_ctl_card_info(snd_ctl_t *ctl, snd_ctl_card_info_t *info);
-int snd_ctl_elem_list(snd_ctl_t *ctl, snd_ctl_elem_list_t *list);
-int snd_ctl_elem_info(snd_ctl_t *ctl, snd_ctl_elem_info_t *info);
-int snd_ctl_elem_read(snd_ctl_t *ctl, snd_ctl_elem_value_t *value);
-int snd_ctl_elem_write(snd_ctl_t *ctl, snd_ctl_elem_value_t *value);
-int snd_ctl_elem_lock(snd_ctl_t *ctl, snd_ctl_elem_id_t *id);
-int snd_ctl_elem_unlock(snd_ctl_t *ctl, snd_ctl_elem_id_t *id);
-int snd_ctl_elem_tlv_read(snd_ctl_t *ctl, const snd_ctl_elem_id_t *id,
- unsigned int *tlv, unsigned int tlv_size);
-int snd_ctl_elem_tlv_write(snd_ctl_t *ctl, const snd_ctl_elem_id_t *id,
- const unsigned int *tlv);
-int snd_ctl_elem_tlv_command(snd_ctl_t *ctl, const snd_ctl_elem_id_t *id,
- const unsigned int *tlv);
-#ifdef __ALSA_HWDEP_H
-int snd_ctl_hwdep_next_device(snd_ctl_t *ctl, int * device);
-int snd_ctl_hwdep_info(snd_ctl_t *ctl, snd_hwdep_info_t * info);
-#endif
-#ifdef __ALSA_PCM_H
-int snd_ctl_pcm_next_device(snd_ctl_t *ctl, int *device);
-int snd_ctl_pcm_info(snd_ctl_t *ctl, snd_pcm_info_t * info);
-int snd_ctl_pcm_prefer_subdevice(snd_ctl_t *ctl, int subdev);
-#endif
-#ifdef __ALSA_RAWMIDI_H
-int snd_ctl_rawmidi_next_device(snd_ctl_t *ctl, int * device);
-int snd_ctl_rawmidi_info(snd_ctl_t *ctl, snd_rawmidi_info_t * info);
-int snd_ctl_rawmidi_prefer_subdevice(snd_ctl_t *ctl, int subdev);
-#endif
-int snd_ctl_set_power_state(snd_ctl_t *ctl, unsigned int state);
-int snd_ctl_get_power_state(snd_ctl_t *ctl, unsigned int *state);
-
-int snd_ctl_read(snd_ctl_t *ctl, snd_ctl_event_t *event);
-int snd_ctl_wait(snd_ctl_t *ctl, int timeout);
-const char *snd_ctl_name(snd_ctl_t *ctl);
-snd_ctl_type_t snd_ctl_type(snd_ctl_t *ctl);
-
-const char *snd_ctl_elem_type_name(snd_ctl_elem_type_t type);
-const char *snd_ctl_elem_iface_name(snd_ctl_elem_iface_t iface);
-const char *snd_ctl_event_type_name(snd_ctl_event_type_t type);
-
-unsigned int snd_ctl_event_elem_get_mask(const snd_ctl_event_t *obj);
-unsigned int snd_ctl_event_elem_get_numid(const snd_ctl_event_t *obj);
-void snd_ctl_event_elem_get_id(const snd_ctl_event_t *obj, snd_ctl_elem_id_t *ptr);
-snd_ctl_elem_iface_t snd_ctl_event_elem_get_interface(const snd_ctl_event_t *obj);
-unsigned int snd_ctl_event_elem_get_device(const snd_ctl_event_t *obj);
-unsigned int snd_ctl_event_elem_get_subdevice(const snd_ctl_event_t *obj);
-const char *snd_ctl_event_elem_get_name(const snd_ctl_event_t *obj);
-unsigned int snd_ctl_event_elem_get_index(const snd_ctl_event_t *obj);
-
-int snd_ctl_elem_list_alloc_space(snd_ctl_elem_list_t *obj, unsigned int entries);
-void snd_ctl_elem_list_free_space(snd_ctl_elem_list_t *obj);
-
-size_t snd_ctl_elem_id_sizeof(void);
-/** \hideinitializer
- * \brief allocate an invalid #snd_ctl_elem_id_t using standard alloca
- * \param ptr returned pointer
- */
-#define snd_ctl_elem_id_alloca(ptr) __snd_alloca(ptr, snd_ctl_elem_id)
-int snd_ctl_elem_id_malloc(snd_ctl_elem_id_t **ptr);
-void snd_ctl_elem_id_free(snd_ctl_elem_id_t *obj);
-void snd_ctl_elem_id_clear(snd_ctl_elem_id_t *obj);
-void snd_ctl_elem_id_copy(snd_ctl_elem_id_t *dst, const snd_ctl_elem_id_t *src);
-unsigned int snd_ctl_elem_id_get_numid(const snd_ctl_elem_id_t *obj);
-snd_ctl_elem_iface_t snd_ctl_elem_id_get_interface(const snd_ctl_elem_id_t *obj);
-unsigned int snd_ctl_elem_id_get_device(const snd_ctl_elem_id_t *obj);
-unsigned int snd_ctl_elem_id_get_subdevice(const snd_ctl_elem_id_t *obj);
-const char *snd_ctl_elem_id_get_name(const snd_ctl_elem_id_t *obj);
-unsigned int snd_ctl_elem_id_get_index(const snd_ctl_elem_id_t *obj);
-void snd_ctl_elem_id_set_numid(snd_ctl_elem_id_t *obj, unsigned int val);
-void snd_ctl_elem_id_set_interface(snd_ctl_elem_id_t *obj, snd_ctl_elem_iface_t val);
-void snd_ctl_elem_id_set_device(snd_ctl_elem_id_t *obj, unsigned int val);
-void snd_ctl_elem_id_set_subdevice(snd_ctl_elem_id_t *obj, unsigned int val);
-void snd_ctl_elem_id_set_name(snd_ctl_elem_id_t *obj, const char *val);
-void snd_ctl_elem_id_set_index(snd_ctl_elem_id_t *obj, unsigned int val);
-
-size_t snd_ctl_card_info_sizeof(void);
-/** \hideinitializer
- * \brief allocate an invalid #snd_ctl_card_info_t using standard alloca
- * \param ptr returned pointer
- */
-#define snd_ctl_card_info_alloca(ptr) __snd_alloca(ptr, snd_ctl_card_info)
-int snd_ctl_card_info_malloc(snd_ctl_card_info_t **ptr);
-void snd_ctl_card_info_free(snd_ctl_card_info_t *obj);
-void snd_ctl_card_info_clear(snd_ctl_card_info_t *obj);
-void snd_ctl_card_info_copy(snd_ctl_card_info_t *dst, const snd_ctl_card_info_t *src);
-int snd_ctl_card_info_get_card(const snd_ctl_card_info_t *obj);
-const char *snd_ctl_card_info_get_id(const snd_ctl_card_info_t *obj);
-const char *snd_ctl_card_info_get_driver(const snd_ctl_card_info_t *obj);
-const char *snd_ctl_card_info_get_name(const snd_ctl_card_info_t *obj);
-const char *snd_ctl_card_info_get_longname(const snd_ctl_card_info_t *obj);
-const char *snd_ctl_card_info_get_mixername(const snd_ctl_card_info_t *obj);
-const char *snd_ctl_card_info_get_components(const snd_ctl_card_info_t *obj);
-
-size_t snd_ctl_event_sizeof(void);
-/** \hideinitializer
- * \brief allocate an invalid #snd_ctl_event_t using standard alloca
- * \param ptr returned pointer
- */
-#define snd_ctl_event_alloca(ptr) __snd_alloca(ptr, snd_ctl_event)
-int snd_ctl_event_malloc(snd_ctl_event_t **ptr);
-void snd_ctl_event_free(snd_ctl_event_t *obj);
-void snd_ctl_event_clear(snd_ctl_event_t *obj);
-void snd_ctl_event_copy(snd_ctl_event_t *dst, const snd_ctl_event_t *src);
-snd_ctl_event_type_t snd_ctl_event_get_type(const snd_ctl_event_t *obj);
-
-size_t snd_ctl_elem_list_sizeof(void);
-/** \hideinitializer
- * \brief allocate an invalid #snd_ctl_elem_list_t using standard alloca
- * \param ptr returned pointer
- */
-#define snd_ctl_elem_list_alloca(ptr) __snd_alloca(ptr, snd_ctl_elem_list)
-int snd_ctl_elem_list_malloc(snd_ctl_elem_list_t **ptr);
-void snd_ctl_elem_list_free(snd_ctl_elem_list_t *obj);
-void snd_ctl_elem_list_clear(snd_ctl_elem_list_t *obj);
-void snd_ctl_elem_list_copy(snd_ctl_elem_list_t *dst, const snd_ctl_elem_list_t *src);
-void snd_ctl_elem_list_set_offset(snd_ctl_elem_list_t *obj, unsigned int val);
-unsigned int snd_ctl_elem_list_get_used(const snd_ctl_elem_list_t *obj);
-unsigned int snd_ctl_elem_list_get_count(const snd_ctl_elem_list_t *obj);
-void snd_ctl_elem_list_get_id(const snd_ctl_elem_list_t *obj, unsigned int idx, snd_ctl_elem_id_t *ptr);
-unsigned int snd_ctl_elem_list_get_numid(const snd_ctl_elem_list_t *obj, unsigned int idx);
-snd_ctl_elem_iface_t snd_ctl_elem_list_get_interface(const snd_ctl_elem_list_t *obj, unsigned int idx);
-unsigned int snd_ctl_elem_list_get_device(const snd_ctl_elem_list_t *obj, unsigned int idx);
-unsigned int snd_ctl_elem_list_get_subdevice(const snd_ctl_elem_list_t *obj, unsigned int idx);
-const char *snd_ctl_elem_list_get_name(const snd_ctl_elem_list_t *obj, unsigned int idx);
-unsigned int snd_ctl_elem_list_get_index(const snd_ctl_elem_list_t *obj, unsigned int idx);
-
-size_t snd_ctl_elem_info_sizeof(void);
-/** \hideinitializer
- * \brief allocate an invalid #snd_ctl_elem_info_t using standard alloca
- * \param ptr returned pointer
- */
-#define snd_ctl_elem_info_alloca(ptr) __snd_alloca(ptr, snd_ctl_elem_info)
-int snd_ctl_elem_info_malloc(snd_ctl_elem_info_t **ptr);
-void snd_ctl_elem_info_free(snd_ctl_elem_info_t *obj);
-void snd_ctl_elem_info_clear(snd_ctl_elem_info_t *obj);
-void snd_ctl_elem_info_copy(snd_ctl_elem_info_t *dst, const snd_ctl_elem_info_t *src);
-snd_ctl_elem_type_t snd_ctl_elem_info_get_type(const snd_ctl_elem_info_t *obj);
-int snd_ctl_elem_info_is_readable(const snd_ctl_elem_info_t *obj);
-int snd_ctl_elem_info_is_writable(const snd_ctl_elem_info_t *obj);
-int snd_ctl_elem_info_is_volatile(const snd_ctl_elem_info_t *obj);
-int snd_ctl_elem_info_is_inactive(const snd_ctl_elem_info_t *obj);
-int snd_ctl_elem_info_is_locked(const snd_ctl_elem_info_t *obj);
-int snd_ctl_elem_info_is_tlv_readable(const snd_ctl_elem_info_t *obj);
-int snd_ctl_elem_info_is_tlv_writable(const snd_ctl_elem_info_t *obj);
-int snd_ctl_elem_info_is_tlv_commandable(const snd_ctl_elem_info_t *obj);
-int snd_ctl_elem_info_is_owner(const snd_ctl_elem_info_t *obj);
-int snd_ctl_elem_info_is_user(const snd_ctl_elem_info_t *obj);
-pid_t snd_ctl_elem_info_get_owner(const snd_ctl_elem_info_t *obj);
-unsigned int snd_ctl_elem_info_get_count(const snd_ctl_elem_info_t *obj);
-long snd_ctl_elem_info_get_min(const snd_ctl_elem_info_t *obj);
-long snd_ctl_elem_info_get_max(const snd_ctl_elem_info_t *obj);
-long snd_ctl_elem_info_get_step(const snd_ctl_elem_info_t *obj);
-long long snd_ctl_elem_info_get_min64(const snd_ctl_elem_info_t *obj);
-long long snd_ctl_elem_info_get_max64(const snd_ctl_elem_info_t *obj);
-long long snd_ctl_elem_info_get_step64(const snd_ctl_elem_info_t *obj);
-unsigned int snd_ctl_elem_info_get_items(const snd_ctl_elem_info_t *obj);
-void snd_ctl_elem_info_set_item(snd_ctl_elem_info_t *obj, unsigned int val);
-const char *snd_ctl_elem_info_get_item_name(const snd_ctl_elem_info_t *obj);
-int snd_ctl_elem_info_get_dimensions(const snd_ctl_elem_info_t *obj);
-int snd_ctl_elem_info_get_dimension(const snd_ctl_elem_info_t *obj, unsigned int idx);
-void snd_ctl_elem_info_get_id(const snd_ctl_elem_info_t *obj, snd_ctl_elem_id_t *ptr);
-unsigned int snd_ctl_elem_info_get_numid(const snd_ctl_elem_info_t *obj);
-snd_ctl_elem_iface_t snd_ctl_elem_info_get_interface(const snd_ctl_elem_info_t *obj);
-unsigned int snd_ctl_elem_info_get_device(const snd_ctl_elem_info_t *obj);
-unsigned int snd_ctl_elem_info_get_subdevice(const snd_ctl_elem_info_t *obj);
-const char *snd_ctl_elem_info_get_name(const snd_ctl_elem_info_t *obj);
-unsigned int snd_ctl_elem_info_get_index(const snd_ctl_elem_info_t *obj);
-void snd_ctl_elem_info_set_id(snd_ctl_elem_info_t *obj, const snd_ctl_elem_id_t *ptr);
-void snd_ctl_elem_info_set_numid(snd_ctl_elem_info_t *obj, unsigned int val);
-void snd_ctl_elem_info_set_interface(snd_ctl_elem_info_t *obj, snd_ctl_elem_iface_t val);
-void snd_ctl_elem_info_set_device(snd_ctl_elem_info_t *obj, unsigned int val);
-void snd_ctl_elem_info_set_subdevice(snd_ctl_elem_info_t *obj, unsigned int val);
-void snd_ctl_elem_info_set_name(snd_ctl_elem_info_t *obj, const char *val);
-void snd_ctl_elem_info_set_index(snd_ctl_elem_info_t *obj, unsigned int val);
-
-int snd_ctl_elem_add_integer(snd_ctl_t *ctl, const snd_ctl_elem_id_t *id, unsigned int count, long imin, long imax, long istep);
-int snd_ctl_elem_add_integer64(snd_ctl_t *ctl, const snd_ctl_elem_id_t *id, unsigned int count, long long imin, long long imax, long long istep);
-int snd_ctl_elem_add_boolean(snd_ctl_t *ctl, const snd_ctl_elem_id_t *id, unsigned int count);
-int snd_ctl_elem_add_iec958(snd_ctl_t *ctl, const snd_ctl_elem_id_t *id);
-int snd_ctl_elem_remove(snd_ctl_t *ctl, snd_ctl_elem_id_t *id);
-
-size_t snd_ctl_elem_value_sizeof(void);
-/** \hideinitializer
- * \brief allocate an invalid #snd_ctl_elem_value_t using standard alloca
- * \param ptr returned pointer
- */
-#define snd_ctl_elem_value_alloca(ptr) __snd_alloca(ptr, snd_ctl_elem_value)
-int snd_ctl_elem_value_malloc(snd_ctl_elem_value_t **ptr);
-void snd_ctl_elem_value_free(snd_ctl_elem_value_t *obj);
-void snd_ctl_elem_value_clear(snd_ctl_elem_value_t *obj);
-void snd_ctl_elem_value_copy(snd_ctl_elem_value_t *dst, const snd_ctl_elem_value_t *src);
-void snd_ctl_elem_value_get_id(const snd_ctl_elem_value_t *obj, snd_ctl_elem_id_t *ptr);
-unsigned int snd_ctl_elem_value_get_numid(const snd_ctl_elem_value_t *obj);
-snd_ctl_elem_iface_t snd_ctl_elem_value_get_interface(const snd_ctl_elem_value_t *obj);
-unsigned int snd_ctl_elem_value_get_device(const snd_ctl_elem_value_t *obj);
-unsigned int snd_ctl_elem_value_get_subdevice(const snd_ctl_elem_value_t *obj);
-const char *snd_ctl_elem_value_get_name(const snd_ctl_elem_value_t *obj);
-unsigned int snd_ctl_elem_value_get_index(const snd_ctl_elem_value_t *obj);
-void snd_ctl_elem_value_set_id(snd_ctl_elem_value_t *obj, const snd_ctl_elem_id_t *ptr);
-void snd_ctl_elem_value_set_numid(snd_ctl_elem_value_t *obj, unsigned int val);
-void snd_ctl_elem_value_set_interface(snd_ctl_elem_value_t *obj, snd_ctl_elem_iface_t val);
-void snd_ctl_elem_value_set_device(snd_ctl_elem_value_t *obj, unsigned int val);
-void snd_ctl_elem_value_set_subdevice(snd_ctl_elem_value_t *obj, unsigned int val);
-void snd_ctl_elem_value_set_name(snd_ctl_elem_value_t *obj, const char *val);
-void snd_ctl_elem_value_set_index(snd_ctl_elem_value_t *obj, unsigned int val);
-int snd_ctl_elem_value_get_boolean(const snd_ctl_elem_value_t *obj, unsigned int idx);
-long snd_ctl_elem_value_get_integer(const snd_ctl_elem_value_t *obj, unsigned int idx);
-long long snd_ctl_elem_value_get_integer64(const snd_ctl_elem_value_t *obj, unsigned int idx);
-unsigned int snd_ctl_elem_value_get_enumerated(const snd_ctl_elem_value_t *obj, unsigned int idx);
-unsigned char snd_ctl_elem_value_get_byte(const snd_ctl_elem_value_t *obj, unsigned int idx);
-void snd_ctl_elem_value_set_boolean(snd_ctl_elem_value_t *obj, unsigned int idx, long val);
-void snd_ctl_elem_value_set_integer(snd_ctl_elem_value_t *obj, unsigned int idx, long val);
-void snd_ctl_elem_value_set_integer64(snd_ctl_elem_value_t *obj, unsigned int idx, long long val);
-void snd_ctl_elem_value_set_enumerated(snd_ctl_elem_value_t *obj, unsigned int idx, unsigned int val);
-void snd_ctl_elem_value_set_byte(snd_ctl_elem_value_t *obj, unsigned int idx, unsigned char val);
-void snd_ctl_elem_set_bytes(snd_ctl_elem_value_t *obj, void *data, size_t size);
-const void * snd_ctl_elem_value_get_bytes(const snd_ctl_elem_value_t *obj);
-void snd_ctl_elem_value_get_iec958(const snd_ctl_elem_value_t *obj, snd_aes_iec958_t *ptr);
-void snd_ctl_elem_value_set_iec958(snd_ctl_elem_value_t *obj, const snd_aes_iec958_t *ptr);
-
-int snd_tlv_parse_dB_info(unsigned int *tlv, unsigned int tlv_size,
- unsigned int **db_tlvp);
-int snd_tlv_get_dB_range(unsigned int *tlv, long rangemin, long rangemax,
- long *min, long *max);
-int snd_tlv_convert_to_dB(unsigned int *tlv, long rangemin, long rangemax,
- long volume, long *db_gain);
-int snd_tlv_convert_from_dB(unsigned int *tlv, long rangemin, long rangemax,
- long db_gain, long *value, int xdir);
-int snd_ctl_get_dB_range(snd_ctl_t *ctl, const snd_ctl_elem_id_t *id,
- long *min, long *max);
-int snd_ctl_convert_to_dB(snd_ctl_t *ctl, const snd_ctl_elem_id_t *id,
- long volume, long *db_gain);
-int snd_ctl_convert_from_dB(snd_ctl_t *ctl, const snd_ctl_elem_id_t *id,
- long db_gain, long *value, int xdir);
-
-/**
- * \defgroup HControl High level Control Interface
- * \ingroup Control
- * The high level control interface.
- * See \ref hcontrol page for more details.
- * \{
- */
-
-/** HCTL element handle */
-typedef struct _snd_hctl_elem snd_hctl_elem_t;
-
-/** HCTL handle */
-typedef struct _snd_hctl snd_hctl_t;
-
-/**
- * \brief Compare function for sorting HCTL elements
- * \param e1 First element
- * \param e2 Second element
- * \return -1 if e1 < e2, 0 if e1 == e2, 1 if e1 > e2
- */
-typedef int (*snd_hctl_compare_t)(const snd_hctl_elem_t *e1,
- const snd_hctl_elem_t *e2);
-int snd_hctl_compare_fast(const snd_hctl_elem_t *c1,
- const snd_hctl_elem_t *c2);
-/**
- * \brief HCTL callback function
- * \param hctl HCTL handle
- * \param mask event mask
- * \param elem related HCTL element (if any)
- * \return 0 on success otherwise a negative error code
- */
-typedef int (*snd_hctl_callback_t)(snd_hctl_t *hctl,
- unsigned int mask,
- snd_hctl_elem_t *elem);
-/**
- * \brief HCTL element callback function
- * \param elem HCTL element
- * \param mask event mask
- * \return 0 on success otherwise a negative error code
- */
-typedef int (*snd_hctl_elem_callback_t)(snd_hctl_elem_t *elem,
- unsigned int mask);
-
-int snd_hctl_open(snd_hctl_t **hctl, const char *name, int mode);
-int snd_hctl_open_ctl(snd_hctl_t **hctlp, snd_ctl_t *ctl);
-int snd_hctl_close(snd_hctl_t *hctl);
-int snd_hctl_nonblock(snd_hctl_t *hctl, int nonblock);
-int snd_hctl_poll_descriptors_count(snd_hctl_t *hctl);
-int snd_hctl_poll_descriptors(snd_hctl_t *hctl, struct pollfd *pfds, unsigned int space);
-int snd_hctl_poll_descriptors_revents(snd_hctl_t *ctl, struct pollfd *pfds, unsigned int nfds, unsigned short *revents);
-unsigned int snd_hctl_get_count(snd_hctl_t *hctl);
-int snd_hctl_set_compare(snd_hctl_t *hctl, snd_hctl_compare_t hsort);
-snd_hctl_elem_t *snd_hctl_first_elem(snd_hctl_t *hctl);
-snd_hctl_elem_t *snd_hctl_last_elem(snd_hctl_t *hctl);
-snd_hctl_elem_t *snd_hctl_find_elem(snd_hctl_t *hctl, const snd_ctl_elem_id_t *id);
-void snd_hctl_set_callback(snd_hctl_t *hctl, snd_hctl_callback_t callback);
-void snd_hctl_set_callback_private(snd_hctl_t *hctl, void *data);
-void *snd_hctl_get_callback_private(snd_hctl_t *hctl);
-int snd_hctl_load(snd_hctl_t *hctl);
-int snd_hctl_free(snd_hctl_t *hctl);
-int snd_hctl_handle_events(snd_hctl_t *hctl);
-const char *snd_hctl_name(snd_hctl_t *hctl);
-int snd_hctl_wait(snd_hctl_t *hctl, int timeout);
-snd_ctl_t *snd_hctl_ctl(snd_hctl_t *hctl);
-
-snd_hctl_elem_t *snd_hctl_elem_next(snd_hctl_elem_t *elem);
-snd_hctl_elem_t *snd_hctl_elem_prev(snd_hctl_elem_t *elem);
-int snd_hctl_elem_info(snd_hctl_elem_t *elem, snd_ctl_elem_info_t * info);
-int snd_hctl_elem_read(snd_hctl_elem_t *elem, snd_ctl_elem_value_t * value);
-int snd_hctl_elem_write(snd_hctl_elem_t *elem, snd_ctl_elem_value_t * value);
-int snd_hctl_elem_tlv_read(snd_hctl_elem_t *elem, unsigned int *tlv, unsigned int tlv_size);
-int snd_hctl_elem_tlv_write(snd_hctl_elem_t *elem, const unsigned int *tlv);
-int snd_hctl_elem_tlv_command(snd_hctl_elem_t *elem, const unsigned int *tlv);
-
-snd_hctl_t *snd_hctl_elem_get_hctl(snd_hctl_elem_t *elem);
-
-void snd_hctl_elem_get_id(const snd_hctl_elem_t *obj, snd_ctl_elem_id_t *ptr);
-unsigned int snd_hctl_elem_get_numid(const snd_hctl_elem_t *obj);
-snd_ctl_elem_iface_t snd_hctl_elem_get_interface(const snd_hctl_elem_t *obj);
-unsigned int snd_hctl_elem_get_device(const snd_hctl_elem_t *obj);
-unsigned int snd_hctl_elem_get_subdevice(const snd_hctl_elem_t *obj);
-const char *snd_hctl_elem_get_name(const snd_hctl_elem_t *obj);
-unsigned int snd_hctl_elem_get_index(const snd_hctl_elem_t *obj);
-void snd_hctl_elem_set_callback(snd_hctl_elem_t *obj, snd_hctl_elem_callback_t val);
-void * snd_hctl_elem_get_callback_private(const snd_hctl_elem_t *obj);
-void snd_hctl_elem_set_callback_private(snd_hctl_elem_t *obj, void * val);
-
-/** \} */
-
-/** \} */
-
-/**
- * \defgroup SControl Setup Control Interface
- * \ingroup Control
- * The setup control interface - set or modify control elements from a configuration file.
- * \{
- */
-
-int snd_sctl_build(snd_sctl_t **ctl, snd_ctl_t *handle, snd_config_t *config,
- snd_config_t *private_data, int mode);
-int snd_sctl_free(snd_sctl_t *handle);
-int snd_sctl_install(snd_sctl_t *handle);
-int snd_sctl_remove(snd_sctl_t *handle);
-
-/** \} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __ALSA_CONTROL_H */
diff --git a/alsa-lib/include/control_external.h b/alsa-lib/include/control_external.h
deleted file mode 100644
index 7c066cf..0000000
--- a/alsa-lib/include/control_external.h
+++ /dev/null
@@ -1,265 +0,0 @@
-/**
- * \file include/control_external.h
- * \brief External control plugin SDK
- * \author Takashi Iwai <tiwai@suse.de>
- * \date 2005
- *
- * External control plugin SDK.
- */
-
-/*
- * This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-#ifndef __ALSA_CONTROL_EXTERNAL_H
-#define __ALSA_CONTROL_EXTERNAL_H
-
-#include "control.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * \defgroup CtlPlugin_SDK External Control Plugin SDK
- * \{
- */
-
-/**
- * Define the object entry for external control plugins
- */
-#define SND_CTL_PLUGIN_ENTRY(name) _snd_ctl_##name##_open
-
-/**
- * Define the symbols of the given control plugin with versions
- */
-#define SND_CTL_PLUGIN_SYMBOL(name) SND_DLSYM_BUILD_VERSION(SND_CTL_PLUGIN_ENTRY(name), SND_CONTROL_DLSYM_VERSION);
-
-/**
- * Define the control plugin
- */
-#define SND_CTL_PLUGIN_DEFINE_FUNC(plugin) \
-int SND_CTL_PLUGIN_ENTRY(plugin) (snd_ctl_t **handlep, const char *name,\
- snd_config_t *root, snd_config_t *conf, int mode)
-
-/** External control plugin handle */
-typedef struct snd_ctl_ext snd_ctl_ext_t;
-/** Callback table of control ext */
-typedef struct snd_ctl_ext_callback snd_ctl_ext_callback_t;
-/** Key to access a control pointer */
-typedef unsigned long snd_ctl_ext_key_t;
-
-/*
- * Protocol version
- */
-#define SND_CTL_EXT_VERSION_MAJOR 1 /**< Protocol major version */
-#define SND_CTL_EXT_VERSION_MINOR 0 /**< Protocol minor version */
-#define SND_CTL_EXT_VERSION_TINY 0 /**< Protocol tiny version */
-/**
- * external plugin protocol version
- */
-#define SND_CTL_EXT_VERSION ((SND_CTL_EXT_VERSION_MAJOR<<16) |\
- (SND_CTL_EXT_VERSION_MINOR<<8) |\
- (SND_CTL_EXT_VERSION_TINY))
-
-/** Handle of control ext */
-struct snd_ctl_ext {
- /**
- * protocol version; #SND_CTL_EXT_VERSION must be filled here
- * before calling #snd_ctl_ext_create()
- */
- unsigned int version;
- /**
- * Index of this card; must be filled before calling #snd_ctl_ext_create()
- */
- int card_idx;
- /**
- * ID string of this card; must be filled before calling #snd_ctl_ext_create()
- */
- char id[16];
- /**
- * Driver name of this card; must be filled before calling #snd_ctl_ext_create()
- */
- char driver[16];
- /**
- * short name of this card; must be filled before calling #snd_ctl_ext_create()
- */
- char name[32];
- /**
- * Long name of this card; must be filled before calling #snd_ctl_ext_create()
- */
- char longname[80];
- /**
- * Mixer name of this card; must be filled before calling #snd_ctl_ext_create()
- */
- char mixername[80];
- /**
- * poll descriptor
- */
- int poll_fd;
-
- /**
- * callbacks of this plugin; must be filled before calling #snd_pcm_ioplug_create()
- */
- const snd_ctl_ext_callback_t *callback;
- /**
- * private data, which can be used freely in the driver callbacks
- */
- void *private_data;
- /**
- * control handle filled by #snd_ctl_ext_create()
- */
- snd_ctl_t *handle;
-
- int nonblock; /**< non-block mode; read-only */
- int subscribed; /**< events subscribed; read-only */
-};
-
-/** Callback table of ext */
-struct snd_ctl_ext_callback {
- /**
- * close the control handle; optional
- */
- void (*close)(snd_ctl_ext_t *ext);
- /**
- * return the total number of elements; required
- */
- int (*elem_count)(snd_ctl_ext_t *ext);
- /**
- * return the element id of the given offset (array index); required
- */
- int (*elem_list)(snd_ctl_ext_t *ext, unsigned int offset, snd_ctl_elem_id_t *id);
- /**
- * convert the element id to a search key; required
- */
- snd_ctl_ext_key_t (*find_elem)(snd_ctl_ext_t *ext, const snd_ctl_elem_id_t *id);
- /**
- * the destructor of the key; optional
- */
- void (*free_key)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key);
- /**
- * get the attribute of the element; required
- */
- int (*get_attribute)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key,
- int *type, unsigned int *acc, unsigned int *count);
- /**
- * get the element information of integer type
- */
- int (*get_integer_info)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key,
- long *imin, long *imax, long *istep);
- /**
- * get the element information of integer64 type
- */
- int (*get_integer64_info)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key,
- int64_t *imin, int64_t *imax, int64_t *istep);
- /**
- * get the element information of enumerated type
- */
- int (*get_enumerated_info)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, unsigned int *items);
- /**
- * get the name of the enumerated item
- */
- int (*get_enumerated_name)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, unsigned int item,
- char *name, size_t name_max_len);
- /**
- * read the current values of integer type
- */
- int (*read_integer)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, long *value);
- /**
- * read the current values of integer64 type
- */
- int (*read_integer64)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, int64_t *value);
- /**
- * read the current values of enumerated type
- */
- int (*read_enumerated)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, unsigned int *items);
- /**
- * read the current values of bytes type
- */
- int (*read_bytes)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, unsigned char *data,
- size_t max_bytes);
- /**
- * read the current values of iec958 type
- */
- int (*read_iec958)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, snd_aes_iec958_t *iec958);
- /**
- * update the current values of integer type with the given values
- */
- int (*write_integer)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, long *value);
- /**
- * update the current values of integer64 type with the given values
- */
- int (*write_integer64)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, int64_t *value);
- /**
- * update the current values of enumerated type with the given values
- */
- int (*write_enumerated)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, unsigned int *items);
- /**
- * update the current values of bytes type with the given values
- */
- int (*write_bytes)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, unsigned char *data,
- size_t max_bytes);
- /**
- * update the current values of iec958 type with the given values
- */
- int (*write_iec958)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, snd_aes_iec958_t *iec958);
- /**
- * subscribe/unsubscribe the event notification; optional
- */
- void (*subscribe_events)(snd_ctl_ext_t *ext, int subscribe);
- /**
- * read a pending notification event; optional
- */
- int (*read_event)(snd_ctl_ext_t *ext, snd_ctl_elem_id_t *id, unsigned int *event_mask);
- /**
- * return the number of poll descriptors; optional
- */
- int (*poll_descriptors_count)(snd_ctl_ext_t *ext);
- /**
- * fill the poll descriptors; optional
- */
- int (*poll_descriptors)(snd_ctl_ext_t *ext, struct pollfd *pfds, unsigned int space);
- /**
- * mangle the revents of poll descriptors
- */
- int (*poll_revents)(snd_ctl_ext_t *ext, struct pollfd *pfds, unsigned int nfds, unsigned short *revents);
-};
-
-/**
- * The access type bits stored in get_attribute callback
- */
-typedef enum snd_ctl_ext_access {
- SND_CTL_EXT_ACCESS_READ = (1<<0),
- SND_CTL_EXT_ACCESS_WRITE = (1<<1),
- SND_CTL_EXT_ACCESS_READWRITE = (3<<0),
- SND_CTL_EXT_ACCESS_VOLATILE = (1<<2),
- SND_CTL_EXT_ACCESS_INACTIVE = (1<<8),
-} snd_ctl_ext_access_t;
-
-/**
- * find_elem callback returns this if no matching control element is found
- */
-#define SND_CTL_EXT_KEY_NOT_FOUND (snd_ctl_ext_key_t)(-1)
-
-int snd_ctl_ext_create(snd_ctl_ext_t *ext, const char *name, int mode);
-int snd_ctl_ext_delete(snd_ctl_ext_t *ext);
-
-/** \} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __ALSA_CONTROL_EXTERNAL_H */
diff --git a/alsa-lib/include/error.h b/alsa-lib/include/error.h
deleted file mode 100644
index 6d27083..0000000
--- a/alsa-lib/include/error.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/**
- * \file include/error.h
- * \brief Application interface library for the ALSA driver
- * \author Jaroslav Kysela <perex@perex.cz>
- * \author Abramo Bagnara <abramo@alsa-project.org>
- * \author Takashi Iwai <tiwai@suse.de>
- * \date 1998-2001
- *
- * Application interface library for the ALSA driver
- */
-/*
- * This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#ifndef __ALSA_ERROR_H
-#define __ALSA_ERROR_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * \defgroup Error Error handling
- * Error handling macros and functions.
- * \{
- */
-
-#define SND_ERROR_BEGIN 500000 /**< Lower boundary of sound error codes. */
-#define SND_ERROR_INCOMPATIBLE_VERSION (SND_ERROR_BEGIN+0) /**< Kernel/library protocols are not compatible. */
-#define SND_ERROR_ALISP_NIL (SND_ERROR_BEGIN+1) /**< Lisp encountered an error during acall. */
-
-const char *snd_strerror(int errnum);
-
-/**
- * \brief Error handler callback.
- * \param file Source file name.
- * \param line Line number.
- * \param function Function name.
- * \param err Value of \c errno, or 0 if not relevant.
- * \param fmt \c printf(3) format.
- * \param ... \c printf(3) arguments.
- *
- * A function of this type is called by the ALSA library when an error occurs.
- * This function usually shows the message on the screen, and/or logs it.
- */
-typedef void (*snd_lib_error_handler_t)(const char *file, int line, const char *function, int err, const char *fmt, ...) /* __attribute__ ((format (printf, 5, 6))) */;
-extern snd_lib_error_handler_t snd_lib_error;
-extern int snd_lib_error_set_handler(snd_lib_error_handler_t handler);
-
-#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 95)
-#define SNDERR(...) snd_lib_error(__FILE__, __LINE__, __FUNCTION__, 0, __VA_ARGS__) /**< Shows a sound error message. */
-#define SYSERR(...) snd_lib_error(__FILE__, __LINE__, __FUNCTION__, errno, __VA_ARGS__) /**< Shows a system error message (related to \c errno). */
-#else
-#define SNDERR(args...) snd_lib_error(__FILE__, __LINE__, __FUNCTION__, 0, ##args) /**< Shows a sound error message. */
-#define SYSERR(args...) snd_lib_error(__FILE__, __LINE__, __FUNCTION__, errno, ##args) /**< Shows a system error message (related to \c errno). */
-#endif
-
-/** \} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __ALSA_ERROR_H */
-
diff --git a/alsa-lib/include/global.h b/alsa-lib/include/global.h
deleted file mode 100644
index 3e3680f..0000000
--- a/alsa-lib/include/global.h
+++ /dev/null
@@ -1,159 +0,0 @@
-/**
- * \file include/global.h
- * \brief Application interface library for the ALSA driver
- * \author Jaroslav Kysela <perex@perex.cz>
- * \author Abramo Bagnara <abramo@alsa-project.org>
- * \author Takashi Iwai <tiwai@suse.de>
- * \date 1998-2001
- *
- * Application interface library for the ALSA driver
- */
-/*
- * This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#ifndef __ALSA_GLOBAL_H_
-#define __ALSA_GLOBAL_H_
-
-/* for timeval and timespec */
-#include <time.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * \defgroup Global Global defines and functions
- * Global defines and functions.
- * \par
- * The ALSA library implementation uses these macros and functions.
- * Most applications probably do not need them.
- * \{
- */
-
-const char *snd_asoundlib_version(void);
-
-#ifndef ATTRIBUTE_UNUSED
-/** do not print warning (gcc) when function parameter is not used */
-#define ATTRIBUTE_UNUSED __attribute__ ((__unused__))
-#endif
-
-#ifdef PIC /* dynamic build */
-
-/** \hideinitializer \brief Helper macro for #SND_DLSYM_BUILD_VERSION. */
-#define __SND_DLSYM_VERSION(name, version) _ ## name ## version
-/**
- * \hideinitializer
- * \brief Appends the build version to the name of a versioned dynamic symbol.
- */
-#define SND_DLSYM_BUILD_VERSION(name, version) char __SND_DLSYM_VERSION(name, version);
-
-#else /* static build */
-
-struct snd_dlsym_link {
- struct snd_dlsym_link *next;
- const char *dlsym_name;
- const void *dlsym_ptr;
-};
-
-extern struct snd_dlsym_link *snd_dlsym_start;
-
-/** \hideinitializer \brief Helper macro for #SND_DLSYM_BUILD_VERSION. */
-#define __SND_DLSYM_VERSION(prefix, name, version) _ ## prefix ## name ## version
-/**
- * \hideinitializer
- * \brief Appends the build version to the name of a versioned dynamic symbol.
- */
-#define SND_DLSYM_BUILD_VERSION(name, version) \
- static struct snd_dlsym_link __SND_DLSYM_VERSION(snd_dlsym_, name, version); \
- void __SND_DLSYM_VERSION(snd_dlsym_constructor_, name, version) (void) __attribute__ ((constructor)); \
- void __SND_DLSYM_VERSION(snd_dlsym_constructor_, name, version) (void) { \
- __SND_DLSYM_VERSION(snd_dlsym_, name, version).next = snd_dlsym_start; \
- __SND_DLSYM_VERSION(snd_dlsym_, name, version).dlsym_name = # name; \
- __SND_DLSYM_VERSION(snd_dlsym_, name, version).dlsym_ptr = (void *)&name; \
- snd_dlsym_start = &__SND_DLSYM_VERSION(snd_dlsym_, name, version); \
- }
-
-#endif
-
-#ifndef __STRING
-/** \brief Return 'x' argument as string */
-#define __STRING(x) #x
-#endif
-
-/** \brief Returns the version of a dynamic symbol as a string. */
-#define SND_DLSYM_VERSION(version) __STRING(version)
-
-void *snd_dlopen(const char *file, int mode);
-void *snd_dlsym(void *handle, const char *name, const char *version);
-int snd_dlclose(void *handle);
-
-
-/** \brief alloca helper macro. */
-#define __snd_alloca(ptr,type) do { *ptr = (type##_t *) alloca(type##_sizeof()); memset(*ptr, 0, type##_sizeof()); } while (0)
-
-/**
- * \brief Internal structure for an async notification client handler.
- *
- * The ALSA library uses a pointer to this structure as a handle to an async
- * notification object. Applications don't access its contents directly.
- */
-typedef struct _snd_async_handler snd_async_handler_t;
-
-/**
- * \brief Async notification callback.
- *
- * See the #snd_async_add_handler function for details.
- */
-typedef void (*snd_async_callback_t)(snd_async_handler_t *handler);
-
-int snd_async_add_handler(snd_async_handler_t **handler, int fd,
- snd_async_callback_t callback, void *private_data);
-int snd_async_del_handler(snd_async_handler_t *handler);
-int snd_async_handler_get_fd(snd_async_handler_t *handler);
-int snd_async_handler_get_signo(snd_async_handler_t *handler);
-void *snd_async_handler_get_callback_private(snd_async_handler_t *handler);
-
-struct snd_shm_area *snd_shm_area_create(int shmid, void *ptr);
-struct snd_shm_area *snd_shm_area_share(struct snd_shm_area *area);
-int snd_shm_area_destroy(struct snd_shm_area *area);
-
-int snd_user_file(const char *file, char **result);
-
-#if !defined(_POSIX_C_SOURCE) && !defined(_POSIX_SOURCE)
-struct timeval {
- time_t tv_sec; /* seconds */
- long tv_usec; /* microseconds */
-};
-
-struct timespec {
- time_t tv_sec; /* seconds */
- long tv_nsec; /* nanoseconds */
-};
-#endif
-
-/** Timestamp */
-typedef struct timeval snd_timestamp_t;
-/** Hi-res timestamp */
-typedef struct timespec snd_htimestamp_t;
-
-/** \} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __ALSA_GLOBAL_H */
diff --git a/alsa-lib/include/hwdep.h b/alsa-lib/include/hwdep.h
deleted file mode 100644
index ab12822..0000000
--- a/alsa-lib/include/hwdep.h
+++ /dev/null
@@ -1,160 +0,0 @@
-/**
- * \file include/hwdep.h
- * \brief Application interface library for the ALSA driver
- * \author Jaroslav Kysela <perex@perex.cz>
- * \author Abramo Bagnara <abramo@alsa-project.org>
- * \author Takashi Iwai <tiwai@suse.de>
- * \date 1998-2001
- *
- * Application interface library for the ALSA driver
- */
-/*
- * This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#ifndef __ALSA_HWDEP_H
-#define __ALSA_HWDEP_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * \defgroup HwDep Hardware Dependant Interface
- * The Hardware Dependant Interface.
- * \{
- */
-
-/** dlsym version for interface entry callback */
-#define SND_HWDEP_DLSYM_VERSION _dlsym_hwdep_001
-
-/** HwDep information container */
-typedef struct _snd_hwdep_info snd_hwdep_info_t;
-
-/** HwDep DSP status container */
-typedef struct _snd_hwdep_dsp_status snd_hwdep_dsp_status_t;
-
-/** HwDep DSP image container */
-typedef struct _snd_hwdep_dsp_image snd_hwdep_dsp_image_t;
-
-/** HwDep interface */
-typedef enum _snd_hwdep_iface {
- SND_HWDEP_IFACE_OPL2 = 0, /**< OPL2 raw driver */
- SND_HWDEP_IFACE_OPL3, /**< OPL3 raw driver */
- SND_HWDEP_IFACE_OPL4, /**< OPL4 raw driver */
- SND_HWDEP_IFACE_SB16CSP, /**< SB16CSP driver */
- SND_HWDEP_IFACE_EMU10K1, /**< EMU10K1 driver */
- SND_HWDEP_IFACE_YSS225, /**< YSS225 driver */
- SND_HWDEP_IFACE_ICS2115, /**< ICS2115 driver */
- SND_HWDEP_IFACE_SSCAPE, /**< Ensoniq SoundScape ISA card (MC68EC000) */
- SND_HWDEP_IFACE_VX, /**< Digigram VX cards */
- SND_HWDEP_IFACE_MIXART, /**< Digigram miXart cards */
- SND_HWDEP_IFACE_USX2Y, /**< Tascam US122, US224 & US428 usb */
- SND_HWDEP_IFACE_EMUX_WAVETABLE, /**< EmuX wavetable */
- SND_HWDEP_IFACE_BLUETOOTH, /**< Bluetooth audio */
- SND_HWDEP_IFACE_USX2Y_PCM, /**< Tascam US122, US224 & US428 raw USB PCM */
- SND_HWDEP_IFACE_PCXHR, /**< Digigram PCXHR */
- SND_HWDEP_IFACE_SB_RC, /**< SB Extigy/Audigy2NX remote control */
-
- SND_HWDEP_IFACE_LAST = SND_HWDEP_IFACE_SB_RC /**< last known hwdep interface */
-} snd_hwdep_iface_t;
-
-/** open for reading */
-#define SND_HWDEP_OPEN_READ (O_RDONLY)
-/** open for writing */
-#define SND_HWDEP_OPEN_WRITE (O_WRONLY)
-/** open for reading and writing */
-#define SND_HWDEP_OPEN_DUPLEX (O_RDWR)
-/** open mode flag: open in nonblock mode */
-#define SND_HWDEP_OPEN_NONBLOCK (O_NONBLOCK)
-
-/** HwDep handle type */
-typedef enum _snd_hwdep_type {
- /** Kernel level HwDep */
- SND_HWDEP_TYPE_HW,
- /** Shared memory client HwDep (not yet implemented) */
- SND_HWDEP_TYPE_SHM,
- /** INET client HwDep (not yet implemented) */
- SND_HWDEP_TYPE_INET
-} snd_hwdep_type_t;
-
-/** HwDep handle */
-typedef struct _snd_hwdep snd_hwdep_t;
-
-int snd_hwdep_open(snd_hwdep_t **hwdep, const char *name, int mode);
-int snd_hwdep_close(snd_hwdep_t *hwdep);
-int snd_hwdep_poll_descriptors(snd_hwdep_t *hwdep, struct pollfd *pfds, unsigned int space);
-int snd_hwdep_poll_descriptors_revents(snd_hwdep_t *hwdep, struct pollfd *pfds, unsigned int nfds, unsigned short *revents);
-int snd_hwdep_nonblock(snd_hwdep_t *hwdep, int nonblock);
-int snd_hwdep_info(snd_hwdep_t *hwdep, snd_hwdep_info_t * info);
-int snd_hwdep_dsp_status(snd_hwdep_t *hwdep, snd_hwdep_dsp_status_t *status);
-int snd_hwdep_dsp_load(snd_hwdep_t *hwdep, snd_hwdep_dsp_image_t *block);
-int snd_hwdep_ioctl(snd_hwdep_t *hwdep, unsigned int request, void * arg);
-ssize_t snd_hwdep_write(snd_hwdep_t *hwdep, const void *buffer, size_t size);
-ssize_t snd_hwdep_read(snd_hwdep_t *hwdep, void *buffer, size_t size);
-
-size_t snd_hwdep_info_sizeof(void);
-/** allocate #snd_hwdep_info_t container on stack */
-#define snd_hwdep_info_alloca(ptr) __snd_alloca(ptr, snd_hwdep_info)
-int snd_hwdep_info_malloc(snd_hwdep_info_t **ptr);
-void snd_hwdep_info_free(snd_hwdep_info_t *obj);
-void snd_hwdep_info_copy(snd_hwdep_info_t *dst, const snd_hwdep_info_t *src);
-
-unsigned int snd_hwdep_info_get_device(const snd_hwdep_info_t *obj);
-int snd_hwdep_info_get_card(const snd_hwdep_info_t *obj);
-const char *snd_hwdep_info_get_id(const snd_hwdep_info_t *obj);
-const char *snd_hwdep_info_get_name(const snd_hwdep_info_t *obj);
-snd_hwdep_iface_t snd_hwdep_info_get_iface(const snd_hwdep_info_t *obj);
-void snd_hwdep_info_set_device(snd_hwdep_info_t *obj, unsigned int val);
-
-size_t snd_hwdep_dsp_status_sizeof(void);
-/** allocate #snd_hwdep_dsp_status_t container on stack */
-#define snd_hwdep_dsp_status_alloca(ptr) __snd_alloca(ptr, snd_hwdep_dsp_status)
-int snd_hwdep_dsp_status_malloc(snd_hwdep_dsp_status_t **ptr);
-void snd_hwdep_dsp_status_free(snd_hwdep_dsp_status_t *obj);
-void snd_hwdep_dsp_status_copy(snd_hwdep_dsp_status_t *dst, const snd_hwdep_dsp_status_t *src);
-
-unsigned int snd_hwdep_dsp_status_get_version(const snd_hwdep_dsp_status_t *obj);
-const char *snd_hwdep_dsp_status_get_id(const snd_hwdep_dsp_status_t *obj);
-unsigned int snd_hwdep_dsp_status_get_num_dsps(const snd_hwdep_dsp_status_t *obj);
-unsigned int snd_hwdep_dsp_status_get_dsp_loaded(const snd_hwdep_dsp_status_t *obj);
-unsigned int snd_hwdep_dsp_status_get_chip_ready(const snd_hwdep_dsp_status_t *obj);
-
-size_t snd_hwdep_dsp_image_sizeof(void);
-/** allocate #snd_hwdep_dsp_image_t container on stack */
-#define snd_hwdep_dsp_image_alloca(ptr) __snd_alloca(ptr, snd_hwdep_dsp_image)
-int snd_hwdep_dsp_image_malloc(snd_hwdep_dsp_image_t **ptr);
-void snd_hwdep_dsp_image_free(snd_hwdep_dsp_image_t *obj);
-void snd_hwdep_dsp_image_copy(snd_hwdep_dsp_image_t *dst, const snd_hwdep_dsp_image_t *src);
-
-unsigned int snd_hwdep_dsp_image_get_index(const snd_hwdep_dsp_image_t *obj);
-const char *snd_hwdep_dsp_image_get_name(const snd_hwdep_dsp_image_t *obj);
-const void *snd_hwdep_dsp_image_get_image(const snd_hwdep_dsp_image_t *obj);
-size_t snd_hwdep_dsp_image_get_length(const snd_hwdep_dsp_image_t *obj);
-
-void snd_hwdep_dsp_image_set_index(snd_hwdep_dsp_image_t *obj, unsigned int _index);
-void snd_hwdep_dsp_image_set_name(snd_hwdep_dsp_image_t *obj, const char *name);
-void snd_hwdep_dsp_image_set_image(snd_hwdep_dsp_image_t *obj, void *buffer);
-void snd_hwdep_dsp_image_set_length(snd_hwdep_dsp_image_t *obj, size_t length);
-
-/** \} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __ALSA_HWDEP_H */
-
diff --git a/alsa-lib/include/iatomic.h b/alsa-lib/include/iatomic.h
deleted file mode 100644
index 8f6ec22..0000000
--- a/alsa-lib/include/iatomic.h
+++ /dev/null
@@ -1,1175 +0,0 @@
-#ifndef __ALSA_IATOMIC_H
-#define __ALSA_IATOMIC_H
-
-#if defined(__i386__) || defined(__x86_64__)
-
-/*
- * Atomic operations that C can't guarantee us. Useful for
- * resource counting etc..
- */
-
-#define ATOMIC_SMP_LOCK "lock ; "
-
-/*
- * Make sure gcc doesn't try to be clever and move things around
- * on us. We need to use _exactly_ the address the user gave us,
- * not some alias that contains the same information.
- */
-typedef struct { volatile int counter; } atomic_t;
-
-#define ATOMIC_INIT(i) { (i) }
-
-/**
- * atomic_read - read atomic variable
- * @v: pointer of type atomic_t
- *
- * Atomically reads the value of @v. Note that the guaranteed
- * useful range of an atomic_t is only 24 bits.
- */
-#define atomic_read(v) ((v)->counter)
-
-/**
- * atomic_set - set atomic variable
- * @v: pointer of type atomic_t
- * @i: required value
- *
- * Atomically sets the value of @v to @i. Note that the guaranteed
- * useful range of an atomic_t is only 24 bits.
- */
-#define atomic_set(v,i) (((v)->counter) = (i))
-
-/**
- * atomic_add - add integer to atomic variable
- * @i: integer value to add
- * @v: pointer of type atomic_t
- *
- * Atomically adds @i to @v. Note that the guaranteed useful range
- * of an atomic_t is only 24 bits.
- */
-static __inline__ void atomic_add(int i, atomic_t *v)
-{
- __asm__ __volatile__(
- ATOMIC_SMP_LOCK "addl %1,%0"
- :"=m" (v->counter)
- :"ir" (i), "m" (v->counter));
-}
-
-/**
- * atomic_sub - subtract the atomic variable
- * @i: integer value to subtract
- * @v: pointer of type atomic_t
- *
- * Atomically subtracts @i from @v. Note that the guaranteed
- * useful range of an atomic_t is only 24 bits.
- */
-static __inline__ void atomic_sub(int i, atomic_t *v)
-{
- __asm__ __volatile__(
- ATOMIC_SMP_LOCK "subl %1,%0"
- :"=m" (v->counter)
- :"ir" (i), "m" (v->counter));
-}
-
-/**
- * atomic_sub_and_test - subtract value from variable and test result
- * @i: integer value to subtract
- * @v: pointer of type atomic_t
- *
- * Atomically subtracts @i from @v and returns
- * true if the result is zero, or false for all
- * other cases. Note that the guaranteed
- * useful range of an atomic_t is only 24 bits.
- */
-static __inline__ int atomic_sub_and_test(int i, atomic_t *v)
-{
- unsigned char c;
-
- __asm__ __volatile__(
- ATOMIC_SMP_LOCK "subl %2,%0; sete %1"
- :"=m" (v->counter), "=qm" (c)
- :"ir" (i), "m" (v->counter) : "memory");
- return c;
-}
-
-/**
- * atomic_inc - increment atomic variable
- * @v: pointer of type atomic_t
- *
- * Atomically increments @v by 1. Note that the guaranteed
- * useful range of an atomic_t is only 24 bits.
- */
-static __inline__ void atomic_inc(atomic_t *v)
-{
- __asm__ __volatile__(
- ATOMIC_SMP_LOCK "incl %0"
- :"=m" (v->counter)
- :"m" (v->counter));
-}
-
-/**
- * atomic_dec - decrement atomic variable
- * @v: pointer of type atomic_t
- *
- * Atomically decrements @v by 1. Note that the guaranteed
- * useful range of an atomic_t is only 24 bits.
- */
-static __inline__ void atomic_dec(atomic_t *v)
-{
- __asm__ __volatile__(
- ATOMIC_SMP_LOCK "decl %0"
- :"=m" (v->counter)
- :"m" (v->counter));
-}
-
-/**
- * atomic_dec_and_test - decrement and test
- * @v: pointer of type atomic_t
- *
- * Atomically decrements @v by 1 and
- * returns true if the result is 0, or false for all other
- * cases. Note that the guaranteed
- * useful range of an atomic_t is only 24 bits.
- */
-static __inline__ int atomic_dec_and_test(atomic_t *v)
-{
- unsigned char c;
-
- __asm__ __volatile__(
- ATOMIC_SMP_LOCK "decl %0; sete %1"
- :"=m" (v->counter), "=qm" (c)
- :"m" (v->counter) : "memory");
- return c != 0;
-}
-
-/**
- * atomic_inc_and_test - increment and test
- * @v: pointer of type atomic_t
- *
- * Atomically increments @v by 1
- * and returns true if the result is zero, or false for all
- * other cases. Note that the guaranteed
- * useful range of an atomic_t is only 24 bits.
- */
-static __inline__ int atomic_inc_and_test(atomic_t *v)
-{
- unsigned char c;
-
- __asm__ __volatile__(
- ATOMIC_SMP_LOCK "incl %0; sete %1"
- :"=m" (v->counter), "=qm" (c)
- :"m" (v->counter) : "memory");
- return c != 0;
-}
-
-/**
- * atomic_add_negative - add and test if negative
- * @v: pointer of type atomic_t
- * @i: integer value to add
- *
- * Atomically adds @i to @v and returns true
- * if the result is negative, or false when
- * result is greater than or equal to zero. Note that the guaranteed
- * useful range of an atomic_t is only 24 bits.
- */
-static __inline__ int atomic_add_negative(int i, atomic_t *v)
-{
- unsigned char c;
-
- __asm__ __volatile__(
- ATOMIC_SMP_LOCK "addl %2,%0; sets %1"
- :"=m" (v->counter), "=qm" (c)
- :"ir" (i), "m" (v->counter) : "memory");
- return c;
-}
-
-/* These are x86-specific, used by some header files */
-#define atomic_clear_mask(mask, addr) \
-__asm__ __volatile__(ATOMIC_SMP_LOCK "andl %0,%1" \
-: : "r" (~(mask)),"m" (*addr) : "memory")
-
-#define atomic_set_mask(mask, addr) \
-__asm__ __volatile__(ATOMIC_SMP_LOCK "orl %0,%1" \
-: : "r" (mask),"m" (*addr) : "memory")
-
-/*
- * Force strict CPU ordering.
- * And yes, this is required on UP too when we're talking
- * to devices.
- *
- * For now, "wmb()" doesn't actually do anything, as all
- * Intel CPU's follow what Intel calls a *Processor Order*,
- * in which all writes are seen in the program order even
- * outside the CPU.
- *
- * I expect future Intel CPU's to have a weaker ordering,
- * but I'd also expect them to finally get their act together
- * and add some real memory barriers if so.
- */
-
-#ifdef __i386__
-#define mb() __asm__ __volatile__ ("lock; addl $0,0(%%esp)": : :"memory")
-#define rmb() mb()
-#define wmb() __asm__ __volatile__ ("": : :"memory")
-#else
-#define mb() asm volatile("mfence":::"memory")
-#define rmb() asm volatile("lfence":::"memory")
-#define wmb() asm volatile("sfence":::"memory")
-#endif
-
-#undef ATOMIC_SMP_LOCK
-
-#define IATOMIC_DEFINED 1
-
-#endif /* __i386__ */
-
-#ifdef __ia64__
-
-/*
- * On IA-64, counter must always be volatile to ensure that that the
- * memory accesses are ordered.
- */
-typedef struct { volatile int counter; } atomic_t;
-
-#define ATOMIC_INIT(i) ((atomic_t) { (i) })
-
-#define atomic_read(v) ((v)->counter)
-#define atomic_set(v,i) (((v)->counter) = (i))
-
-/* stripped version - we need only 4byte version */
-#define ia64_cmpxchg(sem,ptr,old,new,size) \
-({ \
- __typeof__(ptr) _p_ = (ptr); \
- __typeof__(new) _n_ = (new); \
- unsigned long _o_, _r_; \
- _o_ = (unsigned int) (long) (old); \
- __asm__ __volatile__ ("mov ar.ccv=%0;;" :: "rO"(_o_)); \
- __asm__ __volatile__ ("cmpxchg4."sem" %0=[%1],%2,ar.ccv" \
- : "=r"(_r_) : "r"(_p_), "r"(_n_) : "memory"); \
- (__typeof__(old)) _r_; \
-})
-
-static __inline__ int
-ia64_atomic_add (int i, atomic_t *v)
-{
- int old, new;
- // CMPXCHG_BUGCHECK_DECL
-
- do {
- // CMPXCHG_BUGCHECK(v);
- old = atomic_read(v);
- new = old + i;
- } while (ia64_cmpxchg("acq", v, old, old + i, sizeof(atomic_t)) != old);
- return new;
-}
-
-static __inline__ int
-ia64_atomic_sub (int i, atomic_t *v)
-{
- int old, new;
- // CMPXCHG_BUGCHECK_DECL
-
- do {
- // CMPXCHG_BUGCHECK(v);
- old = atomic_read(v);
- new = old - i;
- } while (ia64_cmpxchg("acq", v, old, new, sizeof(atomic_t)) != old);
- return new;
-}
-
-#define IA64_FETCHADD(tmp,v,n,sz) \
-({ \
- switch (sz) { \
- case 4: \
- __asm__ __volatile__ ("fetchadd4.rel %0=[%1],%2" \
- : "=r"(tmp) : "r"(v), "i"(n) : "memory"); \
- break; \
- \
- case 8: \
- __asm__ __volatile__ ("fetchadd8.rel %0=[%1],%2" \
- : "=r"(tmp) : "r"(v), "i"(n) : "memory"); \
- break; \
- } \
-})
-
-#define ia64_fetch_and_add(i,v) \
-({ \
- unsigned long _tmp; \
- volatile __typeof__(*(v)) *_v = (v); \
- switch (i) { \
- case -16: IA64_FETCHADD(_tmp, _v, -16, sizeof(*(v))); break; \
- case -8: IA64_FETCHADD(_tmp, _v, -8, sizeof(*(v))); break; \
- case -4: IA64_FETCHADD(_tmp, _v, -4, sizeof(*(v))); break; \
- case -1: IA64_FETCHADD(_tmp, _v, -1, sizeof(*(v))); break; \
- case 1: IA64_FETCHADD(_tmp, _v, 1, sizeof(*(v))); break; \
- case 4: IA64_FETCHADD(_tmp, _v, 4, sizeof(*(v))); break; \
- case 8: IA64_FETCHADD(_tmp, _v, 8, sizeof(*(v))); break; \
- case 16: IA64_FETCHADD(_tmp, _v, 16, sizeof(*(v))); break; \
- } \
- (__typeof__(*v)) (_tmp + (i)); /* return new value */ \
-})
-
-/*
- * Atomically add I to V and return TRUE if the resulting value is
- * negative.
- */
-static __inline__ int
-atomic_add_negative (int i, atomic_t *v)
-{
- return ia64_atomic_add(i, v) < 0;
-}
-
-#define atomic_add_return(i,v) \
- ((__builtin_constant_p(i) && \
- ( (i == 1) || (i == 4) || (i == 8) || (i == 16) \
- || (i == -1) || (i == -4) || (i == -8) || (i == -16))) \
- ? ia64_fetch_and_add(i, &(v)->counter) \
- : ia64_atomic_add(i, v))
-
-#define atomic_sub_return(i,v) \
- ((__builtin_constant_p(i) && \
- ( (i == 1) || (i == 4) || (i == 8) || (i == 16) \
- || (i == -1) || (i == -4) || (i == -8) || (i == -16))) \
- ? ia64_fetch_and_add(-(i), &(v)->counter) \
- : ia64_atomic_sub(i, v))
-
-#define atomic_dec_return(v) atomic_sub_return(1, (v))
-#define atomic_inc_return(v) atomic_add_return(1, (v))
-
-#define atomic_sub_and_test(i,v) (atomic_sub_return((i), (v)) == 0)
-#define atomic_dec_and_test(v) (atomic_sub_return(1, (v)) == 0)
-#define atomic_inc_and_test(v) (atomic_add_return(1, (v)) != 0)
-
-#define atomic_add(i,v) atomic_add_return((i), (v))
-#define atomic_sub(i,v) atomic_sub_return((i), (v))
-#define atomic_inc(v) atomic_add(1, (v))
-#define atomic_dec(v) atomic_sub(1, (v))
-
-/*
- * Macros to force memory ordering. In these descriptions, "previous"
- * and "subsequent" refer to program order; "visible" means that all
- * architecturally visible effects of a memory access have occurred
- * (at a minimum, this means the memory has been read or written).
- *
- * wmb(): Guarantees that all preceding stores to memory-
- * like regions are visible before any subsequent
- * stores and that all following stores will be
- * visible only after all previous stores.
- * rmb(): Like wmb(), but for reads.
- * mb(): wmb()/rmb() combo, i.e., all previous memory
- * accesses are visible before all subsequent
- * accesses and vice versa. This is also known as
- * a "fence."
- *
- * Note: "mb()" and its variants cannot be used as a fence to order
- * accesses to memory mapped I/O registers. For that, mf.a needs to
- * be used. However, we don't want to always use mf.a because (a)
- * it's (presumably) much slower than mf and (b) mf.a is supported for
- * sequential memory pages only.
- */
-#define mb() __asm__ __volatile__ ("mf" ::: "memory")
-#define rmb() mb()
-#define wmb() mb()
-
-#define IATOMIC_DEFINED 1
-
-#endif /* __ia64__ */
-
-#ifdef __alpha__
-
-/*
- * Atomic operations that C can't guarantee us. Useful for
- * resource counting etc...
- *
- * But use these as seldom as possible since they are much slower
- * than regular operations.
- */
-
-
-/*
- * Counter is volatile to make sure gcc doesn't try to be clever
- * and move things around on us. We need to use _exactly_ the address
- * the user gave us, not some alias that contains the same information.
- */
-typedef struct { volatile int counter; } atomic_t;
-
-#define ATOMIC_INIT(i) ( (atomic_t) { (i) } )
-
-#define atomic_read(v) ((v)->counter)
-#define atomic_set(v,i) ((v)->counter = (i))
-
-/*
- * To get proper branch prediction for the main line, we must branch
- * forward to code at the end of this object's .text section, then
- * branch back to restart the operation.
- */
-
-static __inline__ void atomic_add(int i, atomic_t * v)
-{
- unsigned long temp;
- __asm__ __volatile__(
- "1: ldl_l %0,%1\n"
- " addl %0,%2,%0\n"
- " stl_c %0,%1\n"
- " beq %0,2f\n"
- ".subsection 2\n"
- "2: br 1b\n"
- ".previous"
- :"=&r" (temp), "=m" (v->counter)
- :"Ir" (i), "m" (v->counter));
-}
-
-static __inline__ void atomic_sub(int i, atomic_t * v)
-{
- unsigned long temp;
- __asm__ __volatile__(
- "1: ldl_l %0,%1\n"
- " subl %0,%2,%0\n"
- " stl_c %0,%1\n"
- " beq %0,2f\n"
- ".subsection 2\n"
- "2: br 1b\n"
- ".previous"
- :"=&r" (temp), "=m" (v->counter)
- :"Ir" (i), "m" (v->counter));
-}
-
-/*
- * Same as above, but return the result value
- */
-static __inline__ long atomic_add_return(int i, atomic_t * v)
-{
- long temp, result;
- __asm__ __volatile__(
- "1: ldl_l %0,%1\n"
- " addl %0,%3,%2\n"
- " addl %0,%3,%0\n"
- " stl_c %0,%1\n"
- " beq %0,2f\n"
- " mb\n"
- ".subsection 2\n"
- "2: br 1b\n"
- ".previous"
- :"=&r" (temp), "=m" (v->counter), "=&r" (result)
- :"Ir" (i), "m" (v->counter) : "memory");
- return result;
-}
-
-static __inline__ long atomic_sub_return(int i, atomic_t * v)
-{
- long temp, result;
- __asm__ __volatile__(
- "1: ldl_l %0,%1\n"
- " subl %0,%3,%2\n"
- " subl %0,%3,%0\n"
- " stl_c %0,%1\n"
- " beq %0,2f\n"
- " mb\n"
- ".subsection 2\n"
- "2: br 1b\n"
- ".previous"
- :"=&r" (temp), "=m" (v->counter), "=&r" (result)
- :"Ir" (i), "m" (v->counter) : "memory");
- return result;
-}
-
-#define atomic_dec_return(v) atomic_sub_return(1,(v))
-#define atomic_inc_return(v) atomic_add_return(1,(v))
-
-#define atomic_sub_and_test(i,v) (atomic_sub_return((i), (v)) == 0)
-#define atomic_dec_and_test(v) (atomic_sub_return(1, (v)) == 0)
-
-#define atomic_inc(v) atomic_add(1,(v))
-#define atomic_dec(v) atomic_sub(1,(v))
-
-#define mb() \
-__asm__ __volatile__("mb": : :"memory")
-
-#define rmb() \
-__asm__ __volatile__("mb": : :"memory")
-
-#define wmb() \
-__asm__ __volatile__("wmb": : :"memory")
-
-#define IATOMIC_DEFINED 1
-
-#endif /* __alpha__ */
-
-#ifdef __powerpc__
-
-typedef struct { volatile int counter; } atomic_t;
-
-#define ATOMIC_INIT(i) { (i) }
-
-#define atomic_read(v) ((v)->counter)
-#define atomic_set(v,i) (((v)->counter) = (i))
-
-extern void atomic_clear_mask(unsigned long mask, unsigned long *addr);
-extern void atomic_set_mask(unsigned long mask, unsigned long *addr);
-
-#define SMP_ISYNC "\n\tisync"
-
-static __inline__ void atomic_add(int a, atomic_t *v)
-{
- int t;
-
- __asm__ __volatile__(
-"1: lwarx %0,0,%3 # atomic_add\n\
- add %0,%2,%0\n\
- stwcx. %0,0,%3\n\
- bne- 1b"
- : "=&r" (t), "=m" (v->counter)
- : "r" (a), "r" (&v->counter), "m" (v->counter)
- : "cc");
-}
-
-static __inline__ int atomic_add_return(int a, atomic_t *v)
-{
- int t;
-
- __asm__ __volatile__(
-"1: lwarx %0,0,%2 # atomic_add_return\n\
- add %0,%1,%0\n\
- stwcx. %0,0,%2\n\
- bne- 1b"
- SMP_ISYNC
- : "=&r" (t)
- : "r" (a), "r" (&v->counter)
- : "cc", "memory");
-
- return t;
-}
-
-static __inline__ void atomic_sub(int a, atomic_t *v)
-{
- int t;
-
- __asm__ __volatile__(
-"1: lwarx %0,0,%3 # atomic_sub\n\
- subf %0,%2,%0\n\
- stwcx. %0,0,%3\n\
- bne- 1b"
- : "=&r" (t), "=m" (v->counter)
- : "r" (a), "r" (&v->counter), "m" (v->counter)
- : "cc");
-}
-
-static __inline__ int atomic_sub_return(int a, atomic_t *v)
-{
- int t;
-
- __asm__ __volatile__(
-"1: lwarx %0,0,%2 # atomic_sub_return\n\
- subf %0,%1,%0\n\
- stwcx. %0,0,%2\n\
- bne- 1b"
- SMP_ISYNC
- : "=&r" (t)
- : "r" (a), "r" (&v->counter)
- : "cc", "memory");
-
- return t;
-}
-
-static __inline__ void atomic_inc(atomic_t *v)
-{
- int t;
-
- __asm__ __volatile__(
-"1: lwarx %0,0,%2 # atomic_inc\n\
- addic %0,%0,1\n\
- stwcx. %0,0,%2\n\
- bne- 1b"
- : "=&r" (t), "=m" (v->counter)
- : "r" (&v->counter), "m" (v->counter)
- : "cc");
-}
-
-static __inline__ int atomic_inc_return(atomic_t *v)
-{
- int t;
-
- __asm__ __volatile__(
-"1: lwarx %0,0,%1 # atomic_inc_return\n\
- addic %0,%0,1\n\
- stwcx. %0,0,%1\n\
- bne- 1b"
- SMP_ISYNC
- : "=&r" (t)
- : "r" (&v->counter)
- : "cc", "memory");
-
- return t;
-}
-
-static __inline__ void atomic_dec(atomic_t *v)
-{
- int t;
-
- __asm__ __volatile__(
-"1: lwarx %0,0,%2 # atomic_dec\n\
- addic %0,%0,-1\n\
- stwcx. %0,0,%2\n\
- bne- 1b"
- : "=&r" (t), "=m" (v->counter)
- : "r" (&v->counter), "m" (v->counter)
- : "cc");
-}
-
-static __inline__ int atomic_dec_return(atomic_t *v)
-{
- int t;
-
- __asm__ __volatile__(
-"1: lwarx %0,0,%1 # atomic_dec_return\n\
- addic %0,%0,-1\n\
- stwcx. %0,0,%1\n\
- bne- 1b"
- SMP_ISYNC
- : "=&r" (t)
- : "r" (&v->counter)
- : "cc", "memory");
-
- return t;
-}
-
-#define atomic_sub_and_test(a, v) (atomic_sub_return((a), (v)) == 0)
-#define atomic_dec_and_test(v) (atomic_dec_return((v)) == 0)
-
-/*
- * Atomically test *v and decrement if it is greater than 0.
- * The function returns the old value of *v minus 1.
- */
-static __inline__ int atomic_dec_if_positive(atomic_t *v)
-{
- int t;
-
- __asm__ __volatile__(
-"1: lwarx %0,0,%1 # atomic_dec_if_positive\n\
- addic. %0,%0,-1\n\
- blt- 2f\n\
- stwcx. %0,0,%1\n\
- bne- 1b"
- SMP_ISYNC
- "\n\
-2:" : "=&r" (t)
- : "r" (&v->counter)
- : "cc", "memory");
-
- return t;
-}
-
-/*
- * Memory barrier.
- * The sync instruction guarantees that all memory accesses initiated
- * by this processor have been performed (with respect to all other
- * mechanisms that access memory). The eieio instruction is a barrier
- * providing an ordering (separately) for (a) cacheable stores and (b)
- * loads and stores to non-cacheable memory (e.g. I/O devices).
- *
- * mb() prevents loads and stores being reordered across this point.
- * rmb() prevents loads being reordered across this point.
- * wmb() prevents stores being reordered across this point.
- *
- * We can use the eieio instruction for wmb, but since it doesn't
- * give any ordering guarantees about loads, we have to use the
- * stronger but slower sync instruction for mb and rmb.
- */
-#define mb() __asm__ __volatile__ ("sync" : : : "memory")
-#define rmb() __asm__ __volatile__ ("sync" : : : "memory")
-#define wmb() __asm__ __volatile__ ("eieio" : : : "memory")
-
-#define IATOMIC_DEFINED 1
-
-#endif /* __powerpc__ */
-
-#ifdef __mips__
-
-typedef struct { volatile int counter; } atomic_t;
-
-#define ATOMIC_INIT(i) { (i) }
-
-/*
- * atomic_read - read atomic variable
- * @v: pointer of type atomic_t
- *
- * Atomically reads the value of @v. Note that the guaranteed
- * useful range of an atomic_t is only 24 bits.
- */
-#define atomic_read(v) ((v)->counter)
-
-/*
- * atomic_set - set atomic variable
- * @v: pointer of type atomic_t
- * @i: required value
- *
- * Atomically sets the value of @v to @i. Note that the guaranteed
- * useful range of an atomic_t is only 24 bits.
- */
-#define atomic_set(v,i) ((v)->counter = (i))
-
-/*
- * for MIPS II and better we can use ll/sc instruction, and kernel 2.4.3+
- * will emulate it on MIPS I.
- */
-
-/*
- * atomic_add - add integer to atomic variable
- * @i: integer value to add
- * @v: pointer of type atomic_t
- *
- * Atomically adds @i to @v. Note that the guaranteed useful range
- * of an atomic_t is only 24 bits.
- */
-extern __inline__ void atomic_add(int i, atomic_t * v)
-{
- unsigned long temp;
-
- __asm__ __volatile__(
- ".set push \n"
- ".set mips2 \n"
- "1: ll %0, %1 # atomic_add\n"
- " addu %0, %2 \n"
- " sc %0, %1 \n"
- " beqz %0, 1b \n"
- ".set pop \n"
- : "=&r" (temp), "=m" (v->counter)
- : "Ir" (i), "m" (v->counter));
-}
-
-/*
- * atomic_sub - subtract the atomic variable
- * @i: integer value to subtract
- * @v: pointer of type atomic_t
- *
- * Atomically subtracts @i from @v. Note that the guaranteed
- * useful range of an atomic_t is only 24 bits.
- */
-extern __inline__ void atomic_sub(int i, atomic_t * v)
-{
- unsigned long temp;
-
- __asm__ __volatile__(
- ".set push \n"
- ".set mips2 \n"
- "1: ll %0, %1 # atomic_sub\n"
- " subu %0, %2 \n"
- " sc %0, %1 \n"
- " beqz %0, 1b \n"
- ".set pop \n"
- : "=&r" (temp), "=m" (v->counter)
- : "Ir" (i), "m" (v->counter));
-}
-
-/*
- * Same as above, but return the result value
- */
-extern __inline__ int atomic_add_return(int i, atomic_t * v)
-{
- unsigned long temp, result;
-
- __asm__ __volatile__(
- ".set push # atomic_add_return\n"
- ".set noreorder \n"
- ".set mips2 \n"
- "1: ll %1, %2 \n"
- " addu %0, %1, %3 \n"
- " sc %0, %2 \n"
- " beqz %0, 1b \n"
- " addu %0, %1, %3 \n"
- ".set pop \n"
- : "=&r" (result), "=&r" (temp), "=m" (v->counter)
- : "Ir" (i), "m" (v->counter)
- : "memory");
-
- return result;
-}
-
-extern __inline__ int atomic_sub_return(int i, atomic_t * v)
-{
- unsigned long temp, result;
-
- __asm__ __volatile__(
- ".set push \n"
- ".set mips2 \n"
- ".set noreorder # atomic_sub_return\n"
- "1: ll %1, %2 \n"
- " subu %0, %1, %3 \n"
- " sc %0, %2 \n"
- " beqz %0, 1b \n"
- " subu %0, %1, %3 \n"
- ".set pop \n"
- : "=&r" (result), "=&r" (temp), "=m" (v->counter)
- : "Ir" (i), "m" (v->counter)
- : "memory");
-
- return result;
-}
-
-#define atomic_dec_return(v) atomic_sub_return(1,(v))
-#define atomic_inc_return(v) atomic_add_return(1,(v))
-
-/*
- * atomic_sub_and_test - subtract value from variable and test result
- * @i: integer value to subtract
- * @v: pointer of type atomic_t
- *
- * Atomically subtracts @i from @v and returns
- * true if the result is zero, or false for all
- * other cases. Note that the guaranteed
- * useful range of an atomic_t is only 24 bits.
- */
-#define atomic_sub_and_test(i,v) (atomic_sub_return((i), (v)) == 0)
-
-/*
- * atomic_inc_and_test - increment and test
- * @v: pointer of type atomic_t
- *
- * Atomically increments @v by 1
- * and returns true if the result is zero, or false for all
- * other cases. Note that the guaranteed
- * useful range of an atomic_t is only 24 bits.
- */
-#define atomic_inc_and_test(v) (atomic_inc_return(1, (v)) == 0)
-
-/*
- * atomic_dec_and_test - decrement by 1 and test
- * @v: pointer of type atomic_t
- *
- * Atomically decrements @v by 1 and
- * returns true if the result is 0, or false for all other
- * cases. Note that the guaranteed
- * useful range of an atomic_t is only 24 bits.
- */
-#define atomic_dec_and_test(v) (atomic_sub_return(1, (v)) == 0)
-
-/*
- * atomic_inc - increment atomic variable
- * @v: pointer of type atomic_t
- *
- * Atomically increments @v by 1. Note that the guaranteed
- * useful range of an atomic_t is only 24 bits.
- */
-#define atomic_inc(v) atomic_add(1,(v))
-
-/*
- * atomic_dec - decrement and test
- * @v: pointer of type atomic_t
- *
- * Atomically decrements @v by 1. Note that the guaranteed
- * useful range of an atomic_t is only 24 bits.
- */
-#define atomic_dec(v) atomic_sub(1,(v))
-
-/*
- * atomic_add_negative - add and test if negative
- * @v: pointer of type atomic_t
- * @i: integer value to add
- *
- * Atomically adds @i to @v and returns true
- * if the result is negative, or false when
- * result is greater than or equal to zero. Note that the guaranteed
- * useful range of an atomic_t is only 24 bits.
- *
- * Currently not implemented for MIPS.
- */
-
-#define mb() \
-__asm__ __volatile__( \
- "# prevent instructions being moved around\n\t" \
- ".set\tnoreorder\n\t" \
- "# 8 nops to fool the R4400 pipeline\n\t" \
- "nop;nop;nop;nop;nop;nop;nop;nop\n\t" \
- ".set\treorder" \
- : /* no output */ \
- : /* no input */ \
- : "memory")
-#define rmb() mb()
-#define wmb() mb()
-
-#define IATOMIC_DEFINED 1
-
-#endif /* __mips__ */
-
-#ifdef __arm__
-
-/*
- * FIXME: bellow code is valid only for SA11xx
- */
-
-/*
- * Save the current interrupt enable state & disable IRQs
- */
-#define local_irq_save(x) \
- ({ \
- unsigned long temp; \
- __asm__ __volatile__( \
- "mrs %0, cpsr @ local_irq_save\n" \
-" orr %1, %0, #128\n" \
-" msr cpsr_c, %1" \
- : "=r" (x), "=r" (temp) \
- : \
- : "memory"); \
- })
-
-/*
- * restore saved IRQ & FIQ state
- */
-#define local_irq_restore(x) \
- __asm__ __volatile__( \
- "msr cpsr_c, %0 @ local_irq_restore\n" \
- : \
- : "r" (x) \
- : "memory")
-
-#define __save_flags_cli(x) local_irq_save(x)
-#define __restore_flags(x) local_irq_restore(x)
-
-typedef struct { volatile int counter; } atomic_t;
-
-#define ATOMIC_INIT(i) { (i) }
-
-#define atomic_read(v) ((v)->counter)
-#define atomic_set(v,i) (((v)->counter) = (i))
-
-static __inline__ void atomic_add(int i, volatile atomic_t *v)
-{
- unsigned long flags;
-
- __save_flags_cli(flags);
- v->counter += i;
- __restore_flags(flags);
-}
-
-static __inline__ void atomic_sub(int i, volatile atomic_t *v)
-{
- unsigned long flags;
-
- __save_flags_cli(flags);
- v->counter -= i;
- __restore_flags(flags);
-}
-
-static __inline__ void atomic_inc(volatile atomic_t *v)
-{
- unsigned long flags;
-
- __save_flags_cli(flags);
- v->counter += 1;
- __restore_flags(flags);
-}
-
-static __inline__ void atomic_dec(volatile atomic_t *v)
-{
- unsigned long flags;
-
- __save_flags_cli(flags);
- v->counter -= 1;
- __restore_flags(flags);
-}
-
-static __inline__ int atomic_dec_and_test(volatile atomic_t *v)
-{
- unsigned long flags;
- int result;
-
- __save_flags_cli(flags);
- v->counter -= 1;
- result = (v->counter == 0);
- __restore_flags(flags);
-
- return result;
-}
-
-static inline int atomic_add_negative(int i, volatile atomic_t *v)
-{
- unsigned long flags;
- int result;
-
- __save_flags_cli(flags);
- v->counter += i;
- result = (v->counter < 0);
- __restore_flags(flags);
-
- return result;
-}
-
-static __inline__ void atomic_clear_mask(unsigned long mask, unsigned long *addr)
-{
- unsigned long flags;
-
- __save_flags_cli(flags);
- *addr &= ~mask;
- __restore_flags(flags);
-}
-
-#define mb() __asm__ __volatile__ ("" : : : "memory")
-#define rmb() mb()
-#define wmb() mb()
-
-#define IATOMIC_DEFINED 1
-
-#endif /* __arm__ */
-
-#ifdef __sh__
-
-typedef struct { volatile int counter; } atomic_t;
-
-#define ATOMIC_INIT(i) { (i) }
-
-#define atomic_read(v) ((v)->counter)
-#define atomic_set(v,i) (((v)->counter) = (i))
-
-#define atomic_dec_return(v) atomic_sub_return(1,(v))
-#define atomic_inc_return(v) atomic_add_return(1,(v))
-
-#define atomic_sub_and_test(i,v) (atomic_sub_return((i), (v)) == 0)
-#define atomic_dec_and_test(v) (atomic_sub_return(1, (v)) == 0)
-#define atomic_inc_and_test(v) (atomic_add_return(1, (v)) != 0)
-
-#define atomic_add(i,v) atomic_add_return((i),(v))
-#define atomic_sub(i,v) atomic_sub_return((i),(v))
-#define atomic_inc(v) atomic_add(1,(v))
-#define atomic_dec(v) atomic_sub(1,(v))
-
-static __inline__ int atomic_add_return(int i, volatile atomic_t *v)
-{
- int result;
-
- asm volatile (
- " .align 2\n"
- " mova 99f, r0\n"
- " mov r15, r1\n"
- " mov #-6, r15\n"
- " mov.l @%2, %0\n"
- " add %1, %0\n"
- " mov.l %0, @%2\n"
- "99: mov r1, r15"
- : "=&r"(result)
- : "r"(i), "r"(v)
- : "r0", "r1");
-
- return result;
-}
-
-static __inline__ int atomic_sub_return(int i, volatile atomic_t *v)
-{
- int result;
-
- asm volatile (
- " .align 2\n"
- " mova 99f, r0\n"
- " mov r15, r1\n"
- " mov #-6, r15\n"
- " mov.l @%2, %0\n"
- " sub %1, %0\n"
- " mov.l %0, @%2\n"
- "99: mov r1, r15"
- : "=&r"(result)
- : "r"(i), "r"(v)
- : "r0", "r1");
-
- return result;
-}
-
-#define mb() __asm__ __volatile__ ("" : : : "memory")
-#define rmb() mb()
-#define wmb() mb()
-
-#define IATOMIC_DEFINED 1
-
-#endif /* __sh__ */
-
-#ifndef IATOMIC_DEFINED
-/*
- * non supported architecture.
- */
-#warning "Atomic operations are not supported on this architecture."
-
-typedef struct { volatile int counter; } atomic_t;
-
-#define ATOMIC_INIT(i) { (i) }
-
-#define atomic_read(v) ((v)->counter)
-#define atomic_set(v,i) (((v)->counter) = (i))
-#define atomic_add(i,v) (((v)->counter) += (i))
-#define atomic_sub(i,v) (((v)->counter) -= (i))
-#define atomic_inc(v) (((v)->counter)++)
-#define atomic_dec(v) (((v)->counter)--)
-
-#define mb()
-#define rmb()
-#define wmb()
-
-#define IATOMIC_DEFINED 1
-
-#endif /* IATOMIC_DEFINED */
-
-/*
- * Atomic read/write
- * Copyright (c) 2001 by Abramo Bagnara <abramo@alsa-project.org>
- */
-
-/* Max number of times we must spin on a spin-lock calling sched_yield().
- After MAX_SPIN_COUNT iterations, we put the calling thread to sleep. */
-
-#ifndef MAX_SPIN_COUNT
-#define MAX_SPIN_COUNT 50
-#endif
-
-/* Duration of sleep (in nanoseconds) when we can't acquire a spin-lock
- after MAX_SPIN_COUNT iterations of sched_yield().
- This MUST BE > 2ms.
- (Otherwise the kernel does busy-waiting for real-time threads,
- giving other threads no chance to run.) */
-
-#ifndef SPIN_SLEEP_DURATION
-#define SPIN_SLEEP_DURATION 2000001
-#endif
-
-typedef struct {
- unsigned int begin, end;
-} snd_atomic_write_t;
-
-typedef struct {
- volatile const snd_atomic_write_t *write;
- unsigned int end;
-} snd_atomic_read_t;
-
-void snd_atomic_read_wait(snd_atomic_read_t *t);
-
-static inline void snd_atomic_write_init(snd_atomic_write_t *w)
-{
- w->begin = 0;
- w->end = 0;
-}
-
-static inline void snd_atomic_write_begin(snd_atomic_write_t *w)
-{
- w->begin++;
- wmb();
-}
-
-static inline void snd_atomic_write_end(snd_atomic_write_t *w)
-{
- wmb();
- w->end++;
-}
-
-static inline void snd_atomic_read_init(snd_atomic_read_t *r, snd_atomic_write_t *w)
-{
- r->write = w;
-}
-
-static inline void snd_atomic_read_begin(snd_atomic_read_t *r)
-{
- r->end = r->write->end;
- rmb();
-}
-
-static inline int snd_atomic_read_ok(snd_atomic_read_t *r)
-{
- rmb();
- return r->end == r->write->begin;
-}
-
-#endif /* __ALSA_IATOMIC_H */
diff --git a/alsa-lib/include/input.h b/alsa-lib/include/input.h
deleted file mode 100644
index fc5d0e6..0000000
--- a/alsa-lib/include/input.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/**
- * \file include/input.h
- * \brief Application interface library for the ALSA driver
- * \author Jaroslav Kysela <perex@perex.cz>
- * \author Abramo Bagnara <abramo@alsa-project.org>
- * \author Takashi Iwai <tiwai@suse.de>
- * \date 1998-2001
- *
- * Application interface library for the ALSA driver
- */
-/*
- * This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#ifndef __ALSA_INPUT_H
-#define __ALSA_INPUT_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * \defgroup Input Input Interface
- *
- * The input functions present an interface similar to the stdio functions
- * on top of different underlying input sources.
- *
- * The #snd_config_load function uses such an input handle to be able to
- * load configurations not only from standard files but also from other
- * sources, e.g. from memory buffers.
- *
- * \{
- */
-
-/**
- * \brief Internal structure for an input object.
- *
- * The ALSA library uses a pointer to this structure as a handle to an
- * input object. Applications don't access its contents directly.
- */
-typedef struct _snd_input snd_input_t;
-
-/** Input type. */
-typedef enum _snd_input_type {
- /** Input from a stdio stream. */
- SND_INPUT_STDIO,
- /** Input from a memory buffer. */
- SND_INPUT_BUFFER
-} snd_input_type_t;
-
-int snd_input_stdio_open(snd_input_t **inputp, const char *file, const char *mode);
-int snd_input_stdio_attach(snd_input_t **inputp, FILE *fp, int _close);
-int snd_input_buffer_open(snd_input_t **inputp, const char *buffer, ssize_t size);
-int snd_input_close(snd_input_t *input);
-int snd_input_scanf(snd_input_t *input, const char *format, ...)
-#ifndef DOC_HIDDEN
- __attribute__ ((format (scanf, 2, 3)))
-#endif
- ;
-char *snd_input_gets(snd_input_t *input, char *str, size_t size);
-int snd_input_getc(snd_input_t *input);
-int snd_input_ungetc(snd_input_t *input, int c);
-
-/** \} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __ALSA_INPUT_H */
diff --git a/alsa-lib/include/list.h b/alsa-lib/include/list.h
deleted file mode 100644
index 5b3f1bf..0000000
--- a/alsa-lib/include/list.h
+++ /dev/null
@@ -1,166 +0,0 @@
-#ifndef _LIST_H
-#define _LIST_H
-
-/*
- * This code was taken from the Linux 2.4.0 kernel. [jaroslav]
- */
-
-/*
- * Simple doubly linked list implementation.
- *
- * Some of the internal functions ("__xxx") are useful when
- * manipulating whole lists rather than single entries, as
- * sometimes we already know the next/prev entries and we can
- * generate better code by using them directly rather than
- * using the generic single-entry routines.
- */
-
-#ifndef LIST_HEAD_IS_DEFINED
-struct list_head {
- struct list_head *next, *prev;
-};
-#endif
-
-#define LIST_HEAD_INIT(name) { &(name), &(name) }
-
-#define LIST_HEAD(name) \
- struct list_head name = LIST_HEAD_INIT(name)
-
-#define INIT_LIST_HEAD(ptr) do { \
- (ptr)->next = (ptr); (ptr)->prev = (ptr); \
-} while (0)
-
-/*
- * Insert a new entry between two known consecutive entries.
- *
- * This is only for internal list manipulation where we know
- * the prev/next entries already!
- */
-static __inline__ void __list_add(struct list_head * _new,
- struct list_head * prev,
- struct list_head * next)
-{
- next->prev = _new;
- _new->next = next;
- _new->prev = prev;
- prev->next = _new;
-}
-
-/**
- * list_add - add a new entry
- * @new: new entry to be added
- * @head: list head to add it after
- *
- * Insert a new entry after the specified head.
- * This is good for implementing stacks.
- */
-static __inline__ void list_add(struct list_head *_new, struct list_head *head)
-{
- __list_add(_new, head, head->next);
-}
-
-/**
- * list_add_tail - add a new entry
- * @new: new entry to be added
- * @head: list head to add it before
- *
- * Insert a new entry before the specified head.
- * This is useful for implementing queues.
- */
-static __inline__ void list_add_tail(struct list_head *_new, struct list_head *head)
-{
- __list_add(_new, head->prev, head);
-}
-
-/*
- * Delete a list entry by making the prev/next entries
- * point to each other.
- *
- * This is only for internal list manipulation where we know
- * the prev/next entries already!
- */
-static __inline__ void __list_del(struct list_head * prev,
- struct list_head * next)
-{
- next->prev = prev;
- prev->next = next;
-}
-
-/**
- * list_del - deletes entry from list.
- * @entry: the element to delete from the list.
- * Note: list_empty on entry does not return true after this, the entry is in an undefined state.
- */
-static __inline__ void list_del(struct list_head *entry)
-{
- __list_del(entry->prev, entry->next);
-}
-
-/**
- * list_del_init - deletes entry from list and reinitialize it.
- * @entry: the element to delete from the list.n
- */
-static __inline__ void list_del_init(struct list_head *entry)
-{
- __list_del(entry->prev, entry->next);
- INIT_LIST_HEAD(entry);
-}
-
-/**
- * list_empty - tests whether a list is empty
- * @head: the list to test.
- */
-static __inline__ int list_empty(struct list_head *head)
-{
- return head->next == head;
-}
-
-/**
- * list_splice - join two lists
- * @list: the new list to add.
- * @head: the place to add it in the first list.
- */
-static __inline__ void list_splice(struct list_head *list, struct list_head *head)
-{
- struct list_head *first = list->next;
-
- if (first != list) {
- struct list_head *last = list->prev;
- struct list_head *at = head->next;
-
- first->prev = head;
- head->next = first;
-
- last->next = at;
- at->prev = last;
- }
-}
-
-/**
- * list_for_each - iterate over a list
- * @pos: the &struct list_head to use as a loop counter.
- * @head: the head for your list.
- */
-#define list_for_each(pos, head) \
- for (pos = (head)->next ; pos != (head); pos = pos->next)
-
-/**
- * list_for_each_safe - iterate over a list safely (actual pointer can be invalidated)
- * @pos: the &struct list_head to use as a loop counter.
- * @next: the &struct list_head to use to save next.
- * @head: the head for your list.
- */
-#define list_for_each_safe(pos, npos, head) \
- for (pos = (head)->next, npos = pos->next ; pos != (head); pos = npos, npos = pos->next)
-
-/**
- * list_entry - get the struct for this entry
- * @ptr: the &struct list_head pointer.
- * @type: the type of the struct this is embedded in.
- * @member: the name of the list_struct within the struct.
- */
-#define list_entry(ptr, type, member) \
- ((type *)((char *)(ptr)-(unsigned long)(&((type *)0)->member)))
-
-
-#endif /* _LIST_H */
diff --git a/alsa-lib/include/local.h b/alsa-lib/include/local.h
deleted file mode 100644
index b5a1c45..0000000
--- a/alsa-lib/include/local.h
+++ /dev/null
@@ -1,278 +0,0 @@
-/*
- * ALSA lib - local header file
- * Copyright (c) 2000 by Abramo Bagnara <abramo@alsa-project.org>
- *
- *
- * This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#ifndef __LOCAL_H
-#define __LOCAL_H
-
-#include <unistd.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <fcntl.h>
-#include <assert.h>
-#include <endian.h>
-#include <stdarg.h>
-#include <sys/poll.h>
-#include <errno.h>
-
-#include "config.h"
-#ifdef SUPPORT_RESMGR
-#include <resmgr.h>
-#endif
-#ifdef HAVE_LIBDL
-#include <dlfcn.h>
-#else
-#define RTLD_NOW 0
-#endif
-
-#define _snd_config_iterator list_head
-#define _snd_interval sndrv_interval
-#define _snd_pcm_info sndrv_pcm_info
-#define _snd_pcm_hw_params sndrv_pcm_hw_params
-#define _snd_pcm_sw_params sndrv_pcm_sw_params
-#define _snd_pcm_status sndrv_pcm_status
-
-#define _snd_ctl_card_info sndrv_ctl_card_info
-#define _snd_ctl_elem_id sndrv_ctl_elem_id
-#define _snd_ctl_elem_list sndrv_ctl_elem_list
-#define _snd_ctl_elem_info sndrv_ctl_elem_info
-#define _snd_ctl_elem_value sndrv_ctl_elem_value
-#define _snd_ctl_event sndrv_ctl_event
-
-#define _snd_rawmidi_info sndrv_rawmidi_info
-#define _snd_rawmidi_params sndrv_rawmidi_params
-#define _snd_rawmidi_status sndrv_rawmidi_status
-
-#define _snd_hwdep_info sndrv_hwdep_info
-#define _snd_hwdep_dsp_status sndrv_hwdep_dsp_status
-#define _snd_hwdep_dsp_image sndrv_hwdep_dsp_image
-
-#define _snd_seq_queue_tempo sndrv_seq_queue_tempo
-#define _snd_seq_client_info sndrv_seq_client_info
-#define _snd_seq_port_info sndrv_seq_port_info
-#define _snd_seq_system_info sndrv_seq_system_info
-#define _snd_seq_queue_info sndrv_seq_queue_info
-#define _snd_seq_queue_status sndrv_seq_queue_status
-#define _snd_seq_queue_timer sndrv_seq_queue_timer
-#define _snd_seq_port_subscribe sndrv_seq_port_subscribe
-#define _snd_seq_query_subscribe sndrv_seq_query_subs
-#define _snd_seq_client_pool sndrv_seq_client_pool
-#define _snd_seq_remove_events sndrv_seq_remove_events
-
-#define sndrv_seq_addr snd_seq_addr
-#define sndrv_seq_tick_time_t snd_seq_tick_time_t
-#define sndrv_seq_real_time snd_seq_real_time
-#define sndrv_seq_timestamp snd_seq_timestamp
-#define sndrv_seq_event snd_seq_event
-
-#if 0
-typedef struct sndrv_seq_addr snd_seq_addr_t;
-#define snd_seq_tick_time_t sndrv_seq_tick_time_t
-typedef struct sndrv_seq_real_time snd_seq_real_time_t;
-typedef union sndrv_seq_timestamp snd_seq_timestamp_t;
-typedef struct sndrv_seq_event snd_seq_event_t;
-#endif
-
-#define _snd_timer_id sndrv_timer_id
-#define _snd_timer_ginfo sndrv_timer_ginfo
-#define _snd_timer_gparams sndrv_timer_gparams
-#define _snd_timer_gstatus sndrv_timer_gstatus
-#define _snd_timer_select sndrv_timer_select
-#define _snd_timer_info sndrv_timer_info
-#define _snd_timer_params sndrv_timer_params
-#define _snd_timer_status sndrv_timer_status
-
-#define ALSA_LIBRARY_BUILD
-
-#include <sound/asound.h>
-#include <sound/asoundef.h>
-#include "alsa-symbols.h"
-#include "version.h"
-#include "global.h"
-#include "input.h"
-#include "output.h"
-#include "error.h"
-#include "conf.h"
-#include "pcm.h"
-#include "pcm_plugin.h"
-#include "rawmidi.h"
-#include "timer.h"
-#include "hwdep.h"
-#include "control.h"
-#include "mixer.h"
-#include "seq_event.h"
-#include "seq.h"
-#include <sound/asequencer.h>
-#include "seqmid.h"
-#include "seq_midi_event.h"
-#include "list.h"
-
-#if __BYTE_ORDER == __LITTLE_ENDIAN
-#define SND_LITTLE_ENDIAN
-#endif
-#if __BYTE_ORDER == __BIG_ENDIAN
-#define SND_BIG_ENDIAN
-#endif
-
-struct _snd_async_handler {
- enum {
- SND_ASYNC_HANDLER_GENERIC,
- SND_ASYNC_HANDLER_CTL,
- SND_ASYNC_HANDLER_PCM,
- SND_ASYNC_HANDLER_TIMER,
- } type;
- int fd;
- union {
- snd_ctl_t *ctl;
- snd_pcm_t *pcm;
- snd_timer_t *timer;
- } u;
- snd_async_callback_t callback;
- void *private_data;
- struct list_head glist;
- struct list_head hlist;
-};
-
-typedef enum _snd_set_mode {
- SND_CHANGE,
- SND_TRY,
- SND_TEST,
-} snd_set_mode_t;
-
-size_t page_align(size_t size);
-size_t page_size(void);
-size_t page_ptr(size_t object_offset, size_t object_size, size_t *offset, size_t *mmap_offset);
-
-int safe_strtol(const char *str, long *val);
-
-int snd_send_fd(int sock, void *data, size_t len, int fd);
-int snd_receive_fd(int sock, void *data, size_t len, int *fd);
-
-/*
- * error messages
- */
-#ifndef NDEBUG
-#define CHECK_SANITY(x) x
-extern snd_lib_error_handler_t snd_err_msg;
-#define SNDMSG(args...) snd_err_msg(__FILE__, __LINE__, __FUNCTION__, 0, ##args)
-#define SYSMSG(args...) snd_err_msg(__FILE__, __LINE__, __FUNCTION__, errno, ##args)
-#else
-#define CHECK_SANITY(x) 0 /* not evaluated */
-#define SNDMSG(args...) /* nop */
-#define SYSMSG(args...) /* nop */
-#endif
-
-/*
- */
-#define HAVE_GNU_LD
-#define HAVE_ELF
-#define HAVE_ASM_PREVIOUS_DIRECTIVE
-
-/* Stolen from libc-symbols.h in GNU glibc */
-
-/* When a reference to SYMBOL is encountered, the linker will emit a
- warning message MSG. */
-
-#define ASM_NAME(name) __SYMBOL_PREFIX name
-
-#ifdef HAVE_GNU_LD
-# ifdef HAVE_ELF
-
-/* We want the .gnu.warning.SYMBOL section to be unallocated. */
-# ifdef HAVE_ASM_PREVIOUS_DIRECTIVE
-# define __make_section_unallocated(section_string) \
- asm (".section " section_string "\n\t.previous");
-# elif defined HAVE_ASM_POPSECTION_DIRECTIVE
-# define __make_section_unallocated(section_string) \
- asm (".pushsection " section_string "\n\t.popsection");
-# else
-# define __make_section_unallocated(section_string)
-# endif
-
-/* Tacking on "\n\t#" to the section name makes gcc put it's bogus
- section attributes on what looks like a comment to the assembler. */
-# ifdef HAVE_SECTION_QUOTES
-# define link_warning(symbol, msg) \
- __make_section_unallocated (".gnu.warning." ASM_NAME(#symbol)) \
- static const char __evoke_link_warning_##symbol[] \
- __attribute__ ((section (".gnu.warning." ASM_NAME(#symbol) "\"\n\t#\""))) = msg;
-# else
-# define link_warning(symbol, msg) \
- __make_section_unallocated (".gnu.warning." ASM_NAME(#symbol)) \
- static const char __evoke_link_warning_##symbol[] \
- __attribute__ ((section (".gnu.warning." ASM_NAME(#symbol) "\n\t#"))) = msg;
-# endif
-# else
-# define link_warning(symbol, msg) \
- asm (".stabs \"" msg "\",30,0,0,0\n\t" \
- ".stabs \"" ASM_NAME(#symbol) "\",1,0,0,0\n");
-# endif
-#else
-/* We will never be heard; they will all die horribly. */
-# define link_warning(symbol, msg)
-#endif
-
-/* open with resmgr */
-#ifdef SUPPORT_RESMGR
-static inline int snd_open_device(const char *filename, int fmode)
-{
- int fd = open(filename, fmode);
- if (fd >= 0)
- return fd;
- if (errno == EAGAIN || errno == EBUSY)
- return fd;
- if (! access(filename, F_OK))
- return rsm_open_device(filename, fmode);
- return -1;
-}
-#else
-#define snd_open_device(filename, fmode) open(filename, fmode);
-#endif
-
-/* make local functions really local */
-#define snd_dlobj_cache_lookup \
- snd1_dlobj_cache_lookup
-#define snd_dlobj_cache_add \
- snd1_dlobj_cache_add
-#define snd_dlobj_cache_cleanup \
- snd1_dlobj_cache_cleanup
-#define snd_config_set_hop \
- snd1_config_set_hop
-#define snd_config_check_hop \
- snd1_config_check_hop
-#define snd_config_search_alias_hooks \
- snd1_config_search_alias_hooks
-
-/* dlobj cache */
-void *snd_dlobj_cache_lookup(const char *name);
-int snd_dlobj_cache_add(const char *name, void *dlobj, void *open_func);
-void snd_dlobj_cache_cleanup(void);
-
-/* for recursive checks */
-void snd_config_set_hop(snd_config_t *conf, int hop);
-int snd_config_check_hop(snd_config_t *conf);
-#define SND_CONF_MAX_HOPS 64
-
-int snd_config_search_alias_hooks(snd_config_t *config,
- const char *base, const char *key,
- snd_config_t **result);
-
-#endif
diff --git a/alsa-lib/include/mixer.h b/alsa-lib/include/mixer.h
deleted file mode 100644
index df92164..0000000
--- a/alsa-lib/include/mixer.h
+++ /dev/null
@@ -1,319 +0,0 @@
-/**
- * \file include/mixer.h
- * \brief Application interface library for the ALSA driver
- * \author Jaroslav Kysela <perex@perex.cz>
- * \author Abramo Bagnara <abramo@alsa-project.org>
- * \author Takashi Iwai <tiwai@suse.de>
- * \date 1998-2001
- *
- * Application interface library for the ALSA driver
- */
-/*
- * This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#ifndef __ALSA_MIXER_H
-#define __ALSA_MIXER_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * \defgroup Mixer Mixer Interface
- * The mixer interface.
- * \{
- */
-
-/** Mixer handle */
-typedef struct _snd_mixer snd_mixer_t;
-/** Mixer elements class handle */
-typedef struct _snd_mixer_class snd_mixer_class_t;
-/** Mixer element handle */
-typedef struct _snd_mixer_elem snd_mixer_elem_t;
-
-/**
- * \brief Mixer callback function
- * \param mixer Mixer handle
- * \param mask event mask
- * \param elem related mixer element (if any)
- * \return 0 on success otherwise a negative error code
- */
-typedef int (*snd_mixer_callback_t)(snd_mixer_t *ctl,
- unsigned int mask,
- snd_mixer_elem_t *elem);
-
-/**
- * \brief Mixer element callback function
- * \param elem Mixer element
- * \param mask event mask
- * \return 0 on success otherwise a negative error code
- */
-typedef int (*snd_mixer_elem_callback_t)(snd_mixer_elem_t *elem,
- unsigned int mask);
-
-/**
- * \brief Compare function for sorting mixer elements
- * \param e1 First element
- * \param e2 Second element
- * \return -1 if e1 < e2, 0 if e1 == e2, 1 if e1 > e2
- */
-typedef int (*snd_mixer_compare_t)(const snd_mixer_elem_t *e1,
- const snd_mixer_elem_t *e2);
-
-/**
- * \brief Event callback for the mixer class
- * \param class_ Mixer class
- * \param mask Event mask (SND_CTL_EVENT_*)
- * \param helem HCTL element which invoked the event
- * \param melem Mixer element associated to HCTL element
- * \return zero if success, otherwise a negative error value
- */
-typedef int (*snd_mixer_event_t)(snd_mixer_class_t *class_, unsigned int mask,
- snd_hctl_elem_t *helem, snd_mixer_elem_t *melem);
-
-
-/** Mixer element type */
-typedef enum _snd_mixer_elem_type {
- /* Simple mixer elements */
- SND_MIXER_ELEM_SIMPLE,
- SND_MIXER_ELEM_LAST = SND_MIXER_ELEM_SIMPLE
-} snd_mixer_elem_type_t;
-
-int snd_mixer_open(snd_mixer_t **mixer, int mode);
-int snd_mixer_close(snd_mixer_t *mixer);
-snd_mixer_elem_t *snd_mixer_first_elem(snd_mixer_t *mixer);
-snd_mixer_elem_t *snd_mixer_last_elem(snd_mixer_t *mixer);
-int snd_mixer_handle_events(snd_mixer_t *mixer);
-int snd_mixer_attach(snd_mixer_t *mixer, const char *name);
-int snd_mixer_attach_hctl(snd_mixer_t *mixer, snd_hctl_t *hctl);
-int snd_mixer_detach(snd_mixer_t *mixer, const char *name);
-int snd_mixer_detach_hctl(snd_mixer_t *mixer, snd_hctl_t *hctl);
-int snd_mixer_get_hctl(snd_mixer_t *mixer, const char *name, snd_hctl_t **hctl);
-int snd_mixer_poll_descriptors_count(snd_mixer_t *mixer);
-int snd_mixer_poll_descriptors(snd_mixer_t *mixer, struct pollfd *pfds, unsigned int space);
-int snd_mixer_poll_descriptors_revents(snd_mixer_t *mixer, struct pollfd *pfds, unsigned int nfds, unsigned short *revents);
-int snd_mixer_load(snd_mixer_t *mixer);
-void snd_mixer_free(snd_mixer_t *mixer);
-int snd_mixer_wait(snd_mixer_t *mixer, int timeout);
-int snd_mixer_set_compare(snd_mixer_t *mixer, snd_mixer_compare_t msort);
-void snd_mixer_set_callback(snd_mixer_t *obj, snd_mixer_callback_t val);
-void * snd_mixer_get_callback_private(const snd_mixer_t *obj);
-void snd_mixer_set_callback_private(snd_mixer_t *obj, void * val);
-unsigned int snd_mixer_get_count(const snd_mixer_t *obj);
-int snd_mixer_class_unregister(snd_mixer_class_t *clss);
-
-snd_mixer_elem_t *snd_mixer_elem_next(snd_mixer_elem_t *elem);
-snd_mixer_elem_t *snd_mixer_elem_prev(snd_mixer_elem_t *elem);
-void snd_mixer_elem_set_callback(snd_mixer_elem_t *obj, snd_mixer_elem_callback_t val);
-void * snd_mixer_elem_get_callback_private(const snd_mixer_elem_t *obj);
-void snd_mixer_elem_set_callback_private(snd_mixer_elem_t *obj, void * val);
-snd_mixer_elem_type_t snd_mixer_elem_get_type(const snd_mixer_elem_t *obj);
-
-int snd_mixer_class_register(snd_mixer_class_t *class_, snd_mixer_t *mixer);
-int snd_mixer_add_elem(snd_mixer_t *mixer, snd_mixer_elem_t *elem);
-int snd_mixer_remove_elem(snd_mixer_t *mixer, snd_mixer_elem_t *elem);
-int snd_mixer_elem_new(snd_mixer_elem_t **elem,
- snd_mixer_elem_type_t type,
- int compare_weight,
- void *private_data,
- void (*private_free)(snd_mixer_elem_t *elem));
-int snd_mixer_elem_add(snd_mixer_elem_t *elem, snd_mixer_class_t *class_);
-int snd_mixer_elem_remove(snd_mixer_elem_t *elem);
-void snd_mixer_elem_free(snd_mixer_elem_t *elem);
-int snd_mixer_elem_info(snd_mixer_elem_t *elem);
-int snd_mixer_elem_value(snd_mixer_elem_t *elem);
-int snd_mixer_elem_attach(snd_mixer_elem_t *melem, snd_hctl_elem_t *helem);
-int snd_mixer_elem_detach(snd_mixer_elem_t *melem, snd_hctl_elem_t *helem);
-int snd_mixer_elem_empty(snd_mixer_elem_t *melem);
-void *snd_mixer_elem_get_private(const snd_mixer_elem_t *melem);
-
-size_t snd_mixer_class_sizeof(void);
-/** \hideinitializer
- * \brief allocate an invalid #snd_mixer_class_t using standard alloca
- * \param ptr returned pointer
- */
-#define snd_mixer_class_alloca(ptr) __snd_alloca(ptr, snd_mixer_class)
-int snd_mixer_class_malloc(snd_mixer_class_t **ptr);
-void snd_mixer_class_free(snd_mixer_class_t *obj);
-void snd_mixer_class_copy(snd_mixer_class_t *dst, const snd_mixer_class_t *src);
-snd_mixer_t *snd_mixer_class_get_mixer(const snd_mixer_class_t *class_);
-snd_mixer_event_t snd_mixer_class_get_event(const snd_mixer_class_t *class_);
-void *snd_mixer_class_get_private(const snd_mixer_class_t *class_);
-snd_mixer_compare_t snd_mixer_class_get_compare(const snd_mixer_class_t *class_);
-int snd_mixer_class_set_event(snd_mixer_class_t *class_, snd_mixer_event_t event);
-int snd_mixer_class_set_private(snd_mixer_class_t *class_, void *private_data);
-int snd_mixer_class_set_private_free(snd_mixer_class_t *class_, void (*private_free)(snd_mixer_class_t *class_));
-int snd_mixer_class_set_compare(snd_mixer_class_t *class_, snd_mixer_compare_t compare);
-
-/**
- * \defgroup SimpleMixer Simple Mixer Interface
- * \ingroup Mixer
- * The simple mixer interface.
- * \{
- */
-
-/* Simple mixer elements API */
-
-/** Mixer simple element channel identifier */
-typedef enum _snd_mixer_selem_channel_id {
- /** Unknown */
- SND_MIXER_SCHN_UNKNOWN = -1,
- /** Front left */
- SND_MIXER_SCHN_FRONT_LEFT = 0,
- /** Front right */
- SND_MIXER_SCHN_FRONT_RIGHT,
- /** Rear left */
- SND_MIXER_SCHN_REAR_LEFT,
- /** Rear right */
- SND_MIXER_SCHN_REAR_RIGHT,
- /** Front center */
- SND_MIXER_SCHN_FRONT_CENTER,
- /** Woofer */
- SND_MIXER_SCHN_WOOFER,
- /** Side Left */
- SND_MIXER_SCHN_SIDE_LEFT,
- /** Side Right */
- SND_MIXER_SCHN_SIDE_RIGHT,
- /** Rear Center */
- SND_MIXER_SCHN_REAR_CENTER,
- SND_MIXER_SCHN_LAST = 31,
- /** Mono (Front left alias) */
- SND_MIXER_SCHN_MONO = SND_MIXER_SCHN_FRONT_LEFT
-} snd_mixer_selem_channel_id_t;
-
-/** Mixer simple element - register options - abstraction level */
-enum snd_mixer_selem_regopt_abstract {
- /** no abstraction - try use all universal controls from driver */
- SND_MIXER_SABSTRACT_NONE = 0,
- /** basic abstraction - Master,PCM,CD,Aux,Record-Gain etc. */
- SND_MIXER_SABSTRACT_BASIC,
-};
-
-/** Mixer simple element - register options */
-struct snd_mixer_selem_regopt {
- /** structure version */
- int ver;
- /** v1: abstract layer selection */
- enum snd_mixer_selem_regopt_abstract abstract;
- /** v1: device name (must be NULL when playback_pcm or capture_pcm != NULL) */
- const char *device;
- /** v1: playback PCM connected to mixer device (NULL == none) */
- snd_pcm_t *playback_pcm;
- /** v1: capture PCM connected to mixer device (NULL == none) */
- snd_pcm_t *capture_pcm;
-};
-
-/** Mixer simple element identifier */
-typedef struct _snd_mixer_selem_id snd_mixer_selem_id_t;
-
-const char *snd_mixer_selem_channel_name(snd_mixer_selem_channel_id_t channel);
-
-int snd_mixer_selem_register(snd_mixer_t *mixer,
- struct snd_mixer_selem_regopt *options,
- snd_mixer_class_t **classp);
-void snd_mixer_selem_get_id(snd_mixer_elem_t *element,
- snd_mixer_selem_id_t *id);
-const char *snd_mixer_selem_get_name(snd_mixer_elem_t *elem);
-unsigned int snd_mixer_selem_get_index(snd_mixer_elem_t *elem);
-snd_mixer_elem_t *snd_mixer_find_selem(snd_mixer_t *mixer,
- const snd_mixer_selem_id_t *id);
-
-int snd_mixer_selem_is_active(snd_mixer_elem_t *elem);
-int snd_mixer_selem_is_playback_mono(snd_mixer_elem_t *elem);
-int snd_mixer_selem_has_playback_channel(snd_mixer_elem_t *obj, snd_mixer_selem_channel_id_t channel);
-int snd_mixer_selem_is_capture_mono(snd_mixer_elem_t *elem);
-int snd_mixer_selem_has_capture_channel(snd_mixer_elem_t *obj, snd_mixer_selem_channel_id_t channel);
-int snd_mixer_selem_get_capture_group(snd_mixer_elem_t *elem);
-int snd_mixer_selem_has_common_volume(snd_mixer_elem_t *elem);
-int snd_mixer_selem_has_playback_volume(snd_mixer_elem_t *elem);
-int snd_mixer_selem_has_playback_volume_joined(snd_mixer_elem_t *elem);
-int snd_mixer_selem_has_capture_volume(snd_mixer_elem_t *elem);
-int snd_mixer_selem_has_capture_volume_joined(snd_mixer_elem_t *elem);
-int snd_mixer_selem_has_common_switch(snd_mixer_elem_t *elem);
-int snd_mixer_selem_has_playback_switch(snd_mixer_elem_t *elem);
-int snd_mixer_selem_has_playback_switch_joined(snd_mixer_elem_t *elem);
-int snd_mixer_selem_has_capture_switch(snd_mixer_elem_t *elem);
-int snd_mixer_selem_has_capture_switch_joined(snd_mixer_elem_t *elem);
-int snd_mixer_selem_has_capture_switch_exclusive(snd_mixer_elem_t *elem);
-
-int snd_mixer_selem_ask_playback_vol_dB(snd_mixer_elem_t *elem, long value, long *dBvalue);
-int snd_mixer_selem_ask_capture_vol_dB(snd_mixer_elem_t *elem, long value, long *dBvalue);
-int snd_mixer_selem_ask_playback_dB_vol(snd_mixer_elem_t *elem, long dBvalue, int dir, long *value);
-int snd_mixer_selem_ask_capture_dB_vol(snd_mixer_elem_t *elem, long dBvalue, int dir, long *value);
-int snd_mixer_selem_get_playback_volume(snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel, long *value);
-int snd_mixer_selem_get_capture_volume(snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel, long *value);
-int snd_mixer_selem_get_playback_dB(snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel, long *value);
-int snd_mixer_selem_get_capture_dB(snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel, long *value);
-int snd_mixer_selem_get_playback_switch(snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel, int *value);
-int snd_mixer_selem_get_capture_switch(snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel, int *value);
-int snd_mixer_selem_set_playback_volume(snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel, long value);
-int snd_mixer_selem_set_capture_volume(snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel, long value);
-int snd_mixer_selem_set_playback_dB(snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel, long value, int dir);
-int snd_mixer_selem_set_capture_dB(snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel, long value, int dir);
-int snd_mixer_selem_set_playback_volume_all(snd_mixer_elem_t *elem, long value);
-int snd_mixer_selem_set_capture_volume_all(snd_mixer_elem_t *elem, long value);
-int snd_mixer_selem_set_playback_dB_all(snd_mixer_elem_t *elem, long value, int dir);
-int snd_mixer_selem_set_capture_dB_all(snd_mixer_elem_t *elem, long value, int dir);
-int snd_mixer_selem_set_playback_switch(snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel, int value);
-int snd_mixer_selem_set_capture_switch(snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel, int value);
-int snd_mixer_selem_set_playback_switch_all(snd_mixer_elem_t *elem, int value);
-int snd_mixer_selem_set_capture_switch_all(snd_mixer_elem_t *elem, int value);
-int snd_mixer_selem_get_playback_volume_range(snd_mixer_elem_t *elem,
- long *min, long *max);
-int snd_mixer_selem_get_playback_dB_range(snd_mixer_elem_t *elem,
- long *min, long *max);
-int snd_mixer_selem_set_playback_volume_range(snd_mixer_elem_t *elem,
- long min, long max);
-int snd_mixer_selem_get_capture_volume_range(snd_mixer_elem_t *elem,
- long *min, long *max);
-int snd_mixer_selem_get_capture_dB_range(snd_mixer_elem_t *elem,
- long *min, long *max);
-int snd_mixer_selem_set_capture_volume_range(snd_mixer_elem_t *elem,
- long min, long max);
-
-int snd_mixer_selem_is_enumerated(snd_mixer_elem_t *elem);
-int snd_mixer_selem_is_enum_playback(snd_mixer_elem_t *elem);
-int snd_mixer_selem_is_enum_capture(snd_mixer_elem_t *elem);
-int snd_mixer_selem_get_enum_items(snd_mixer_elem_t *elem);
-int snd_mixer_selem_get_enum_item_name(snd_mixer_elem_t *elem, unsigned int idx, size_t maxlen, char *str);
-int snd_mixer_selem_get_enum_item(snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel, unsigned int *idxp);
-int snd_mixer_selem_set_enum_item(snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel, unsigned int idx);
-
-size_t snd_mixer_selem_id_sizeof(void);
-/** \hideinitializer
- * \brief allocate an invalid #snd_mixer_selem_id_t using standard alloca
- * \param ptr returned pointer
- */
-#define snd_mixer_selem_id_alloca(ptr) __snd_alloca(ptr, snd_mixer_selem_id)
-int snd_mixer_selem_id_malloc(snd_mixer_selem_id_t **ptr);
-void snd_mixer_selem_id_free(snd_mixer_selem_id_t *obj);
-void snd_mixer_selem_id_copy(snd_mixer_selem_id_t *dst, const snd_mixer_selem_id_t *src);
-const char *snd_mixer_selem_id_get_name(const snd_mixer_selem_id_t *obj);
-unsigned int snd_mixer_selem_id_get_index(const snd_mixer_selem_id_t *obj);
-void snd_mixer_selem_id_set_name(snd_mixer_selem_id_t *obj, const char *val);
-void snd_mixer_selem_id_set_index(snd_mixer_selem_id_t *obj, unsigned int val);
-
-/** \} */
-
-/** \} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __ALSA_MIXER_H */
-
diff --git a/alsa-lib/include/mixer_abst.h b/alsa-lib/include/mixer_abst.h
deleted file mode 100644
index 7844b19..0000000
--- a/alsa-lib/include/mixer_abst.h
+++ /dev/null
@@ -1,112 +0,0 @@
-/**
- * \file include/mixer_abst.h
- * \brief Mixer abstract implementation interface library for the ALSA library
- * \author Jaroslav Kysela <perex@perex.cz>
- * \date 2005
- *
- * Mixer abstact implementation interface library for the ALSA library
- */
-/*
- * This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#ifndef __ALSA_MIXER_ABST_H
-#define __ALSA_MIXER_ABST_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * \defgroup Mixer_Abstract Mixer Abstact Module Interface
- * The mixer abstact module interface.
- * \{
- */
-
-#define SM_PLAY 0
-#define SM_CAPT 1
-
-#define SM_CAP_GVOLUME (1<<1)
-#define SM_CAP_GSWITCH (1<<2)
-#define SM_CAP_PVOLUME (1<<3)
-#define SM_CAP_PVOLUME_JOIN (1<<4)
-#define SM_CAP_PSWITCH (1<<5)
-#define SM_CAP_PSWITCH_JOIN (1<<6)
-#define SM_CAP_CVOLUME (1<<7)
-#define SM_CAP_CVOLUME_JOIN (1<<8)
-#define SM_CAP_CSWITCH (1<<9)
-#define SM_CAP_CSWITCH_JOIN (1<<10)
-#define SM_CAP_CSWITCH_EXCL (1<<11)
-#define SM_CAP_PENUM (1<<12)
-#define SM_CAP_CENUM (1<<13)
-/* SM_CAP_* 24-31 => private for module use */
-
-#define SM_OPS_IS_ACTIVE 0
-#define SM_OPS_IS_MONO 1
-#define SM_OPS_IS_CHANNEL 2
-#define SM_OPS_IS_ENUMERATED 3
-#define SM_OPS_IS_ENUMCNT 4
-
-#define sm_selem(x) ((sm_selem_t *)((x)->private_data))
-#define sm_selem_ops(x) ((sm_selem_t *)((x)->private_data))->ops
-
-typedef struct _sm_selem {
- snd_mixer_selem_id_t *id;
- struct sm_elem_ops *ops;
- unsigned int caps;
- unsigned int capture_group;
-} sm_selem_t;
-
-typedef struct _sm_class_basic {
- char *device;
- snd_ctl_t *ctl;
- snd_hctl_t *hctl;
- snd_ctl_card_info_t *info;
-} sm_class_basic_t;
-
-struct sm_elem_ops {
- int (*is)(snd_mixer_elem_t *elem, int dir, int cmd, int val);
- int (*get_range)(snd_mixer_elem_t *elem, int dir, long *min, long *max);
- int (*set_range)(snd_mixer_elem_t *elem, int dir, long min, long max);
- int (*get_dB_range)(snd_mixer_elem_t *elem, int dir, long *min, long *max);
- int (*ask_vol_dB)(snd_mixer_elem_t *elem, int dir, long value, long *dbValue);
- int (*ask_dB_vol)(snd_mixer_elem_t *elem, int dir, long dbValue, long *value, int xdir);
- int (*get_volume)(snd_mixer_elem_t *elem, int dir, snd_mixer_selem_channel_id_t channel, long *value);
- int (*get_dB)(snd_mixer_elem_t *elem, int dir, snd_mixer_selem_channel_id_t channel, long *value);
- int (*set_volume)(snd_mixer_elem_t *elem, int dir, snd_mixer_selem_channel_id_t channel, long value);
- int (*set_dB)(snd_mixer_elem_t *elem, int dir, snd_mixer_selem_channel_id_t channel, long value, int xdir);
- int (*get_switch)(snd_mixer_elem_t *elem, int dir, snd_mixer_selem_channel_id_t channel, int *value);
- int (*set_switch)(snd_mixer_elem_t *elem, int dir, snd_mixer_selem_channel_id_t channel, int value);
- int (*enum_item_name)(snd_mixer_elem_t *elem, unsigned int item, size_t maxlen, char *buf);
- int (*get_enum_item)(snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel, unsigned int *itemp);
- int (*set_enum_item)(snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel, unsigned int item);
-};
-
-int snd_mixer_selem_compare(const snd_mixer_elem_t *c1, const snd_mixer_elem_t *c2);
-
-int snd_mixer_sbasic_info(const snd_mixer_class_t *class, sm_class_basic_t *info);
-void *snd_mixer_sbasic_get_private(const snd_mixer_class_t *class);
-void snd_mixer_sbasic_set_private(const snd_mixer_class_t *class, void *private_data);
-void snd_mixer_sbasic_set_private_free(const snd_mixer_class_t *class, void (*private_free)(snd_mixer_class_t *class));
-
-/** \} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __ALSA_MIXER_ABST_H */
-
diff --git a/alsa-lib/include/output.h b/alsa-lib/include/output.h
deleted file mode 100644
index 5279aa2..0000000
--- a/alsa-lib/include/output.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/**
- * \file include/output.h
- * \brief Application interface library for the ALSA driver
- * \author Jaroslav Kysela <perex@perex.cz>
- * \author Abramo Bagnara <abramo@alsa-project.org>
- * \author Takashi Iwai <tiwai@suse.de>
- * \date 1998-2001
- *
- * Application interface library for the ALSA driver
- */
-/*
- * This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#ifndef __ALSA_OUTPUT_H
-#define __ALSA_OUTPUT_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * \defgroup Output Output Interface
- *
- * The output functions present an interface similar to the stdio functions
- * on top of different underlying output destinations.
- *
- * Many PCM debugging functions (\c snd_pcm_xxx_dump_xxx) use such an output
- * handle to be able to write not only to the screen but also to other
- * destinations, e.g. to files or to memory buffers.
- *
- * \{
- */
-
-/**
- * \brief Internal structure for an output object.
- *
- * The ALSA library uses a pointer to this structure as a handle to an
- * output object. Applications don't access its contents directly.
- */
-typedef struct _snd_output snd_output_t;
-
-/** Output type. */
-typedef enum _snd_output_type {
- /** Output to a stdio stream. */
- SND_OUTPUT_STDIO,
- /** Output to a memory buffer. */
- SND_OUTPUT_BUFFER
-} snd_output_type_t;
-
-int snd_output_stdio_open(snd_output_t **outputp, const char *file, const char *mode);
-int snd_output_stdio_attach(snd_output_t **outputp, FILE *fp, int _close);
-int snd_output_buffer_open(snd_output_t **outputp);
-size_t snd_output_buffer_string(snd_output_t *output, char **buf);
-int snd_output_close(snd_output_t *output);
-int snd_output_printf(snd_output_t *output, const char *format, ...)
-#ifndef DOC_HIDDEN
- __attribute__ ((format (printf, 2, 3)))
-#endif
- ;
-int snd_output_vprintf(snd_output_t *output, const char *format, va_list args);
-int snd_output_puts(snd_output_t *output, const char *str);
-int snd_output_putc(snd_output_t *output, int c);
-int snd_output_flush(snd_output_t *output);
-
-/** \} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __ALSA_OUTPUT_H */
-
diff --git a/alsa-lib/include/pcm.h b/alsa-lib/include/pcm.h
deleted file mode 100644
index 15e9cb2..0000000
--- a/alsa-lib/include/pcm.h
+++ /dev/null
@@ -1,1140 +0,0 @@
-/**
- * \file include/pcm.h
- * \brief Application interface library for the ALSA driver
- * \author Jaroslav Kysela <perex@perex.cz>
- * \author Abramo Bagnara <abramo@alsa-project.org>
- * \author Takashi Iwai <tiwai@suse.de>
- * \date 1998-2001
- *
- * Application interface library for the ALSA driver.
- * See the \ref pcm page for more details.
- */
-/*
- * This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#ifndef __ALSA_PCM_H
-#define __ALSA_PCM_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * \defgroup PCM PCM Interface
- * See the \ref pcm page for more details.
- * \{
- */
-
-/** dlsym version for interface entry callback */
-#define SND_PCM_DLSYM_VERSION _dlsym_pcm_001
-
-/** PCM generic info container */
-typedef struct _snd_pcm_info snd_pcm_info_t;
-/** PCM hardware configuration space container */
-typedef struct _snd_pcm_hw_params snd_pcm_hw_params_t;
-/** PCM software configuration container */
-typedef struct _snd_pcm_sw_params snd_pcm_sw_params_t;
-/** PCM status container */
- typedef struct _snd_pcm_status snd_pcm_status_t;
-/** PCM access types mask */
-typedef struct _snd_pcm_access_mask snd_pcm_access_mask_t;
-/** PCM formats mask */
-typedef struct _snd_pcm_format_mask snd_pcm_format_mask_t;
-/** PCM subformats mask */
-typedef struct _snd_pcm_subformat_mask snd_pcm_subformat_mask_t;
-
-/** PCM class */
-typedef enum _snd_pcm_class {
- /** standard device */
-
- SND_PCM_CLASS_GENERIC = 0,
- /** multichannel device */
- SND_PCM_CLASS_MULTI,
- /** software modem device */
- SND_PCM_CLASS_MODEM,
- /** digitizer device */
- SND_PCM_CLASS_DIGITIZER,
- SND_PCM_CLASS_LAST = SND_PCM_CLASS_DIGITIZER
-} snd_pcm_class_t;
-
-/** PCM subclass */
-typedef enum _snd_pcm_subclass {
- /** subdevices are mixed together */
- SND_PCM_SUBCLASS_GENERIC_MIX = 0,
- /** multichannel subdevices are mixed together */
- SND_PCM_SUBCLASS_MULTI_MIX,
- SND_PCM_SUBCLASS_LAST = SND_PCM_SUBCLASS_MULTI_MIX
-} snd_pcm_subclass_t;
-
-/** PCM stream (direction) */
-typedef enum _snd_pcm_stream {
- /** Playback stream */
- SND_PCM_STREAM_PLAYBACK = 0,
- /** Capture stream */
- SND_PCM_STREAM_CAPTURE,
- SND_PCM_STREAM_LAST = SND_PCM_STREAM_CAPTURE
-} snd_pcm_stream_t;
-
-/** PCM access type */
-typedef enum _snd_pcm_access {
- /** mmap access with simple interleaved channels */
- SND_PCM_ACCESS_MMAP_INTERLEAVED = 0,
- /** mmap access with simple non interleaved channels */
- SND_PCM_ACCESS_MMAP_NONINTERLEAVED,
- /** mmap access with complex placement */
- SND_PCM_ACCESS_MMAP_COMPLEX,
- /** snd_pcm_readi/snd_pcm_writei access */
- SND_PCM_ACCESS_RW_INTERLEAVED,
- /** snd_pcm_readn/snd_pcm_writen access */
- SND_PCM_ACCESS_RW_NONINTERLEAVED,
- SND_PCM_ACCESS_LAST = SND_PCM_ACCESS_RW_NONINTERLEAVED
-} snd_pcm_access_t;
-
-/** PCM sample format */
-typedef enum _snd_pcm_format {
- /** Unknown */
- SND_PCM_FORMAT_UNKNOWN = -1,
- /** Signed 8 bit */
- SND_PCM_FORMAT_S8 = 0,
- /** Unsigned 8 bit */
- SND_PCM_FORMAT_U8,
- /** Signed 16 bit Little Endian */
- SND_PCM_FORMAT_S16_LE,
- /** Signed 16 bit Big Endian */
- SND_PCM_FORMAT_S16_BE,
- /** Unsigned 16 bit Little Endian */
- SND_PCM_FORMAT_U16_LE,
- /** Unsigned 16 bit Big Endian */
- SND_PCM_FORMAT_U16_BE,
- /** Signed 24 bit Little Endian using low three bytes in 32-bit word */
- SND_PCM_FORMAT_S24_LE,
- /** Signed 24 bit Big Endian using low three bytes in 32-bit word */
- SND_PCM_FORMAT_S24_BE,
- /** Unsigned 24 bit Little Endian using low three bytes in 32-bit word */
- SND_PCM_FORMAT_U24_LE,
- /** Unsigned 24 bit Big Endian using low three bytes in 32-bit word */
- SND_PCM_FORMAT_U24_BE,
- /** Signed 32 bit Little Endian */
- SND_PCM_FORMAT_S32_LE,
- /** Signed 32 bit Big Endian */
- SND_PCM_FORMAT_S32_BE,
- /** Unsigned 32 bit Little Endian */
- SND_PCM_FORMAT_U32_LE,
- /** Unsigned 32 bit Big Endian */
- SND_PCM_FORMAT_U32_BE,
- /** Float 32 bit Little Endian, Range -1.0 to 1.0 */
- SND_PCM_FORMAT_FLOAT_LE,
- /** Float 32 bit Big Endian, Range -1.0 to 1.0 */
- SND_PCM_FORMAT_FLOAT_BE,
- /** Float 64 bit Little Endian, Range -1.0 to 1.0 */
- SND_PCM_FORMAT_FLOAT64_LE,
- /** Float 64 bit Big Endian, Range -1.0 to 1.0 */
- SND_PCM_FORMAT_FLOAT64_BE,
- /** IEC-958 Little Endian */
- SND_PCM_FORMAT_IEC958_SUBFRAME_LE,
- /** IEC-958 Big Endian */
- SND_PCM_FORMAT_IEC958_SUBFRAME_BE,
- /** Mu-Law */
- SND_PCM_FORMAT_MU_LAW,
- /** A-Law */
- SND_PCM_FORMAT_A_LAW,
- /** Ima-ADPCM */
- SND_PCM_FORMAT_IMA_ADPCM,
- /** MPEG */
- SND_PCM_FORMAT_MPEG,
- /** GSM */
- SND_PCM_FORMAT_GSM,
- /** Special */
- SND_PCM_FORMAT_SPECIAL = 31,
- /** Signed 24bit Little Endian in 3bytes format */
- SND_PCM_FORMAT_S24_3LE = 32,
- /** Signed 24bit Big Endian in 3bytes format */
- SND_PCM_FORMAT_S24_3BE,
- /** Unsigned 24bit Little Endian in 3bytes format */
- SND_PCM_FORMAT_U24_3LE,
- /** Unsigned 24bit Big Endian in 3bytes format */
- SND_PCM_FORMAT_U24_3BE,
- /** Signed 20bit Little Endian in 3bytes format */
- SND_PCM_FORMAT_S20_3LE,
- /** Signed 20bit Big Endian in 3bytes format */
- SND_PCM_FORMAT_S20_3BE,
- /** Unsigned 20bit Little Endian in 3bytes format */
- SND_PCM_FORMAT_U20_3LE,
- /** Unsigned 20bit Big Endian in 3bytes format */
- SND_PCM_FORMAT_U20_3BE,
- /** Signed 18bit Little Endian in 3bytes format */
- SND_PCM_FORMAT_S18_3LE,
- /** Signed 18bit Big Endian in 3bytes format */
- SND_PCM_FORMAT_S18_3BE,
- /** Unsigned 18bit Little Endian in 3bytes format */
- SND_PCM_FORMAT_U18_3LE,
- /** Unsigned 18bit Big Endian in 3bytes format */
- SND_PCM_FORMAT_U18_3BE,
- SND_PCM_FORMAT_LAST = SND_PCM_FORMAT_U18_3BE,
-
-#if __BYTE_ORDER == __LITTLE_ENDIAN
- /** Signed 16 bit CPU endian */
- SND_PCM_FORMAT_S16 = SND_PCM_FORMAT_S16_LE,
- /** Unsigned 16 bit CPU endian */
- SND_PCM_FORMAT_U16 = SND_PCM_FORMAT_U16_LE,
- /** Signed 24 bit CPU endian */
- SND_PCM_FORMAT_S24 = SND_PCM_FORMAT_S24_LE,
- /** Unsigned 24 bit CPU endian */
- SND_PCM_FORMAT_U24 = SND_PCM_FORMAT_U24_LE,
- /** Signed 32 bit CPU endian */
- SND_PCM_FORMAT_S32 = SND_PCM_FORMAT_S32_LE,
- /** Unsigned 32 bit CPU endian */
- SND_PCM_FORMAT_U32 = SND_PCM_FORMAT_U32_LE,
- /** Float 32 bit CPU endian */
- SND_PCM_FORMAT_FLOAT = SND_PCM_FORMAT_FLOAT_LE,
- /** Float 64 bit CPU endian */
- SND_PCM_FORMAT_FLOAT64 = SND_PCM_FORMAT_FLOAT64_LE,
- /** IEC-958 CPU Endian */
- SND_PCM_FORMAT_IEC958_SUBFRAME = SND_PCM_FORMAT_IEC958_SUBFRAME_LE
-#elif __BYTE_ORDER == __BIG_ENDIAN
- /** Signed 16 bit CPU endian */
- SND_PCM_FORMAT_S16 = SND_PCM_FORMAT_S16_BE,
- /** Unsigned 16 bit CPU endian */
- SND_PCM_FORMAT_U16 = SND_PCM_FORMAT_U16_BE,
- /** Signed 24 bit CPU endian */
- SND_PCM_FORMAT_S24 = SND_PCM_FORMAT_S24_BE,
- /** Unsigned 24 bit CPU endian */
- SND_PCM_FORMAT_U24 = SND_PCM_FORMAT_U24_BE,
- /** Signed 32 bit CPU endian */
- SND_PCM_FORMAT_S32 = SND_PCM_FORMAT_S32_BE,
- /** Unsigned 32 bit CPU endian */
- SND_PCM_FORMAT_U32 = SND_PCM_FORMAT_U32_BE,
- /** Float 32 bit CPU endian */
- SND_PCM_FORMAT_FLOAT = SND_PCM_FORMAT_FLOAT_BE,
- /** Float 64 bit CPU endian */
- SND_PCM_FORMAT_FLOAT64 = SND_PCM_FORMAT_FLOAT64_BE,
- /** IEC-958 CPU Endian */
- SND_PCM_FORMAT_IEC958_SUBFRAME = SND_PCM_FORMAT_IEC958_SUBFRAME_BE
-#else
-#error "Unknown endian"
-#endif
-} snd_pcm_format_t;
-
-/** PCM sample subformat */
-typedef enum _snd_pcm_subformat {
- /** Standard */
- SND_PCM_SUBFORMAT_STD = 0,
- SND_PCM_SUBFORMAT_LAST = SND_PCM_SUBFORMAT_STD
-} snd_pcm_subformat_t;
-
-/** PCM state */
-typedef enum _snd_pcm_state {
- /** Open */
- SND_PCM_STATE_OPEN = 0,
- /** Setup installed */
- SND_PCM_STATE_SETUP,
- /** Ready to start */
- SND_PCM_STATE_PREPARED,
- /** Running */
- SND_PCM_STATE_RUNNING,
- /** Stopped: underrun (playback) or overrun (capture) detected */
- SND_PCM_STATE_XRUN,
- /** Draining: running (playback) or stopped (capture) */
- SND_PCM_STATE_DRAINING,
- /** Paused */
- SND_PCM_STATE_PAUSED,
- /** Hardware is suspended */
- SND_PCM_STATE_SUSPENDED,
- /** Hardware is disconnected */
- SND_PCM_STATE_DISCONNECTED,
- SND_PCM_STATE_LAST = SND_PCM_STATE_DISCONNECTED
-} snd_pcm_state_t;
-
-/** PCM start mode */
-typedef enum _snd_pcm_start {
- /** Automatic start on data read/write */
- SND_PCM_START_DATA = 0,
- /** Explicit start */
- SND_PCM_START_EXPLICIT,
- SND_PCM_START_LAST = SND_PCM_START_EXPLICIT
-} snd_pcm_start_t;
-
-/** PCM xrun mode */
-typedef enum _snd_pcm_xrun {
- /** Xrun detection disabled */
- SND_PCM_XRUN_NONE = 0,
- /** Stop on xrun detection */
- SND_PCM_XRUN_STOP,
- SND_PCM_XRUN_LAST = SND_PCM_XRUN_STOP
-} snd_pcm_xrun_t;
-
-/** PCM timestamp mode */
-typedef enum _snd_pcm_tstamp {
- /** No timestamp */
- SND_PCM_TSTAMP_NONE = 0,
- /** Update timestamp at every hardware position update */
- SND_PCM_TSTAMP_ENABLE,
- /** Equivalent with #SND_PCM_TSTAMP_ENABLE,
- * just for compatibility with older versions
- */
- SND_PCM_TSTAMP_MMAP = SND_PCM_TSTAMP_ENABLE,
- SND_PCM_TSTAMP_LAST = SND_PCM_TSTAMP_ENABLE
-} snd_pcm_tstamp_t;
-
-/** Unsigned frames quantity */
-typedef unsigned long snd_pcm_uframes_t;
-/** Signed frames quantity */
-typedef long snd_pcm_sframes_t;
-
-/** Non blocking mode (flag for open mode) \hideinitializer */
-#define SND_PCM_NONBLOCK 0x00000001
-/** Async notification (flag for open mode) \hideinitializer */
-#define SND_PCM_ASYNC 0x00000002
-/** Disable automatic (but not forced!) rate resamplinig */
-#define SND_PCM_NO_AUTO_RESAMPLE 0x00010000
-/** Disable automatic (but not forced!) channel conversion */
-#define SND_PCM_NO_AUTO_CHANNELS 0x00020000
-/** Disable automatic (but not forced!) format conversion */
-#define SND_PCM_NO_AUTO_FORMAT 0x00040000
-/** Disable soft volume control */
-#define SND_PCM_NO_SOFTVOL 0x00080000
-
-/** PCM handle */
-typedef struct _snd_pcm snd_pcm_t;
-
-/** PCM type */
-enum _snd_pcm_type {
- /** Kernel level PCM */
- SND_PCM_TYPE_HW = 0,
- /** Hooked PCM */
- SND_PCM_TYPE_HOOKS,
- /** One or more linked PCM with exclusive access to selected
- channels */
- SND_PCM_TYPE_MULTI,
- /** File writing plugin */
- SND_PCM_TYPE_FILE,
- /** Null endpoint PCM */
- SND_PCM_TYPE_NULL,
- /** Shared memory client PCM */
- SND_PCM_TYPE_SHM,
- /** INET client PCM (not yet implemented) */
- SND_PCM_TYPE_INET,
- /** Copying plugin */
- SND_PCM_TYPE_COPY,
- /** Linear format conversion PCM */
- SND_PCM_TYPE_LINEAR,
- /** A-Law format conversion PCM */
- SND_PCM_TYPE_ALAW,
- /** Mu-Law format conversion PCM */
- SND_PCM_TYPE_MULAW,
- /** IMA-ADPCM format conversion PCM */
- SND_PCM_TYPE_ADPCM,
- /** Rate conversion PCM */
- SND_PCM_TYPE_RATE,
- /** Attenuated static route PCM */
- SND_PCM_TYPE_ROUTE,
- /** Format adjusted PCM */
- SND_PCM_TYPE_PLUG,
- /** Sharing PCM */
- SND_PCM_TYPE_SHARE,
- /** Meter plugin */
- SND_PCM_TYPE_METER,
- /** Mixing PCM */
- SND_PCM_TYPE_MIX,
- /** Attenuated dynamic route PCM (not yet implemented) */
- SND_PCM_TYPE_DROUTE,
- /** Loopback server plugin (not yet implemented) */
- SND_PCM_TYPE_LBSERVER,
- /** Linear Integer <-> Linear Float format conversion PCM */
- SND_PCM_TYPE_LINEAR_FLOAT,
- /** LADSPA integration plugin */
- SND_PCM_TYPE_LADSPA,
- /** Direct Mixing plugin */
- SND_PCM_TYPE_DMIX,
- /** Jack Audio Connection Kit plugin */
- SND_PCM_TYPE_JACK,
- /** Direct Snooping plugin */
- SND_PCM_TYPE_DSNOOP,
- /** Direct Sharing plugin */
- SND_PCM_TYPE_DSHARE,
- /** IEC958 subframe plugin */
- SND_PCM_TYPE_IEC958,
- /** Soft volume plugin */
- SND_PCM_TYPE_SOFTVOL,
- /** External I/O plugin */
- SND_PCM_TYPE_IOPLUG,
- /** External filter plugin */
- SND_PCM_TYPE_EXTPLUG,
- /** Mmap-emulation plugin */
- SND_PCM_TYPE_MMAP_EMUL,
- SND_PCM_TYPE_LAST = SND_PCM_TYPE_MMAP_EMUL
-};
-
-/** PCM type */
-typedef enum _snd_pcm_type snd_pcm_type_t;
-
-/** PCM area specification */
-typedef struct _snd_pcm_channel_area {
- /** base address of channel samples */
- void *addr;
- /** offset to first sample in bits */
- unsigned int first;
- /** samples distance in bits */
- unsigned int step;
-} snd_pcm_channel_area_t;
-
-/** PCM synchronization ID */
-typedef union _snd_pcm_sync_id {
- /** 8-bit ID */
- unsigned char id[16];
- /** 16-bit ID */
- unsigned short id16[8];
- /** 32-bit ID */
- unsigned int id32[4];
-} snd_pcm_sync_id_t;
-
-/** #SND_PCM_TYPE_METER scope handle */
-typedef struct _snd_pcm_scope snd_pcm_scope_t;
-
-int snd_pcm_open(snd_pcm_t **pcm, const char *name,
- snd_pcm_stream_t stream, int mode);
-int snd_pcm_open_lconf(snd_pcm_t **pcm, const char *name,
- snd_pcm_stream_t stream, int mode,
- snd_config_t *lconf);
-
-int snd_pcm_close(snd_pcm_t *pcm);
-const char *snd_pcm_name(snd_pcm_t *pcm);
-snd_pcm_type_t snd_pcm_type(snd_pcm_t *pcm);
-snd_pcm_stream_t snd_pcm_stream(snd_pcm_t *pcm);
-int snd_pcm_poll_descriptors_count(snd_pcm_t *pcm);
-int snd_pcm_poll_descriptors(snd_pcm_t *pcm, struct pollfd *pfds, unsigned int space);
-int snd_pcm_poll_descriptors_revents(snd_pcm_t *pcm, struct pollfd *pfds, unsigned int nfds, unsigned short *revents);
-int snd_pcm_nonblock(snd_pcm_t *pcm, int nonblock);
-int snd_async_add_pcm_handler(snd_async_handler_t **handler, snd_pcm_t *pcm,
- snd_async_callback_t callback, void *private_data);
-snd_pcm_t *snd_async_handler_get_pcm(snd_async_handler_t *handler);
-int snd_pcm_info(snd_pcm_t *pcm, snd_pcm_info_t *info);
-int snd_pcm_hw_params_current(snd_pcm_t *pcm, snd_pcm_hw_params_t *params);
-int snd_pcm_hw_params(snd_pcm_t *pcm, snd_pcm_hw_params_t *params);
-int snd_pcm_hw_free(snd_pcm_t *pcm);
-int snd_pcm_sw_params_current(snd_pcm_t *pcm, snd_pcm_sw_params_t *params);
-int snd_pcm_sw_params(snd_pcm_t *pcm, snd_pcm_sw_params_t *params);
-int snd_pcm_prepare(snd_pcm_t *pcm);
-int snd_pcm_reset(snd_pcm_t *pcm);
-int snd_pcm_status(snd_pcm_t *pcm, snd_pcm_status_t *status);
-int snd_pcm_start(snd_pcm_t *pcm);
-int snd_pcm_drop(snd_pcm_t *pcm);
-int snd_pcm_drain(snd_pcm_t *pcm);
-int snd_pcm_pause(snd_pcm_t *pcm, int enable);
-snd_pcm_state_t snd_pcm_state(snd_pcm_t *pcm);
-int snd_pcm_hwsync(snd_pcm_t *pcm);
-int snd_pcm_delay(snd_pcm_t *pcm, snd_pcm_sframes_t *delayp);
-int snd_pcm_resume(snd_pcm_t *pcm);
-int snd_pcm_htimestamp(snd_pcm_t *pcm, snd_pcm_uframes_t *avail, snd_htimestamp_t *tstamp);
-snd_pcm_sframes_t snd_pcm_avail(snd_pcm_t *pcm);
-snd_pcm_sframes_t snd_pcm_avail_update(snd_pcm_t *pcm);
-int snd_pcm_avail_delay(snd_pcm_t *pcm, snd_pcm_sframes_t *availp, snd_pcm_sframes_t *delayp);
-snd_pcm_sframes_t snd_pcm_rewindable(snd_pcm_t *pcm);
-snd_pcm_sframes_t snd_pcm_rewind(snd_pcm_t *pcm, snd_pcm_uframes_t frames);
-snd_pcm_sframes_t snd_pcm_forwardable(snd_pcm_t *pcm);
-snd_pcm_sframes_t snd_pcm_forward(snd_pcm_t *pcm, snd_pcm_uframes_t frames);
-snd_pcm_sframes_t snd_pcm_writei(snd_pcm_t *pcm, const void *buffer, snd_pcm_uframes_t size);
-snd_pcm_sframes_t snd_pcm_readi(snd_pcm_t *pcm, void *buffer, snd_pcm_uframes_t size);
-snd_pcm_sframes_t snd_pcm_writen(snd_pcm_t *pcm, void **bufs, snd_pcm_uframes_t size);
-snd_pcm_sframes_t snd_pcm_readn(snd_pcm_t *pcm, void **bufs, snd_pcm_uframes_t size);
-int snd_pcm_wait(snd_pcm_t *pcm, int timeout);
-
-int snd_pcm_link(snd_pcm_t *pcm1, snd_pcm_t *pcm2);
-int snd_pcm_unlink(snd_pcm_t *pcm);
-
-//int snd_pcm_mixer_element(snd_pcm_t *pcm, snd_mixer_t *mixer, snd_mixer_elem_t **elem);
-
-/*
- * application helpers - these functions are implemented on top
- * of the basic API
- */
-
-int snd_pcm_recover(snd_pcm_t *pcm, int err, int silent);
-int snd_pcm_set_params(snd_pcm_t *pcm,
- snd_pcm_format_t format,
- snd_pcm_access_t access,
- unsigned int channels,
- unsigned int rate,
- int soft_resample,
- unsigned int latency);
-int snd_pcm_get_params(snd_pcm_t *pcm,
- snd_pcm_uframes_t *buffer_size,
- snd_pcm_uframes_t *period_size);
-
-/** \} */
-
-/**
- * \defgroup PCM_Info Stream Information
- * \ingroup PCM
- * See the \ref pcm page for more details.
- * \{
- */
-
-size_t snd_pcm_info_sizeof(void);
-/** \hideinitializer
- * \brief allocate an invalid #snd_pcm_info_t using standard alloca
- * \param ptr returned pointer
- */
-#define snd_pcm_info_alloca(ptr) __snd_alloca(ptr, snd_pcm_info)
-int snd_pcm_info_malloc(snd_pcm_info_t **ptr);
-void snd_pcm_info_free(snd_pcm_info_t *obj);
-void snd_pcm_info_copy(snd_pcm_info_t *dst, const snd_pcm_info_t *src);
-unsigned int snd_pcm_info_get_device(const snd_pcm_info_t *obj);
-unsigned int snd_pcm_info_get_subdevice(const snd_pcm_info_t *obj);
-snd_pcm_stream_t snd_pcm_info_get_stream(const snd_pcm_info_t *obj);
-int snd_pcm_info_get_card(const snd_pcm_info_t *obj);
-const char *snd_pcm_info_get_id(const snd_pcm_info_t *obj);
-const char *snd_pcm_info_get_name(const snd_pcm_info_t *obj);
-const char *snd_pcm_info_get_subdevice_name(const snd_pcm_info_t *obj);
-snd_pcm_class_t snd_pcm_info_get_class(const snd_pcm_info_t *obj);
-snd_pcm_subclass_t snd_pcm_info_get_subclass(const snd_pcm_info_t *obj);
-unsigned int snd_pcm_info_get_subdevices_count(const snd_pcm_info_t *obj);
-unsigned int snd_pcm_info_get_subdevices_avail(const snd_pcm_info_t *obj);
-snd_pcm_sync_id_t snd_pcm_info_get_sync(const snd_pcm_info_t *obj);
-void snd_pcm_info_set_device(snd_pcm_info_t *obj, unsigned int val);
-void snd_pcm_info_set_subdevice(snd_pcm_info_t *obj, unsigned int val);
-void snd_pcm_info_set_stream(snd_pcm_info_t *obj, snd_pcm_stream_t val);
-
-/** \} */
-
-/**
- * \defgroup PCM_HW_Params Hardware Parameters
- * \ingroup PCM
- * See the \ref pcm page for more details.
- * \{
- */
-
-int snd_pcm_hw_params_any(snd_pcm_t *pcm, snd_pcm_hw_params_t *params);
-
-int snd_pcm_hw_params_can_mmap_sample_resolution(const snd_pcm_hw_params_t *params);
-int snd_pcm_hw_params_is_double(const snd_pcm_hw_params_t *params);
-int snd_pcm_hw_params_is_batch(const snd_pcm_hw_params_t *params);
-int snd_pcm_hw_params_is_block_transfer(const snd_pcm_hw_params_t *params);
-int snd_pcm_hw_params_is_monotonic(const snd_pcm_hw_params_t *params);
-int snd_pcm_hw_params_can_overrange(const snd_pcm_hw_params_t *params);
-int snd_pcm_hw_params_can_forward(const snd_pcm_hw_params_t *params);
-int snd_pcm_hw_params_can_rewind(const snd_pcm_hw_params_t *params);
-int snd_pcm_hw_params_can_pause(const snd_pcm_hw_params_t *params);
-int snd_pcm_hw_params_can_resume(const snd_pcm_hw_params_t *params);
-int snd_pcm_hw_params_is_half_duplex(const snd_pcm_hw_params_t *params);
-int snd_pcm_hw_params_is_joint_duplex(const snd_pcm_hw_params_t *params);
-int snd_pcm_hw_params_can_sync_start(const snd_pcm_hw_params_t *params);
-int snd_pcm_hw_params_get_rate_numden(const snd_pcm_hw_params_t *params,
- unsigned int *rate_num,
- unsigned int *rate_den);
-int snd_pcm_hw_params_get_sbits(const snd_pcm_hw_params_t *params);
-int snd_pcm_hw_params_get_fifo_size(const snd_pcm_hw_params_t *params);
-
-#if 0
-typedef struct _snd_pcm_hw_strategy snd_pcm_hw_strategy_t;
-
-/* choices need to be sorted on ascending badness */
-typedef struct _snd_pcm_hw_strategy_simple_choices_list {
- unsigned int value;
- unsigned int badness;
-} snd_pcm_hw_strategy_simple_choices_list_t;
-
-int snd_pcm_hw_params_strategy(snd_pcm_t *pcm, snd_pcm_hw_params_t *params,
- const snd_pcm_hw_strategy_t *strategy,
- unsigned int badness_min,
- unsigned int badness_max);
-
-void snd_pcm_hw_strategy_free(snd_pcm_hw_strategy_t *strategy);
-int snd_pcm_hw_strategy_simple(snd_pcm_hw_strategy_t **strategyp,
- unsigned int badness_min,
- unsigned int badness_max);
-int snd_pcm_hw_params_try_explain_failure(snd_pcm_t *pcm,
- snd_pcm_hw_params_t *fail,
- snd_pcm_hw_params_t *success,
- unsigned int depth,
- snd_output_t *out);
-
-#endif
-
-size_t snd_pcm_hw_params_sizeof(void);
-/** \hideinitializer
- * \brief allocate an invalid #snd_pcm_hw_params_t using standard alloca
- * \param ptr returned pointer
- */
-#define snd_pcm_hw_params_alloca(ptr) __snd_alloca(ptr, snd_pcm_hw_params)
-int snd_pcm_hw_params_malloc(snd_pcm_hw_params_t **ptr);
-void snd_pcm_hw_params_free(snd_pcm_hw_params_t *obj);
-void snd_pcm_hw_params_copy(snd_pcm_hw_params_t *dst, const snd_pcm_hw_params_t *src);
-
-#if !defined(ALSA_LIBRARY_BUILD) && !defined(ALSA_PCM_OLD_HW_PARAMS_API)
-
-int snd_pcm_hw_params_get_access(const snd_pcm_hw_params_t *params, snd_pcm_access_t *_access);
-int snd_pcm_hw_params_test_access(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_access_t _access);
-int snd_pcm_hw_params_set_access(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_access_t _access);
-int snd_pcm_hw_params_set_access_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_access_t *_access);
-int snd_pcm_hw_params_set_access_last(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_access_t *_access);
-int snd_pcm_hw_params_set_access_mask(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_access_mask_t *mask);
-int snd_pcm_hw_params_get_access_mask(snd_pcm_hw_params_t *params, snd_pcm_access_mask_t *mask);
-
-int snd_pcm_hw_params_get_format(const snd_pcm_hw_params_t *params, snd_pcm_format_t *val);
-int snd_pcm_hw_params_test_format(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_format_t val);
-int snd_pcm_hw_params_set_format(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_format_t val);
-int snd_pcm_hw_params_set_format_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_format_t *format);
-int snd_pcm_hw_params_set_format_last(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_format_t *format);
-int snd_pcm_hw_params_set_format_mask(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_format_mask_t *mask);
-void snd_pcm_hw_params_get_format_mask(snd_pcm_hw_params_t *params, snd_pcm_format_mask_t *mask);
-
-int snd_pcm_hw_params_get_subformat(const snd_pcm_hw_params_t *params, snd_pcm_subformat_t *subformat);
-int snd_pcm_hw_params_test_subformat(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_subformat_t subformat);
-int snd_pcm_hw_params_set_subformat(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_subformat_t subformat);
-int snd_pcm_hw_params_set_subformat_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_subformat_t *subformat);
-int snd_pcm_hw_params_set_subformat_last(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_subformat_t *subformat);
-int snd_pcm_hw_params_set_subformat_mask(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_subformat_mask_t *mask);
-void snd_pcm_hw_params_get_subformat_mask(snd_pcm_hw_params_t *params, snd_pcm_subformat_mask_t *mask);
-
-int snd_pcm_hw_params_get_channels(const snd_pcm_hw_params_t *params, unsigned int *val);
-int snd_pcm_hw_params_get_channels_min(const snd_pcm_hw_params_t *params, unsigned int *val);
-int snd_pcm_hw_params_get_channels_max(const snd_pcm_hw_params_t *params, unsigned int *val);
-int snd_pcm_hw_params_test_channels(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val);
-int snd_pcm_hw_params_set_channels(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val);
-int snd_pcm_hw_params_set_channels_min(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val);
-int snd_pcm_hw_params_set_channels_max(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val);
-int snd_pcm_hw_params_set_channels_minmax(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *min, unsigned int *max);
-int snd_pcm_hw_params_set_channels_near(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val);
-int snd_pcm_hw_params_set_channels_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val);
-int snd_pcm_hw_params_set_channels_last(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val);
-
-int snd_pcm_hw_params_get_rate(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
-int snd_pcm_hw_params_get_rate_min(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
-int snd_pcm_hw_params_get_rate_max(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
-int snd_pcm_hw_params_test_rate(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir);
-int snd_pcm_hw_params_set_rate(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir);
-int snd_pcm_hw_params_set_rate_min(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
-int snd_pcm_hw_params_set_rate_max(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
-int snd_pcm_hw_params_set_rate_minmax(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *min, int *mindir, unsigned int *max, int *maxdir);
-int snd_pcm_hw_params_set_rate_near(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
-int snd_pcm_hw_params_set_rate_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
-int snd_pcm_hw_params_set_rate_last(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
-int snd_pcm_hw_params_set_rate_resample(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val);
-int snd_pcm_hw_params_get_rate_resample(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val);
-int snd_pcm_hw_params_set_export_buffer(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val);
-int snd_pcm_hw_params_get_export_buffer(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val);
-
-int snd_pcm_hw_params_get_period_time(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
-int snd_pcm_hw_params_get_period_time_min(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
-int snd_pcm_hw_params_get_period_time_max(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
-int snd_pcm_hw_params_test_period_time(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir);
-int snd_pcm_hw_params_set_period_time(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir);
-int snd_pcm_hw_params_set_period_time_min(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
-int snd_pcm_hw_params_set_period_time_max(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
-int snd_pcm_hw_params_set_period_time_minmax(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *min, int *mindir, unsigned int *max, int *maxdir);
-int snd_pcm_hw_params_set_period_time_near(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
-int snd_pcm_hw_params_set_period_time_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
-int snd_pcm_hw_params_set_period_time_last(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
-
-int snd_pcm_hw_params_get_period_size(const snd_pcm_hw_params_t *params, snd_pcm_uframes_t *frames, int *dir);
-int snd_pcm_hw_params_get_period_size_min(const snd_pcm_hw_params_t *params, snd_pcm_uframes_t *frames, int *dir);
-int snd_pcm_hw_params_get_period_size_max(const snd_pcm_hw_params_t *params, snd_pcm_uframes_t *frames, int *dir);
-int snd_pcm_hw_params_test_period_size(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t val, int dir);
-int snd_pcm_hw_params_set_period_size(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t val, int dir);
-int snd_pcm_hw_params_set_period_size_min(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val, int *dir);
-int snd_pcm_hw_params_set_period_size_max(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val, int *dir);
-int snd_pcm_hw_params_set_period_size_minmax(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *min, int *mindir, snd_pcm_uframes_t *max, int *maxdir);
-int snd_pcm_hw_params_set_period_size_near(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val, int *dir);
-int snd_pcm_hw_params_set_period_size_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val, int *dir);
-int snd_pcm_hw_params_set_period_size_last(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val, int *dir);
-int snd_pcm_hw_params_set_period_size_integer(snd_pcm_t *pcm, snd_pcm_hw_params_t *params);
-
-int snd_pcm_hw_params_get_periods(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
-int snd_pcm_hw_params_get_periods_min(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
-int snd_pcm_hw_params_get_periods_max(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
-int snd_pcm_hw_params_test_periods(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir);
-int snd_pcm_hw_params_set_periods(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir);
-int snd_pcm_hw_params_set_periods_min(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
-int snd_pcm_hw_params_set_periods_max(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
-int snd_pcm_hw_params_set_periods_minmax(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *min, int *mindir, unsigned int *max, int *maxdir);
-int snd_pcm_hw_params_set_periods_near(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
-int snd_pcm_hw_params_set_periods_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
-int snd_pcm_hw_params_set_periods_last(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
-int snd_pcm_hw_params_set_periods_integer(snd_pcm_t *pcm, snd_pcm_hw_params_t *params);
-
-int snd_pcm_hw_params_get_buffer_time(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
-int snd_pcm_hw_params_get_buffer_time_min(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
-int snd_pcm_hw_params_get_buffer_time_max(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
-int snd_pcm_hw_params_test_buffer_time(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir);
-int snd_pcm_hw_params_set_buffer_time(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir);
-int snd_pcm_hw_params_set_buffer_time_min(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
-int snd_pcm_hw_params_set_buffer_time_max(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
-int snd_pcm_hw_params_set_buffer_time_minmax(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *min, int *mindir, unsigned int *max, int *maxdir);
-int snd_pcm_hw_params_set_buffer_time_near(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
-int snd_pcm_hw_params_set_buffer_time_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
-int snd_pcm_hw_params_set_buffer_time_last(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
-
-int snd_pcm_hw_params_get_buffer_size(const snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val);
-int snd_pcm_hw_params_get_buffer_size_min(const snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val);
-int snd_pcm_hw_params_get_buffer_size_max(const snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val);
-int snd_pcm_hw_params_test_buffer_size(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t val);
-int snd_pcm_hw_params_set_buffer_size(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t val);
-int snd_pcm_hw_params_set_buffer_size_min(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val);
-int snd_pcm_hw_params_set_buffer_size_max(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val);
-int snd_pcm_hw_params_set_buffer_size_minmax(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *min, snd_pcm_uframes_t *max);
-int snd_pcm_hw_params_set_buffer_size_near(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val);
-int snd_pcm_hw_params_set_buffer_size_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val);
-int snd_pcm_hw_params_set_buffer_size_last(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val);
-
-#endif /* !ALSA_LIBRARY_BUILD && !ALSA_PCM_OLD_HW_PARAMS_API */
-
-int snd_pcm_hw_params_get_min_align(const snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val);
-
-/** \} */
-
-/**
- * \defgroup PCM_SW_Params Software Parameters
- * \ingroup PCM
- * See the \ref pcm page for more details.
- * \{
- */
-
-size_t snd_pcm_sw_params_sizeof(void);
-/** \hideinitializer
- * \brief allocate an invalid #snd_pcm_sw_params_t using standard alloca
- * \param ptr returned pointer
- */
-#define snd_pcm_sw_params_alloca(ptr) __snd_alloca(ptr, snd_pcm_sw_params)
-int snd_pcm_sw_params_malloc(snd_pcm_sw_params_t **ptr);
-void snd_pcm_sw_params_free(snd_pcm_sw_params_t *obj);
-void snd_pcm_sw_params_copy(snd_pcm_sw_params_t *dst, const snd_pcm_sw_params_t *src);
-int snd_pcm_sw_params_get_boundary(const snd_pcm_sw_params_t *params, snd_pcm_uframes_t *val);
-
-#if !defined(ALSA_LIBRARY_BUILD) && !defined(ALSA_PCM_OLD_SW_PARAMS_API)
-
-int snd_pcm_sw_params_set_tstamp_mode(snd_pcm_t *pcm, snd_pcm_sw_params_t *params, snd_pcm_tstamp_t val);
-int snd_pcm_sw_params_get_tstamp_mode(const snd_pcm_sw_params_t *params, snd_pcm_tstamp_t *val);
-int snd_pcm_sw_params_set_avail_min(snd_pcm_t *pcm, snd_pcm_sw_params_t *params, snd_pcm_uframes_t val);
-int snd_pcm_sw_params_get_avail_min(const snd_pcm_sw_params_t *params, snd_pcm_uframes_t *val);
-int snd_pcm_sw_params_set_period_event(snd_pcm_t *pcm, snd_pcm_sw_params_t *params, int val);
-int snd_pcm_sw_params_get_period_event(const snd_pcm_sw_params_t *params, int *val);
-int snd_pcm_sw_params_set_start_threshold(snd_pcm_t *pcm, snd_pcm_sw_params_t *params, snd_pcm_uframes_t val);
-int snd_pcm_sw_params_get_start_threshold(const snd_pcm_sw_params_t *paramsm, snd_pcm_uframes_t *val);
-int snd_pcm_sw_params_set_stop_threshold(snd_pcm_t *pcm, snd_pcm_sw_params_t *params, snd_pcm_uframes_t val);
-int snd_pcm_sw_params_get_stop_threshold(const snd_pcm_sw_params_t *params, snd_pcm_uframes_t *val);
-int snd_pcm_sw_params_set_silence_threshold(snd_pcm_t *pcm, snd_pcm_sw_params_t *params, snd_pcm_uframes_t val);
-int snd_pcm_sw_params_get_silence_threshold(const snd_pcm_sw_params_t *params, snd_pcm_uframes_t *val);
-int snd_pcm_sw_params_set_silence_size(snd_pcm_t *pcm, snd_pcm_sw_params_t *params, snd_pcm_uframes_t val);
-int snd_pcm_sw_params_get_silence_size(const snd_pcm_sw_params_t *params, snd_pcm_uframes_t *val);
-
-#endif /* !ALSA_LIBRARY_BUILD && !ALSA_PCM_OLD_SW_PARAMS_API */
-
-/** \} */
-
-/* include old API */
-#ifndef ALSA_LIBRARY_BUILD
-#if defined(ALSA_PCM_OLD_HW_PARAMS_API) || defined(ALSA_PCM_OLD_SW_PARAMS_API)
-#include "pcm_old.h"
-#endif
-#endif
-
-/**
- * \defgroup PCM_Access Access Mask Functions
- * \ingroup PCM
- * See the \ref pcm page for more details.
- * \{
- */
-
-size_t snd_pcm_access_mask_sizeof(void);
-/** \hideinitializer
- * \brief allocate an empty #snd_pcm_access_mask_t using standard alloca
- * \param ptr returned pointer
- */
-#define snd_pcm_access_mask_alloca(ptr) __snd_alloca(ptr, snd_pcm_access_mask)
-int snd_pcm_access_mask_malloc(snd_pcm_access_mask_t **ptr);
-void snd_pcm_access_mask_free(snd_pcm_access_mask_t *obj);
-void snd_pcm_access_mask_copy(snd_pcm_access_mask_t *dst, const snd_pcm_access_mask_t *src);
-void snd_pcm_access_mask_none(snd_pcm_access_mask_t *mask);
-void snd_pcm_access_mask_any(snd_pcm_access_mask_t *mask);
-int snd_pcm_access_mask_test(const snd_pcm_access_mask_t *mask, snd_pcm_access_t val);
-int snd_pcm_access_mask_empty(const snd_pcm_access_mask_t *mask);
-void snd_pcm_access_mask_set(snd_pcm_access_mask_t *mask, snd_pcm_access_t val);
-void snd_pcm_access_mask_reset(snd_pcm_access_mask_t *mask, snd_pcm_access_t val);
-
-/** \} */
-
-/**
- * \defgroup PCM_Format Format Mask Functions
- * \ingroup PCM
- * See the \ref pcm page for more details.
- * \{
- */
-
-size_t snd_pcm_format_mask_sizeof(void);
-/** \hideinitializer
- * \brief allocate an empty #snd_pcm_format_mask_t using standard alloca
- * \param ptr returned pointer
- */
-#define snd_pcm_format_mask_alloca(ptr) __snd_alloca(ptr, snd_pcm_format_mask)
-int snd_pcm_format_mask_malloc(snd_pcm_format_mask_t **ptr);
-void snd_pcm_format_mask_free(snd_pcm_format_mask_t *obj);
-void snd_pcm_format_mask_copy(snd_pcm_format_mask_t *dst, const snd_pcm_format_mask_t *src);
-void snd_pcm_format_mask_none(snd_pcm_format_mask_t *mask);
-void snd_pcm_format_mask_any(snd_pcm_format_mask_t *mask);
-int snd_pcm_format_mask_test(const snd_pcm_format_mask_t *mask, snd_pcm_format_t val);
-int snd_pcm_format_mask_empty(const snd_pcm_format_mask_t *mask);
-void snd_pcm_format_mask_set(snd_pcm_format_mask_t *mask, snd_pcm_format_t val);
-void snd_pcm_format_mask_reset(snd_pcm_format_mask_t *mask, snd_pcm_format_t val);
-
-/** \} */
-
-/**
- * \defgroup PCM_SubFormat Subformat Mask Functions
- * \ingroup PCM
- * See the \ref pcm page for more details.
- * \{
- */
-
-size_t snd_pcm_subformat_mask_sizeof(void);
-/** \hideinitializer
- * \brief allocate an empty #snd_pcm_subformat_mask_t using standard alloca
- * \param ptr returned pointer
- */
-#define snd_pcm_subformat_mask_alloca(ptr) __snd_alloca(ptr, snd_pcm_subformat_mask)
-int snd_pcm_subformat_mask_malloc(snd_pcm_subformat_mask_t **ptr);
-void snd_pcm_subformat_mask_free(snd_pcm_subformat_mask_t *obj);
-void snd_pcm_subformat_mask_copy(snd_pcm_subformat_mask_t *dst, const snd_pcm_subformat_mask_t *src);
-void snd_pcm_subformat_mask_none(snd_pcm_subformat_mask_t *mask);
-void snd_pcm_subformat_mask_any(snd_pcm_subformat_mask_t *mask);
-int snd_pcm_subformat_mask_test(const snd_pcm_subformat_mask_t *mask, snd_pcm_subformat_t val);
-int snd_pcm_subformat_mask_empty(const snd_pcm_subformat_mask_t *mask);
-void snd_pcm_subformat_mask_set(snd_pcm_subformat_mask_t *mask, snd_pcm_subformat_t val);
-void snd_pcm_subformat_mask_reset(snd_pcm_subformat_mask_t *mask, snd_pcm_subformat_t val);
-
-/** \} */
-
-/**
- * \defgroup PCM_Status Status Functions
- * \ingroup PCM
- * See the \ref pcm page for more details.
- * \{
- */
-
-size_t snd_pcm_status_sizeof(void);
-/** \hideinitializer
- * \brief allocate an invalid #snd_pcm_status_t using standard alloca
- * \param ptr returned pointer
- */
-#define snd_pcm_status_alloca(ptr) __snd_alloca(ptr, snd_pcm_status)
-int snd_pcm_status_malloc(snd_pcm_status_t **ptr);
-void snd_pcm_status_free(snd_pcm_status_t *obj);
-void snd_pcm_status_copy(snd_pcm_status_t *dst, const snd_pcm_status_t *src);
-snd_pcm_state_t snd_pcm_status_get_state(const snd_pcm_status_t *obj);
-void snd_pcm_status_get_trigger_tstamp(const snd_pcm_status_t *obj, snd_timestamp_t *ptr);
-void snd_pcm_status_get_trigger_htstamp(const snd_pcm_status_t *obj, snd_htimestamp_t *ptr);
-void snd_pcm_status_get_tstamp(const snd_pcm_status_t *obj, snd_timestamp_t *ptr);
-void snd_pcm_status_get_htstamp(const snd_pcm_status_t *obj, snd_htimestamp_t *ptr);
-snd_pcm_sframes_t snd_pcm_status_get_delay(const snd_pcm_status_t *obj);
-snd_pcm_uframes_t snd_pcm_status_get_avail(const snd_pcm_status_t *obj);
-snd_pcm_uframes_t snd_pcm_status_get_avail_max(const snd_pcm_status_t *obj);
-snd_pcm_uframes_t snd_pcm_status_get_overrange(const snd_pcm_status_t *obj);
-
-/** \} */
-
-/**
- * \defgroup PCM_Description Description Functions
- * \ingroup PCM
- * See the \ref pcm page for more details.
- * \{
- */
-
-const char *snd_pcm_type_name(snd_pcm_type_t type);
-const char *snd_pcm_stream_name(const snd_pcm_stream_t stream);
-const char *snd_pcm_access_name(const snd_pcm_access_t _access);
-const char *snd_pcm_format_name(const snd_pcm_format_t format);
-const char *snd_pcm_format_description(const snd_pcm_format_t format);
-const char *snd_pcm_subformat_name(const snd_pcm_subformat_t subformat);
-const char *snd_pcm_subformat_description(const snd_pcm_subformat_t subformat);
-snd_pcm_format_t snd_pcm_format_value(const char* name);
-const char *snd_pcm_tstamp_mode_name(const snd_pcm_tstamp_t mode);
-const char *snd_pcm_state_name(const snd_pcm_state_t state);
-
-/** \} */
-
-/**
- * \defgroup PCM_Dump Debug Functions
- * \ingroup PCM
- * See the \ref pcm page for more details.
- * \{
- */
-
-int snd_pcm_dump(snd_pcm_t *pcm, snd_output_t *out);
-int snd_pcm_dump_hw_setup(snd_pcm_t *pcm, snd_output_t *out);
-int snd_pcm_dump_sw_setup(snd_pcm_t *pcm, snd_output_t *out);
-int snd_pcm_dump_setup(snd_pcm_t *pcm, snd_output_t *out);
-int snd_pcm_hw_params_dump(snd_pcm_hw_params_t *params, snd_output_t *out);
-int snd_pcm_sw_params_dump(snd_pcm_sw_params_t *params, snd_output_t *out);
-int snd_pcm_status_dump(snd_pcm_status_t *status, snd_output_t *out);
-
-/** \} */
-
-/**
- * \defgroup PCM_Direct Direct Access (MMAP) Functions
- * \ingroup PCM
- * See the \ref pcm page for more details.
- * \{
- */
-
-int snd_pcm_mmap_begin(snd_pcm_t *pcm,
- const snd_pcm_channel_area_t **areas,
- snd_pcm_uframes_t *offset,
- snd_pcm_uframes_t *frames);
-snd_pcm_sframes_t snd_pcm_mmap_commit(snd_pcm_t *pcm,
- snd_pcm_uframes_t offset,
- snd_pcm_uframes_t frames);
-snd_pcm_sframes_t snd_pcm_mmap_writei(snd_pcm_t *pcm, const void *buffer, snd_pcm_uframes_t size);
-snd_pcm_sframes_t snd_pcm_mmap_readi(snd_pcm_t *pcm, void *buffer, snd_pcm_uframes_t size);
-snd_pcm_sframes_t snd_pcm_mmap_writen(snd_pcm_t *pcm, void **bufs, snd_pcm_uframes_t size);
-snd_pcm_sframes_t snd_pcm_mmap_readn(snd_pcm_t *pcm, void **bufs, snd_pcm_uframes_t size);
-
-/** \} */
-
-/**
- * \defgroup PCM_Helpers Helper Functions
- * \ingroup PCM
- * See the \ref pcm page for more details.
- * \{
- */
-
-int snd_pcm_format_signed(snd_pcm_format_t format);
-int snd_pcm_format_unsigned(snd_pcm_format_t format);
-int snd_pcm_format_linear(snd_pcm_format_t format);
-int snd_pcm_format_float(snd_pcm_format_t format);
-int snd_pcm_format_little_endian(snd_pcm_format_t format);
-int snd_pcm_format_big_endian(snd_pcm_format_t format);
-int snd_pcm_format_cpu_endian(snd_pcm_format_t format);
-int snd_pcm_format_width(snd_pcm_format_t format); /* in bits */
-int snd_pcm_format_physical_width(snd_pcm_format_t format); /* in bits */
-snd_pcm_format_t snd_pcm_build_linear_format(int width, int pwidth, int unsignd, int big_endian);
-ssize_t snd_pcm_format_size(snd_pcm_format_t format, size_t samples);
-u_int8_t snd_pcm_format_silence(snd_pcm_format_t format);
-u_int16_t snd_pcm_format_silence_16(snd_pcm_format_t format);
-u_int32_t snd_pcm_format_silence_32(snd_pcm_format_t format);
-u_int64_t snd_pcm_format_silence_64(snd_pcm_format_t format);
-int snd_pcm_format_set_silence(snd_pcm_format_t format, void *buf, unsigned int samples);
-
-snd_pcm_sframes_t snd_pcm_bytes_to_frames(snd_pcm_t *pcm, ssize_t bytes);
-ssize_t snd_pcm_frames_to_bytes(snd_pcm_t *pcm, snd_pcm_sframes_t frames);
-long snd_pcm_bytes_to_samples(snd_pcm_t *pcm, ssize_t bytes);
-ssize_t snd_pcm_samples_to_bytes(snd_pcm_t *pcm, long samples);
-
-int snd_pcm_area_silence(const snd_pcm_channel_area_t *dst_channel, snd_pcm_uframes_t dst_offset,
- unsigned int samples, snd_pcm_format_t format);
-int snd_pcm_areas_silence(const snd_pcm_channel_area_t *dst_channels, snd_pcm_uframes_t dst_offset,
- unsigned int channels, snd_pcm_uframes_t frames, snd_pcm_format_t format);
-int snd_pcm_area_copy(const snd_pcm_channel_area_t *dst_channel, snd_pcm_uframes_t dst_offset,
- const snd_pcm_channel_area_t *src_channel, snd_pcm_uframes_t src_offset,
- unsigned int samples, snd_pcm_format_t format);
-int snd_pcm_areas_copy(const snd_pcm_channel_area_t *dst_channels, snd_pcm_uframes_t dst_offset,
- const snd_pcm_channel_area_t *src_channels, snd_pcm_uframes_t src_offset,
- unsigned int channels, snd_pcm_uframes_t frames, snd_pcm_format_t format);
-
-/** \} */
-
-/**
- * \defgroup PCM_Hook Hook Extension
- * \ingroup PCM
- * See the \ref pcm page for more details.
- * \{
- */
-
-/** type of pcm hook */
-typedef enum _snd_pcm_hook_type {
- SND_PCM_HOOK_TYPE_HW_PARAMS = 0,
- SND_PCM_HOOK_TYPE_HW_FREE,
- SND_PCM_HOOK_TYPE_CLOSE,
- SND_PCM_HOOK_TYPE_LAST = SND_PCM_HOOK_TYPE_CLOSE
-} snd_pcm_hook_type_t;
-
-/** PCM hook container */
-typedef struct _snd_pcm_hook snd_pcm_hook_t;
-/** PCM hook callback function */
-typedef int (*snd_pcm_hook_func_t)(snd_pcm_hook_t *hook);
-snd_pcm_t *snd_pcm_hook_get_pcm(snd_pcm_hook_t *hook);
-void *snd_pcm_hook_get_private(snd_pcm_hook_t *hook);
-void snd_pcm_hook_set_private(snd_pcm_hook_t *hook, void *private_data);
-int snd_pcm_hook_add(snd_pcm_hook_t **hookp, snd_pcm_t *pcm,
- snd_pcm_hook_type_t type,
- snd_pcm_hook_func_t func, void *private_data);
-int snd_pcm_hook_remove(snd_pcm_hook_t *hook);
-
-/** \} */
-
-/**
- * \defgroup PCM_Scope Scope Plugin Extension
- * \ingroup PCM
- * See the \ref pcm page for more details.
- * \{
- */
-
-/** #SND_PCM_TYPE_METER scope functions */
-typedef struct _snd_pcm_scope_ops {
- /** \brief Enable and prepare it using current params
- * \param scope scope handle
- */
- int (*enable)(snd_pcm_scope_t *scope);
- /** \brief Disable
- * \param scope scope handle
- */
- void (*disable)(snd_pcm_scope_t *scope);
- /** \brief PCM has been started
- * \param scope scope handle
- */
- void (*start)(snd_pcm_scope_t *scope);
- /** \brief PCM has been stopped
- * \param scope scope handle
- */
- void (*stop)(snd_pcm_scope_t *scope);
- /** \brief New frames are present
- * \param scope scope handle
- */
- void (*update)(snd_pcm_scope_t *scope);
- /** \brief Reset status
- * \param scope scope handle
- */
- void (*reset)(snd_pcm_scope_t *scope);
- /** \brief PCM is closing
- * \param scope scope handle
- */
- void (*close)(snd_pcm_scope_t *scope);
-} snd_pcm_scope_ops_t;
-
-snd_pcm_uframes_t snd_pcm_meter_get_bufsize(snd_pcm_t *pcm);
-unsigned int snd_pcm_meter_get_channels(snd_pcm_t *pcm);
-unsigned int snd_pcm_meter_get_rate(snd_pcm_t *pcm);
-snd_pcm_uframes_t snd_pcm_meter_get_now(snd_pcm_t *pcm);
-snd_pcm_uframes_t snd_pcm_meter_get_boundary(snd_pcm_t *pcm);
-int snd_pcm_meter_add_scope(snd_pcm_t *pcm, snd_pcm_scope_t *scope);
-snd_pcm_scope_t *snd_pcm_meter_search_scope(snd_pcm_t *pcm, const char *name);
-int snd_pcm_scope_malloc(snd_pcm_scope_t **ptr);
-void snd_pcm_scope_set_ops(snd_pcm_scope_t *scope, snd_pcm_scope_ops_t *val);
-void snd_pcm_scope_set_name(snd_pcm_scope_t *scope, const char *val);
-const char *snd_pcm_scope_get_name(snd_pcm_scope_t *scope);
-void *snd_pcm_scope_get_callback_private(snd_pcm_scope_t *scope);
-void snd_pcm_scope_set_callback_private(snd_pcm_scope_t *scope, void *val);
-int snd_pcm_scope_s16_open(snd_pcm_t *pcm, const char *name,
- snd_pcm_scope_t **scopep);
-int16_t *snd_pcm_scope_s16_get_channel_buffer(snd_pcm_scope_t *scope,
- unsigned int channel);
-
-/** \} */
-
-/**
- * \defgroup PCM_Simple Simple setup functions
- * \ingroup PCM
- * See the \ref pcm page for more details.
- * \{
- */
-
-/** Simple PCM latency type */
-typedef enum _snd_spcm_latency {
- /** standard latency - for standard playback or capture
- (estimated latency in one direction 350ms) */
- SND_SPCM_LATENCY_STANDARD = 0,
- /** medium latency - software phones etc.
- (estimated latency in one direction maximally 25ms */
- SND_SPCM_LATENCY_MEDIUM,
- /** realtime latency - realtime applications (effect processors etc.)
- (estimated latency in one direction 5ms and better) */
- SND_SPCM_LATENCY_REALTIME
-} snd_spcm_latency_t;
-
-/** Simple PCM xrun type */
-typedef enum _snd_spcm_xrun_type {
- /** driver / library will ignore all xruns, the stream runs forever */
- SND_SPCM_XRUN_IGNORE = 0,
- /** driver / library stops the stream when an xrun occurs */
- SND_SPCM_XRUN_STOP
-} snd_spcm_xrun_type_t;
-
-/** Simple PCM duplex type */
-typedef enum _snd_spcm_duplex_type {
- /** liberal duplex - the buffer and period sizes might not match */
- SND_SPCM_DUPLEX_LIBERAL = 0,
- /** pedantic duplex - the buffer and period sizes MUST match */
- SND_SPCM_DUPLEX_PEDANTIC
-} snd_spcm_duplex_type_t;
-
-int snd_spcm_init(snd_pcm_t *pcm,
- unsigned int rate,
- unsigned int channels,
- snd_pcm_format_t format,
- snd_pcm_subformat_t subformat,
- snd_spcm_latency_t latency,
- snd_pcm_access_t _access,
- snd_spcm_xrun_type_t xrun_type);
-
-int snd_spcm_init_duplex(snd_pcm_t *playback_pcm,
- snd_pcm_t *capture_pcm,
- unsigned int rate,
- unsigned int channels,
- snd_pcm_format_t format,
- snd_pcm_subformat_t subformat,
- snd_spcm_latency_t latency,
- snd_pcm_access_t _access,
- snd_spcm_xrun_type_t xrun_type,
- snd_spcm_duplex_type_t duplex_type);
-
-int snd_spcm_init_get_params(snd_pcm_t *pcm,
- unsigned int *rate,
- snd_pcm_uframes_t *buffer_size,
- snd_pcm_uframes_t *period_size);
-
-/** \} */
-
-/**
- * \defgroup PCM_Deprecated Deprecated Functions
- * \ingroup PCM
- * See the \ref pcm page for more details.
- * \{
- */
-
-/* Deprecated functions, for compatibility */
-const char *snd_pcm_start_mode_name(snd_pcm_start_t mode) __attribute__((deprecated));
-const char *snd_pcm_xrun_mode_name(snd_pcm_xrun_t mode) __attribute__((deprecated));
-int snd_pcm_sw_params_set_start_mode(snd_pcm_t *pcm, snd_pcm_sw_params_t *params, snd_pcm_start_t val) __attribute__((deprecated));
-snd_pcm_start_t snd_pcm_sw_params_get_start_mode(const snd_pcm_sw_params_t *params) __attribute__((deprecated));
-int snd_pcm_sw_params_set_xrun_mode(snd_pcm_t *pcm, snd_pcm_sw_params_t *params, snd_pcm_xrun_t val) __attribute__((deprecated));
-snd_pcm_xrun_t snd_pcm_sw_params_get_xrun_mode(const snd_pcm_sw_params_t *params) __attribute__((deprecated));
-#if !defined(ALSA_LIBRARY_BUILD) && !defined(ALSA_PCM_OLD_SW_PARAMS_API)
-int snd_pcm_sw_params_set_xfer_align(snd_pcm_t *pcm, snd_pcm_sw_params_t *params, snd_pcm_uframes_t val) __attribute__((deprecated));
-int snd_pcm_sw_params_get_xfer_align(const snd_pcm_sw_params_t *params, snd_pcm_uframes_t *val) __attribute__((deprecated));
-int snd_pcm_sw_params_set_sleep_min(snd_pcm_t *pcm, snd_pcm_sw_params_t *params, unsigned int val) __attribute__((deprecated));
-int snd_pcm_sw_params_get_sleep_min(const snd_pcm_sw_params_t *params, unsigned int *val) __attribute__((deprecated));
-#endif /* !ALSA_LIBRARY_BUILD && !ALSA_PCM_OLD_SW_PARAMS_API */
-#if !defined(ALSA_LIBRARY_BUILD) && !defined(ALSA_PCM_OLD_HW_PARAMS_API)
-int snd_pcm_hw_params_get_tick_time(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir) __attribute__((deprecated));
-int snd_pcm_hw_params_get_tick_time_min(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir) __attribute__((deprecated));
-int snd_pcm_hw_params_get_tick_time_max(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir) __attribute__((deprecated));
-int snd_pcm_hw_params_test_tick_time(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir) __attribute__((deprecated));
-int snd_pcm_hw_params_set_tick_time(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir) __attribute__((deprecated));
-int snd_pcm_hw_params_set_tick_time_min(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir) __attribute__((deprecated));
-int snd_pcm_hw_params_set_tick_time_max(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir) __attribute__((deprecated));
-int snd_pcm_hw_params_set_tick_time_minmax(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *min, int *mindir, unsigned int *max, int *maxdir) __attribute__((deprecated));
-int snd_pcm_hw_params_set_tick_time_near(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir) __attribute__((deprecated));
-int snd_pcm_hw_params_set_tick_time_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir) __attribute__((deprecated));
-int snd_pcm_hw_params_set_tick_time_last(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir) __attribute__((deprecated));
-#endif /* !ALSA_LIBRARY_BUILD && !ALSA_PCM_OLD_HW_PARAMS_API */
-
-/** \} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __ALSA_PCM_H */
diff --git a/alsa-lib/include/pcm_external.h b/alsa-lib/include/pcm_external.h
deleted file mode 100644
index 5750418..0000000
--- a/alsa-lib/include/pcm_external.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/**
- * \file include/pcm_external.h
- * \brief External PCM plugin SDK
- * \author Takashi Iwai <tiwai@suse.de>
- * \date 2005
- *
- * Extern PCM plugin SDK.
- */
-
-/*
- * This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-#ifndef __ALSA_PCM_EXTERNAL_H
-#define __ALSA_PCM_EXTERNAL_H
-
-#include "pcm.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * \defgroup Plugin_SDK External PCM plugin SDK
- * \{
- */
-
-/**
- * Define the object entry for external PCM plugins
- */
-#define SND_PCM_PLUGIN_ENTRY(name) _snd_pcm_##name##_open
-
-/**
- * Define the symbols of the given plugin with versions
- */
-#define SND_PCM_PLUGIN_SYMBOL(name) SND_DLSYM_BUILD_VERSION(SND_PCM_PLUGIN_ENTRY(name), SND_PCM_DLSYM_VERSION);
-
-/**
- * Define the plugin
- */
-#define SND_PCM_PLUGIN_DEFINE_FUNC(plugin) \
-int SND_PCM_PLUGIN_ENTRY(plugin) (snd_pcm_t **pcmp, const char *name,\
- snd_config_t *root, snd_config_t *conf, \
- snd_pcm_stream_t stream, int mode)
-
-#include "pcm_ioplug.h"
-#include "pcm_extplug.h"
-
-int snd_pcm_parse_control_id(snd_config_t *conf, snd_ctl_elem_id_t *ctl_id, int *cardp,
- int *cchannelsp, int *hwctlp);
-
-/** \} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __ALSA_PCM_EXTERNAL_H */
diff --git a/alsa-lib/include/pcm_extplug.h b/alsa-lib/include/pcm_extplug.h
deleted file mode 100644
index b14c5be..0000000
--- a/alsa-lib/include/pcm_extplug.h
+++ /dev/null
@@ -1,189 +0,0 @@
-/**
- * \file include/pcm_extplug.h
- * \brief External Filter-Plugin SDK
- * \author Takashi Iwai <tiwai@suse.de>
- * \date 2005
- *
- * External Filter-Plugin SDK
- */
-
-/*
- * ALSA external PCM plugin SDK (draft version)
- *
- * Copyright (c) 2005 Takashi Iwai <tiwai@suse.de>
- *
- * This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#ifndef __ALSA_PCM_EXTPLUG_H
-#define __ALSA_PCM_EXTPLUG_H
-
-/**
- * \defgroup PCM_ExtPlug External Filter plugin SDK
- * \ingroup Plugin_SDK
- * See the \ref pcm page for more details.
- * \{
- */
-
-/** hw constraints for extplug */
-enum {
- SND_PCM_EXTPLUG_HW_FORMAT, /**< format */
- SND_PCM_EXTPLUG_HW_CHANNELS, /**< channels */
- SND_PCM_EXTPLUG_HW_PARAMS /**< max number of hw constraints */
-};
-
-/** Handle of external filter plugin */
-typedef struct snd_pcm_extplug snd_pcm_extplug_t;
-/** Callback table of extplug */
-typedef struct snd_pcm_extplug_callback snd_pcm_extplug_callback_t;
-
-/*
- * Protocol version
- */
-#define SND_PCM_EXTPLUG_VERSION_MAJOR 1 /**< Protocol major version */
-#define SND_PCM_EXTPLUG_VERSION_MINOR 0 /**< Protocol minor version */
-#define SND_PCM_EXTPLUG_VERSION_TINY 1 /**< Protocol tiny version */
-/**
- * Filter-plugin protocol version
- */
-#define SND_PCM_EXTPLUG_VERSION ((SND_PCM_EXTPLUG_VERSION_MAJOR<<16) |\
- (SND_PCM_EXTPLUG_VERSION_MINOR<<8) |\
- (SND_PCM_EXTPLUG_VERSION_TINY))
-
-/** Handle of extplug */
-struct snd_pcm_extplug {
- /**
- * protocol version; #SND_PCM_EXTPLUG_VERSION must be filled here
- * before calling #snd_pcm_extplug_create()
- */
- unsigned int version;
- /**
- * name of this plugin; must be filled before calling #snd_pcm_extplug_create()
- */
- const char *name;
- /**
- * callbacks of this plugin; must be filled before calling #snd_pcm_extplug_create()
- */
- const snd_pcm_extplug_callback_t *callback;
- /**
- * private data, which can be used freely in the driver callbacks
- */
- void *private_data;
- /**
- * PCM handle filled by #snd_pcm_extplug_create()
- */
- snd_pcm_t *pcm;
- /**
- * stream direction; read-only status
- */
- snd_pcm_stream_t stream;
- /**
- * format hw parameter; filled after hw_params is caled
- */
- snd_pcm_format_t format;
- /**
- * subformat hw parameter; filled after hw_params is caled
- */
- snd_pcm_subformat_t subformat;
- /**
- * channels hw parameter; filled after hw_params is caled
- */
- unsigned int channels;
- /**
- * rate hw parameter; filled after hw_params is caled
- */
- unsigned int rate;
- /**
- * slave_format hw parameter; filled after hw_params is caled
- */
- snd_pcm_format_t slave_format;
- /**
- * slave_subformat hw parameter; filled after hw_params is caled
- */
- snd_pcm_subformat_t slave_subformat;
- /**
- * slave_channels hw parameter; filled after hw_params is caled
- */
- unsigned int slave_channels;
-};
-
-/** Callback table of extplug */
-struct snd_pcm_extplug_callback {
- /**
- * transfer between source and destination; this is a required callback
- */
- snd_pcm_sframes_t (*transfer)(snd_pcm_extplug_t *ext,
- const snd_pcm_channel_area_t *dst_areas,
- snd_pcm_uframes_t dst_offset,
- const snd_pcm_channel_area_t *src_areas,
- snd_pcm_uframes_t src_offset,
- snd_pcm_uframes_t size);
- /**
- * close the PCM; optional
- */
- int (*close)(snd_pcm_extplug_t *ext);
- /**
- * hw_params; optional
- */
- int (*hw_params)(snd_pcm_extplug_t *ext, snd_pcm_hw_params_t *params);
- /**
- * hw_free; optional
- */
- int (*hw_free)(snd_pcm_extplug_t *ext);
- /**
- * dump; optional
- */
- void (*dump)(snd_pcm_extplug_t *ext, snd_output_t *out);
- /**
- * init; optional initialization called at prepare or reset
- */
- int (*init)(snd_pcm_extplug_t *ext);
-};
-
-
-int snd_pcm_extplug_create(snd_pcm_extplug_t *ext, const char *name,
- snd_config_t *root, snd_config_t *slave_conf,
- snd_pcm_stream_t stream, int mode);
-int snd_pcm_extplug_delete(snd_pcm_extplug_t *ext);
-
-/* clear hw_parameter setting */
-void snd_pcm_extplug_params_reset(snd_pcm_extplug_t *ext);
-
-/* hw_parameter setting */
-int snd_pcm_extplug_set_param_list(snd_pcm_extplug_t *extplug, int type, unsigned int num_list, const unsigned int *list);
-int snd_pcm_extplug_set_param_minmax(snd_pcm_extplug_t *extplug, int type, unsigned int min, unsigned int max);
-int snd_pcm_extplug_set_slave_param_list(snd_pcm_extplug_t *extplug, int type, unsigned int num_list, const unsigned int *list);
-int snd_pcm_extplug_set_slave_param_minmax(snd_pcm_extplug_t *extplug, int type, unsigned int min, unsigned int max);
-
-/**
- * set the parameter constraint with a single value
- */
-static inline int snd_pcm_extplug_set_param(snd_pcm_extplug_t *extplug, int type, unsigned int val)
-{
- return snd_pcm_extplug_set_param_list(extplug, type, 1, &val);
-}
-
-/**
- * set the parameter constraint for slave PCM with a single value
- */
-static inline int snd_pcm_extplug_set_slave_param(snd_pcm_extplug_t *extplug, int type, unsigned int val)
-{
- return snd_pcm_extplug_set_slave_param_list(extplug, type, 1, &val);
-}
-
-/** \} */
-
-#endif /* __ALSA_PCM_EXTPLUG_H */
diff --git a/alsa-lib/include/pcm_ioplug.h b/alsa-lib/include/pcm_ioplug.h
deleted file mode 100644
index b5968f1..0000000
--- a/alsa-lib/include/pcm_ioplug.h
+++ /dev/null
@@ -1,217 +0,0 @@
-/**
- * \file include/pcm_ioplug.h
- * \brief External I/O-Plugin SDK
- * \author Takashi Iwai <tiwai@suse.de>
- * \date 2005
- *
- * External I/O-Plugin SDK
- */
-
-/*
- * ALSA external PCM plugin SDK
- *
- * Copyright (c) 2005 Takashi Iwai <tiwai@suse.de>
- *
- * This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#ifndef __ALSA_PCM_IOPLUG_H
-#define __ALSA_PCM_IOPLUG_H
-
-/**
- * \defgroup PCM_IOPlug External I/O plugin SDK
- * \ingroup Plugin_SDK
- * See the \ref pcm page for more details.
- * \{
- */
-
-/** hw constraints for ioplug */
-enum {
- SND_PCM_IOPLUG_HW_ACCESS = 0, /**< access type */
- SND_PCM_IOPLUG_HW_FORMAT, /**< format */
- SND_PCM_IOPLUG_HW_CHANNELS, /**< channels */
- SND_PCM_IOPLUG_HW_RATE, /**< rate */
- SND_PCM_IOPLUG_HW_PERIOD_BYTES, /**< period bytes */
- SND_PCM_IOPLUG_HW_BUFFER_BYTES, /**< buffer bytes */
- SND_PCM_IOPLUG_HW_PERIODS, /**< number of periods */
- SND_PCM_IOPLUG_HW_PARAMS /**< max number of hw constraints */
-};
-
-/** I/O plugin handle */
-typedef struct snd_pcm_ioplug snd_pcm_ioplug_t;
-/** Callback table of ioplug */
-typedef struct snd_pcm_ioplug_callback snd_pcm_ioplug_callback_t;
-
-/**
- * bit flags for additional conditions
- */
-#define SND_PCM_IOPLUG_FLAG_LISTED (1<<0) /* list up this PCM */
-#define SND_PCM_IOPLUG_FLAG_MONOTONIC (1<<1) /* monotonic timestamps */
-
-/*
- * Protocol version
- */
-#define SND_PCM_IOPLUG_VERSION_MAJOR 1 /**< Protocol major version */
-#define SND_PCM_IOPLUG_VERSION_MINOR 0 /**< Protocol minor version */
-#define SND_PCM_IOPLUG_VERSION_TINY 1 /**< Protocol tiny version */
-/**
- * IO-plugin protocol version
- */
-#define SND_PCM_IOPLUG_VERSION ((SND_PCM_IOPLUG_VERSION_MAJOR<<16) |\
- (SND_PCM_IOPLUG_VERSION_MINOR<<8) |\
- (SND_PCM_IOPLUG_VERSION_TINY))
-
-/** Handle of ioplug */
-struct snd_pcm_ioplug {
- /**
- * protocol version; #SND_PCM_IOPLUG_VERSION must be filled here
- * before calling #snd_pcm_ioplug_create()
- */
- unsigned int version;
- /**
- * name of this plugin; must be filled before calling #snd_pcm_ioplug_create()
- */
- const char *name;
- unsigned int flags; /**< SND_PCM_IOPLUG_FLAG_XXX */
- int poll_fd; /**< poll file descriptor */
- unsigned int poll_events; /**< poll events */
- unsigned int mmap_rw; /**< pseudo mmap mode */
- /**
- * callbacks of this plugin; must be filled before calling #snd_pcm_ioplug_create()
- */
- const snd_pcm_ioplug_callback_t *callback;
- /**
- * private data, which can be used freely in the driver callbacks
- */
- void *private_data;
- /**
- * PCM handle filled by #snd_pcm_extplug_create()
- */
- snd_pcm_t *pcm;
-
- snd_pcm_stream_t stream; /**< stream direcion; read-only */
- snd_pcm_state_t state; /**< current PCM state; read-only */
- volatile snd_pcm_uframes_t appl_ptr; /**< application pointer; read-only */
- volatile snd_pcm_uframes_t hw_ptr; /**< hw pointer; read-only */
- int nonblock; /**< non-block mode; read-only */
-
- snd_pcm_access_t access; /**< access type; filled after hw_params is called */
- snd_pcm_format_t format; /**< PCM format; filled after hw_params is called */
- unsigned int channels; /**< number of channels; filled after hw_params is called */
- unsigned int rate; /**< rate; filled after hw_params is called */
- snd_pcm_uframes_t period_size; /**< period size; filled after hw_params is called */
- snd_pcm_uframes_t buffer_size; /**< buffer size; filled after hw_params is called */
-};
-
-/** Callback table of ioplug */
-struct snd_pcm_ioplug_callback {
- /**
- * start the PCM; required
- */
- int (*start)(snd_pcm_ioplug_t *io);
- /**
- * stop the PCM; required
- */
- int (*stop)(snd_pcm_ioplug_t *io);
- /**
- * get the current DMA position; required
- */
- snd_pcm_sframes_t (*pointer)(snd_pcm_ioplug_t *io);
- /**
- * transfer the data; optional
- */
- snd_pcm_sframes_t (*transfer)(snd_pcm_ioplug_t *io,
- const snd_pcm_channel_area_t *areas,
- snd_pcm_uframes_t offset,
- snd_pcm_uframes_t size);
- /**
- * close the PCM; optional
- */
- int (*close)(snd_pcm_ioplug_t *io);
- /**
- * hw_params; optional
- */
- int (*hw_params)(snd_pcm_ioplug_t *io, snd_pcm_hw_params_t *params);
- /**
- * hw_free; optional
- */
- int (*hw_free)(snd_pcm_ioplug_t *io);
- /**
- * sw_params; optional
- */
- int (*sw_params)(snd_pcm_ioplug_t *io, snd_pcm_sw_params_t *params);
- /**
- * prepare; optional
- */
- int (*prepare)(snd_pcm_ioplug_t *io);
- /**
- * drain; optional
- */
- int (*drain)(snd_pcm_ioplug_t *io);
- /**
- * toggle pause; optional
- */
- int (*pause)(snd_pcm_ioplug_t *io, int enable);
- /**
- * resume; optional
- */
- int (*resume)(snd_pcm_ioplug_t *io);
- /**
- * poll descriptors count; optional
- */
- int (*poll_descriptors_count)(snd_pcm_ioplug_t *io);
- /**
- * poll descriptors; optional
- */
- int (*poll_descriptors)(snd_pcm_ioplug_t *io, struct pollfd *pfd, unsigned int space);
- /**
- * mangle poll events; optional
- */
- int (*poll_revents)(snd_pcm_ioplug_t *io, struct pollfd *pfd, unsigned int nfds, unsigned short *revents);
- /**
- * dump; optional
- */
- void (*dump)(snd_pcm_ioplug_t *io, snd_output_t *out);
- /**
- * get the delay for the running PCM; optional
- */
- int (*delay)(snd_pcm_ioplug_t *io, snd_pcm_sframes_t *delayp);
-};
-
-
-int snd_pcm_ioplug_create(snd_pcm_ioplug_t *io, const char *name,
- snd_pcm_stream_t stream, int mode);
-int snd_pcm_ioplug_delete(snd_pcm_ioplug_t *io);
-
-/* update poll_fd and mmap_rw */
-int snd_pcm_ioplug_reinit_status(snd_pcm_ioplug_t *ioplug);
-
-/* get a mmap area (for mmap_rw only) */
-const snd_pcm_channel_area_t *snd_pcm_ioplug_mmap_areas(snd_pcm_ioplug_t *ioplug);
-
-/* clear hw_parameter setting */
-void snd_pcm_ioplug_params_reset(snd_pcm_ioplug_t *io);
-
-/* hw_parameter setting */
-int snd_pcm_ioplug_set_param_minmax(snd_pcm_ioplug_t *io, int type, unsigned int min, unsigned int max);
-int snd_pcm_ioplug_set_param_list(snd_pcm_ioplug_t *io, int type, unsigned int num_list, const unsigned int *list);
-
-/* change PCM status */
-int snd_pcm_ioplug_set_state(snd_pcm_ioplug_t *ioplug, snd_pcm_state_t state);
-
-/** \} */
-
-#endif /* __ALSA_PCM_IOPLUG_H */
diff --git a/alsa-lib/include/pcm_old.h b/alsa-lib/include/pcm_old.h
deleted file mode 100644
index f0de4c3..0000000
--- a/alsa-lib/include/pcm_old.h
+++ /dev/null
@@ -1,230 +0,0 @@
-/*
- * Old ALSA 0.9.x API
- */
-
-#ifdef ALSA_PCM_OLD_HW_PARAMS_API
-
-asm(".symver snd_pcm_hw_params_get_access,snd_pcm_hw_params_get_access@ALSA_0.9");
-asm(".symver snd_pcm_hw_params_set_access_first,snd_pcm_hw_params_set_access_first@ALSA_0.9");
-asm(".symver snd_pcm_hw_params_set_access_last,snd_pcm_hw_params_set_access_last@ALSA_0.9");
-
-int snd_pcm_hw_params_get_access(const snd_pcm_hw_params_t *params);
-int snd_pcm_hw_params_test_access(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_access_t val);
-int snd_pcm_hw_params_set_access(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_access_t val);
-snd_pcm_access_t snd_pcm_hw_params_set_access_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *params);
-snd_pcm_access_t snd_pcm_hw_params_set_access_last(snd_pcm_t *pcm, snd_pcm_hw_params_t *params);
-int snd_pcm_hw_params_set_access_mask(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_access_mask_t *mask);
-void snd_pcm_hw_params_get_access_mask(snd_pcm_hw_params_t *params, snd_pcm_access_mask_t *mask);
-
-asm(".symver snd_pcm_hw_params_get_format,snd_pcm_hw_params_get_format@ALSA_0.9");
-asm(".symver snd_pcm_hw_params_set_format_first,snd_pcm_hw_params_set_format_first@ALSA_0.9");
-asm(".symver snd_pcm_hw_params_set_format_last,snd_pcm_hw_params_set_format_last@ALSA_0.9");
-
-int snd_pcm_hw_params_get_format(const snd_pcm_hw_params_t *params);
-int snd_pcm_hw_params_test_format(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_format_t val);
-int snd_pcm_hw_params_set_format(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_format_t val);
-snd_pcm_format_t snd_pcm_hw_params_set_format_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *params);
-snd_pcm_format_t snd_pcm_hw_params_set_format_last(snd_pcm_t *pcm, snd_pcm_hw_params_t *params);
-int snd_pcm_hw_params_set_format_mask(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_format_mask_t *mask);
-void snd_pcm_hw_params_get_format_mask(snd_pcm_hw_params_t *params, snd_pcm_format_mask_t *mask);
-
-asm(".symver snd_pcm_hw_params_get_subformat,snd_pcm_hw_params_get_subformat@ALSA_0.9");
-asm(".symver snd_pcm_hw_params_set_subformat_first,snd_pcm_hw_params_set_subformat_first@ALSA_0.9");
-asm(".symver snd_pcm_hw_params_set_subformat_last,snd_pcm_hw_params_set_subformat_last@ALSA_0.9");
-
-int snd_pcm_hw_params_test_subformat(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_subformat_t val);
-int snd_pcm_hw_params_get_subformat(const snd_pcm_hw_params_t *params);
-int snd_pcm_hw_params_set_subformat(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_subformat_t val);
-snd_pcm_subformat_t snd_pcm_hw_params_set_subformat_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *params);
-snd_pcm_subformat_t snd_pcm_hw_params_set_subformat_last(snd_pcm_t *pcm, snd_pcm_hw_params_t *params);
-int snd_pcm_hw_params_set_subformat_mask(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_subformat_mask_t *mask);
-void snd_pcm_hw_params_get_subformat_mask(snd_pcm_hw_params_t *params, snd_pcm_subformat_mask_t *mask);
-
-asm(".symver snd_pcm_hw_params_get_channels,snd_pcm_hw_params_get_channels@ALSA_0.9");
-asm(".symver snd_pcm_hw_params_get_channels_min,snd_pcm_hw_params_get_channels_min@ALSA_0.9");
-asm(".symver snd_pcm_hw_params_get_channels_max,snd_pcm_hw_params_get_channels_max@ALSA_0.9");
-asm(".symver snd_pcm_hw_params_set_channels_near,snd_pcm_hw_params_set_channels_near@ALSA_0.9");
-asm(".symver snd_pcm_hw_params_set_channels_first,snd_pcm_hw_params_set_channels_first@ALSA_0.9");
-asm(".symver snd_pcm_hw_params_set_channels_last,snd_pcm_hw_params_set_channels_last@ALSA_0.9");
-
-int snd_pcm_hw_params_get_channels(const snd_pcm_hw_params_t *params);
-unsigned int snd_pcm_hw_params_get_channels_min(const snd_pcm_hw_params_t *params);
-unsigned int snd_pcm_hw_params_get_channels_max(const snd_pcm_hw_params_t *params);
-int snd_pcm_hw_params_test_channels(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val);
-int snd_pcm_hw_params_set_channels(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val);
-int snd_pcm_hw_params_set_channels_min(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val);
-int snd_pcm_hw_params_set_channels_max(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val);
-int snd_pcm_hw_params_set_channels_minmax(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *min, unsigned int *max);
-unsigned int snd_pcm_hw_params_set_channels_near(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val);
-unsigned int snd_pcm_hw_params_set_channels_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *params);
-unsigned int snd_pcm_hw_params_set_channels_last(snd_pcm_t *pcm, snd_pcm_hw_params_t *params);
-
-asm(".symver snd_pcm_hw_params_get_rate,snd_pcm_hw_params_get_rate@ALSA_0.9");
-asm(".symver snd_pcm_hw_params_get_rate_min,snd_pcm_hw_params_get_rate_min@ALSA_0.9");
-asm(".symver snd_pcm_hw_params_get_rate_max,snd_pcm_hw_params_get_rate_max@ALSA_0.9");
-asm(".symver snd_pcm_hw_params_set_rate_near,snd_pcm_hw_params_set_rate_near@ALSA_0.9");
-asm(".symver snd_pcm_hw_params_set_rate_first,snd_pcm_hw_params_set_rate_first@ALSA_0.9");
-asm(".symver snd_pcm_hw_params_set_rate_last,snd_pcm_hw_params_set_rate_last@ALSA_0.9");
-
-int snd_pcm_hw_params_get_rate(const snd_pcm_hw_params_t *params, int *dir);
-unsigned int snd_pcm_hw_params_get_rate_min(const snd_pcm_hw_params_t *params, int *dir);
-unsigned int snd_pcm_hw_params_get_rate_max(const snd_pcm_hw_params_t *params, int *dir);
-int snd_pcm_hw_params_test_rate(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir);
-int snd_pcm_hw_params_set_rate(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir);
-int snd_pcm_hw_params_set_rate_min(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
-int snd_pcm_hw_params_set_rate_max(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
-int snd_pcm_hw_params_set_rate_minmax(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *min, int *mindir, unsigned int *max, int *maxdir);
-unsigned int snd_pcm_hw_params_set_rate_near(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int *dir);
-unsigned int snd_pcm_hw_params_set_rate_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, int *dir);
-unsigned int snd_pcm_hw_params_set_rate_last(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, int *dir);
-int snd_pcm_hw_params_set_rate_resample(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val);
-int snd_pcm_hw_params_get_rate_resample(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val);
-
-asm(".symver snd_pcm_hw_params_get_period_time,snd_pcm_hw_params_get_period_time@ALSA_0.9");
-asm(".symver snd_pcm_hw_params_get_period_time_min,snd_pcm_hw_params_get_period_time_min@ALSA_0.9");
-asm(".symver snd_pcm_hw_params_get_period_time_max,snd_pcm_hw_params_get_period_time_max@ALSA_0.9");
-asm(".symver snd_pcm_hw_params_set_period_time_near,snd_pcm_hw_params_set_period_time_near@ALSA_0.9");
-asm(".symver snd_pcm_hw_params_set_period_time_first,snd_pcm_hw_params_set_period_time_first@ALSA_0.9");
-asm(".symver snd_pcm_hw_params_set_period_time_last,snd_pcm_hw_params_set_period_time_last@ALSA_0.9");
-
-int snd_pcm_hw_params_get_period_time(const snd_pcm_hw_params_t *params, int *dir);
-unsigned int snd_pcm_hw_params_get_period_time_min(const snd_pcm_hw_params_t *params, int *dir);
-unsigned int snd_pcm_hw_params_get_period_time_max(const snd_pcm_hw_params_t *params, int *dir);
-int snd_pcm_hw_params_test_period_time(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir);
-int snd_pcm_hw_params_set_period_time(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir);
-int snd_pcm_hw_params_set_period_time_min(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
-int snd_pcm_hw_params_set_period_time_max(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
-int snd_pcm_hw_params_set_period_time_minmax(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *min, int *mindir, unsigned int *max, int *maxdir);
-unsigned int snd_pcm_hw_params_set_period_time_near(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int *dir);
-unsigned int snd_pcm_hw_params_set_period_time_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, int *dir);
-unsigned int snd_pcm_hw_params_set_period_time_last(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, int *dir);
-
-asm(".symver snd_pcm_hw_params_get_period_size,snd_pcm_hw_params_get_period_size@ALSA_0.9");
-asm(".symver snd_pcm_hw_params_get_period_size_min,snd_pcm_hw_params_get_period_size_min@ALSA_0.9");
-asm(".symver snd_pcm_hw_params_get_period_size_max,snd_pcm_hw_params_get_period_size_max@ALSA_0.9");
-asm(".symver snd_pcm_hw_params_set_period_size_near,snd_pcm_hw_params_set_period_size_near@ALSA_0.9");
-asm(".symver snd_pcm_hw_params_set_period_size_first,snd_pcm_hw_params_set_period_size_first@ALSA_0.9");
-asm(".symver snd_pcm_hw_params_set_period_size_last,snd_pcm_hw_params_set_period_size_last@ALSA_0.9");
-
-snd_pcm_sframes_t snd_pcm_hw_params_get_period_size(const snd_pcm_hw_params_t *params, int *dir);
-snd_pcm_uframes_t snd_pcm_hw_params_get_period_size_min(const snd_pcm_hw_params_t *params, int *dir);
-snd_pcm_uframes_t snd_pcm_hw_params_get_period_size_max(const snd_pcm_hw_params_t *params, int *dir);
-int snd_pcm_hw_params_test_period_size(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t val, int dir);
-int snd_pcm_hw_params_set_period_size(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t val, int dir);
-int snd_pcm_hw_params_set_period_size_min(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val, int *dir);
-int snd_pcm_hw_params_set_period_size_max(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val, int *dir);
-int snd_pcm_hw_params_set_period_size_minmax(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *min, int *mindir, snd_pcm_uframes_t *max, int *maxdir);
-snd_pcm_uframes_t snd_pcm_hw_params_set_period_size_near(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t val, int *dir);
-snd_pcm_uframes_t snd_pcm_hw_params_set_period_size_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, int *dir);
-snd_pcm_uframes_t snd_pcm_hw_params_set_period_size_last(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, int *dir);
-int snd_pcm_hw_params_set_period_size_integer(snd_pcm_t *pcm, snd_pcm_hw_params_t *params);
-
-asm(".symver snd_pcm_hw_params_get_periods,snd_pcm_hw_params_get_periods@ALSA_0.9");
-asm(".symver snd_pcm_hw_params_get_periods_min,snd_pcm_hw_params_get_periods_min@ALSA_0.9");
-asm(".symver snd_pcm_hw_params_get_periods_max,snd_pcm_hw_params_get_periods_max@ALSA_0.9");
-asm(".symver snd_pcm_hw_params_set_periods_near,snd_pcm_hw_params_set_periods_near@ALSA_0.9");
-asm(".symver snd_pcm_hw_params_set_periods_first,snd_pcm_hw_params_set_periods_first@ALSA_0.9");
-asm(".symver snd_pcm_hw_params_set_periods_last,snd_pcm_hw_params_set_periods_last@ALSA_0.9");
-
-int snd_pcm_hw_params_get_periods(const snd_pcm_hw_params_t *params, int *dir);
-unsigned int snd_pcm_hw_params_get_periods_min(const snd_pcm_hw_params_t *params, int *dir);
-unsigned int snd_pcm_hw_params_get_periods_max(const snd_pcm_hw_params_t *params, int *dir);
-int snd_pcm_hw_params_test_periods(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir);
-int snd_pcm_hw_params_set_periods(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir);
-int snd_pcm_hw_params_set_periods_min(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
-int snd_pcm_hw_params_set_periods_max(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
-int snd_pcm_hw_params_set_periods_minmax(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *min, int *mindir, unsigned int *max, int *maxdir);
-unsigned int snd_pcm_hw_params_set_periods_near(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int *dir);
-unsigned int snd_pcm_hw_params_set_periods_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, int *dir);
-unsigned int snd_pcm_hw_params_set_periods_last(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, int *dir);
-int snd_pcm_hw_params_set_periods_integer(snd_pcm_t *pcm, snd_pcm_hw_params_t *params);
-
-asm(".symver snd_pcm_hw_params_get_buffer_time,snd_pcm_hw_params_get_buffer_time@ALSA_0.9");
-asm(".symver snd_pcm_hw_params_get_buffer_time_min,snd_pcm_hw_params_get_buffer_time_min@ALSA_0.9");
-asm(".symver snd_pcm_hw_params_get_buffer_time_max,snd_pcm_hw_params_get_buffer_time_max@ALSA_0.9");
-asm(".symver snd_pcm_hw_params_set_buffer_time_near,snd_pcm_hw_params_set_buffer_time_near@ALSA_0.9");
-asm(".symver snd_pcm_hw_params_set_buffer_time_first,snd_pcm_hw_params_set_buffer_time_first@ALSA_0.9");
-asm(".symver snd_pcm_hw_params_set_buffer_time_last,snd_pcm_hw_params_set_buffer_time_last@ALSA_0.9");
-
-int snd_pcm_hw_params_get_buffer_time(const snd_pcm_hw_params_t *params, int *dir);
-unsigned int snd_pcm_hw_params_get_buffer_time_min(const snd_pcm_hw_params_t *params, int *dir);
-unsigned int snd_pcm_hw_params_get_buffer_time_max(const snd_pcm_hw_params_t *params, int *dir);
-int snd_pcm_hw_params_test_buffer_time(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir);
-int snd_pcm_hw_params_set_buffer_time(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir);
-int snd_pcm_hw_params_set_buffer_time_min(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
-int snd_pcm_hw_params_set_buffer_time_max(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
-int snd_pcm_hw_params_set_buffer_time_minmax(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *min, int *mindir, unsigned int *max, int *maxdir);
-unsigned int snd_pcm_hw_params_set_buffer_time_near(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int *dir);
-unsigned int snd_pcm_hw_params_set_buffer_time_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, int *dir);
-unsigned int snd_pcm_hw_params_set_buffer_time_last(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, int *dir);
-
-asm(".symver snd_pcm_hw_params_get_buffer_size,snd_pcm_hw_params_get_buffer_size@ALSA_0.9");
-asm(".symver snd_pcm_hw_params_get_buffer_size_min,snd_pcm_hw_params_get_buffer_size_min@ALSA_0.9");
-asm(".symver snd_pcm_hw_params_get_buffer_size_max,snd_pcm_hw_params_get_buffer_size_max@ALSA_0.9");
-asm(".symver snd_pcm_hw_params_set_buffer_size_near,snd_pcm_hw_params_set_buffer_size_near@ALSA_0.9");
-asm(".symver snd_pcm_hw_params_set_buffer_size_first,snd_pcm_hw_params_set_buffer_size_first@ALSA_0.9");
-asm(".symver snd_pcm_hw_params_set_buffer_size_last,snd_pcm_hw_params_set_buffer_size_last@ALSA_0.9");
-
-snd_pcm_sframes_t snd_pcm_hw_params_get_buffer_size(const snd_pcm_hw_params_t *params);
-snd_pcm_uframes_t snd_pcm_hw_params_get_buffer_size_min(const snd_pcm_hw_params_t *params);
-snd_pcm_uframes_t snd_pcm_hw_params_get_buffer_size_max(const snd_pcm_hw_params_t *params);
-int snd_pcm_hw_params_test_buffer_size(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t val);
-int snd_pcm_hw_params_set_buffer_size(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t val);
-int snd_pcm_hw_params_set_buffer_size_min(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val);
-int snd_pcm_hw_params_set_buffer_size_max(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val);
-int snd_pcm_hw_params_set_buffer_size_minmax(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *min, snd_pcm_uframes_t *max);
-snd_pcm_uframes_t snd_pcm_hw_params_set_buffer_size_near(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t val);
-snd_pcm_uframes_t snd_pcm_hw_params_set_buffer_size_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *params);
-snd_pcm_uframes_t snd_pcm_hw_params_set_buffer_size_last(snd_pcm_t *pcm, snd_pcm_hw_params_t *params);
-
-asm(".symver snd_pcm_hw_params_get_tick_time,snd_pcm_hw_params_get_tick_time@ALSA_0.9");
-asm(".symver snd_pcm_hw_params_get_tick_time_min,snd_pcm_hw_params_get_tick_time_min@ALSA_0.9");
-asm(".symver snd_pcm_hw_params_get_tick_time_max,snd_pcm_hw_params_get_tick_time_max@ALSA_0.9");
-asm(".symver snd_pcm_hw_params_set_tick_time_near,snd_pcm_hw_params_set_tick_time_near@ALSA_0.9");
-asm(".symver snd_pcm_hw_params_set_tick_time_first,snd_pcm_hw_params_set_tick_time_first@ALSA_0.9");
-asm(".symver snd_pcm_hw_params_set_tick_time_last,snd_pcm_hw_params_set_tick_time_last@ALSA_0.9");
-
-int snd_pcm_hw_params_get_tick_time(const snd_pcm_hw_params_t *params, int *dir);
-unsigned int snd_pcm_hw_params_get_tick_time_min(const snd_pcm_hw_params_t *params, int *dir);
-unsigned int snd_pcm_hw_params_get_tick_time_max(const snd_pcm_hw_params_t *params, int *dir);
-int snd_pcm_hw_params_test_tick_time(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir);
-int snd_pcm_hw_params_set_tick_time(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir);
-int snd_pcm_hw_params_set_tick_time_min(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
-int snd_pcm_hw_params_set_tick_time_max(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
-int snd_pcm_hw_params_set_tick_time_minmax(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *min, int *mindir, unsigned int *max, int *maxdir);
-unsigned int snd_pcm_hw_params_set_tick_time_near(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int *dir);
-unsigned int snd_pcm_hw_params_set_tick_time_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, int *dir);
-unsigned int snd_pcm_hw_params_set_tick_time_last(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, int *dir);
-
-#endif /* ALSA_PCM_OLD_HW_PARAMS_API */
-
-
-#ifdef ALSA_PCM_OLD_SW_PARAMS_API
-
-asm(".symver snd_pcm_sw_params_get_tstamp_mode,snd_pcm_sw_params_get_tstamp_mode@ALSA_0.9");
-asm(".symver snd_pcm_sw_params_get_sleep_min,snd_pcm_sw_params_get_sleep_min@ALSA_0.9");
-asm(".symver snd_pcm_sw_params_get_avail_min,snd_pcm_sw_params_get_avail_min@ALSA_0.9");
-asm(".symver snd_pcm_sw_params_get_xfer_align,snd_pcm_sw_params_get_xfer_align@ALSA_0.9");
-asm(".symver snd_pcm_sw_params_get_start_threshold,snd_pcm_sw_params_get_start_threshold@ALSA_0.9");
-asm(".symver snd_pcm_sw_params_get_stop_threshold,snd_pcm_sw_params_set_stop_threshold@ALSA_0.9");
-asm(".symver snd_pcm_sw_params_get_silence_threshold,snd_pcm_sw_params_get_silence_threshold@ALSA_0.9");
-asm(".symver snd_pcm_sw_params_get_silence_size,snd_pcm_sw_params_get_silence_size@ALSA_0.9");
-
-int snd_pcm_sw_params_set_tstamp_mode(snd_pcm_t *pcm, snd_pcm_sw_params_t *params, snd_pcm_tstamp_t val);
-snd_pcm_tstamp_t snd_pcm_sw_params_get_tstamp_mode(const snd_pcm_sw_params_t *params);
-int snd_pcm_sw_params_set_sleep_min(snd_pcm_t *pcm, snd_pcm_sw_params_t *params, unsigned int val);
-unsigned int snd_pcm_sw_params_get_sleep_min(const snd_pcm_sw_params_t *params);
-int snd_pcm_sw_params_set_avail_min(snd_pcm_t *pcm, snd_pcm_sw_params_t *params, snd_pcm_uframes_t val);
-snd_pcm_uframes_t snd_pcm_sw_params_get_avail_min(const snd_pcm_sw_params_t *params);
-int snd_pcm_sw_params_set_xfer_align(snd_pcm_t *pcm, snd_pcm_sw_params_t *params, snd_pcm_uframes_t val);
-snd_pcm_uframes_t snd_pcm_sw_params_get_xfer_align(const snd_pcm_sw_params_t *params);
-int snd_pcm_sw_params_set_start_threshold(snd_pcm_t *pcm, snd_pcm_sw_params_t *params, snd_pcm_uframes_t val);
-snd_pcm_uframes_t snd_pcm_sw_params_get_start_threshold(const snd_pcm_sw_params_t *params);
-int snd_pcm_sw_params_set_stop_threshold(snd_pcm_t *pcm, snd_pcm_sw_params_t *params, snd_pcm_uframes_t val);
-snd_pcm_uframes_t snd_pcm_sw_params_get_stop_threshold(const snd_pcm_sw_params_t *params);
-int snd_pcm_sw_params_set_silence_threshold(snd_pcm_t *pcm, snd_pcm_sw_params_t *params, snd_pcm_uframes_t val);
-snd_pcm_uframes_t snd_pcm_sw_params_get_silence_threshold(const snd_pcm_sw_params_t *params);
-int snd_pcm_sw_params_set_silence_size(snd_pcm_t *pcm, snd_pcm_sw_params_t *params, snd_pcm_uframes_t val);
-snd_pcm_uframes_t snd_pcm_sw_params_get_silence_size(const snd_pcm_sw_params_t *params);
-
-#endif /* ALSA_PCM_OLD_SW_PARAMS_API */
diff --git a/alsa-lib/include/pcm_plugin.h b/alsa-lib/include/pcm_plugin.h
deleted file mode 100644
index eea1d82..0000000
--- a/alsa-lib/include/pcm_plugin.h
+++ /dev/null
@@ -1,202 +0,0 @@
-/**
- * \file include/pcm_plugin.h
- * \brief Common PCM plugin code
- * \author Abramo Bagnara <abramo@alsa-project.org>
- * \author Jaroslav Kysela <perex@perex.cz>
- * \date 2000-2001
- *
- * Application interface library for the ALSA driver.
- * See the \ref pcm_plugins page for more details.
- *
- * \warning Using of contents of this header file might be dangerous
- * in the sense of compatibility reasons. The contents might be
- * freely changed in future.
- */
-/*
- * This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#ifndef __ALSA_PCM_PLUGIN_H
-
-/**
- * \defgroup PCM_Plugins PCM Plugins
- * \ingroup PCM
- * See the \ref pcm_plugins page for more details.
- * \{
- */
-
-#define SND_PCM_PLUGIN_RATE_MIN 4000 /**< minimal rate for the rate plugin */
-#define SND_PCM_PLUGIN_RATE_MAX 192000 /**< maximal rate for the rate plugin */
-
-/* ROUTE_FLOAT should be set to 0 for machines without FP unit - like iPAQ */
-#ifdef HAVE_SOFT_FLOAT
-#define SND_PCM_PLUGIN_ROUTE_FLOAT 0 /**< use integers for route plugin */
-#else
-#define SND_PCM_PLUGIN_ROUTE_FLOAT 1 /**< use floats for route plugin */
-#endif
-
-#define SND_PCM_PLUGIN_ROUTE_RESOLUTION 16 /**< integer resolution for route plugin */
-
-#if SND_PCM_PLUGIN_ROUTE_FLOAT
-/** route ttable entry type */
-typedef float snd_pcm_route_ttable_entry_t;
-#define SND_PCM_PLUGIN_ROUTE_HALF 0.5 /**< half value */
-#define SND_PCM_PLUGIN_ROUTE_FULL 1.0 /**< full value */
-#else
-/** route ttable entry type */
-typedef int snd_pcm_route_ttable_entry_t;
-#define SND_PCM_PLUGIN_ROUTE_HALF (SND_PCM_PLUGIN_ROUTE_RESOLUTION / 2) /**< half value */
-#define SND_PCM_PLUGIN_ROUTE_FULL SND_PCM_PLUGIN_ROUTE_RESOLUTION /**< full value */
-#endif
-
-/*
- * Hardware plugin
- */
-int snd_pcm_hw_open(snd_pcm_t **pcmp, const char *name,
- int card, int device, int subdevice,
- snd_pcm_stream_t stream, int mode,
- int mmap_emulation, int sync_ptr_ioctl);
-int _snd_pcm_hw_open(snd_pcm_t **pcmp, const char *name,
- snd_config_t *root ATTRIBUTE_UNUSED, snd_config_t *conf,
- snd_pcm_stream_t stream, int mode);
-
-/*
- * Copy plugin
- */
-int snd_pcm_copy_open(snd_pcm_t **pcmp, const char *name,
- snd_pcm_t *slave, int close_slave);
-int _snd_pcm_copy_open(snd_pcm_t **pcmp, const char *name,
- snd_config_t *root, snd_config_t *conf,
- snd_pcm_stream_t stream, int mode);
-
-/*
- * Linear conversion plugin
- */
-int snd_pcm_linear_open(snd_pcm_t **pcmp, const char *name,
- snd_pcm_format_t sformat, snd_pcm_t *slave,
- int close_slave);
-int _snd_pcm_linear_open(snd_pcm_t **pcmp, const char *name,
- snd_config_t *root, snd_config_t *conf,
- snd_pcm_stream_t stream, int mode);
-
-/*
- * Linear<->Float conversion plugin
- */
-int snd_pcm_lfloat_open(snd_pcm_t **pcmp, const char *name,
- snd_pcm_format_t sformat, snd_pcm_t *slave,
- int close_slave);
-int _snd_pcm_lfloat_open(snd_pcm_t **pcmp, const char *name,
- snd_config_t *root, snd_config_t *conf,
- snd_pcm_stream_t stream, int mode);
-
-/*
- * Linear<->mu-Law conversion plugin
- */
-int snd_pcm_mulaw_open(snd_pcm_t **pcmp, const char *name,
- snd_pcm_format_t sformat, snd_pcm_t *slave,
- int close_slave);
-int _snd_pcm_mulaw_open(snd_pcm_t **pcmp, const char *name,
- snd_config_t *root, snd_config_t *conf,
- snd_pcm_stream_t stream, int mode);
-
-/*
- * Linear<->a-Law conversion plugin
- */
-int snd_pcm_alaw_open(snd_pcm_t **pcmp, const char *name,
- snd_pcm_format_t sformat, snd_pcm_t *slave,
- int close_slave);
-int _snd_pcm_alaw_open(snd_pcm_t **pcmp, const char *name,
- snd_config_t *root, snd_config_t *conf,
- snd_pcm_stream_t stream, int mode);
-
-/*
- * Linear<->Ima-ADPCM conversion plugin
- */
-int snd_pcm_adpcm_open(snd_pcm_t **pcmp, const char *name,
- snd_pcm_format_t sformat, snd_pcm_t *slave,
- int close_slave);
-int _snd_pcm_adpcm_open(snd_pcm_t **pcmp, const char *name,
- snd_config_t *root, snd_config_t *conf,
- snd_pcm_stream_t stream, int mode);
-
-/*
- * Route plugin for linear formats
- */
-int snd_pcm_route_load_ttable(snd_config_t *tt, snd_pcm_route_ttable_entry_t *ttable,
- unsigned int tt_csize, unsigned int tt_ssize,
- unsigned int *tt_cused, unsigned int *tt_sused,
- int schannels);
-int snd_pcm_route_determine_ttable(snd_config_t *tt,
- unsigned int *tt_csize,
- unsigned int *tt_ssize);
-int snd_pcm_route_open(snd_pcm_t **pcmp, const char *name,
- snd_pcm_format_t sformat, int schannels,
- snd_pcm_route_ttable_entry_t *ttable,
- unsigned int tt_ssize,
- unsigned int tt_cused, unsigned int tt_sused,
- snd_pcm_t *slave, int close_slave);
-int _snd_pcm_route_open(snd_pcm_t **pcmp, const char *name,
- snd_config_t *root, snd_config_t *conf,
- snd_pcm_stream_t stream, int mode);
-
-/*
- * Rate plugin for linear formats
- */
-int snd_pcm_rate_open(snd_pcm_t **pcmp, const char *name,
- snd_pcm_format_t sformat, unsigned int srate,
- const snd_config_t *converter,
- snd_pcm_t *slave, int close_slave);
-int _snd_pcm_rate_open(snd_pcm_t **pcmp, const char *name,
- snd_config_t *root, snd_config_t *conf,
- snd_pcm_stream_t stream, int mode);
-
-/*
- * Hooks plugin
- */
-int snd_pcm_hooks_open(snd_pcm_t **pcmp, const char *name,
- snd_pcm_t *slave, int close_slave);
-int _snd_pcm_hooks_open(snd_pcm_t **pcmp, const char *name,
- snd_config_t *root, snd_config_t *conf,
- snd_pcm_stream_t stream, int mode);
-
-/*
- * LADSPA plugin
- */
-int snd_pcm_ladspa_open(snd_pcm_t **pcmp, const char *name,
- const char *ladspa_path,
- unsigned int channels,
- snd_config_t *ladspa_pplugins,
- snd_config_t *ladspa_cplugins,
- snd_pcm_t *slave, int close_slave);
-int _snd_pcm_ladspa_open(snd_pcm_t **pcmp, const char *name,
- snd_config_t *root, snd_config_t *conf,
- snd_pcm_stream_t stream, int mode);
-
-/*
- * Jack plugin
- */
-int snd_pcm_jack_open(snd_pcm_t **pcmp, const char *name,
- snd_config_t *playback_conf,
- snd_config_t *capture_conf,
- snd_pcm_stream_t stream, int mode);
-int _snd_pcm_jack_open(snd_pcm_t **pcmp, const char *name,
- snd_config_t *root, snd_config_t *conf,
- snd_pcm_stream_t stream, int mode);
-
-
-/** \} */
-
-#endif /* __ALSA_PCM_PLUGIN_H */
diff --git a/alsa-lib/include/pcm_rate.h b/alsa-lib/include/pcm_rate.h
deleted file mode 100644
index d211e09..0000000
--- a/alsa-lib/include/pcm_rate.h
+++ /dev/null
@@ -1,117 +0,0 @@
-/**
- * \file include/pcm_rate.h
- * \brief External Rate-Converter-Plugin SDK
- * \author Takashi Iwai <tiwai@suse.de>
- * \date 2006
- *
- * External Rate-Converter-Plugin SDK
- */
-
-/*
- * ALSA external PCM rate-converter plugin SDK (draft version)
- *
- * Copyright (c) 2006 Takashi Iwai <tiwai@suse.de>
- *
- * This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#ifndef __ALSA_PCM_RATE_H
-#define __ALSA_PCM_RATE_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * Protocol version
- */
-#define SND_PCM_RATE_PLUGIN_VERSION 0x010001
-
-/** hw_params information for a single side */
-typedef struct snd_pcm_rate_side_info {
- snd_pcm_format_t format;
- unsigned int rate;
- snd_pcm_uframes_t buffer_size;
- snd_pcm_uframes_t period_size;
-} snd_pcm_rate_side_info_t;
-
-/** hw_params information */
-typedef struct snd_pcm_rate_info {
- struct snd_pcm_rate_side_info in;
- struct snd_pcm_rate_side_info out;
- unsigned int channels;
-} snd_pcm_rate_info_t;
-
-/** Callback table of rate-converter */
-typedef struct snd_pcm_rate_ops {
- /**
- * close the converter; optional
- */
- void (*close)(void *obj);
- /**
- * initialize the converter, called at hw_params
- */
- int (*init)(void *obj, snd_pcm_rate_info_t *info);
- /**
- * free the converter; optional
- */
- void (*free)(void *obj);
- /**
- * reset the converter, called at prepare; optional
- */
- void (*reset)(void *obj);
- /**
- * adjust the pitch, called at sw_params; optional
- */
- int (*adjust_pitch)(void *obj, snd_pcm_rate_info_t *info);
- /**
- * convert the data
- */
- void (*convert)(void *obj,
- const snd_pcm_channel_area_t *dst_areas,
- snd_pcm_uframes_t dst_offset, unsigned int dst_frames,
- const snd_pcm_channel_area_t *src_areas,
- snd_pcm_uframes_t src_offset, unsigned int src_frames);
- /**
- * convert an s16 interleaved-data array; exclusive with convert
- */
- void (*convert_s16)(void *obj, int16_t *dst, unsigned int dst_frames,
- const int16_t *src, unsigned int src_frames);
- /**
- * compute the frame size for input
- */
- snd_pcm_uframes_t (*input_frames)(void *obj, snd_pcm_uframes_t frames);
- /**
- * compute the frame size for output
- */
- snd_pcm_uframes_t (*output_frames)(void *obj, snd_pcm_uframes_t frames);
-} snd_pcm_rate_ops_t;
-
-/** open function type */
-typedef int (*snd_pcm_rate_open_func_t)(unsigned int version, void **objp,
- snd_pcm_rate_ops_t *opsp);
-
-/**
- * Define the object entry for external PCM rate-converter plugins
- */
-#define SND_PCM_RATE_PLUGIN_ENTRY(name) _snd_pcm_rate_##name##_open
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __ALSA_PCM_RATE_H */
diff --git a/alsa-lib/include/rawmidi.h b/alsa-lib/include/rawmidi.h
deleted file mode 100644
index 1d8fd56..0000000
--- a/alsa-lib/include/rawmidi.h
+++ /dev/null
@@ -1,159 +0,0 @@
-/**
- * \file include/rawmidi.h
- * \brief Application interface library for the ALSA driver
- * \author Jaroslav Kysela <perex@perex.cz>
- * \author Abramo Bagnara <abramo@alsa-project.org>
- * \author Takashi Iwai <tiwai@suse.de>
- * \date 1998-2001
- *
- * Application interface library for the ALSA driver
- */
-/*
- * This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#ifndef __ALSA_RAWMIDI_H
-#define __ALSA_RAWMIDI_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * \defgroup RawMidi RawMidi Interface
- * The RawMidi Interface. See \ref rawmidi page for more details.
- * \{
- */
-
-/** dlsym version for interface entry callback */
-#define SND_RAWMIDI_DLSYM_VERSION _dlsym_rawmidi_001
-
-/** RawMidi information container */
-typedef struct _snd_rawmidi_info snd_rawmidi_info_t;
-/** RawMidi settings container */
-typedef struct _snd_rawmidi_params snd_rawmidi_params_t;
-/** RawMidi status container */
-typedef struct _snd_rawmidi_status snd_rawmidi_status_t;
-
-/** RawMidi stream (direction) */
-typedef enum _snd_rawmidi_stream {
- /** Output stream */
- SND_RAWMIDI_STREAM_OUTPUT = 0,
- /** Input stream */
- SND_RAWMIDI_STREAM_INPUT,
- SND_RAWMIDI_STREAM_LAST = SND_RAWMIDI_STREAM_INPUT
-} snd_rawmidi_stream_t;
-
-/** Append (flag to open mode) \hideinitializer */
-#define SND_RAWMIDI_APPEND 0x0001
-/** Non blocking mode (flag to open mode) \hideinitializer */
-#define SND_RAWMIDI_NONBLOCK 0x0002
-/** Write sync mode (Flag to open mode) \hideinitializer */
-#define SND_RAWMIDI_SYNC 0x0004
-
-/** RawMidi handle */
-typedef struct _snd_rawmidi snd_rawmidi_t;
-
-/** RawMidi type */
-typedef enum _snd_rawmidi_type {
- /** Kernel level RawMidi */
- SND_RAWMIDI_TYPE_HW,
- /** Shared memory client RawMidi (not yet implemented) */
- SND_RAWMIDI_TYPE_SHM,
- /** INET client RawMidi (not yet implemented) */
- SND_RAWMIDI_TYPE_INET,
- /** Virtual (sequencer) RawMidi */
- SND_RAWMIDI_TYPE_VIRTUAL
-} snd_rawmidi_type_t;
-
-int snd_rawmidi_open(snd_rawmidi_t **in_rmidi, snd_rawmidi_t **out_rmidi,
- const char *name, int mode);
-int snd_rawmidi_open_lconf(snd_rawmidi_t **in_rmidi, snd_rawmidi_t **out_rmidi,
- const char *name, int mode, snd_config_t *lconf);
-int snd_rawmidi_close(snd_rawmidi_t *rmidi);
-int snd_rawmidi_poll_descriptors_count(snd_rawmidi_t *rmidi);
-int snd_rawmidi_poll_descriptors(snd_rawmidi_t *rmidi, struct pollfd *pfds, unsigned int space);
-int snd_rawmidi_poll_descriptors_revents(snd_rawmidi_t *rawmidi, struct pollfd *pfds, unsigned int nfds, unsigned short *revent);
-int snd_rawmidi_nonblock(snd_rawmidi_t *rmidi, int nonblock);
-size_t snd_rawmidi_info_sizeof(void);
-/** \hideinitializer
- * \brief allocate an invalid #snd_rawmidi_info_t using standard alloca
- * \param ptr returned pointer
- */
-#define snd_rawmidi_info_alloca(ptr) __snd_alloca(ptr, snd_rawmidi_info)
-int snd_rawmidi_info_malloc(snd_rawmidi_info_t **ptr);
-void snd_rawmidi_info_free(snd_rawmidi_info_t *obj);
-void snd_rawmidi_info_copy(snd_rawmidi_info_t *dst, const snd_rawmidi_info_t *src);
-unsigned int snd_rawmidi_info_get_device(const snd_rawmidi_info_t *obj);
-unsigned int snd_rawmidi_info_get_subdevice(const snd_rawmidi_info_t *obj);
-snd_rawmidi_stream_t snd_rawmidi_info_get_stream(const snd_rawmidi_info_t *obj);
-int snd_rawmidi_info_get_card(const snd_rawmidi_info_t *obj);
-unsigned int snd_rawmidi_info_get_flags(const snd_rawmidi_info_t *obj);
-const char *snd_rawmidi_info_get_id(const snd_rawmidi_info_t *obj);
-const char *snd_rawmidi_info_get_name(const snd_rawmidi_info_t *obj);
-const char *snd_rawmidi_info_get_subdevice_name(const snd_rawmidi_info_t *obj);
-unsigned int snd_rawmidi_info_get_subdevices_count(const snd_rawmidi_info_t *obj);
-unsigned int snd_rawmidi_info_get_subdevices_avail(const snd_rawmidi_info_t *obj);
-void snd_rawmidi_info_set_device(snd_rawmidi_info_t *obj, unsigned int val);
-void snd_rawmidi_info_set_subdevice(snd_rawmidi_info_t *obj, unsigned int val);
-void snd_rawmidi_info_set_stream(snd_rawmidi_info_t *obj, snd_rawmidi_stream_t val);
-int snd_rawmidi_info(snd_rawmidi_t *rmidi, snd_rawmidi_info_t * info);
-size_t snd_rawmidi_params_sizeof(void);
-/** \hideinitializer
- * \brief allocate an invalid #snd_rawmidi_params_t using standard alloca
- * \param ptr returned pointer
- */
-#define snd_rawmidi_params_alloca(ptr) __snd_alloca(ptr, snd_rawmidi_params)
-int snd_rawmidi_params_malloc(snd_rawmidi_params_t **ptr);
-void snd_rawmidi_params_free(snd_rawmidi_params_t *obj);
-void snd_rawmidi_params_copy(snd_rawmidi_params_t *dst, const snd_rawmidi_params_t *src);
-int snd_rawmidi_params_set_buffer_size(snd_rawmidi_t *rmidi, snd_rawmidi_params_t *params, size_t val);
-size_t snd_rawmidi_params_get_buffer_size(const snd_rawmidi_params_t *params);
-int snd_rawmidi_params_set_avail_min(snd_rawmidi_t *rmidi, snd_rawmidi_params_t *params, size_t val);
-size_t snd_rawmidi_params_get_avail_min(const snd_rawmidi_params_t *params);
-int snd_rawmidi_params_set_no_active_sensing(snd_rawmidi_t *rmidi, snd_rawmidi_params_t *params, int val);
-int snd_rawmidi_params_get_no_active_sensing(const snd_rawmidi_params_t *params);
-int snd_rawmidi_params(snd_rawmidi_t *rmidi, snd_rawmidi_params_t * params);
-int snd_rawmidi_params_current(snd_rawmidi_t *rmidi, snd_rawmidi_params_t *params);
-size_t snd_rawmidi_status_sizeof(void);
-/** \hideinitializer
- * \brief allocate an invalid #snd_rawmidi_status_t using standard alloca
- * \param ptr returned pointer
- */
-#define snd_rawmidi_status_alloca(ptr) __snd_alloca(ptr, snd_rawmidi_status)
-int snd_rawmidi_status_malloc(snd_rawmidi_status_t **ptr);
-void snd_rawmidi_status_free(snd_rawmidi_status_t *obj);
-void snd_rawmidi_status_copy(snd_rawmidi_status_t *dst, const snd_rawmidi_status_t *src);
-void snd_rawmidi_status_get_tstamp(const snd_rawmidi_status_t *obj, snd_htimestamp_t *ptr);
-size_t snd_rawmidi_status_get_avail(const snd_rawmidi_status_t *obj);
-size_t snd_rawmidi_status_get_xruns(const snd_rawmidi_status_t *obj);
-int snd_rawmidi_status(snd_rawmidi_t *rmidi, snd_rawmidi_status_t * status);
-int snd_rawmidi_drain(snd_rawmidi_t *rmidi);
-int snd_rawmidi_drop(snd_rawmidi_t *rmidi);
-ssize_t snd_rawmidi_write(snd_rawmidi_t *rmidi, const void *buffer, size_t size);
-ssize_t snd_rawmidi_read(snd_rawmidi_t *rmidi, void *buffer, size_t size);
-const char *snd_rawmidi_name(snd_rawmidi_t *rmidi);
-snd_rawmidi_type_t snd_rawmidi_type(snd_rawmidi_t *rmidi);
-snd_rawmidi_stream_t snd_rawmidi_stream(snd_rawmidi_t *rawmidi);
-
-/** \} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __RAWMIDI_H */
-
diff --git a/alsa-lib/include/search.h b/alsa-lib/include/search.h
deleted file mode 100644
index 91e6210..0000000
--- a/alsa-lib/include/search.h
+++ /dev/null
@@ -1,177 +0,0 @@
-/* Declarations for System V style searching functions.
- Copyright (C) 1995-1999, 2000 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of the
- License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; see the file COPYING.LIB. If not,
- write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-#ifndef _SEARCH_H
-#define _SEARCH_H 1
-
-#include <features.h>
-
-#define __need_size_t
-#include <stddef.h>
-
-__BEGIN_DECLS
-
-#if defined __USE_SVID || defined __USE_XOPEN_EXTENDED
-/* Prototype structure for a linked-list data structure.
- This is the type used by the `insque' and `remque' functions. */
-
-# ifdef __USE_GNU
-struct qelem
- {
- struct qelem *q_forw;
- struct qelem *q_back;
- char q_data[1];
- };
-# endif
-
-
-/* Insert ELEM into a doubly-linked list, after PREV. */
-extern void insque __P ((void *__elem, void *__prev));
-
-/* Unlink ELEM from the doubly-linked list that it is in. */
-extern void remque __P ((void *__elem));
-#endif
-
-
-/* For use with hsearch(3). */
-#ifndef __COMPAR_FN_T
-# define __COMPAR_FN_T
-typedef int (*__compar_fn_t) __PMT ((__const __ptr_t, __const __ptr_t));
-
-# ifdef __USE_GNU
-typedef __compar_fn_t comparison_fn_t;
-# endif
-#endif
-
-/* Action which shall be performed in the call the hsearch. */
-typedef enum
- {
- FIND,
- ENTER
- }
-ACTION;
-
-typedef struct entry
- {
- char *key;
- void *data;
- }
-ENTRY;
-
-/* Opaque type for internal use. */
-struct _ENTRY;
-
-/* Family of hash table handling functions. The functions also
- have reentrant counterparts ending with _r. The non-reentrant
- functions all work on a single internal hashing table. */
-
-/* Search for entry matching ITEM.key in internal hash table. If
- ACTION is `FIND' return found entry or signal error by returning
- NULL. If ACTION is `ENTER' replace existing data (if any) with
- ITEM.data. */
-extern ENTRY *hsearch __P ((ENTRY __item, ACTION __action));
-
-/* Create a new hashing table which will at most contain NEL elements. */
-extern int hcreate __P ((size_t __nel));
-
-/* Destroy current internal hashing table. */
-extern void hdestroy __P ((void));
-
-#ifdef __USE_GNU
-/* Data type for reentrant functions. */
-struct hsearch_data
- {
- struct _ENTRY *table;
- unsigned int size;
- unsigned int filled;
- };
-
-/* Reentrant versions which can handle multiple hashing tables at the
- same time. */
-extern int hsearch_r __P ((ENTRY __item, ACTION __action, ENTRY **__retval,
- struct hsearch_data *__htab));
-extern int hcreate_r __P ((size_t __nel, struct hsearch_data *__htab));
-extern void hdestroy_r __P ((struct hsearch_data *__htab));
-#endif
-
-
-/* The tsearch routines are very interesting. They make many
- assumptions about the compiler. It assumes that the first field
- in node must be the "key" field, which points to the datum.
- Everything depends on that. */
-/* For tsearch */
-typedef enum
-{
- preorder,
- postorder,
- endorder,
- leaf
-}
-VISIT;
-
-/* Search for an entry matching the given KEY in the tree pointed to
- by *ROOTP and insert a new element if not found. */
-extern void *tsearch __PMT ((__const void *__key, void **__rootp,
- __compar_fn_t __compar));
-
-/* Search for an entry matching the given KEY in the tree pointed to
- by *ROOTP. If no matching entry is available return NULL. */
-extern void *tfind __PMT ((__const void *__key, void *__const *__rootp,
- __compar_fn_t __compar));
-
-/* Remove the element matching KEY from the tree pointed to by *ROOTP. */
-extern void *tdelete __PMT ((__const void *__key, void **__rootp,
- __compar_fn_t __compar));
-
-#ifndef __ACTION_FN_T
-# define __ACTION_FN_T
-typedef void (*__action_fn_t) __PMT ((__const void *__nodep,
- VISIT __value,
- int __level));
-#endif
-
-/* Walk through the whole tree and call the ACTION callback for every node
- or leaf. */
-extern void twalk __PMT ((__const void *__root, __action_fn_t __action));
-
-#ifdef __USE_GNU
-/* Callback type for function to free a tree node. If the keys are atomic
- data this function should do nothing. */
-typedef void (*__free_fn_t) __PMT ((void *__nodep));
-
-/* Destroy the whole tree, call FREEFCT for each node or leaf. */
-extern void tdestroy __PMT ((void *__root, __free_fn_t __freefct));
-#endif
-
-
-/* Perform linear search for KEY by comparing by COMPAR in an array
- [BASE,BASE+NMEMB*SIZE). */
-extern void *lfind __PMT ((__const void *__key, __const void *__base,
- size_t *__nmemb, size_t __size,
- __compar_fn_t __compar));
-
-/* Perform linear search for KEY by comparing by COMPAR function in
- array [BASE,BASE+NMEMB*SIZE) and insert entry if not found. */
-extern void *lsearch __PMT ((__const void *__key, void *__base,
- size_t *__nmemb, size_t __size,
- __compar_fn_t __compar));
-
-__END_DECLS
-
-#endif /* search.h */
diff --git a/alsa-lib/include/seq.h b/alsa-lib/include/seq.h
deleted file mode 100644
index 9576822..0000000
--- a/alsa-lib/include/seq.h
+++ /dev/null
@@ -1,737 +0,0 @@
-/**
- * \file include/seq.h
- * \brief Application interface library for the ALSA driver
- * \author Jaroslav Kysela <perex@perex.cz>
- * \author Abramo Bagnara <abramo@alsa-project.org>
- * \author Takashi Iwai <tiwai@suse.de>
- * \date 1998-2001
- */
-/*
- * Application interface library for the ALSA driver
- *
- *
- * This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#ifndef __ALSA_SEQ_H
-#define __ALSA_SEQ_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * \defgroup Sequencer MIDI Sequencer
- * MIDI Sequencer Interface.
- * See \ref seq page for more details.
- * \{
- */
-
-/** dlsym version for interface entry callback */
-#define SND_SEQ_DLSYM_VERSION _dlsym_seq_001
-
-/** Sequencer handle */
-typedef struct _snd_seq snd_seq_t;
-
-/**
- * sequencer opening stream types
- */
-#define SND_SEQ_OPEN_OUTPUT 1 /**< open for output (write) */
-#define SND_SEQ_OPEN_INPUT 2 /**< open for input (read) */
-#define SND_SEQ_OPEN_DUPLEX (SND_SEQ_OPEN_OUTPUT|SND_SEQ_OPEN_INPUT) /**< open for both input and output (read/write) */
-
-/**
- * sequencer opening mode
- */
-#define SND_SEQ_NONBLOCK 0x0001 /**< non-blocking mode (flag to open mode) */
-
-/** sequencer handle type */
-typedef enum _snd_seq_type {
- SND_SEQ_TYPE_HW, /**< hardware */
- SND_SEQ_TYPE_SHM, /**< shared memory (NYI) */
- SND_SEQ_TYPE_INET /**< network (NYI) */
-} snd_seq_type_t;
-
-/** special client (port) ids */
-#define SND_SEQ_ADDRESS_UNKNOWN 253 /**< unknown source */
-#define SND_SEQ_ADDRESS_SUBSCRIBERS 254 /**< send event to all subscribed ports */
-#define SND_SEQ_ADDRESS_BROADCAST 255 /**< send event to all queues/clients/ports/channels */
-
-/** known client numbers */
-#define SND_SEQ_CLIENT_SYSTEM 0 /**< system client */
-
-/*
- */
-int snd_seq_open(snd_seq_t **handle, const char *name, int streams, int mode);
-int snd_seq_open_lconf(snd_seq_t **handle, const char *name, int streams, int mode, snd_config_t *lconf);
-const char *snd_seq_name(snd_seq_t *seq);
-snd_seq_type_t snd_seq_type(snd_seq_t *seq);
-int snd_seq_close(snd_seq_t *handle);
-int snd_seq_poll_descriptors_count(snd_seq_t *handle, short events);
-int snd_seq_poll_descriptors(snd_seq_t *handle, struct pollfd *pfds, unsigned int space, short events);
-int snd_seq_poll_descriptors_revents(snd_seq_t *seq, struct pollfd *pfds, unsigned int nfds, unsigned short *revents);
-int snd_seq_nonblock(snd_seq_t *handle, int nonblock);
-int snd_seq_client_id(snd_seq_t *handle);
-
-size_t snd_seq_get_output_buffer_size(snd_seq_t *handle);
-size_t snd_seq_get_input_buffer_size(snd_seq_t *handle);
-int snd_seq_set_output_buffer_size(snd_seq_t *handle, size_t size);
-int snd_seq_set_input_buffer_size(snd_seq_t *handle, size_t size);
-
-/** system information container */
-typedef struct _snd_seq_system_info snd_seq_system_info_t;
-
-size_t snd_seq_system_info_sizeof(void);
-/** allocate a #snd_seq_system_info_t container on stack */
-#define snd_seq_system_info_alloca(ptr) \
- __snd_alloca(ptr, snd_seq_system_info)
-int snd_seq_system_info_malloc(snd_seq_system_info_t **ptr);
-void snd_seq_system_info_free(snd_seq_system_info_t *ptr);
-void snd_seq_system_info_copy(snd_seq_system_info_t *dst, const snd_seq_system_info_t *src);
-
-int snd_seq_system_info_get_queues(const snd_seq_system_info_t *info);
-int snd_seq_system_info_get_clients(const snd_seq_system_info_t *info);
-int snd_seq_system_info_get_ports(const snd_seq_system_info_t *info);
-int snd_seq_system_info_get_channels(const snd_seq_system_info_t *info);
-int snd_seq_system_info_get_cur_clients(const snd_seq_system_info_t *info);
-int snd_seq_system_info_get_cur_queues(const snd_seq_system_info_t *info);
-
-int snd_seq_system_info(snd_seq_t *handle, snd_seq_system_info_t *info);
-
-/** \} */
-
-
-/**
- * \defgroup SeqClient Sequencer Client Interface
- * Sequencer Client Interface
- * \ingroup Sequencer
- * \{
- */
-
-/** client information container */
-typedef struct _snd_seq_client_info snd_seq_client_info_t;
-
-/** client types */
-typedef enum snd_seq_client_type {
- SND_SEQ_USER_CLIENT = 1, /**< user client */
- SND_SEQ_KERNEL_CLIENT = 2 /**< kernel client */
-} snd_seq_client_type_t;
-
-size_t snd_seq_client_info_sizeof(void);
-/** allocate a #snd_seq_client_info_t container on stack */
-#define snd_seq_client_info_alloca(ptr) \
- __snd_alloca(ptr, snd_seq_client_info)
-int snd_seq_client_info_malloc(snd_seq_client_info_t **ptr);
-void snd_seq_client_info_free(snd_seq_client_info_t *ptr);
-void snd_seq_client_info_copy(snd_seq_client_info_t *dst, const snd_seq_client_info_t *src);
-
-int snd_seq_client_info_get_client(const snd_seq_client_info_t *info);
-snd_seq_client_type_t snd_seq_client_info_get_type(const snd_seq_client_info_t *info);
-const char *snd_seq_client_info_get_name(snd_seq_client_info_t *info);
-int snd_seq_client_info_get_broadcast_filter(const snd_seq_client_info_t *info);
-int snd_seq_client_info_get_error_bounce(const snd_seq_client_info_t *info);
-const unsigned char *snd_seq_client_info_get_event_filter(const snd_seq_client_info_t *info);
-int snd_seq_client_info_get_num_ports(const snd_seq_client_info_t *info);
-int snd_seq_client_info_get_event_lost(const snd_seq_client_info_t *info);
-
-void snd_seq_client_info_set_client(snd_seq_client_info_t *info, int client);
-void snd_seq_client_info_set_name(snd_seq_client_info_t *info, const char *name);
-void snd_seq_client_info_set_broadcast_filter(snd_seq_client_info_t *info, int val);
-void snd_seq_client_info_set_error_bounce(snd_seq_client_info_t *info, int val);
-void snd_seq_client_info_set_event_filter(snd_seq_client_info_t *info, unsigned char *filter);
-
-void snd_seq_client_info_event_filter_clear(snd_seq_client_info_t *info);
-void snd_seq_client_info_event_filter_add(snd_seq_client_info_t *info, int event_type);
-void snd_seq_client_info_event_filter_del(snd_seq_client_info_t *info, int event_type);
-int snd_seq_client_info_event_filter_check(snd_seq_client_info_t *info, int event_type);
-
-int snd_seq_get_client_info(snd_seq_t *handle, snd_seq_client_info_t *info);
-int snd_seq_get_any_client_info(snd_seq_t *handle, int client, snd_seq_client_info_t *info);
-int snd_seq_set_client_info(snd_seq_t *handle, snd_seq_client_info_t *info);
-int snd_seq_query_next_client(snd_seq_t *handle, snd_seq_client_info_t *info);
-
-/*
- */
-
-/** client pool information container */
-typedef struct _snd_seq_client_pool snd_seq_client_pool_t;
-
-size_t snd_seq_client_pool_sizeof(void);
-/** allocate a #snd_seq_client_pool_t container on stack */
-#define snd_seq_client_pool_alloca(ptr) \
- __snd_alloca(ptr, snd_seq_client_pool)
-int snd_seq_client_pool_malloc(snd_seq_client_pool_t **ptr);
-void snd_seq_client_pool_free(snd_seq_client_pool_t *ptr);
-void snd_seq_client_pool_copy(snd_seq_client_pool_t *dst, const snd_seq_client_pool_t *src);
-
-int snd_seq_client_pool_get_client(const snd_seq_client_pool_t *info);
-size_t snd_seq_client_pool_get_output_pool(const snd_seq_client_pool_t *info);
-size_t snd_seq_client_pool_get_input_pool(const snd_seq_client_pool_t *info);
-size_t snd_seq_client_pool_get_output_room(const snd_seq_client_pool_t *info);
-size_t snd_seq_client_pool_get_output_free(const snd_seq_client_pool_t *info);
-size_t snd_seq_client_pool_get_input_free(const snd_seq_client_pool_t *info);
-void snd_seq_client_pool_set_output_pool(snd_seq_client_pool_t *info, size_t size);
-void snd_seq_client_pool_set_input_pool(snd_seq_client_pool_t *info, size_t size);
-void snd_seq_client_pool_set_output_room(snd_seq_client_pool_t *info, size_t size);
-
-int snd_seq_get_client_pool(snd_seq_t *handle, snd_seq_client_pool_t *info);
-int snd_seq_set_client_pool(snd_seq_t *handle, snd_seq_client_pool_t *info);
-
-
-/** \} */
-
-
-/**
- * \defgroup SeqPort Sequencer Port Interface
- * Sequencer Port Interface
- * \ingroup Sequencer
- * \{
- */
-
-/** port information container */
-typedef struct _snd_seq_port_info snd_seq_port_info_t;
-
-/** known port numbers */
-#define SND_SEQ_PORT_SYSTEM_TIMER 0 /**< system timer port */
-#define SND_SEQ_PORT_SYSTEM_ANNOUNCE 1 /**< system announce port */
-
-/** port capabilities (32 bits) */
-#define SND_SEQ_PORT_CAP_READ (1<<0) /**< readable from this port */
-#define SND_SEQ_PORT_CAP_WRITE (1<<1) /**< writable to this port */
-
-#define SND_SEQ_PORT_CAP_SYNC_READ (1<<2) /**< allow read subscriptions */
-#define SND_SEQ_PORT_CAP_SYNC_WRITE (1<<3) /**< allow write subscriptions */
-
-#define SND_SEQ_PORT_CAP_DUPLEX (1<<4) /**< allow read/write duplex */
-
-#define SND_SEQ_PORT_CAP_SUBS_READ (1<<5) /**< allow read subscription */
-#define SND_SEQ_PORT_CAP_SUBS_WRITE (1<<6) /**< allow write subscription */
-#define SND_SEQ_PORT_CAP_NO_EXPORT (1<<7) /**< routing not allowed */
-
-/* port type */
-/** Messages sent from/to this port have device-specific semantics. */
-#define SND_SEQ_PORT_TYPE_SPECIFIC (1<<0)
-/** This port understands MIDI messages. */
-#define SND_SEQ_PORT_TYPE_MIDI_GENERIC (1<<1)
-/** This port is compatible with the General MIDI specification. */
-#define SND_SEQ_PORT_TYPE_MIDI_GM (1<<2)
-/** This port is compatible with the Roland GS standard. */
-#define SND_SEQ_PORT_TYPE_MIDI_GS (1<<3)
-/** This port is compatible with the Yamaha XG specification. */
-#define SND_SEQ_PORT_TYPE_MIDI_XG (1<<4)
-/** This port is compatible with the Roland MT-32. */
-#define SND_SEQ_PORT_TYPE_MIDI_MT32 (1<<5)
-/** This port is compatible with the General MIDI 2 specification. */
-#define SND_SEQ_PORT_TYPE_MIDI_GM2 (1<<6)
-/** This port understands SND_SEQ_EVENT_SAMPLE_xxx messages
- (these are not MIDI messages). */
-#define SND_SEQ_PORT_TYPE_SYNTH (1<<10)
-/** Instruments can be downloaded to this port
- (with SND_SEQ_EVENT_INSTR_xxx messages sent directly). */
-#define SND_SEQ_PORT_TYPE_DIRECT_SAMPLE (1<<11)
-/** Instruments can be downloaded to this port
- (with SND_SEQ_EVENT_INSTR_xxx messages sent directly or through a queue). */
-#define SND_SEQ_PORT_TYPE_SAMPLE (1<<12)
-/** This port is implemented in hardware. */
-#define SND_SEQ_PORT_TYPE_HARDWARE (1<<16)
-/** This port is implemented in software. */
-#define SND_SEQ_PORT_TYPE_SOFTWARE (1<<17)
-/** Messages sent to this port will generate sounds. */
-#define SND_SEQ_PORT_TYPE_SYNTHESIZER (1<<18)
-/** This port may connect to other devices
- (whose characteristics are not known). */
-#define SND_SEQ_PORT_TYPE_PORT (1<<19)
-/** This port belongs to an application, such as a sequencer or editor. */
-#define SND_SEQ_PORT_TYPE_APPLICATION (1<<20)
-
-
-size_t snd_seq_port_info_sizeof(void);
-/** allocate a #snd_seq_port_info_t container on stack */
-#define snd_seq_port_info_alloca(ptr) \
- __snd_alloca(ptr, snd_seq_port_info)
-int snd_seq_port_info_malloc(snd_seq_port_info_t **ptr);
-void snd_seq_port_info_free(snd_seq_port_info_t *ptr);
-void snd_seq_port_info_copy(snd_seq_port_info_t *dst, const snd_seq_port_info_t *src);
-
-int snd_seq_port_info_get_client(const snd_seq_port_info_t *info);
-int snd_seq_port_info_get_port(const snd_seq_port_info_t *info);
-const snd_seq_addr_t *snd_seq_port_info_get_addr(const snd_seq_port_info_t *info);
-const char *snd_seq_port_info_get_name(const snd_seq_port_info_t *info);
-unsigned int snd_seq_port_info_get_capability(const snd_seq_port_info_t *info);
-unsigned int snd_seq_port_info_get_type(const snd_seq_port_info_t *info);
-int snd_seq_port_info_get_midi_channels(const snd_seq_port_info_t *info);
-int snd_seq_port_info_get_midi_voices(const snd_seq_port_info_t *info);
-int snd_seq_port_info_get_synth_voices(const snd_seq_port_info_t *info);
-int snd_seq_port_info_get_read_use(const snd_seq_port_info_t *info);
-int snd_seq_port_info_get_write_use(const snd_seq_port_info_t *info);
-int snd_seq_port_info_get_port_specified(const snd_seq_port_info_t *info);
-int snd_seq_port_info_get_timestamping(const snd_seq_port_info_t *info);
-int snd_seq_port_info_get_timestamp_real(const snd_seq_port_info_t *info);
-int snd_seq_port_info_get_timestamp_queue(const snd_seq_port_info_t *info);
-
-void snd_seq_port_info_set_client(snd_seq_port_info_t *info, int client);
-void snd_seq_port_info_set_port(snd_seq_port_info_t *info, int port);
-void snd_seq_port_info_set_addr(snd_seq_port_info_t *info, const snd_seq_addr_t *addr);
-void snd_seq_port_info_set_name(snd_seq_port_info_t *info, const char *name);
-void snd_seq_port_info_set_capability(snd_seq_port_info_t *info, unsigned int capability);
-void snd_seq_port_info_set_type(snd_seq_port_info_t *info, unsigned int type);
-void snd_seq_port_info_set_midi_channels(snd_seq_port_info_t *info, int channels);
-void snd_seq_port_info_set_midi_voices(snd_seq_port_info_t *info, int voices);
-void snd_seq_port_info_set_synth_voices(snd_seq_port_info_t *info, int voices);
-void snd_seq_port_info_set_port_specified(snd_seq_port_info_t *info, int val);
-void snd_seq_port_info_set_timestamping(snd_seq_port_info_t *info, int enable);
-void snd_seq_port_info_set_timestamp_real(snd_seq_port_info_t *info, int realtime);
-void snd_seq_port_info_set_timestamp_queue(snd_seq_port_info_t *info, int queue);
-
-int snd_seq_create_port(snd_seq_t *handle, snd_seq_port_info_t *info);
-int snd_seq_delete_port(snd_seq_t *handle, int port);
-int snd_seq_get_port_info(snd_seq_t *handle, int port, snd_seq_port_info_t *info);
-int snd_seq_get_any_port_info(snd_seq_t *handle, int client, int port, snd_seq_port_info_t *info);
-int snd_seq_set_port_info(snd_seq_t *handle, int port, snd_seq_port_info_t *info);
-int snd_seq_query_next_port(snd_seq_t *handle, snd_seq_port_info_t *info);
-
-/** \} */
-
-
-/**
- * \defgroup SeqSubscribe Sequencer Port Subscription
- * Sequencer Port Subscription
- * \ingroup Sequencer
- * \{
- */
-
-/** port subscription container */
-typedef struct _snd_seq_port_subscribe snd_seq_port_subscribe_t;
-
-size_t snd_seq_port_subscribe_sizeof(void);
-/** allocate a #snd_seq_port_subscribe_t container on stack */
-#define snd_seq_port_subscribe_alloca(ptr) \
- __snd_alloca(ptr, snd_seq_port_subscribe)
-int snd_seq_port_subscribe_malloc(snd_seq_port_subscribe_t **ptr);
-void snd_seq_port_subscribe_free(snd_seq_port_subscribe_t *ptr);
-void snd_seq_port_subscribe_copy(snd_seq_port_subscribe_t *dst, const snd_seq_port_subscribe_t *src);
-
-const snd_seq_addr_t *snd_seq_port_subscribe_get_sender(const snd_seq_port_subscribe_t *info);
-const snd_seq_addr_t *snd_seq_port_subscribe_get_dest(const snd_seq_port_subscribe_t *info);
-int snd_seq_port_subscribe_get_queue(const snd_seq_port_subscribe_t *info);
-int snd_seq_port_subscribe_get_exclusive(const snd_seq_port_subscribe_t *info);
-int snd_seq_port_subscribe_get_time_update(const snd_seq_port_subscribe_t *info);
-int snd_seq_port_subscribe_get_time_real(const snd_seq_port_subscribe_t *info);
-
-void snd_seq_port_subscribe_set_sender(snd_seq_port_subscribe_t *info, const snd_seq_addr_t *addr);
-void snd_seq_port_subscribe_set_dest(snd_seq_port_subscribe_t *info, const snd_seq_addr_t *addr);
-void snd_seq_port_subscribe_set_queue(snd_seq_port_subscribe_t *info, int q);
-void snd_seq_port_subscribe_set_exclusive(snd_seq_port_subscribe_t *info, int val);
-void snd_seq_port_subscribe_set_time_update(snd_seq_port_subscribe_t *info, int val);
-void snd_seq_port_subscribe_set_time_real(snd_seq_port_subscribe_t *info, int val);
-
-int snd_seq_get_port_subscription(snd_seq_t *handle, snd_seq_port_subscribe_t *sub);
-int snd_seq_subscribe_port(snd_seq_t *handle, snd_seq_port_subscribe_t *sub);
-int snd_seq_unsubscribe_port(snd_seq_t *handle, snd_seq_port_subscribe_t *sub);
-
-/*
- */
-
-/** subscription query container */
-typedef struct _snd_seq_query_subscribe snd_seq_query_subscribe_t;
-
-/** type of query subscription */
-typedef enum {
- SND_SEQ_QUERY_SUBS_READ, /**< query read subscriptions */
- SND_SEQ_QUERY_SUBS_WRITE /**< query write subscriptions */
-} snd_seq_query_subs_type_t;
-
-size_t snd_seq_query_subscribe_sizeof(void);
-/** allocate a #snd_seq_query_subscribe_t container on stack */
-#define snd_seq_query_subscribe_alloca(ptr) \
- __snd_alloca(ptr, snd_seq_query_subscribe)
-int snd_seq_query_subscribe_malloc(snd_seq_query_subscribe_t **ptr);
-void snd_seq_query_subscribe_free(snd_seq_query_subscribe_t *ptr);
-void snd_seq_query_subscribe_copy(snd_seq_query_subscribe_t *dst, const snd_seq_query_subscribe_t *src);
-
-int snd_seq_query_subscribe_get_client(const snd_seq_query_subscribe_t *info);
-int snd_seq_query_subscribe_get_port(const snd_seq_query_subscribe_t *info);
-const snd_seq_addr_t *snd_seq_query_subscribe_get_root(const snd_seq_query_subscribe_t *info);
-snd_seq_query_subs_type_t snd_seq_query_subscribe_get_type(const snd_seq_query_subscribe_t *info);
-int snd_seq_query_subscribe_get_index(const snd_seq_query_subscribe_t *info);
-int snd_seq_query_subscribe_get_num_subs(const snd_seq_query_subscribe_t *info);
-const snd_seq_addr_t *snd_seq_query_subscribe_get_addr(const snd_seq_query_subscribe_t *info);
-int snd_seq_query_subscribe_get_queue(const snd_seq_query_subscribe_t *info);
-int snd_seq_query_subscribe_get_exclusive(const snd_seq_query_subscribe_t *info);
-int snd_seq_query_subscribe_get_time_update(const snd_seq_query_subscribe_t *info);
-int snd_seq_query_subscribe_get_time_real(const snd_seq_query_subscribe_t *info);
-
-void snd_seq_query_subscribe_set_client(snd_seq_query_subscribe_t *info, int client);
-void snd_seq_query_subscribe_set_port(snd_seq_query_subscribe_t *info, int port);
-void snd_seq_query_subscribe_set_root(snd_seq_query_subscribe_t *info, const snd_seq_addr_t *addr);
-void snd_seq_query_subscribe_set_type(snd_seq_query_subscribe_t *info, snd_seq_query_subs_type_t type);
-void snd_seq_query_subscribe_set_index(snd_seq_query_subscribe_t *info, int _index);
-
-int snd_seq_query_port_subscribers(snd_seq_t *seq, snd_seq_query_subscribe_t * subs);
-
-/** \} */
-
-
-/**
- * \defgroup SeqQueue Sequencer Queue Interface
- * Sequencer Queue Interface
- * \ingroup Sequencer
- * \{
- */
-
-/** queue information container */
-typedef struct _snd_seq_queue_info snd_seq_queue_info_t;
-/** queue status container */
-typedef struct _snd_seq_queue_status snd_seq_queue_status_t;
-/** queue tempo container */
-typedef struct _snd_seq_queue_tempo snd_seq_queue_tempo_t;
-/** queue timer information container */
-typedef struct _snd_seq_queue_timer snd_seq_queue_timer_t;
-
-/** special queue ids */
-#define SND_SEQ_QUEUE_DIRECT 253 /**< direct dispatch */
-
-size_t snd_seq_queue_info_sizeof(void);
-/** allocate a #snd_seq_queue_info_t container on stack */
-#define snd_seq_queue_info_alloca(ptr) \
- __snd_alloca(ptr, snd_seq_queue_info)
-int snd_seq_queue_info_malloc(snd_seq_queue_info_t **ptr);
-void snd_seq_queue_info_free(snd_seq_queue_info_t *ptr);
-void snd_seq_queue_info_copy(snd_seq_queue_info_t *dst, const snd_seq_queue_info_t *src);
-
-int snd_seq_queue_info_get_queue(const snd_seq_queue_info_t *info);
-const char *snd_seq_queue_info_get_name(const snd_seq_queue_info_t *info);
-int snd_seq_queue_info_get_owner(const snd_seq_queue_info_t *info);
-int snd_seq_queue_info_get_locked(const snd_seq_queue_info_t *info);
-unsigned int snd_seq_queue_info_get_flags(const snd_seq_queue_info_t *info);
-
-void snd_seq_queue_info_set_name(snd_seq_queue_info_t *info, const char *name);
-void snd_seq_queue_info_set_owner(snd_seq_queue_info_t *info, int owner);
-void snd_seq_queue_info_set_locked(snd_seq_queue_info_t *info, int locked);
-void snd_seq_queue_info_set_flags(snd_seq_queue_info_t *info, unsigned int flags);
-
-int snd_seq_create_queue(snd_seq_t *seq, snd_seq_queue_info_t *info);
-int snd_seq_alloc_named_queue(snd_seq_t *seq, const char *name);
-int snd_seq_alloc_queue(snd_seq_t *handle);
-int snd_seq_free_queue(snd_seq_t *handle, int q);
-int snd_seq_get_queue_info(snd_seq_t *seq, int q, snd_seq_queue_info_t *info);
-int snd_seq_set_queue_info(snd_seq_t *seq, int q, snd_seq_queue_info_t *info);
-int snd_seq_query_named_queue(snd_seq_t *seq, const char *name);
-
-int snd_seq_get_queue_usage(snd_seq_t *handle, int q);
-int snd_seq_set_queue_usage(snd_seq_t *handle, int q, int used);
-
-/*
- */
-size_t snd_seq_queue_status_sizeof(void);
-/** allocate a #snd_seq_queue_status_t container on stack */
-#define snd_seq_queue_status_alloca(ptr) \
- __snd_alloca(ptr, snd_seq_queue_status)
-int snd_seq_queue_status_malloc(snd_seq_queue_status_t **ptr);
-void snd_seq_queue_status_free(snd_seq_queue_status_t *ptr);
-void snd_seq_queue_status_copy(snd_seq_queue_status_t *dst, const snd_seq_queue_status_t *src);
-
-int snd_seq_queue_status_get_queue(const snd_seq_queue_status_t *info);
-int snd_seq_queue_status_get_events(const snd_seq_queue_status_t *info);
-snd_seq_tick_time_t snd_seq_queue_status_get_tick_time(const snd_seq_queue_status_t *info);
-const snd_seq_real_time_t *snd_seq_queue_status_get_real_time(const snd_seq_queue_status_t *info);
-unsigned int snd_seq_queue_status_get_status(const snd_seq_queue_status_t *info);
-
-int snd_seq_get_queue_status(snd_seq_t *handle, int q, snd_seq_queue_status_t *status);
-
-/*
- */
-size_t snd_seq_queue_tempo_sizeof(void);
-/** allocate a #snd_seq_queue_tempo_t container on stack */
-#define snd_seq_queue_tempo_alloca(ptr) \
- __snd_alloca(ptr, snd_seq_queue_tempo)
-int snd_seq_queue_tempo_malloc(snd_seq_queue_tempo_t **ptr);
-void snd_seq_queue_tempo_free(snd_seq_queue_tempo_t *ptr);
-void snd_seq_queue_tempo_copy(snd_seq_queue_tempo_t *dst, const snd_seq_queue_tempo_t *src);
-
-int snd_seq_queue_tempo_get_queue(const snd_seq_queue_tempo_t *info);
-unsigned int snd_seq_queue_tempo_get_tempo(const snd_seq_queue_tempo_t *info);
-int snd_seq_queue_tempo_get_ppq(const snd_seq_queue_tempo_t *info);
-unsigned int snd_seq_queue_tempo_get_skew(const snd_seq_queue_tempo_t *info);
-unsigned int snd_seq_queue_tempo_get_skew_base(const snd_seq_queue_tempo_t *info);
-void snd_seq_queue_tempo_set_tempo(snd_seq_queue_tempo_t *info, unsigned int tempo);
-void snd_seq_queue_tempo_set_ppq(snd_seq_queue_tempo_t *info, int ppq);
-void snd_seq_queue_tempo_set_skew(snd_seq_queue_tempo_t *info, unsigned int skew);
-void snd_seq_queue_tempo_set_skew_base(snd_seq_queue_tempo_t *info, unsigned int base);
-
-int snd_seq_get_queue_tempo(snd_seq_t *handle, int q, snd_seq_queue_tempo_t *tempo);
-int snd_seq_set_queue_tempo(snd_seq_t *handle, int q, snd_seq_queue_tempo_t *tempo);
-
-/*
- */
-
-/** sequencer timer sources */
-typedef enum {
- SND_SEQ_TIMER_ALSA = 0, /* ALSA timer */
- SND_SEQ_TIMER_MIDI_CLOCK = 1, /* Midi Clock (CLOCK event) */
- SND_SEQ_TIMER_MIDI_TICK = 2 /* Midi Timer Tick (TICK event */
-} snd_seq_queue_timer_type_t;
-
-size_t snd_seq_queue_timer_sizeof(void);
-/** allocate a #snd_seq_queue_timer_t container on stack */
-#define snd_seq_queue_timer_alloca(ptr) \
- __snd_alloca(ptr, snd_seq_queue_timer)
-int snd_seq_queue_timer_malloc(snd_seq_queue_timer_t **ptr);
-void snd_seq_queue_timer_free(snd_seq_queue_timer_t *ptr);
-void snd_seq_queue_timer_copy(snd_seq_queue_timer_t *dst, const snd_seq_queue_timer_t *src);
-
-int snd_seq_queue_timer_get_queue(const snd_seq_queue_timer_t *info);
-snd_seq_queue_timer_type_t snd_seq_queue_timer_get_type(const snd_seq_queue_timer_t *info);
-const snd_timer_id_t *snd_seq_queue_timer_get_id(const snd_seq_queue_timer_t *info);
-unsigned int snd_seq_queue_timer_get_resolution(const snd_seq_queue_timer_t *info);
-
-void snd_seq_queue_timer_set_type(snd_seq_queue_timer_t *info, snd_seq_queue_timer_type_t type);
-void snd_seq_queue_timer_set_id(snd_seq_queue_timer_t *info, const snd_timer_id_t *id);
-void snd_seq_queue_timer_set_resolution(snd_seq_queue_timer_t *info, unsigned int resolution);
-
-int snd_seq_get_queue_timer(snd_seq_t *handle, int q, snd_seq_queue_timer_t *timer);
-int snd_seq_set_queue_timer(snd_seq_t *handle, int q, snd_seq_queue_timer_t *timer);
-
-/** \} */
-
-/**
- * \defgroup SeqEvent Sequencer Event API
- * Sequencer Event API
- * \ingroup Sequencer
- * \{
- */
-
-int snd_seq_free_event(snd_seq_event_t *ev);
-ssize_t snd_seq_event_length(snd_seq_event_t *ev);
-int snd_seq_event_output(snd_seq_t *handle, snd_seq_event_t *ev);
-int snd_seq_event_output_buffer(snd_seq_t *handle, snd_seq_event_t *ev);
-int snd_seq_event_output_direct(snd_seq_t *handle, snd_seq_event_t *ev);
-int snd_seq_event_input(snd_seq_t *handle, snd_seq_event_t **ev);
-int snd_seq_event_input_pending(snd_seq_t *seq, int fetch_sequencer);
-int snd_seq_drain_output(snd_seq_t *handle);
-int snd_seq_event_output_pending(snd_seq_t *seq);
-int snd_seq_extract_output(snd_seq_t *handle, snd_seq_event_t **ev);
-int snd_seq_drop_output(snd_seq_t *handle);
-int snd_seq_drop_output_buffer(snd_seq_t *handle);
-int snd_seq_drop_input(snd_seq_t *handle);
-int snd_seq_drop_input_buffer(snd_seq_t *handle);
-
-/** event removal conditionals */
-typedef struct _snd_seq_remove_events snd_seq_remove_events_t;
-
-/** Remove conditional flags */
-#define SND_SEQ_REMOVE_INPUT (1<<0) /**< Flush input queues */
-#define SND_SEQ_REMOVE_OUTPUT (1<<1) /**< Flush output queues */
-#define SND_SEQ_REMOVE_DEST (1<<2) /**< Restrict by destination q:client:port */
-#define SND_SEQ_REMOVE_DEST_CHANNEL (1<<3) /**< Restrict by channel */
-#define SND_SEQ_REMOVE_TIME_BEFORE (1<<4) /**< Restrict to before time */
-#define SND_SEQ_REMOVE_TIME_AFTER (1<<5) /**< Restrict to time or after */
-#define SND_SEQ_REMOVE_TIME_TICK (1<<6) /**< Time is in ticks */
-#define SND_SEQ_REMOVE_EVENT_TYPE (1<<7) /**< Restrict to event type */
-#define SND_SEQ_REMOVE_IGNORE_OFF (1<<8) /**< Do not flush off events */
-#define SND_SEQ_REMOVE_TAG_MATCH (1<<9) /**< Restrict to events with given tag */
-
-size_t snd_seq_remove_events_sizeof(void);
-/** allocate a #snd_seq_remove_events_t container on stack */
-#define snd_seq_remove_events_alloca(ptr) \
- __snd_alloca(ptr, snd_seq_remove_events)
-int snd_seq_remove_events_malloc(snd_seq_remove_events_t **ptr);
-void snd_seq_remove_events_free(snd_seq_remove_events_t *ptr);
-void snd_seq_remove_events_copy(snd_seq_remove_events_t *dst, const snd_seq_remove_events_t *src);
-
-unsigned int snd_seq_remove_events_get_condition(const snd_seq_remove_events_t *info);
-int snd_seq_remove_events_get_queue(const snd_seq_remove_events_t *info);
-const snd_seq_timestamp_t *snd_seq_remove_events_get_time(const snd_seq_remove_events_t *info);
-const snd_seq_addr_t *snd_seq_remove_events_get_dest(const snd_seq_remove_events_t *info);
-int snd_seq_remove_events_get_channel(const snd_seq_remove_events_t *info);
-int snd_seq_remove_events_get_event_type(const snd_seq_remove_events_t *info);
-int snd_seq_remove_events_get_tag(const snd_seq_remove_events_t *info);
-
-void snd_seq_remove_events_set_condition(snd_seq_remove_events_t *info, unsigned int flags);
-void snd_seq_remove_events_set_queue(snd_seq_remove_events_t *info, int queue);
-void snd_seq_remove_events_set_time(snd_seq_remove_events_t *info, const snd_seq_timestamp_t *time);
-void snd_seq_remove_events_set_dest(snd_seq_remove_events_t *info, const snd_seq_addr_t *addr);
-void snd_seq_remove_events_set_channel(snd_seq_remove_events_t *info, int channel);
-void snd_seq_remove_events_set_event_type(snd_seq_remove_events_t *info, int type);
-void snd_seq_remove_events_set_tag(snd_seq_remove_events_t *info, int tag);
-
-int snd_seq_remove_events(snd_seq_t *handle, snd_seq_remove_events_t *info);
-
-/** \} */
-
-/**
- * \defgroup SeqMisc Sequencer Miscellaneous
- * Sequencer Miscellaneous
- * \ingroup Sequencer
- * \{
- */
-
-void snd_seq_set_bit(int nr, void *array);
-void snd_seq_unset_bit(int nr, void *array);
-int snd_seq_change_bit(int nr, void *array);
-int snd_seq_get_bit(int nr, void *array);
-
-/** \} */
-
-
-/**
- * \defgroup SeqEvType Sequencer Event Type Checks
- * Sequencer Event Type Checks
- * \ingroup Sequencer
- * \{
- */
-
-/* event type macros */
-enum {
- SND_SEQ_EVFLG_RESULT,
- SND_SEQ_EVFLG_NOTE,
- SND_SEQ_EVFLG_CONTROL,
- SND_SEQ_EVFLG_QUEUE,
- SND_SEQ_EVFLG_SYSTEM,
- SND_SEQ_EVFLG_MESSAGE,
- SND_SEQ_EVFLG_CONNECTION,
- SND_SEQ_EVFLG_SAMPLE,
- SND_SEQ_EVFLG_USERS,
- SND_SEQ_EVFLG_INSTR,
- SND_SEQ_EVFLG_QUOTE,
- SND_SEQ_EVFLG_NONE,
- SND_SEQ_EVFLG_RAW,
- SND_SEQ_EVFLG_FIXED,
- SND_SEQ_EVFLG_VARIABLE,
- SND_SEQ_EVFLG_VARUSR
-};
-
-enum {
- SND_SEQ_EVFLG_NOTE_ONEARG,
- SND_SEQ_EVFLG_NOTE_TWOARG
-};
-
-enum {
- SND_SEQ_EVFLG_QUEUE_NOARG,
- SND_SEQ_EVFLG_QUEUE_TICK,
- SND_SEQ_EVFLG_QUEUE_TIME,
- SND_SEQ_EVFLG_QUEUE_VALUE
-};
-
-/**
- * Exported event type table
- *
- * This table is referred by snd_seq_ev_is_xxx.
- */
-extern const unsigned int snd_seq_event_types[];
-
-#define _SND_SEQ_TYPE(x) (1<<(x)) /**< master type - 24bit */
-#define _SND_SEQ_TYPE_OPT(x) ((x)<<24) /**< optional type - 8bit */
-
-/** check the event type */
-#define snd_seq_type_check(ev,x) (snd_seq_event_types[(ev)->type] & _SND_SEQ_TYPE(x))
-
-/** event type check: result events */
-#define snd_seq_ev_is_result_type(ev) \
- snd_seq_type_check(ev, SND_SEQ_EVFLG_RESULT)
-/** event type check: note events */
-#define snd_seq_ev_is_note_type(ev) \
- snd_seq_type_check(ev, SND_SEQ_EVFLG_NOTE)
-/** event type check: control events */
-#define snd_seq_ev_is_control_type(ev) \
- snd_seq_type_check(ev, SND_SEQ_EVFLG_CONTROL)
-/** event type check: channel specific events */
-#define snd_seq_ev_is_channel_type(ev) \
- (snd_seq_event_types[(ev)->type] & (_SND_SEQ_TYPE(SND_SEQ_EVFLG_NOTE) | _SND_SEQ_TYPE(SND_SEQ_EVFLG_CONTROL)))
-
-/** event type check: queue control events */
-#define snd_seq_ev_is_queue_type(ev) \
- snd_seq_type_check(ev, SND_SEQ_EVFLG_QUEUE)
-/** event type check: system status messages */
-#define snd_seq_ev_is_message_type(ev) \
- snd_seq_type_check(ev, SND_SEQ_EVFLG_MESSAGE)
-/** event type check: system status messages */
-#define snd_seq_ev_is_subscribe_type(ev) \
- snd_seq_type_check(ev, SND_SEQ_EVFLG_CONNECTION)
-/** event type check: sample messages */
-#define snd_seq_ev_is_sample_type(ev) \
- snd_seq_type_check(ev, SND_SEQ_EVFLG_SAMPLE)
-/** event type check: user-defined messages */
-#define snd_seq_ev_is_user_type(ev) \
- snd_seq_type_check(ev, SND_SEQ_EVFLG_USERS)
-/** event type check: instrument layer events */
-#define snd_seq_ev_is_instr_type(ev) \
- snd_seq_type_check(ev, SND_SEQ_EVFLG_INSTR)
-/** event type check: fixed length events */
-#define snd_seq_ev_is_fixed_type(ev) \
- snd_seq_type_check(ev, SND_SEQ_EVFLG_FIXED)
-/** event type check: variable length events */
-#define snd_seq_ev_is_variable_type(ev) \
- snd_seq_type_check(ev, SND_SEQ_EVFLG_VARIABLE)
-/** event type check: user pointer events */
-#define snd_seq_ev_is_varusr_type(ev) \
- snd_seq_type_check(ev, SND_SEQ_EVFLG_VARUSR)
-/** event type check: reserved for kernel */
-#define snd_seq_ev_is_reserved(ev) \
- (! snd_seq_event_types[(ev)->type])
-
-/**
- * macros to check event flags
- */
-/** prior events */
-#define snd_seq_ev_is_prior(ev) \
- (((ev)->flags & SND_SEQ_PRIORITY_MASK) == SND_SEQ_PRIORITY_HIGH)
-
-/** get the data length type */
-#define snd_seq_ev_length_type(ev) \
- ((ev)->flags & SND_SEQ_EVENT_LENGTH_MASK)
-/** fixed length events */
-#define snd_seq_ev_is_fixed(ev) \
- (snd_seq_ev_length_type(ev) == SND_SEQ_EVENT_LENGTH_FIXED)
-/** variable length events */
-#define snd_seq_ev_is_variable(ev) \
- (snd_seq_ev_length_type(ev) == SND_SEQ_EVENT_LENGTH_VARIABLE)
-/** variable length on user-space */
-#define snd_seq_ev_is_varusr(ev) \
- (snd_seq_ev_length_type(ev) == SND_SEQ_EVENT_LENGTH_VARUSR)
-
-/** time-stamp type */
-#define snd_seq_ev_timestamp_type(ev) \
- ((ev)->flags & SND_SEQ_TIME_STAMP_MASK)
-/** event is in tick time */
-#define snd_seq_ev_is_tick(ev) \
- (snd_seq_ev_timestamp_type(ev) == SND_SEQ_TIME_STAMP_TICK)
-/** event is in real-time */
-#define snd_seq_ev_is_real(ev) \
- (snd_seq_ev_timestamp_type(ev) == SND_SEQ_TIME_STAMP_REAL)
-
-/** time-mode type */
-#define snd_seq_ev_timemode_type(ev) \
- ((ev)->flags & SND_SEQ_TIME_MODE_MASK)
-/** scheduled in absolute time */
-#define snd_seq_ev_is_abstime(ev) \
- (snd_seq_ev_timemode_type(ev) == SND_SEQ_TIME_MODE_ABS)
-/** scheduled in relative time */
-#define snd_seq_ev_is_reltime(ev) \
- (snd_seq_ev_timemode_type(ev) == SND_SEQ_TIME_MODE_REL)
-
-/** direct dispatched events */
-#define snd_seq_ev_is_direct(ev) \
- ((ev)->queue == SND_SEQ_QUEUE_DIRECT)
-
-/** \} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __ALSA_SEQ_H */
-
diff --git a/alsa-lib/include/seq_event.h b/alsa-lib/include/seq_event.h
deleted file mode 100644
index 583f1d0..0000000
--- a/alsa-lib/include/seq_event.h
+++ /dev/null
@@ -1,319 +0,0 @@
-/**
- * \file include/seq_event.h
- * \brief Application interface library for the ALSA driver
- * \author Jaroslav Kysela <perex@perex.cz>
- * \author Abramo Bagnara <abramo@alsa-project.org>
- * \author Takashi Iwai <tiwai@suse.de>
- * \date 1998-2001
- *
- * Application interface library for the ALSA driver
- */
-/*
- * This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#ifndef __ALSA_SEQ_EVENT_H
-#define __ALSA_SEQ_EVENT_H
-
-/**
- * \defgroup SeqEvents Sequencer Event Definitions
- * Sequencer Event Definitions
- * \ingroup Sequencer
- * \{
- */
-
-/**
- * Sequencer event data type
- */
-typedef unsigned char snd_seq_event_type_t;
-
-/** Sequencer event type */
-enum snd_seq_event_type {
- /** system status; event data type = #snd_seq_result_t */
- SND_SEQ_EVENT_SYSTEM = 0,
- /** returned result status; event data type = #snd_seq_result_t */
- SND_SEQ_EVENT_RESULT,
-
- /** note on and off with duration; event data type = #snd_seq_ev_note_t */
- SND_SEQ_EVENT_NOTE = 5,
- /** note on; event data type = #snd_seq_ev_note_t */
- SND_SEQ_EVENT_NOTEON,
- /** note off; event data type = #snd_seq_ev_note_t */
- SND_SEQ_EVENT_NOTEOFF,
- /** key pressure change (aftertouch); event data type = #snd_seq_ev_note_t */
- SND_SEQ_EVENT_KEYPRESS,
-
- /** controller; event data type = #snd_seq_ev_ctrl_t */
- SND_SEQ_EVENT_CONTROLLER = 10,
- /** program change; event data type = #snd_seq_ev_ctrl_t */
- SND_SEQ_EVENT_PGMCHANGE,
- /** channel pressure; event data type = #snd_seq_ev_ctrl_t */
- SND_SEQ_EVENT_CHANPRESS,
- /** pitchwheel; event data type = #snd_seq_ev_ctrl_t; data is from -8192 to 8191) */
- SND_SEQ_EVENT_PITCHBEND,
- /** 14 bit controller value; event data type = #snd_seq_ev_ctrl_t */
- SND_SEQ_EVENT_CONTROL14,
- /** 14 bit NRPN; event data type = #snd_seq_ev_ctrl_t */
- SND_SEQ_EVENT_NONREGPARAM,
- /** 14 bit RPN; event data type = #snd_seq_ev_ctrl_t */
- SND_SEQ_EVENT_REGPARAM,
-
- /** SPP with LSB and MSB values; event data type = #snd_seq_ev_ctrl_t */
- SND_SEQ_EVENT_SONGPOS = 20,
- /** Song Select with song ID number; event data type = #snd_seq_ev_ctrl_t */
- SND_SEQ_EVENT_SONGSEL,
- /** midi time code quarter frame; event data type = #snd_seq_ev_ctrl_t */
- SND_SEQ_EVENT_QFRAME,
- /** SMF Time Signature event; event data type = #snd_seq_ev_ctrl_t */
- SND_SEQ_EVENT_TIMESIGN,
- /** SMF Key Signature event; event data type = #snd_seq_ev_ctrl_t */
- SND_SEQ_EVENT_KEYSIGN,
-
- /** MIDI Real Time Start message; event data type = #snd_seq_ev_queue_control_t */
- SND_SEQ_EVENT_START = 30,
- /** MIDI Real Time Continue message; event data type = #snd_seq_ev_queue_control_t */
- SND_SEQ_EVENT_CONTINUE,
- /** MIDI Real Time Stop message; event data type = #snd_seq_ev_queue_control_t */
- SND_SEQ_EVENT_STOP,
- /** Set tick queue position; event data type = #snd_seq_ev_queue_control_t */
- SND_SEQ_EVENT_SETPOS_TICK,
- /** Set real-time queue position; event data type = #snd_seq_ev_queue_control_t */
- SND_SEQ_EVENT_SETPOS_TIME,
- /** (SMF) Tempo event; event data type = #snd_seq_ev_queue_control_t */
- SND_SEQ_EVENT_TEMPO,
- /** MIDI Real Time Clock message; event data type = #snd_seq_ev_queue_control_t */
- SND_SEQ_EVENT_CLOCK,
- /** MIDI Real Time Tick message; event data type = #snd_seq_ev_queue_control_t */
- SND_SEQ_EVENT_TICK,
- /** Queue timer skew; event data type = #snd_seq_ev_queue_control_t */
- SND_SEQ_EVENT_QUEUE_SKEW,
- /** Sync position changed; event data type = #snd_seq_ev_queue_control_t */
- SND_SEQ_EVENT_SYNC_POS,
-
- /** Tune request; event data type = none */
- SND_SEQ_EVENT_TUNE_REQUEST = 40,
- /** Reset to power-on state; event data type = none */
- SND_SEQ_EVENT_RESET,
- /** Active sensing event; event data type = none */
- SND_SEQ_EVENT_SENSING,
-
- /** Echo-back event; event data type = any type */
- SND_SEQ_EVENT_ECHO = 50,
- /** OSS emulation raw event; event data type = any type */
- SND_SEQ_EVENT_OSS,
-
- /** New client has connected; event data type = #snd_seq_addr_t */
- SND_SEQ_EVENT_CLIENT_START = 60,
- /** Client has left the system; event data type = #snd_seq_addr_t */
- SND_SEQ_EVENT_CLIENT_EXIT,
- /** Client status/info has changed; event data type = #snd_seq_addr_t */
- SND_SEQ_EVENT_CLIENT_CHANGE,
- /** New port was created; event data type = #snd_seq_addr_t */
- SND_SEQ_EVENT_PORT_START,
- /** Port was deleted from system; event data type = #snd_seq_addr_t */
- SND_SEQ_EVENT_PORT_EXIT,
- /** Port status/info has changed; event data type = #snd_seq_addr_t */
- SND_SEQ_EVENT_PORT_CHANGE,
-
- /** Ports connected; event data type = #snd_seq_connect_t */
- SND_SEQ_EVENT_PORT_SUBSCRIBED,
- /** Ports disconnected; event data type = #snd_seq_connect_t */
- SND_SEQ_EVENT_PORT_UNSUBSCRIBED,
-
- /** user-defined event; event data type = any (fixed size) */
- SND_SEQ_EVENT_USR0 = 90,
- /** user-defined event; event data type = any (fixed size) */
- SND_SEQ_EVENT_USR1,
- /** user-defined event; event data type = any (fixed size) */
- SND_SEQ_EVENT_USR2,
- /** user-defined event; event data type = any (fixed size) */
- SND_SEQ_EVENT_USR3,
- /** user-defined event; event data type = any (fixed size) */
- SND_SEQ_EVENT_USR4,
- /** user-defined event; event data type = any (fixed size) */
- SND_SEQ_EVENT_USR5,
- /** user-defined event; event data type = any (fixed size) */
- SND_SEQ_EVENT_USR6,
- /** user-defined event; event data type = any (fixed size) */
- SND_SEQ_EVENT_USR7,
- /** user-defined event; event data type = any (fixed size) */
- SND_SEQ_EVENT_USR8,
- /** user-defined event; event data type = any (fixed size) */
- SND_SEQ_EVENT_USR9,
-
- /** system exclusive data (variable length); event data type = #snd_seq_ev_ext_t */
- SND_SEQ_EVENT_SYSEX = 130,
- /** error event; event data type = #snd_seq_ev_ext_t */
- SND_SEQ_EVENT_BOUNCE,
- /** reserved for user apps; event data type = #snd_seq_ev_ext_t */
- SND_SEQ_EVENT_USR_VAR0 = 135,
- /** reserved for user apps; event data type = #snd_seq_ev_ext_t */
- SND_SEQ_EVENT_USR_VAR1,
- /** reserved for user apps; event data type = #snd_seq_ev_ext_t */
- SND_SEQ_EVENT_USR_VAR2,
- /** reserved for user apps; event data type = #snd_seq_ev_ext_t */
- SND_SEQ_EVENT_USR_VAR3,
- /** reserved for user apps; event data type = #snd_seq_ev_ext_t */
- SND_SEQ_EVENT_USR_VAR4,
-
- /** NOP; ignored in any case */
- SND_SEQ_EVENT_NONE = 255
-};
-
-
-/** Sequencer event address */
-typedef struct snd_seq_addr {
- unsigned char client; /**< Client id */
- unsigned char port; /**< Port id */
-} snd_seq_addr_t;
-
-/** Connection (subscription) between ports */
-typedef struct snd_seq_connect {
- snd_seq_addr_t sender; /**< sender address */
- snd_seq_addr_t dest; /**< destination address */
-} snd_seq_connect_t;
-
-
-/** Real-time data record */
-typedef struct snd_seq_real_time {
- unsigned int tv_sec; /**< seconds */
- unsigned int tv_nsec; /**< nanoseconds */
-} snd_seq_real_time_t;
-
-/** (MIDI) Tick-time data record */
-typedef unsigned int snd_seq_tick_time_t;
-
-/** unioned time stamp */
-typedef union snd_seq_timestamp {
- snd_seq_tick_time_t tick; /**< tick-time */
- struct snd_seq_real_time time; /**< real-time */
-} snd_seq_timestamp_t;
-
-
-/**
- * Event mode flags
- *
- * NOTE: only 8 bits available!
- */
-#define SND_SEQ_TIME_STAMP_TICK (0<<0) /**< timestamp in clock ticks */
-#define SND_SEQ_TIME_STAMP_REAL (1<<0) /**< timestamp in real time */
-#define SND_SEQ_TIME_STAMP_MASK (1<<0) /**< mask for timestamp bits */
-
-#define SND_SEQ_TIME_MODE_ABS (0<<1) /**< absolute timestamp */
-#define SND_SEQ_TIME_MODE_REL (1<<1) /**< relative to current time */
-#define SND_SEQ_TIME_MODE_MASK (1<<1) /**< mask for time mode bits */
-
-#define SND_SEQ_EVENT_LENGTH_FIXED (0<<2) /**< fixed event size */
-#define SND_SEQ_EVENT_LENGTH_VARIABLE (1<<2) /**< variable event size */
-#define SND_SEQ_EVENT_LENGTH_VARUSR (2<<2) /**< variable event size - user memory space */
-#define SND_SEQ_EVENT_LENGTH_MASK (3<<2) /**< mask for event length bits */
-
-#define SND_SEQ_PRIORITY_NORMAL (0<<4) /**< normal priority */
-#define SND_SEQ_PRIORITY_HIGH (1<<4) /**< event should be processed before others */
-#define SND_SEQ_PRIORITY_MASK (1<<4) /**< mask for priority bits */
-
-
-/** Note event */
-typedef struct snd_seq_ev_note {
- unsigned char channel; /**< channel number */
- unsigned char note; /**< note */
- unsigned char velocity; /**< velocity */
- unsigned char off_velocity; /**< note-off velocity; only for #SND_SEQ_EVENT_NOTE */
- unsigned int duration; /**< duration until note-off; only for #SND_SEQ_EVENT_NOTE */
-} snd_seq_ev_note_t;
-
-/** Controller event */
-typedef struct snd_seq_ev_ctrl {
- unsigned char channel; /**< channel number */
- unsigned char unused[3]; /**< reserved */
- unsigned int param; /**< control parameter */
- signed int value; /**< control value */
-} snd_seq_ev_ctrl_t;
-
-/** generic set of bytes (12x8 bit) */
-typedef struct snd_seq_ev_raw8 {
- unsigned char d[12]; /**< 8 bit value */
-} snd_seq_ev_raw8_t;
-
-/** generic set of integers (3x32 bit) */
-typedef struct snd_seq_ev_raw32 {
- unsigned int d[3]; /**< 32 bit value */
-} snd_seq_ev_raw32_t;
-
-/** external stored data */
-typedef struct snd_seq_ev_ext {
- unsigned int len; /**< length of data */
- void *ptr; /**< pointer to data (note: can be 64-bit) */
-} __attribute__((packed)) snd_seq_ev_ext_t;
-
-/** Result events */
-typedef struct snd_seq_result {
- int event; /**< processed event type */
- int result; /**< status */
-} snd_seq_result_t;
-
-/** Queue skew values */
-typedef struct snd_seq_queue_skew {
- unsigned int value; /**< skew value */
- unsigned int base; /**< skew base */
-} snd_seq_queue_skew_t;
-
-/** queue timer control */
-typedef struct snd_seq_ev_queue_control {
- unsigned char queue; /**< affected queue */
- unsigned char unused[3]; /**< reserved */
- union {
- signed int value; /**< affected value (e.g. tempo) */
- snd_seq_timestamp_t time; /**< time */
- unsigned int position; /**< sync position */
- snd_seq_queue_skew_t skew; /**< queue skew */
- unsigned int d32[2]; /**< any data */
- unsigned char d8[8]; /**< any data */
- } param; /**< data value union */
-} snd_seq_ev_queue_control_t;
-
-
-/** Sequencer event */
-typedef struct snd_seq_event {
- snd_seq_event_type_t type; /**< event type */
- unsigned char flags; /**< event flags */
- unsigned char tag; /**< tag */
-
- unsigned char queue; /**< schedule queue */
- snd_seq_timestamp_t time; /**< schedule time */
-
- snd_seq_addr_t source; /**< source address */
- snd_seq_addr_t dest; /**< destination address */
-
- union {
- snd_seq_ev_note_t note; /**< note information */
- snd_seq_ev_ctrl_t control; /**< MIDI control information */
- snd_seq_ev_raw8_t raw8; /**< raw8 data */
- snd_seq_ev_raw32_t raw32; /**< raw32 data */
- snd_seq_ev_ext_t ext; /**< external data */
- snd_seq_ev_queue_control_t queue; /**< queue control */
- snd_seq_timestamp_t time; /**< timestamp */
- snd_seq_addr_t addr; /**< address */
- snd_seq_connect_t connect; /**< connect information */
- snd_seq_result_t result; /**< operation result code */
- } data; /**< event data... */
-} snd_seq_event_t;
-
-
-/** \} */
-
-#endif /* __ALSA_SEQ_EVENT_H */
-
diff --git a/alsa-lib/include/seq_midi_event.h b/alsa-lib/include/seq_midi_event.h
deleted file mode 100644
index 9b8ee59..0000000
--- a/alsa-lib/include/seq_midi_event.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/**
- * \file include/seq_midi_event.h
- * \brief Application interface library for the ALSA driver
- * \author Jaroslav Kysela <perex@perex.cz>
- * \author Abramo Bagnara <abramo@alsa-project.org>
- * \author Takashi Iwai <tiwai@suse.de>
- * \date 1998-2001
- *
- * Application interface library for the ALSA driver
- */
-/*
- * This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#ifndef __ALSA_SEQ_MIDI_EVENT_H
-#define __ALSA_SEQ_MIDI_EVENT_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * \defgroup MIDI_Event Sequencer event <-> MIDI byte stream coder
- * \ingroup Sequencer
- * Sequencer event <-> MIDI byte stream coder
- * \{
- */
-
-/** container for sequencer midi event parsers */
-typedef struct snd_midi_event snd_midi_event_t;
-
-int snd_midi_event_new(size_t bufsize, snd_midi_event_t **rdev);
-int snd_midi_event_resize_buffer(snd_midi_event_t *dev, size_t bufsize);
-void snd_midi_event_free(snd_midi_event_t *dev);
-void snd_midi_event_init(snd_midi_event_t *dev);
-void snd_midi_event_reset_encode(snd_midi_event_t *dev);
-void snd_midi_event_reset_decode(snd_midi_event_t *dev);
-void snd_midi_event_no_status(snd_midi_event_t *dev, int on);
-/* encode from byte stream - return number of written bytes if success */
-long snd_midi_event_encode(snd_midi_event_t *dev, const unsigned char *buf, long count, snd_seq_event_t *ev);
-int snd_midi_event_encode_byte(snd_midi_event_t *dev, int c, snd_seq_event_t *ev);
-/* decode from event to bytes - return number of written bytes if success */
-long snd_midi_event_decode(snd_midi_event_t *dev, unsigned char *buf, long count, const snd_seq_event_t *ev);
-
-/** \} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __ALSA_SEQ_MIDI_EVENT_H */
-
diff --git a/alsa-lib/include/seqmid.h b/alsa-lib/include/seqmid.h
deleted file mode 100644
index 68069b2..0000000
--- a/alsa-lib/include/seqmid.h
+++ /dev/null
@@ -1,490 +0,0 @@
-/**
- * \file include/seqmid.h
- * \brief Application interface library for the ALSA driver
- * \author Jaroslav Kysela <perex@perex.cz>
- * \author Abramo Bagnara <abramo@alsa-project.org>
- * \author Takashi Iwai <tiwai@suse.de>
- * \date 1998-2001
- *
- * Application interface library for the ALSA driver
- */
-/*
- * This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#ifndef __ALSA_SEQMID_H
-#define __ALSA_SEQMID_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * \defgroup SeqMiddle Sequencer Middle Level Interface
- * Sequencer Middle Level Interface
- * \ingroup Sequencer
- * \{
- */
-
-/**
- * \brief initialize event record
- * \param ev event record pointer
- *
- * This macro clears the given event record pointer to the default status.
- */
-#define snd_seq_ev_clear(ev) \
- memset(ev, 0, sizeof(snd_seq_event_t))
-
-/**
- * \brief set the tag for given event
- * \param ev event record
- * \param t event tag
- *
- * This macro sets the tag to the given event record.
- */
-#define snd_seq_ev_set_tag(ev,t) \
- ((ev)->tag = (t))
-
-/**
- * \brief set the explicit destination
- * \param ev event record
- * \param c destination client id
- * \param p destination port id
- *
- * This macro sets the client and port id numbers to the given event record.
- *
- * \sa snd_seq_ev_set_subs()
- */
-#define snd_seq_ev_set_dest(ev,c,p) \
- ((ev)->dest.client = (c), (ev)->dest.port = (p))
-
-/**
- * \brief set broadcasting to subscribers
- * \param ev event record
- *
- * This macro sets the destination as the subscribers.
- *
- * \sa snd_seq_ev_set_dest()
- */
-#define snd_seq_ev_set_subs(ev) \
- ((ev)->dest.client = SND_SEQ_ADDRESS_SUBSCRIBERS,\
- (ev)->dest.port = SND_SEQ_ADDRESS_UNKNOWN)
-
-/**
- * \brief set broadcasting to all clients/ports
- * \param ev event record
- *
- * This macro sets the destination as the broadcasting.
- *
- * \sa snd_seq_ev_set_dest()
- */
-#define snd_seq_ev_set_broadcast(ev) \
- ((ev)->dest.client = SND_SEQ_ADDRESS_BROADCAST,\
- (ev)->dest.port = SND_SEQ_ADDRESS_BROADCAST)
-
-/**
- * \brief set the source port
- * \param ev event record
- * \param p source port id
- *
- * This macro sets the source port id number.
- */
-#define snd_seq_ev_set_source(ev,p) \
- ((ev)->source.port = (p))
-
-/**
- * \brief set direct passing mode (without queued)
- * \param ev event instance
- *
- * This macro sets the event to the direct passing mode
- * to be delivered immediately without queueing.
- *
- * \sa snd_seq_ev_schedule_tick(), snd_seq_ev_schedule_real()
- */
-#define snd_seq_ev_set_direct(ev) \
- ((ev)->queue = SND_SEQ_QUEUE_DIRECT)
-
-/**
- * \brief set tick-scheduling mode on queue
- * \param ev event instance
- * \param q queue id to schedule
- * \param relative relative time-stamp if non-zero
- * \param ttick tick time-stamp to be delivered
- *
- * This macro sets the scheduling of the event in the
- * MIDI tick mode.
- *
- * \sa snd_seq_ev_schedule_real(), snd_seq_ev_set_direct()
- */
-#define snd_seq_ev_schedule_tick(ev, q, relative, ttick) \
- ((ev)->flags &= ~(SND_SEQ_TIME_STAMP_MASK | SND_SEQ_TIME_MODE_MASK),\
- (ev)->flags |= SND_SEQ_TIME_STAMP_TICK,\
- (ev)->flags |= (relative) ? SND_SEQ_TIME_MODE_REL : SND_SEQ_TIME_MODE_ABS,\
- (ev)->time.tick = (ttick),\
- (ev)->queue = (q))
-
-/**
- * \brief set real-time-scheduling mode on queue
- * \param ev event instance
- * \param q queue id to schedule
- * \param relative relative time-stamp if non-zero
- * \param rtime time-stamp to be delivered
- *
- * This macro sets the scheduling of the event in the
- * realtime mode.
- *
- * \sa snd_seq_ev_schedule_tick(), snd_seq_ev_set_direct()
- */
-#define snd_seq_ev_schedule_real(ev, q, relative, rtime) \
- ((ev)->flags &= ~(SND_SEQ_TIME_STAMP_MASK | SND_SEQ_TIME_MODE_MASK),\
- (ev)->flags |= SND_SEQ_TIME_STAMP_REAL,\
- (ev)->flags |= (relative) ? SND_SEQ_TIME_MODE_REL : SND_SEQ_TIME_MODE_ABS,\
- (ev)->time.time = *(rtime),\
- (ev)->queue = (q))
-
-/**
- * \brief set event priority
- * \param ev event instance
- * \param high_prior 1 for high priority mode
- */
-#define snd_seq_ev_set_priority(ev, high_prior) \
- ((ev)->flags &= ~SND_SEQ_PRIORITY_MASK,\
- (ev)->flags |= (high_prior) ? SND_SEQ_PRIORITY_HIGH : SND_SEQ_PRIORITY_NORMAL)
-
-/**
- * \brief set fixed data
- * \param ev event instance
- *
- * Sets the event length mode as fixed size.
- *
- * \sa snd_seq_ev_set_variable(), snd_seq_ev_set_varusr()
- */
-#define snd_seq_ev_set_fixed(ev) \
- ((ev)->flags &= ~SND_SEQ_EVENT_LENGTH_MASK,\
- (ev)->flags |= SND_SEQ_EVENT_LENGTH_FIXED)
-
-/**
- * \brief set variable data
- * \param ev event instance
- * \param datalen length of the external data
- * \param dataptr pointer of the external data
- *
- * Sets the event length mode as variable length and stores the data.
- *
- * \sa snd_seq_ev_set_fixed(), snd_seq_ev_set_varusr()
- */
-#define snd_seq_ev_set_variable(ev, datalen, dataptr) \
- ((ev)->flags &= ~SND_SEQ_EVENT_LENGTH_MASK,\
- (ev)->flags |= SND_SEQ_EVENT_LENGTH_VARIABLE,\
- (ev)->data.ext.len = (datalen),\
- (ev)->data.ext.ptr = (dataptr))
-
-/**
- * \brief set varusr data
- * \param ev event instance
- * \param datalen length of the external data
- * \param dataptr pointer of the external data
- *
- * Sets the event length mode as variable user-space data and stores the data.
- *
- * \sa snd_seq_ev_set_fixed(), snd_seq_ev_set_variable()
- */
-#define snd_seq_ev_set_varusr(ev, datalen, dataptr) \
- ((ev)->flags &= ~SND_SEQ_EVENT_LENGTH_MASK,\
- (ev)->flags |= SND_SEQ_EVENT_LENGTH_VARUSR,\
- (ev)->data.ext.len = (datalen),\
- (ev)->data.ext.ptr = (dataptr))
-
-/**
- * \brief set queue controls
- * \param ev event record
- * \param typ event type
- * \param q queue id
- * \param val control value
- */
-#define snd_seq_ev_set_queue_control(ev, typ, q, val) \
- ((ev)->type = (typ),\
- snd_seq_ev_set_dest(ev, SND_SEQ_CLIENT_SYSTEM, SND_SEQ_PORT_SYSTEM_TIMER),\
- (ev)->data.queue.queue = (q),\
- (ev)->data.queue.param.value = (val))
-
-/**
- * \brief set the start queue event
- * \param ev event record
- * \param q queue id to start
- *
- * \sa snd_seq_ev_set_queue_stop(), snd_seq_ev_set_queue_continue()
- */
-#define snd_seq_ev_set_queue_start(ev, q) \
- snd_seq_ev_set_queue_control(ev, SND_SEQ_EVENT_START, q, 0)
-
-/**
- * \brief set the stop queue event
- * \param ev event record
- * \param q queue id to stop
- *
- * \sa snd_seq_ev_set_queue_start(), snd_seq_ev_set_queue_continue()
- */
-#define snd_seq_ev_set_queue_stop(ev, q) \
- snd_seq_ev_set_queue_control(ev, SND_SEQ_EVENT_STOP, q, 0)
-
-/**
- * \brief set the stop queue event
- * \param ev event record
- * \param q queue id to continue
- *
- * \sa snd_seq_ev_set_queue_start(), snd_seq_ev_set_queue_stop()
- */
-#define snd_seq_ev_set_queue_continue(ev, q) \
- snd_seq_ev_set_queue_control(ev, SND_SEQ_EVENT_CONTINUE, q, 0)
-
-/**
- * \brief set the stop queue event
- * \param ev event record
- * \param q queue id to change tempo
- * \param val the new tempo value
- */
-#define snd_seq_ev_set_queue_tempo(ev, q, val) \
- snd_seq_ev_set_queue_control(ev, SND_SEQ_EVENT_TEMPO, q, val)
-
-/**
- * \brief set the real-time position of a queue
- * \param ev event record
- * \param q queue id to change tempo
- * \param rtime the new real-time pointer
- */
-#define snd_seq_ev_set_queue_pos_real(ev, q, rtime) \
- ((ev)->type = SND_SEQ_EVENT_SETPOS_TIME,\
- snd_seq_ev_set_dest(ev, SND_SEQ_CLIENT_SYSTEM, SND_SEQ_PORT_SYSTEM_TIMER),\
- (ev)->data.queue.queue = (q),\
- (ev)->data.queue.param.time.time = *(rtime))
-
-/**
- * \brief set the tick-time position of a queue
- * \param ev event record
- * \param q queue id to change tempo
- * \param ttime the new tick-time
- */
-#define snd_seq_ev_set_queue_pos_tick(ev, q, ttime) \
- ((ev)->type = SND_SEQ_EVENT_SETPOS_TICK,\
- snd_seq_ev_set_dest(ev, SND_SEQ_CLIENT_SYSTEM, SND_SEQ_PORT_SYSTEM_TIMER),\
- (ev)->data.queue.queue = (q),\
- (ev)->data.queue.param.time.tick = (ttime))
-
-/* set and send a queue control event */
-int snd_seq_control_queue(snd_seq_t *seq, int q, int type, int value, snd_seq_event_t *ev);
-
-/**
- * \brief start the specified queue
- * \param seq sequencer handle
- * \param q queue id to start
- * \param ev optional event record (see #snd_seq_control_queue)
- */
-#define snd_seq_start_queue(seq, q, ev) \
- snd_seq_control_queue(seq, q, SND_SEQ_EVENT_START, 0, ev)
-
-/**
- * \brief stop the specified queue
- * \param seq sequencer handle
- * \param q queue id to stop
- * \param ev optional event record (see #snd_seq_control_queue)
- */
-#define snd_seq_stop_queue(seq, q, ev) \
- snd_seq_control_queue(seq, q, SND_SEQ_EVENT_STOP, 0, ev)
-
-/**
- * \brief continue the specified queue
- * \param seq sequencer handle
- * \param q queue id to continue
- * \param ev optional event record (see #snd_seq_control_queue)
- */
-#define snd_seq_continue_queue(seq, q, ev) \
- snd_seq_control_queue(seq, q, SND_SEQ_EVENT_CONTINUE, 0, ev)
-
-/**
- * \brief change the tempo of the specified queue
- * \param seq sequencer handle
- * \param q queue id
- * \param tempo the new tempo value
- * \param ev optional event record (see #snd_seq_control_queue)
- */
-#define snd_seq_change_queue_tempo(seq, q, tempo, ev) \
- snd_seq_control_queue(seq, q, SND_SEQ_EVENT_TEMPO, tempo, ev)
-
-/* create a port - simple version - return the port number */
-int snd_seq_create_simple_port(snd_seq_t *seq, const char *name,
- unsigned int caps, unsigned int type);
-/* delete the port */
-int snd_seq_delete_simple_port(snd_seq_t *seq, int port);
-
-/* simple subscription between this port and another port
- (w/o exclusive & time conversion)
- */
-int snd_seq_connect_from(snd_seq_t *seq, int my_port, int src_client, int src_port);
-int snd_seq_connect_to(snd_seq_t *seq, int my_port, int dest_client, int dest_port);
-int snd_seq_disconnect_from(snd_seq_t *seq, int my_port, int src_client, int src_port);
-int snd_seq_disconnect_to(snd_seq_t *seq, int my_port, int dest_client, int dest_port);
-
-/*
- * set client information
- */
-int snd_seq_set_client_name(snd_seq_t *seq, const char *name);
-int snd_seq_set_client_event_filter(snd_seq_t *seq, int event_type);
-int snd_seq_set_client_pool_output(snd_seq_t *seq, size_t size);
-int snd_seq_set_client_pool_output_room(snd_seq_t *seq, size_t size);
-int snd_seq_set_client_pool_input(snd_seq_t *seq, size_t size);
-/* sync output queue */
-int snd_seq_sync_output_queue(snd_seq_t *seq);
-
-/*
- * parse the given string and get the sequencer address
- */
-int snd_seq_parse_address(snd_seq_t *seq, snd_seq_addr_t *addr, const char *str);
-
-/*
- * reset client input/output pool
- */
-int snd_seq_reset_pool_output(snd_seq_t *seq);
-int snd_seq_reset_pool_input(snd_seq_t *seq);
-
-/**
- * \brief set note event
- * \param ev event record
- * \param ch channel number
- * \param key note key
- * \param vel velocity
- * \param dur duration (in tick or msec)
- */
-#define snd_seq_ev_set_note(ev, ch, key, vel, dur) \
- ((ev)->type = SND_SEQ_EVENT_NOTE,\
- snd_seq_ev_set_fixed(ev),\
- (ev)->data.note.channel = (ch),\
- (ev)->data.note.note = (key),\
- (ev)->data.note.velocity = (vel),\
- (ev)->data.note.duration = (dur))
-
-/**
- * \brief set note-on event
- * \param ev event record
- * \param ch channel number
- * \param key note key
- * \param vel velocity
- */
-#define snd_seq_ev_set_noteon(ev, ch, key, vel) \
- ((ev)->type = SND_SEQ_EVENT_NOTEON,\
- snd_seq_ev_set_fixed(ev),\
- (ev)->data.note.channel = (ch),\
- (ev)->data.note.note = (key),\
- (ev)->data.note.velocity = (vel))
-
-/**
- * \brief set note-off event
- * \param ev event record
- * \param ch channel number
- * \param key note key
- * \param vel velocity
- */
-#define snd_seq_ev_set_noteoff(ev, ch, key, vel) \
- ((ev)->type = SND_SEQ_EVENT_NOTEOFF,\
- snd_seq_ev_set_fixed(ev),\
- (ev)->data.note.channel = (ch),\
- (ev)->data.note.note = (key),\
- (ev)->data.note.velocity = (vel))
-
-/**
- * \brief set key-pressure event
- * \param ev event record
- * \param ch channel number
- * \param key note key
- * \param vel velocity
- */
-#define snd_seq_ev_set_keypress(ev,ch,key,vel) \
- ((ev)->type = SND_SEQ_EVENT_KEYPRESS,\
- snd_seq_ev_set_fixed(ev),\
- (ev)->data.note.channel = (ch),\
- (ev)->data.note.note = (key),\
- (ev)->data.note.velocity = (vel))
-
-/**
- * \brief set MIDI controller event
- * \param ev event record
- * \param ch channel number
- * \param cc controller number
- * \param val control value
- */
-#define snd_seq_ev_set_controller(ev,ch,cc,val) \
- ((ev)->type = SND_SEQ_EVENT_CONTROLLER,\
- snd_seq_ev_set_fixed(ev),\
- (ev)->data.control.channel = (ch),\
- (ev)->data.control.param = (cc),\
- (ev)->data.control.value = (val))
-
-/**
- * \brief set program change event
- * \param ev event record
- * \param ch channel number
- * \param val program number
- */
-#define snd_seq_ev_set_pgmchange(ev,ch,val) \
- ((ev)->type = SND_SEQ_EVENT_PGMCHANGE,\
- snd_seq_ev_set_fixed(ev),\
- (ev)->data.control.channel = (ch),\
- (ev)->data.control.value = (val))
-
-/**
- * \brief set pitch-bend event
- * \param ev event record
- * \param ch channel number
- * \param val pitch bend; zero centered from -8192 to 8191
- */
-#define snd_seq_ev_set_pitchbend(ev,ch,val) \
- ((ev)->type = SND_SEQ_EVENT_PITCHBEND,\
- snd_seq_ev_set_fixed(ev),\
- (ev)->data.control.channel = (ch),\
- (ev)->data.control.value = (val))
-
-/**
- * \brief set channel pressure event
- * \param ev event record
- * \param ch channel number
- * \param val channel pressure value
- */
-#define snd_seq_ev_set_chanpress(ev,ch,val) \
- ((ev)->type = SND_SEQ_EVENT_CHANPRESS,\
- snd_seq_ev_set_fixed(ev),\
- (ev)->data.control.channel = (ch),\
- (ev)->data.control.value = (val))
-
-/**
- * \brief set sysex event
- * \param ev event record
- * \param datalen length of sysex data
- * \param dataptr sysex data pointer
- *
- * the sysex data must contain the start byte 0xf0 and the end byte 0xf7.
- */
-#define snd_seq_ev_set_sysex(ev,datalen,dataptr) \
- ((ev)->type = SND_SEQ_EVENT_SYSEX,\
- snd_seq_ev_set_variable(ev, datalen, dataptr))
-
-/** \} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __ALSA_SEQMID_H */
-
diff --git a/alsa-lib/include/sound/Makefile.am b/alsa-lib/include/sound/Makefile.am
deleted file mode 100644
index 67d4447..0000000
--- a/alsa-lib/include/sound/Makefile.am
+++ /dev/null
@@ -1,6 +0,0 @@
-alsasoundincludedir = ${includedir}/alsa/sound
-
-alsasoundinclude_HEADERS = asound_fm.h hdsp.h sb16_csp.h sscape_ioctl.h emu10k1.h \
- type_compat.h
-
-noinst_HEADERS = asound.h asoundef.h asequencer.h
diff --git a/alsa-lib/include/sound/Makefile.in b/alsa-lib/include/sound/Makefile.in
deleted file mode 100644
index 12a0c5d..0000000
--- a/alsa-lib/include/sound/Makefile.in
+++ /dev/null
@@ -1,497 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = include/sound
-DIST_COMMON = $(alsasoundinclude_HEADERS) $(noinst_HEADERS) \
- $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
- $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/include/config.h
-CONFIG_CLEAN_FILES =
-SOURCES =
-DIST_SOURCES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
-am__installdirs = "$(DESTDIR)$(alsasoundincludedir)"
-alsasoundincludeHEADERS_INSTALL = $(INSTALL_HEADER)
-HEADERS = $(alsasoundinclude_HEADERS) $(noinst_HEADERS)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ALSA_CONFIG_DIR = @ALSA_CONFIG_DIR@
-ALSA_DEPLIBS = @ALSA_DEPLIBS@
-ALSA_HSEARCH_R_FALSE = @ALSA_HSEARCH_R_FALSE@
-ALSA_HSEARCH_R_TRUE = @ALSA_HSEARCH_R_TRUE@
-ALSA_PLUGIN_DIR = @ALSA_PLUGIN_DIR@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BUILD_ALISP_FALSE = @BUILD_ALISP_FALSE@
-BUILD_ALISP_TRUE = @BUILD_ALISP_TRUE@
-BUILD_CTL_PLUGIN_EXT_FALSE = @BUILD_CTL_PLUGIN_EXT_FALSE@
-BUILD_CTL_PLUGIN_EXT_TRUE = @BUILD_CTL_PLUGIN_EXT_TRUE@
-BUILD_CTL_PLUGIN_FALSE = @BUILD_CTL_PLUGIN_FALSE@
-BUILD_CTL_PLUGIN_SHM_FALSE = @BUILD_CTL_PLUGIN_SHM_FALSE@
-BUILD_CTL_PLUGIN_SHM_TRUE = @BUILD_CTL_PLUGIN_SHM_TRUE@
-BUILD_CTL_PLUGIN_TRUE = @BUILD_CTL_PLUGIN_TRUE@
-BUILD_HWDEP_FALSE = @BUILD_HWDEP_FALSE@
-BUILD_HWDEP_TRUE = @BUILD_HWDEP_TRUE@
-BUILD_MIXER_FALSE = @BUILD_MIXER_FALSE@
-BUILD_MIXER_TRUE = @BUILD_MIXER_TRUE@
-BUILD_MODULES_FALSE = @BUILD_MODULES_FALSE@
-BUILD_MODULES_TRUE = @BUILD_MODULES_TRUE@
-BUILD_PCM_FALSE = @BUILD_PCM_FALSE@
-BUILD_PCM_PLUGIN_ADPCM_FALSE = @BUILD_PCM_PLUGIN_ADPCM_FALSE@
-BUILD_PCM_PLUGIN_ADPCM_TRUE = @BUILD_PCM_PLUGIN_ADPCM_TRUE@
-BUILD_PCM_PLUGIN_ALAW_FALSE = @BUILD_PCM_PLUGIN_ALAW_FALSE@
-BUILD_PCM_PLUGIN_ALAW_TRUE = @BUILD_PCM_PLUGIN_ALAW_TRUE@
-BUILD_PCM_PLUGIN_ASYM_FALSE = @BUILD_PCM_PLUGIN_ASYM_FALSE@
-BUILD_PCM_PLUGIN_ASYM_TRUE = @BUILD_PCM_PLUGIN_ASYM_TRUE@
-BUILD_PCM_PLUGIN_COPY_FALSE = @BUILD_PCM_PLUGIN_COPY_FALSE@
-BUILD_PCM_PLUGIN_COPY_TRUE = @BUILD_PCM_PLUGIN_COPY_TRUE@
-BUILD_PCM_PLUGIN_DMIX_FALSE = @BUILD_PCM_PLUGIN_DMIX_FALSE@
-BUILD_PCM_PLUGIN_DMIX_TRUE = @BUILD_PCM_PLUGIN_DMIX_TRUE@
-BUILD_PCM_PLUGIN_DSHARE_FALSE = @BUILD_PCM_PLUGIN_DSHARE_FALSE@
-BUILD_PCM_PLUGIN_DSHARE_TRUE = @BUILD_PCM_PLUGIN_DSHARE_TRUE@
-BUILD_PCM_PLUGIN_DSNOOP_FALSE = @BUILD_PCM_PLUGIN_DSNOOP_FALSE@
-BUILD_PCM_PLUGIN_DSNOOP_TRUE = @BUILD_PCM_PLUGIN_DSNOOP_TRUE@
-BUILD_PCM_PLUGIN_EMPTY_FALSE = @BUILD_PCM_PLUGIN_EMPTY_FALSE@
-BUILD_PCM_PLUGIN_EMPTY_TRUE = @BUILD_PCM_PLUGIN_EMPTY_TRUE@
-BUILD_PCM_PLUGIN_EXTPLUG_FALSE = @BUILD_PCM_PLUGIN_EXTPLUG_FALSE@
-BUILD_PCM_PLUGIN_EXTPLUG_TRUE = @BUILD_PCM_PLUGIN_EXTPLUG_TRUE@
-BUILD_PCM_PLUGIN_FALSE = @BUILD_PCM_PLUGIN_FALSE@
-BUILD_PCM_PLUGIN_FILE_FALSE = @BUILD_PCM_PLUGIN_FILE_FALSE@
-BUILD_PCM_PLUGIN_FILE_TRUE = @BUILD_PCM_PLUGIN_FILE_TRUE@
-BUILD_PCM_PLUGIN_HOOKS_FALSE = @BUILD_PCM_PLUGIN_HOOKS_FALSE@
-BUILD_PCM_PLUGIN_HOOKS_TRUE = @BUILD_PCM_PLUGIN_HOOKS_TRUE@
-BUILD_PCM_PLUGIN_IEC958_FALSE = @BUILD_PCM_PLUGIN_IEC958_FALSE@
-BUILD_PCM_PLUGIN_IEC958_TRUE = @BUILD_PCM_PLUGIN_IEC958_TRUE@
-BUILD_PCM_PLUGIN_IOPLUG_FALSE = @BUILD_PCM_PLUGIN_IOPLUG_FALSE@
-BUILD_PCM_PLUGIN_IOPLUG_TRUE = @BUILD_PCM_PLUGIN_IOPLUG_TRUE@
-BUILD_PCM_PLUGIN_LADSPA_FALSE = @BUILD_PCM_PLUGIN_LADSPA_FALSE@
-BUILD_PCM_PLUGIN_LADSPA_TRUE = @BUILD_PCM_PLUGIN_LADSPA_TRUE@
-BUILD_PCM_PLUGIN_LFLOAT_FALSE = @BUILD_PCM_PLUGIN_LFLOAT_FALSE@
-BUILD_PCM_PLUGIN_LFLOAT_TRUE = @BUILD_PCM_PLUGIN_LFLOAT_TRUE@
-BUILD_PCM_PLUGIN_LINEAR_FALSE = @BUILD_PCM_PLUGIN_LINEAR_FALSE@
-BUILD_PCM_PLUGIN_LINEAR_TRUE = @BUILD_PCM_PLUGIN_LINEAR_TRUE@
-BUILD_PCM_PLUGIN_METER_FALSE = @BUILD_PCM_PLUGIN_METER_FALSE@
-BUILD_PCM_PLUGIN_METER_TRUE = @BUILD_PCM_PLUGIN_METER_TRUE@
-BUILD_PCM_PLUGIN_MMAP_EMUL_FALSE = @BUILD_PCM_PLUGIN_MMAP_EMUL_FALSE@
-BUILD_PCM_PLUGIN_MMAP_EMUL_TRUE = @BUILD_PCM_PLUGIN_MMAP_EMUL_TRUE@
-BUILD_PCM_PLUGIN_MULAW_FALSE = @BUILD_PCM_PLUGIN_MULAW_FALSE@
-BUILD_PCM_PLUGIN_MULAW_TRUE = @BUILD_PCM_PLUGIN_MULAW_TRUE@
-BUILD_PCM_PLUGIN_MULTI_FALSE = @BUILD_PCM_PLUGIN_MULTI_FALSE@
-BUILD_PCM_PLUGIN_MULTI_TRUE = @BUILD_PCM_PLUGIN_MULTI_TRUE@
-BUILD_PCM_PLUGIN_NULL_FALSE = @BUILD_PCM_PLUGIN_NULL_FALSE@
-BUILD_PCM_PLUGIN_NULL_TRUE = @BUILD_PCM_PLUGIN_NULL_TRUE@
-BUILD_PCM_PLUGIN_PLUG_FALSE = @BUILD_PCM_PLUGIN_PLUG_FALSE@
-BUILD_PCM_PLUGIN_PLUG_TRUE = @BUILD_PCM_PLUGIN_PLUG_TRUE@
-BUILD_PCM_PLUGIN_RATE_FALSE = @BUILD_PCM_PLUGIN_RATE_FALSE@
-BUILD_PCM_PLUGIN_RATE_TRUE = @BUILD_PCM_PLUGIN_RATE_TRUE@
-BUILD_PCM_PLUGIN_ROUTE_FALSE = @BUILD_PCM_PLUGIN_ROUTE_FALSE@
-BUILD_PCM_PLUGIN_ROUTE_TRUE = @BUILD_PCM_PLUGIN_ROUTE_TRUE@
-BUILD_PCM_PLUGIN_SHARE_FALSE = @BUILD_PCM_PLUGIN_SHARE_FALSE@
-BUILD_PCM_PLUGIN_SHARE_TRUE = @BUILD_PCM_PLUGIN_SHARE_TRUE@
-BUILD_PCM_PLUGIN_SHM_FALSE = @BUILD_PCM_PLUGIN_SHM_FALSE@
-BUILD_PCM_PLUGIN_SHM_TRUE = @BUILD_PCM_PLUGIN_SHM_TRUE@
-BUILD_PCM_PLUGIN_SOFTVOL_FALSE = @BUILD_PCM_PLUGIN_SOFTVOL_FALSE@
-BUILD_PCM_PLUGIN_SOFTVOL_TRUE = @BUILD_PCM_PLUGIN_SOFTVOL_TRUE@
-BUILD_PCM_PLUGIN_TRUE = @BUILD_PCM_PLUGIN_TRUE@
-BUILD_PCM_TRUE = @BUILD_PCM_TRUE@
-BUILD_PYTHON_FALSE = @BUILD_PYTHON_FALSE@
-BUILD_PYTHON_TRUE = @BUILD_PYTHON_TRUE@
-BUILD_RAWMIDI_FALSE = @BUILD_RAWMIDI_FALSE@
-BUILD_RAWMIDI_TRUE = @BUILD_RAWMIDI_TRUE@
-BUILD_SEQ_FALSE = @BUILD_SEQ_FALSE@
-BUILD_SEQ_TRUE = @BUILD_SEQ_TRUE@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-GREP = @GREP@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_M4_FALSE = @INSTALL_M4_FALSE@
-INSTALL_M4_TRUE = @INSTALL_M4_TRUE@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-KEEP_OLD_SYMBOLS_FALSE = @KEEP_OLD_SYMBOLS_FALSE@
-KEEP_OLD_SYMBOLS_TRUE = @KEEP_OLD_SYMBOLS_TRUE@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIBTOOL_VERSION_INFO = @LIBTOOL_VERSION_INFO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PYTHON_INCLUDES = @PYTHON_INCLUDES@
-PYTHON_LIBS = @PYTHON_LIBS@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SND_LIB_EXTRAVER = @SND_LIB_EXTRAVER@
-SND_LIB_MAJOR = @SND_LIB_MAJOR@
-SND_LIB_MINOR = @SND_LIB_MINOR@
-SND_LIB_SUBMINOR = @SND_LIB_SUBMINOR@
-SND_LIB_VERSION = @SND_LIB_VERSION@
-STRIP = @STRIP@
-SYMBOLIC_FUNCTIONS_FALSE = @SYMBOLIC_FUNCTIONS_FALSE@
-SYMBOLIC_FUNCTIONS_TRUE = @SYMBOLIC_FUNCTIONS_TRUE@
-SYMBOL_PREFIX = @SYMBOL_PREFIX@
-VERSION = @VERSION@
-VERSIONED_SYMBOLS_FALSE = @VERSIONED_SYMBOLS_FALSE@
-VERSIONED_SYMBOLS_TRUE = @VERSIONED_SYMBOLS_TRUE@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-alsasoundincludedir = ${includedir}/alsa/sound
-alsasoundinclude_HEADERS = asound_fm.h hdsp.h sb16_csp.h sscape_ioctl.h emu10k1.h \
- type_compat.h
-
-noinst_HEADERS = asound.h asoundef.h asequencer.h
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign include/sound/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign include/sound/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-install-alsasoundincludeHEADERS: $(alsasoundinclude_HEADERS)
- @$(NORMAL_INSTALL)
- test -z "$(alsasoundincludedir)" || $(mkdir_p) "$(DESTDIR)$(alsasoundincludedir)"
- @list='$(alsasoundinclude_HEADERS)'; for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(alsasoundincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(alsasoundincludedir)/$$f'"; \
- $(alsasoundincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(alsasoundincludedir)/$$f"; \
- done
-
-uninstall-alsasoundincludeHEADERS:
- @$(NORMAL_UNINSTALL)
- @list='$(alsasoundinclude_HEADERS)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(alsasoundincludedir)/$$f'"; \
- rm -f "$(DESTDIR)$(alsasoundincludedir)/$$f"; \
- done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(HEADERS)
-installdirs:
- for dir in "$(DESTDIR)$(alsasoundincludedir)"; do \
- test -z "$$dir" || $(mkdir_p) "$$dir"; \
- done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am: install-alsasoundincludeHEADERS
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-alsasoundincludeHEADERS uninstall-info-am
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool ctags distclean distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-alsasoundincludeHEADERS \
- install-am install-data install-data-am install-exec \
- install-exec-am install-info install-info-am install-man \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-alsasoundincludeHEADERS uninstall-am \
- uninstall-info-am
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/alsa-lib/include/sound/asequencer.h b/alsa-lib/include/sound/asequencer.h
deleted file mode 100644
index 6d14fb1..0000000
--- a/alsa-lib/include/sound/asequencer.h
+++ /dev/null
@@ -1,678 +0,0 @@
-/*
- * Main header file for the ALSA sequencer
- * Copyright (c) 1998-1999 by Frank van de Pol <fvdpol@coil.demon.nl>
- * (c) 1998-1999 by Jaroslav Kysela <perex@perex.cz>
- *
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-#ifndef __SOUND_ASEQUENCER_H
-#define __SOUND_ASEQUENCER_H
-
-#ifdef __KERNEL__
-#include <linux/ioctl.h>
-#endif
-
-#include <sound/asound.h>
-
-/** version of the sequencer */
-#define SNDRV_SEQ_VERSION SNDRV_PROTOCOL_VERSION (1, 0, 1)
-
-#ifdef __KERNEL__
-/**
- * definition of sequencer event types
- */
-
-/** system messages
- * event data type = #sndrv_seq_result_t
- */
-#define SNDRV_SEQ_EVENT_SYSTEM 0
-#define SNDRV_SEQ_EVENT_RESULT 1
-
-/** note messages (channel specific)
- * event data type = #sndrv_seq_ev_note
- */
-#define SNDRV_SEQ_EVENT_NOTE 5
-#define SNDRV_SEQ_EVENT_NOTEON 6
-#define SNDRV_SEQ_EVENT_NOTEOFF 7
-#define SNDRV_SEQ_EVENT_KEYPRESS 8
-
-/** control messages (channel specific)
- * event data type = #sndrv_seq_ev_ctrl
- */
-#define SNDRV_SEQ_EVENT_CONTROLLER 10
-#define SNDRV_SEQ_EVENT_PGMCHANGE 11
-#define SNDRV_SEQ_EVENT_CHANPRESS 12
-#define SNDRV_SEQ_EVENT_PITCHBEND 13 /**< from -8192 to 8191 */
-#define SNDRV_SEQ_EVENT_CONTROL14 14 /**< 14 bit controller value */
-#define SNDRV_SEQ_EVENT_NONREGPARAM 15 /**< 14 bit NRPN address + 14 bit unsigned value */
-#define SNDRV_SEQ_EVENT_REGPARAM 16 /**< 14 bit RPN address + 14 bit unsigned value */
-
-/** synchronisation messages
- * event data type = #sndrv_seq_ev_ctrl
- */
-#define SNDRV_SEQ_EVENT_SONGPOS 20 /* Song Position Pointer with LSB and MSB values */
-#define SNDRV_SEQ_EVENT_SONGSEL 21 /* Song Select with song ID number */
-#define SNDRV_SEQ_EVENT_QFRAME 22 /* midi time code quarter frame */
-#define SNDRV_SEQ_EVENT_TIMESIGN 23 /* SMF Time Signature event */
-#define SNDRV_SEQ_EVENT_KEYSIGN 24 /* SMF Key Signature event */
-
-/** timer messages
- * event data type = sndrv_seq_ev_queue_control_t
- */
-#define SNDRV_SEQ_EVENT_START 30 /* midi Real Time Start message */
-#define SNDRV_SEQ_EVENT_CONTINUE 31 /* midi Real Time Continue message */
-#define SNDRV_SEQ_EVENT_STOP 32 /* midi Real Time Stop message */
-#define SNDRV_SEQ_EVENT_SETPOS_TICK 33 /* set tick queue position */
-#define SNDRV_SEQ_EVENT_SETPOS_TIME 34 /* set realtime queue position */
-#define SNDRV_SEQ_EVENT_TEMPO 35 /* (SMF) Tempo event */
-#define SNDRV_SEQ_EVENT_CLOCK 36 /* midi Real Time Clock message */
-#define SNDRV_SEQ_EVENT_TICK 37 /* midi Real Time Tick message */
-#define SNDRV_SEQ_EVENT_QUEUE_SKEW 38 /* skew queue tempo */
-
-/** others
- * event data type = none
- */
-#define SNDRV_SEQ_EVENT_TUNE_REQUEST 40 /* tune request */
-#define SNDRV_SEQ_EVENT_RESET 41 /* reset to power-on state */
-#define SNDRV_SEQ_EVENT_SENSING 42 /* "active sensing" event */
-
-/** echo back, kernel private messages
- * event data type = any type
- */
-#define SNDRV_SEQ_EVENT_ECHO 50 /* echo event */
-#define SNDRV_SEQ_EVENT_OSS 51 /* OSS raw event */
-
-/** system status messages (broadcast for subscribers)
- * event data type = sndrv_seq_addr_t
- */
-#define SNDRV_SEQ_EVENT_CLIENT_START 60 /* new client has connected */
-#define SNDRV_SEQ_EVENT_CLIENT_EXIT 61 /* client has left the system */
-#define SNDRV_SEQ_EVENT_CLIENT_CHANGE 62 /* client status/info has changed */
-#define SNDRV_SEQ_EVENT_PORT_START 63 /* new port was created */
-#define SNDRV_SEQ_EVENT_PORT_EXIT 64 /* port was deleted from system */
-#define SNDRV_SEQ_EVENT_PORT_CHANGE 65 /* port status/info has changed */
-
-/** port connection changes
- * event data type = sndrv_seq_connect_t
- */
-#define SNDRV_SEQ_EVENT_PORT_SUBSCRIBED 66 /* ports connected */
-#define SNDRV_SEQ_EVENT_PORT_UNSUBSCRIBED 67 /* ports disconnected */
-
-/* 70-89: synthesizer events - obsoleted */
-
-/** user-defined events with fixed length
- * event data type = any
- */
-#define SNDRV_SEQ_EVENT_USR0 90
-#define SNDRV_SEQ_EVENT_USR1 91
-#define SNDRV_SEQ_EVENT_USR2 92
-#define SNDRV_SEQ_EVENT_USR3 93
-#define SNDRV_SEQ_EVENT_USR4 94
-#define SNDRV_SEQ_EVENT_USR5 95
-#define SNDRV_SEQ_EVENT_USR6 96
-#define SNDRV_SEQ_EVENT_USR7 97
-#define SNDRV_SEQ_EVENT_USR8 98
-#define SNDRV_SEQ_EVENT_USR9 99
-
-/* 100-118: instrument layer - obsoleted */
-/* 119-129: reserved */
-
-/* 130-139: variable length events
- * event data type = sndrv_seq_ev_ext
- * (SNDRV_SEQ_EVENT_LENGTH_VARIABLE must be set)
- */
-#define SNDRV_SEQ_EVENT_SYSEX 130 /* system exclusive data (variable length) */
-#define SNDRV_SEQ_EVENT_BOUNCE 131 /* error event */
-/* 132-134: reserved */
-#define SNDRV_SEQ_EVENT_USR_VAR0 135
-#define SNDRV_SEQ_EVENT_USR_VAR1 136
-#define SNDRV_SEQ_EVENT_USR_VAR2 137
-#define SNDRV_SEQ_EVENT_USR_VAR3 138
-#define SNDRV_SEQ_EVENT_USR_VAR4 139
-
-/* 150-151: kernel events with quote - DO NOT use in user clients */
-#define SNDRV_SEQ_EVENT_KERNEL_ERROR 150
-#define SNDRV_SEQ_EVENT_KERNEL_QUOTE 151 /* obsolete */
-
-/* 152-191: reserved */
-
-/* 192-254: hardware specific events */
-
-/* 255: special event */
-#define SNDRV_SEQ_EVENT_NONE 255
-
-
-typedef unsigned char sndrv_seq_event_type_t;
-
-/** event address */
-struct sndrv_seq_addr {
- unsigned char client; /**< Client number: 0..255, 255 = broadcast to all clients */
- unsigned char port; /**< Port within client: 0..255, 255 = broadcast to all ports */
-};
-
-/** port connection */
-struct sndrv_seq_connect {
- struct sndrv_seq_addr sender;
- struct sndrv_seq_addr dest;
-};
-
-
-#define SNDRV_SEQ_ADDRESS_UNKNOWN 253 /* unknown source */
-#define SNDRV_SEQ_ADDRESS_SUBSCRIBERS 254 /* send event to all subscribed ports */
-#define SNDRV_SEQ_ADDRESS_BROADCAST 255 /* send event to all queues/clients/ports/channels */
-#define SNDRV_SEQ_QUEUE_DIRECT 253 /* direct dispatch */
-
- /* event mode flag - NOTE: only 8 bits available! */
-#define SNDRV_SEQ_TIME_STAMP_TICK (0<<0) /* timestamp in clock ticks */
-#define SNDRV_SEQ_TIME_STAMP_REAL (1<<0) /* timestamp in real time */
-#define SNDRV_SEQ_TIME_STAMP_MASK (1<<0)
-
-#define SNDRV_SEQ_TIME_MODE_ABS (0<<1) /* absolute timestamp */
-#define SNDRV_SEQ_TIME_MODE_REL (1<<1) /* relative to current time */
-#define SNDRV_SEQ_TIME_MODE_MASK (1<<1)
-
-#define SNDRV_SEQ_EVENT_LENGTH_FIXED (0<<2) /* fixed event size */
-#define SNDRV_SEQ_EVENT_LENGTH_VARIABLE (1<<2) /* variable event size */
-#define SNDRV_SEQ_EVENT_LENGTH_VARUSR (2<<2) /* variable event size - user memory space */
-#define SNDRV_SEQ_EVENT_LENGTH_MASK (3<<2)
-
-#define SNDRV_SEQ_PRIORITY_NORMAL (0<<4) /* normal priority */
-#define SNDRV_SEQ_PRIORITY_HIGH (1<<4) /* event should be processed before others */
-#define SNDRV_SEQ_PRIORITY_MASK (1<<4)
-
-
- /* note event */
-struct sndrv_seq_ev_note {
- unsigned char channel;
- unsigned char note;
- unsigned char velocity;
- unsigned char off_velocity; /* only for SNDRV_SEQ_EVENT_NOTE */
- unsigned int duration; /* only for SNDRV_SEQ_EVENT_NOTE */
-};
-
- /* controller event */
-struct sndrv_seq_ev_ctrl {
- unsigned char channel;
- unsigned char unused1, unused2, unused3; /* pad */
- unsigned int param;
- signed int value;
-};
-
- /* generic set of bytes (12x8 bit) */
-struct sndrv_seq_ev_raw8 {
- unsigned char d[12]; /* 8 bit value */
-};
-
- /* generic set of integers (3x32 bit) */
-struct sndrv_seq_ev_raw32 {
- unsigned int d[3]; /* 32 bit value */
-};
-
- /* external stored data */
-struct sndrv_seq_ev_ext {
- unsigned int len; /* length of data */
- void *ptr; /* pointer to data (note: maybe 64-bit) */
-} __attribute__((packed));
-
-struct sndrv_seq_result {
- int event; /* processed event type */
- int result;
-};
-
-
-struct sndrv_seq_real_time {
- unsigned int tv_sec; /* seconds */
- unsigned int tv_nsec; /* nanoseconds */
-};
-
-typedef unsigned int sndrv_seq_tick_time_t; /* midi ticks */
-
-union sndrv_seq_timestamp {
- sndrv_seq_tick_time_t tick;
- struct sndrv_seq_real_time time;
-};
-
-struct sndrv_seq_queue_skew {
- unsigned int value;
- unsigned int base;
-};
-
- /* queue timer control */
-struct sndrv_seq_ev_queue_control {
- unsigned char queue; /* affected queue */
- unsigned char pad[3]; /* reserved */
- union {
- signed int value; /* affected value (e.g. tempo) */
- union sndrv_seq_timestamp time; /* time */
- unsigned int position; /* sync position */
- struct sndrv_seq_queue_skew skew;
- unsigned int d32[2];
- unsigned char d8[8];
- } param;
-};
-
- /* quoted event - inside the kernel only */
-struct sndrv_seq_ev_quote {
- struct sndrv_seq_addr origin; /* original sender */
- unsigned short value; /* optional data */
- struct sndrv_seq_event *event; /* quoted event */
-} __attribute__((packed));
-
-
- /* sequencer event */
-struct sndrv_seq_event {
- sndrv_seq_event_type_t type; /* event type */
- unsigned char flags; /* event flags */
- char tag;
-
- unsigned char queue; /* schedule queue */
- union sndrv_seq_timestamp time; /* schedule time */
-
-
- struct sndrv_seq_addr source; /* source address */
- struct sndrv_seq_addr dest; /* destination address */
-
- union { /* event data... */
- struct sndrv_seq_ev_note note;
- struct sndrv_seq_ev_ctrl control;
- struct sndrv_seq_ev_raw8 raw8;
- struct sndrv_seq_ev_raw32 raw32;
- struct sndrv_seq_ev_ext ext;
- struct sndrv_seq_ev_queue_control queue;
- union sndrv_seq_timestamp time;
- struct sndrv_seq_addr addr;
- struct sndrv_seq_connect connect;
- struct sndrv_seq_result result;
- struct sndrv_seq_ev_quote quote;
- } data;
-};
-
-
-/*
- * bounce event - stored as variable size data
- */
-struct sndrv_seq_event_bounce {
- int err;
- struct sndrv_seq_event event;
- /* external data follows here. */
-};
-
-#define sndrv_seq_event_bounce_ext_data(ev) ((void*)((char *)(ev)->data.ext.ptr + sizeof(sndrv_seq_event_bounce_t)))
-
-/*
- * type check macros
- */
-/* result events: 0-4 */
-#define sndrv_seq_ev_is_result_type(ev) ((ev)->type < 5)
-/* channel specific events: 5-19 */
-#define sndrv_seq_ev_is_channel_type(ev) ((ev)->type >= 5 && (ev)->type < 20)
-/* note events: 5-9 */
-#define sndrv_seq_ev_is_note_type(ev) ((ev)->type >= 5 && (ev)->type < 10)
-/* control events: 10-19 */
-#define sndrv_seq_ev_is_control_type(ev) ((ev)->type >= 10 && (ev)->type < 20)
-/* queue control events: 30-39 */
-#define sndrv_seq_ev_is_queue_type(ev) ((ev)->type >= 30 && (ev)->type < 40)
-/* system status messages */
-#define sndrv_seq_ev_is_message_type(ev) ((ev)->type >= 60 && (ev)->type < 69)
-/* sample messages */
-#define sndrv_seq_ev_is_sample_type(ev) ((ev)->type >= 70 && (ev)->type < 79)
-/* user-defined messages */
-#define sndrv_seq_ev_is_user_type(ev) ((ev)->type >= 90 && (ev)->type < 99)
-/* fixed length events: 0-99 */
-#define sndrv_seq_ev_is_fixed_type(ev) ((ev)->type < 100)
-/* variable length events: 130-139 */
-#define sndrv_seq_ev_is_variable_type(ev) ((ev)->type >= 130 && (ev)->type < 140)
-/* reserved for kernel */
-#define sndrv_seq_ev_is_reserved(ev) ((ev)->type >= 150)
-
-/* direct dispatched events */
-#define sndrv_seq_ev_is_direct(ev) ((ev)->queue == SNDRV_SEQ_QUEUE_DIRECT)
-
-/*
- * macros to check event flags
- */
-/* prior events */
-#define sndrv_seq_ev_is_prior(ev) (((ev)->flags & SNDRV_SEQ_PRIORITY_MASK) == SNDRV_SEQ_PRIORITY_HIGH)
-
-/* event length type */
-#define sndrv_seq_ev_length_type(ev) ((ev)->flags & SNDRV_SEQ_EVENT_LENGTH_MASK)
-#define sndrv_seq_ev_is_fixed(ev) (sndrv_seq_ev_length_type(ev) == SNDRV_SEQ_EVENT_LENGTH_FIXED)
-#define sndrv_seq_ev_is_variable(ev) (sndrv_seq_ev_length_type(ev) == SNDRV_SEQ_EVENT_LENGTH_VARIABLE)
-#define sndrv_seq_ev_is_varusr(ev) (sndrv_seq_ev_length_type(ev) == SNDRV_SEQ_EVENT_LENGTH_VARUSR)
-
-/* time-stamp type */
-#define sndrv_seq_ev_timestamp_type(ev) ((ev)->flags & SNDRV_SEQ_TIME_STAMP_MASK)
-#define sndrv_seq_ev_is_tick(ev) (sndrv_seq_ev_timestamp_type(ev) == SNDRV_SEQ_TIME_STAMP_TICK)
-#define sndrv_seq_ev_is_real(ev) (sndrv_seq_ev_timestamp_type(ev) == SNDRV_SEQ_TIME_STAMP_REAL)
-
-/* time-mode type */
-#define sndrv_seq_ev_timemode_type(ev) ((ev)->flags & SNDRV_SEQ_TIME_MODE_MASK)
-#define sndrv_seq_ev_is_abstime(ev) (sndrv_seq_ev_timemode_type(ev) == SNDRV_SEQ_TIME_MODE_ABS)
-#define sndrv_seq_ev_is_reltime(ev) (sndrv_seq_ev_timemode_type(ev) == SNDRV_SEQ_TIME_MODE_REL)
-
-/* queue sync port */
-#define sndrv_seq_queue_sync_port(q) ((q) + 16)
-
-#endif /* __KERNEL__ */
-
- /* system information */
-struct sndrv_seq_system_info {
- int queues; /* maximum queues count */
- int clients; /* maximum clients count */
- int ports; /* maximum ports per client */
- int channels; /* maximum channels per port */
- int cur_clients; /* current clients */
- int cur_queues; /* current queues */
- char reserved[24];
-};
-
-
- /* system running information */
-struct sndrv_seq_running_info {
- unsigned char client; /* client id */
- unsigned char big_endian; /* 1 = big-endian */
- unsigned char cpu_mode; /* 4 = 32bit, 8 = 64bit */
- unsigned char pad; /* reserved */
- unsigned char reserved[12];
-};
-
-
- /* known client numbers */
-#define SNDRV_SEQ_CLIENT_SYSTEM 0
- /* internal client numbers */
-#define SNDRV_SEQ_CLIENT_DUMMY 14 /* midi through */
-#define SNDRV_SEQ_CLIENT_OSS 15 /* oss sequencer emulator */
-
-
- /* client types */
-enum sndrv_seq_client_type {
- NO_CLIENT = 0,
- USER_CLIENT = 1,
- KERNEL_CLIENT = 2
-};
-
- /* event filter flags */
-#define SNDRV_SEQ_FILTER_BROADCAST (1<<0) /* accept broadcast messages */
-#define SNDRV_SEQ_FILTER_MULTICAST (1<<1) /* accept multicast messages */
-#define SNDRV_SEQ_FILTER_BOUNCE (1<<2) /* accept bounce event in error */
-#define SNDRV_SEQ_FILTER_USE_EVENT (1<<31) /* use event filter */
-
-struct sndrv_seq_client_info {
- int client; /* client number to inquire */
- int type; /* client type */
- char name[64]; /* client name */
- unsigned int filter; /* filter flags */
- unsigned char multicast_filter[8]; /* multicast filter bitmap */
- unsigned char event_filter[32]; /* event filter bitmap */
- int num_ports; /* RO: number of ports */
- int event_lost; /* number of lost events */
- char reserved[64]; /* for future use */
-};
-
-
-/* client pool size */
-struct sndrv_seq_client_pool {
- int client; /* client number to inquire */
- int output_pool; /* outgoing (write) pool size */
- int input_pool; /* incoming (read) pool size */
- int output_room; /* minimum free pool size for select/blocking mode */
- int output_free; /* unused size */
- int input_free; /* unused size */
- char reserved[64];
-};
-
-
-/* Remove events by specified criteria */
-
-#define SNDRV_SEQ_REMOVE_INPUT (1<<0) /* Flush input queues */
-#define SNDRV_SEQ_REMOVE_OUTPUT (1<<1) /* Flush output queues */
-#define SNDRV_SEQ_REMOVE_DEST (1<<2) /* Restrict by destination q:client:port */
-#define SNDRV_SEQ_REMOVE_DEST_CHANNEL (1<<3) /* Restrict by channel */
-#define SNDRV_SEQ_REMOVE_TIME_BEFORE (1<<4) /* Restrict to before time */
-#define SNDRV_SEQ_REMOVE_TIME_AFTER (1<<5) /* Restrict to time or after */
-#define SNDRV_SEQ_REMOVE_TIME_TICK (1<<6) /* Time is in ticks */
-#define SNDRV_SEQ_REMOVE_EVENT_TYPE (1<<7) /* Restrict to event type */
-#define SNDRV_SEQ_REMOVE_IGNORE_OFF (1<<8) /* Do not flush off events */
-#define SNDRV_SEQ_REMOVE_TAG_MATCH (1<<9) /* Restrict to events with given tag */
-
-struct sndrv_seq_remove_events {
- unsigned int remove_mode; /* Flags that determine what gets removed */
-
- union sndrv_seq_timestamp time;
-
- unsigned char queue; /* Queue for REMOVE_DEST */
- struct sndrv_seq_addr dest; /* Address for REMOVE_DEST */
- unsigned char channel; /* Channel for REMOVE_DEST */
-
- int type; /* For REMOVE_EVENT_TYPE */
- char tag; /* Tag for REMOVE_TAG */
-
- int reserved[10]; /* To allow for future binary compatibility */
-
-};
-
-
- /* known port numbers */
-#define SNDRV_SEQ_PORT_SYSTEM_TIMER 0
-#define SNDRV_SEQ_PORT_SYSTEM_ANNOUNCE 1
-
- /* port capabilities (32 bits) */
-#define SNDRV_SEQ_PORT_CAP_READ (1<<0) /* readable from this port */
-#define SNDRV_SEQ_PORT_CAP_WRITE (1<<1) /* writable to this port */
-
-#define SNDRV_SEQ_PORT_CAP_SYNC_READ (1<<2)
-#define SNDRV_SEQ_PORT_CAP_SYNC_WRITE (1<<3)
-
-#define SNDRV_SEQ_PORT_CAP_DUPLEX (1<<4)
-
-#define SNDRV_SEQ_PORT_CAP_SUBS_READ (1<<5) /* allow read subscription */
-#define SNDRV_SEQ_PORT_CAP_SUBS_WRITE (1<<6) /* allow write subscription */
-#define SNDRV_SEQ_PORT_CAP_NO_EXPORT (1<<7) /* routing not allowed */
-
- /* port type */
-#define SNDRV_SEQ_PORT_TYPE_SPECIFIC (1<<0) /* hardware specific */
-#define SNDRV_SEQ_PORT_TYPE_MIDI_GENERIC (1<<1) /* generic MIDI device */
-#define SNDRV_SEQ_PORT_TYPE_MIDI_GM (1<<2) /* General MIDI compatible device */
-#define SNDRV_SEQ_PORT_TYPE_MIDI_GS (1<<3) /* GS compatible device */
-#define SNDRV_SEQ_PORT_TYPE_MIDI_XG (1<<4) /* XG compatible device */
-#define SNDRV_SEQ_PORT_TYPE_MIDI_MT32 (1<<5) /* MT-32 compatible device */
-#define SNDRV_SEQ_PORT_TYPE_MIDI_GM2 (1<<6) /* General MIDI 2 compatible device */
-
-/* other standards...*/
-#define SNDRV_SEQ_PORT_TYPE_SYNTH (1<<10) /* Synth device (no MIDI compatible - direct wavetable) */
-#define SNDRV_SEQ_PORT_TYPE_DIRECT_SAMPLE (1<<11) /* Sampling device (support sample download) */
-#define SNDRV_SEQ_PORT_TYPE_SAMPLE (1<<12) /* Sampling device (sample can be downloaded at any time) */
-/*...*/
-#define SNDRV_SEQ_PORT_TYPE_HARDWARE (1<<16) /* driver for a hardware device */
-#define SNDRV_SEQ_PORT_TYPE_SOFTWARE (1<<17) /* implemented in software */
-#define SNDRV_SEQ_PORT_TYPE_SYNTHESIZER (1<<18) /* generates sound */
-#define SNDRV_SEQ_PORT_TYPE_PORT (1<<19) /* connects to other device(s) */
-#define SNDRV_SEQ_PORT_TYPE_APPLICATION (1<<20) /* application (sequencer/editor) */
-
-/* misc. conditioning flags */
-#define SNDRV_SEQ_PORT_FLG_GIVEN_PORT (1<<0)
-#define SNDRV_SEQ_PORT_FLG_TIMESTAMP (1<<1)
-#define SNDRV_SEQ_PORT_FLG_TIME_REAL (1<<2)
-
-struct sndrv_seq_port_info {
- struct sndrv_seq_addr addr; /* client/port numbers */
- char name[64]; /* port name */
-
- unsigned int capability; /* port capability bits */
- unsigned int type; /* port type bits */
- int midi_channels; /* channels per MIDI port */
- int midi_voices; /* voices per MIDI port */
- int synth_voices; /* voices per SYNTH port */
-
- int read_use; /* R/O: subscribers for output (from this port) */
- int write_use; /* R/O: subscribers for input (to this port) */
-
- void *kernel; /* reserved for kernel use (must be NULL) */
- unsigned int flags; /* misc. conditioning */
- unsigned char time_queue; /* queue # for timestamping */
- char reserved[59]; /* for future use */
-};
-
-
-/* queue flags */
-#define SNDRV_SEQ_QUEUE_FLG_SYNC (1<<0) /* sync enabled */
-
-/* queue information */
-struct sndrv_seq_queue_info {
- int queue; /* queue id */
-
- /*
- * security settings, only owner of this queue can start/stop timer
- * etc. if the queue is locked for other clients
- */
- int owner; /* client id for owner of the queue */
- int locked:1; /* timing queue locked for other queues */
- char name[64]; /* name of this queue */
- unsigned int flags; /* flags */
- char reserved[60]; /* for future use */
-
-};
-
-/* queue info/status */
-struct sndrv_seq_queue_status {
- int queue; /* queue id */
- int events; /* read-only - queue size */
- sndrv_seq_tick_time_t tick; /* current tick */
- struct sndrv_seq_real_time time; /* current time */
- int running; /* running state of queue */
- int flags; /* various flags */
- char reserved[64]; /* for the future */
-};
-
-
-/* queue tempo */
-struct sndrv_seq_queue_tempo {
- int queue; /* sequencer queue */
- unsigned int tempo; /* current tempo, us/tick */
- int ppq; /* time resolution, ticks/quarter */
- unsigned int skew_value; /* queue skew */
- unsigned int skew_base; /* queue skew base */
- char reserved[24]; /* for the future */
-};
-
-
-/* sequencer timer sources */
-#define SNDRV_SEQ_TIMER_ALSA 0 /* ALSA timer */
-#define SNDRV_SEQ_TIMER_MIDI_CLOCK 1 /* Midi Clock (CLOCK event) */
-#define SNDRV_SEQ_TIMER_MIDI_TICK 2 /* Midi Timer Tick (TICK event) */
-
-/* queue timer info */
-struct sndrv_seq_queue_timer {
- int queue; /* sequencer queue */
- int type; /* source timer type */
- union {
- struct {
- struct sndrv_timer_id id; /* ALSA's timer ID */
- unsigned int resolution; /* resolution in Hz */
- } alsa;
- } u;
- char reserved[64]; /* for the future use */
-};
-
-
-struct sndrv_seq_queue_client {
- int queue; /* sequencer queue */
- int client; /* sequencer client */
- int used; /* queue is used with this client
- (must be set for accepting events) */
- /* per client watermarks */
- char reserved[64]; /* for future use */
-};
-
-
-#define SNDRV_SEQ_PORT_SUBS_EXCLUSIVE (1<<0) /* exclusive connection */
-#define SNDRV_SEQ_PORT_SUBS_TIMESTAMP (1<<1)
-#define SNDRV_SEQ_PORT_SUBS_TIME_REAL (1<<2)
-
-struct sndrv_seq_port_subscribe {
- struct sndrv_seq_addr sender; /* sender address */
- struct sndrv_seq_addr dest; /* destination address */
- unsigned int voices; /* number of voices to be allocated (0 = don't care) */
- unsigned int flags; /* modes */
- unsigned char queue; /* input time-stamp queue (optional) */
- unsigned char pad[3]; /* reserved */
- char reserved[64];
-};
-
-/* type of query subscription */
-#define SNDRV_SEQ_QUERY_SUBS_READ 0
-#define SNDRV_SEQ_QUERY_SUBS_WRITE 1
-
-struct sndrv_seq_query_subs {
- struct sndrv_seq_addr root; /* client/port id to be searched */
- int type; /* READ or WRITE */
- int index; /* 0..N-1 */
- int num_subs; /* R/O: number of subscriptions on this port */
- struct sndrv_seq_addr addr; /* R/O: result */
- unsigned char queue; /* R/O: result */
- unsigned int flags; /* R/O: result */
- char reserved[64]; /* for future use */
-};
-
-
-/*
- * IOCTL commands
- */
-
-#define SNDRV_SEQ_IOCTL_PVERSION _IOR ('S', 0x00, int)
-#define SNDRV_SEQ_IOCTL_CLIENT_ID _IOR ('S', 0x01, int)
-#define SNDRV_SEQ_IOCTL_SYSTEM_INFO _IOWR('S', 0x02, struct sndrv_seq_system_info)
-#define SNDRV_SEQ_IOCTL_RUNNING_MODE _IOWR('S', 0x03, struct sndrv_seq_running_info)
-
-#define SNDRV_SEQ_IOCTL_GET_CLIENT_INFO _IOWR('S', 0x10, struct sndrv_seq_client_info)
-#define SNDRV_SEQ_IOCTL_SET_CLIENT_INFO _IOW ('S', 0x11, struct sndrv_seq_client_info)
-
-#define SNDRV_SEQ_IOCTL_CREATE_PORT _IOWR('S', 0x20, struct sndrv_seq_port_info)
-#define SNDRV_SEQ_IOCTL_DELETE_PORT _IOW ('S', 0x21, struct sndrv_seq_port_info)
-#define SNDRV_SEQ_IOCTL_GET_PORT_INFO _IOWR('S', 0x22, struct sndrv_seq_port_info)
-#define SNDRV_SEQ_IOCTL_SET_PORT_INFO _IOW ('S', 0x23, struct sndrv_seq_port_info)
-
-#define SNDRV_SEQ_IOCTL_SUBSCRIBE_PORT _IOW ('S', 0x30, struct sndrv_seq_port_subscribe)
-#define SNDRV_SEQ_IOCTL_UNSUBSCRIBE_PORT _IOW ('S', 0x31, struct sndrv_seq_port_subscribe)
-
-#define SNDRV_SEQ_IOCTL_CREATE_QUEUE _IOWR('S', 0x32, struct sndrv_seq_queue_info)
-#define SNDRV_SEQ_IOCTL_DELETE_QUEUE _IOW ('S', 0x33, struct sndrv_seq_queue_info)
-#define SNDRV_SEQ_IOCTL_GET_QUEUE_INFO _IOWR('S', 0x34, struct sndrv_seq_queue_info)
-#define SNDRV_SEQ_IOCTL_SET_QUEUE_INFO _IOWR('S', 0x35, struct sndrv_seq_queue_info)
-#define SNDRV_SEQ_IOCTL_GET_NAMED_QUEUE _IOWR('S', 0x36, struct sndrv_seq_queue_info)
-#define SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS _IOWR('S', 0x40, struct sndrv_seq_queue_status)
-#define SNDRV_SEQ_IOCTL_GET_QUEUE_TEMPO _IOWR('S', 0x41, struct sndrv_seq_queue_tempo)
-#define SNDRV_SEQ_IOCTL_SET_QUEUE_TEMPO _IOW ('S', 0x42, struct sndrv_seq_queue_tempo)
-#define SNDRV_SEQ_IOCTL_GET_QUEUE_OWNER _IOWR('S', 0x43, struct sndrv_seq_queue_owner)
-#define SNDRV_SEQ_IOCTL_SET_QUEUE_OWNER _IOW ('S', 0x44, struct sndrv_seq_queue_owner)
-#define SNDRV_SEQ_IOCTL_GET_QUEUE_TIMER _IOWR('S', 0x45, struct sndrv_seq_queue_timer)
-#define SNDRV_SEQ_IOCTL_SET_QUEUE_TIMER _IOW ('S', 0x46, struct sndrv_seq_queue_timer)
-/* XXX
-#define SNDRV_SEQ_IOCTL_GET_QUEUE_SYNC _IOWR('S', 0x53, struct sndrv_seq_queue_sync)
-#define SNDRV_SEQ_IOCTL_SET_QUEUE_SYNC _IOW ('S', 0x54, struct sndrv_seq_queue_sync)
-*/
-#define SNDRV_SEQ_IOCTL_GET_QUEUE_CLIENT _IOWR('S', 0x49, struct sndrv_seq_queue_client)
-#define SNDRV_SEQ_IOCTL_SET_QUEUE_CLIENT _IOW ('S', 0x4a, struct sndrv_seq_queue_client)
-#define SNDRV_SEQ_IOCTL_GET_CLIENT_POOL _IOWR('S', 0x4b, struct sndrv_seq_client_pool)
-#define SNDRV_SEQ_IOCTL_SET_CLIENT_POOL _IOW ('S', 0x4c, struct sndrv_seq_client_pool)
-#define SNDRV_SEQ_IOCTL_REMOVE_EVENTS _IOW ('S', 0x4e, struct sndrv_seq_remove_events)
-#define SNDRV_SEQ_IOCTL_QUERY_SUBS _IOWR('S', 0x4f, struct sndrv_seq_query_subs)
-#define SNDRV_SEQ_IOCTL_GET_SUBSCRIPTION _IOWR('S', 0x50, struct sndrv_seq_port_subscribe)
-#define SNDRV_SEQ_IOCTL_QUERY_NEXT_CLIENT _IOWR('S', 0x51, struct sndrv_seq_client_info)
-#define SNDRV_SEQ_IOCTL_QUERY_NEXT_PORT _IOWR('S', 0x52, struct sndrv_seq_port_info)
-
-#endif /* __SOUND_ASEQUENCER_H */
diff --git a/alsa-lib/include/sound/asound.h b/alsa-lib/include/sound/asound.h
deleted file mode 100644
index 977b2d6..0000000
--- a/alsa-lib/include/sound/asound.h
+++ /dev/null
@@ -1,954 +0,0 @@
-/*
- * Advanced Linux Sound Architecture - ALSA - Driver
- * Copyright (c) 1994-2003 by Jaroslav Kysela <perex@perex.cz>,
- * Abramo Bagnara <abramo@alsa-project.org>
- *
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#ifndef __SOUND_ASOUND_H
-#define __SOUND_ASOUND_H
-
-#if defined(LINUX) || defined(__LINUX__) || defined(__linux__)
-
-#include <linux/ioctl.h>
-
-#ifdef __KERNEL__
-
-#include <linux/types.h>
-#include <linux/time.h>
-#include <asm/byteorder.h>
-
-#if __LITTLE_ENDIAN == 1234
-#define SNDRV_LITTLE_ENDIAN
-#elif __BIG_ENDIAN == 4321
-#define SNDRV_BIG_ENDIAN
-#else
-#error "Unsupported endian..."
-#endif
-
-#else /* !__KERNEL__ */
-
-#include <endian.h>
-#if __BYTE_ORDER == __LITTLE_ENDIAN
-#define SNDRV_LITTLE_ENDIAN
-#elif __BYTE_ORDER == __BIG_ENDIAN
-#define SNDRV_BIG_ENDIAN
-#else
-#error "Unsupported endian..."
-#endif
-
-#endif /* __KERNEL **/
-
-#endif /* LINUX */
-
-#ifndef __KERNEL__
-#include <sys/time.h>
-#include <sys/types.h>
-#include <sys/ioctl.h>
-#endif
-
-/*
- * protocol version
- */
-
-#define SNDRV_PROTOCOL_VERSION(major, minor, subminor) (((major)<<16)|((minor)<<8)|(subminor))
-#define SNDRV_PROTOCOL_MAJOR(version) (((version)>>16)&0xffff)
-#define SNDRV_PROTOCOL_MINOR(version) (((version)>>8)&0xff)
-#define SNDRV_PROTOCOL_MICRO(version) ((version)&0xff)
-#define SNDRV_PROTOCOL_INCOMPATIBLE(kversion, uversion) \
- (SNDRV_PROTOCOL_MAJOR(kversion) != SNDRV_PROTOCOL_MAJOR(uversion) || \
- (SNDRV_PROTOCOL_MAJOR(kversion) == SNDRV_PROTOCOL_MAJOR(uversion) && \
- SNDRV_PROTOCOL_MINOR(kversion) != SNDRV_PROTOCOL_MINOR(uversion)))
-
-/****************************************************************************
- * *
- * Digital audio interface *
- * *
- ****************************************************************************/
-
-struct sndrv_aes_iec958 {
- unsigned char status[24]; /* AES/IEC958 channel status bits */
- unsigned char subcode[147]; /* AES/IEC958 subcode bits */
- unsigned char pad; /* nothing */
- unsigned char dig_subframe[4]; /* AES/IEC958 subframe bits */
-};
-
-/****************************************************************************
- * *
- * Section for driver hardware dependent interface - /dev/snd/hw? *
- * *
- ****************************************************************************/
-
-#define SNDRV_HWDEP_VERSION SNDRV_PROTOCOL_VERSION(1, 0, 1)
-
-enum sndrv_hwdep_iface {
- SNDRV_HWDEP_IFACE_OPL2 = 0,
- SNDRV_HWDEP_IFACE_OPL3,
- SNDRV_HWDEP_IFACE_OPL4,
- SNDRV_HWDEP_IFACE_SB16CSP, /* Creative Signal Processor */
- SNDRV_HWDEP_IFACE_EMU10K1, /* FX8010 processor in EMU10K1 chip */
- SNDRV_HWDEP_IFACE_YSS225, /* Yamaha FX processor */
- SNDRV_HWDEP_IFACE_ICS2115, /* Wavetable synth */
- SNDRV_HWDEP_IFACE_SSCAPE, /* Ensoniq SoundScape ISA card (MC68EC000) */
- SNDRV_HWDEP_IFACE_VX, /* Digigram VX cards */
- SNDRV_HWDEP_IFACE_MIXART, /* Digigram miXart cards */
- SNDRV_HWDEP_IFACE_USX2Y, /* Tascam US122, US224 & US428 usb */
- SNDRV_HWDEP_IFACE_EMUX_WAVETABLE, /* EmuX wavetable */
- SNDRV_HWDEP_IFACE_BLUETOOTH, /* Bluetooth audio */
- SNDRV_HWDEP_IFACE_USX2Y_PCM, /* Tascam US122, US224 & US428 rawusb pcm */
- SNDRV_HWDEP_IFACE_PCXHR, /* Digigram PCXHR */
- SNDRV_HWDEP_IFACE_SB_RC, /* SB Extigy/Audigy2NX remote control */
-
- /* Don't forget to change the following: */
- SNDRV_HWDEP_IFACE_LAST = SNDRV_HWDEP_IFACE_SB_RC
-};
-
-struct sndrv_hwdep_info {
- unsigned int device; /* WR: device number */
- int card; /* R: card number */
- unsigned char id[64]; /* ID (user selectable) */
- unsigned char name[80]; /* hwdep name */
- int iface; /* hwdep interface */
- unsigned char reserved[64]; /* reserved for future */
-};
-
-/* generic DSP loader */
-struct sndrv_hwdep_dsp_status {
- unsigned int version; /* R: driver-specific version */
- unsigned char id[32]; /* R: driver-specific ID string */
- unsigned int num_dsps; /* R: number of DSP images to transfer */
- unsigned int dsp_loaded; /* R: bit flags indicating the loaded DSPs */
- unsigned int chip_ready; /* R: 1 = initialization finished */
- unsigned char reserved[16]; /* reserved for future use */
-};
-
-struct sndrv_hwdep_dsp_image {
- unsigned int index; /* W: DSP index */
- unsigned char name[64]; /* W: ID (e.g. file name) */
- unsigned char *image; /* W: binary image */
- size_t length; /* W: size of image in bytes */
- unsigned long driver_data; /* W: driver-specific data */
-};
-
-enum {
- SNDRV_HWDEP_IOCTL_PVERSION = _IOR ('H', 0x00, int),
- SNDRV_HWDEP_IOCTL_INFO = _IOR ('H', 0x01, struct sndrv_hwdep_info),
- SNDRV_HWDEP_IOCTL_DSP_STATUS = _IOR('H', 0x02, struct sndrv_hwdep_dsp_status),
- SNDRV_HWDEP_IOCTL_DSP_LOAD = _IOW('H', 0x03, struct sndrv_hwdep_dsp_image)
-};
-
-/*****************************************************************************
- * *
- * Digital Audio (PCM) interface - /dev/snd/pcm?? *
- * *
- *****************************************************************************/
-
-#define SNDRV_PCM_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 9)
-
-typedef unsigned long sndrv_pcm_uframes_t;
-typedef long sndrv_pcm_sframes_t;
-
-enum sndrv_pcm_class {
- SNDRV_PCM_CLASS_GENERIC = 0, /* standard mono or stereo device */
- SNDRV_PCM_CLASS_MULTI, /* multichannel device */
- SNDRV_PCM_CLASS_MODEM, /* software modem class */
- SNDRV_PCM_CLASS_DIGITIZER, /* digitizer class */
- /* Don't forget to change the following: */
- SNDRV_PCM_CLASS_LAST = SNDRV_PCM_CLASS_DIGITIZER,
-};
-
-enum sndrv_pcm_subclass {
- SNDRV_PCM_SUBCLASS_GENERIC_MIX = 0, /* mono or stereo subdevices are mixed together */
- SNDRV_PCM_SUBCLASS_MULTI_MIX, /* multichannel subdevices are mixed together */
- /* Don't forget to change the following: */
- SNDRV_PCM_SUBCLASS_LAST = SNDRV_PCM_SUBCLASS_MULTI_MIX,
-};
-
-enum sndrv_pcm_stream {
- SNDRV_PCM_STREAM_PLAYBACK = 0,
- SNDRV_PCM_STREAM_CAPTURE,
- SNDRV_PCM_STREAM_LAST = SNDRV_PCM_STREAM_CAPTURE,
-};
-
-enum sndrv_pcm_access {
- SNDRV_PCM_ACCESS_MMAP_INTERLEAVED = 0, /* interleaved mmap */
- SNDRV_PCM_ACCESS_MMAP_NONINTERLEAVED, /* noninterleaved mmap */
- SNDRV_PCM_ACCESS_MMAP_COMPLEX, /* complex mmap */
- SNDRV_PCM_ACCESS_RW_INTERLEAVED, /* readi/writei */
- SNDRV_PCM_ACCESS_RW_NONINTERLEAVED, /* readn/writen */
- SNDRV_PCM_ACCESS_LAST = SNDRV_PCM_ACCESS_RW_NONINTERLEAVED,
-};
-
-enum sndrv_pcm_format {
- SNDRV_PCM_FORMAT_S8 = 0,
- SNDRV_PCM_FORMAT_U8,
- SNDRV_PCM_FORMAT_S16_LE,
- SNDRV_PCM_FORMAT_S16_BE,
- SNDRV_PCM_FORMAT_U16_LE,
- SNDRV_PCM_FORMAT_U16_BE,
- SNDRV_PCM_FORMAT_S24_LE, /* low three bytes */
- SNDRV_PCM_FORMAT_S24_BE, /* low three bytes */
- SNDRV_PCM_FORMAT_U24_LE, /* low three bytes */
- SNDRV_PCM_FORMAT_U24_BE, /* low three bytes */
- SNDRV_PCM_FORMAT_S32_LE,
- SNDRV_PCM_FORMAT_S32_BE,
- SNDRV_PCM_FORMAT_U32_LE,
- SNDRV_PCM_FORMAT_U32_BE,
- SNDRV_PCM_FORMAT_FLOAT_LE, /* 4-byte float, IEEE-754 32-bit, range -1.0 to 1.0 */
- SNDRV_PCM_FORMAT_FLOAT_BE, /* 4-byte float, IEEE-754 32-bit, range -1.0 to 1.0 */
- SNDRV_PCM_FORMAT_FLOAT64_LE, /* 8-byte float, IEEE-754 64-bit, range -1.0 to 1.0 */
- SNDRV_PCM_FORMAT_FLOAT64_BE, /* 8-byte float, IEEE-754 64-bit, range -1.0 to 1.0 */
- SNDRV_PCM_FORMAT_IEC958_SUBFRAME_LE, /* IEC-958 subframe, Little Endian */
- SNDRV_PCM_FORMAT_IEC958_SUBFRAME_BE, /* IEC-958 subframe, Big Endian */
- SNDRV_PCM_FORMAT_MU_LAW,
- SNDRV_PCM_FORMAT_A_LAW,
- SNDRV_PCM_FORMAT_IMA_ADPCM,
- SNDRV_PCM_FORMAT_MPEG,
- SNDRV_PCM_FORMAT_GSM,
- SNDRV_PCM_FORMAT_SPECIAL = 31,
- SNDRV_PCM_FORMAT_S24_3LE = 32, /* in three bytes */
- SNDRV_PCM_FORMAT_S24_3BE, /* in three bytes */
- SNDRV_PCM_FORMAT_U24_3LE, /* in three bytes */
- SNDRV_PCM_FORMAT_U24_3BE, /* in three bytes */
- SNDRV_PCM_FORMAT_S20_3LE, /* in three bytes */
- SNDRV_PCM_FORMAT_S20_3BE, /* in three bytes */
- SNDRV_PCM_FORMAT_U20_3LE, /* in three bytes */
- SNDRV_PCM_FORMAT_U20_3BE, /* in three bytes */
- SNDRV_PCM_FORMAT_S18_3LE, /* in three bytes */
- SNDRV_PCM_FORMAT_S18_3BE, /* in three bytes */
- SNDRV_PCM_FORMAT_U18_3LE, /* in three bytes */
- SNDRV_PCM_FORMAT_U18_3BE, /* in three bytes */
- SNDRV_PCM_FORMAT_LAST = SNDRV_PCM_FORMAT_U18_3BE,
-
-#ifdef SNDRV_LITTLE_ENDIAN
- SNDRV_PCM_FORMAT_S16 = SNDRV_PCM_FORMAT_S16_LE,
- SNDRV_PCM_FORMAT_U16 = SNDRV_PCM_FORMAT_U16_LE,
- SNDRV_PCM_FORMAT_S24 = SNDRV_PCM_FORMAT_S24_LE,
- SNDRV_PCM_FORMAT_U24 = SNDRV_PCM_FORMAT_U24_LE,
- SNDRV_PCM_FORMAT_S32 = SNDRV_PCM_FORMAT_S32_LE,
- SNDRV_PCM_FORMAT_U32 = SNDRV_PCM_FORMAT_U32_LE,
- SNDRV_PCM_FORMAT_FLOAT = SNDRV_PCM_FORMAT_FLOAT_LE,
- SNDRV_PCM_FORMAT_FLOAT64 = SNDRV_PCM_FORMAT_FLOAT64_LE,
- SNDRV_PCM_FORMAT_IEC958_SUBFRAME = SNDRV_PCM_FORMAT_IEC958_SUBFRAME_LE,
-#endif
-#ifdef SNDRV_BIG_ENDIAN
- SNDRV_PCM_FORMAT_S16 = SNDRV_PCM_FORMAT_S16_BE,
- SNDRV_PCM_FORMAT_U16 = SNDRV_PCM_FORMAT_U16_BE,
- SNDRV_PCM_FORMAT_S24 = SNDRV_PCM_FORMAT_S24_BE,
- SNDRV_PCM_FORMAT_U24 = SNDRV_PCM_FORMAT_U24_BE,
- SNDRV_PCM_FORMAT_S32 = SNDRV_PCM_FORMAT_S32_BE,
- SNDRV_PCM_FORMAT_U32 = SNDRV_PCM_FORMAT_U32_BE,
- SNDRV_PCM_FORMAT_FLOAT = SNDRV_PCM_FORMAT_FLOAT_BE,
- SNDRV_PCM_FORMAT_FLOAT64 = SNDRV_PCM_FORMAT_FLOAT64_BE,
- SNDRV_PCM_FORMAT_IEC958_SUBFRAME = SNDRV_PCM_FORMAT_IEC958_SUBFRAME_BE,
-#endif
-};
-
-enum sndrv_pcm_subformat {
- SNDRV_PCM_SUBFORMAT_STD = 0,
- SNDRV_PCM_SUBFORMAT_LAST = SNDRV_PCM_SUBFORMAT_STD,
-};
-
-#define SNDRV_PCM_INFO_MMAP 0x00000001 /* hardware supports mmap */
-#define SNDRV_PCM_INFO_MMAP_VALID 0x00000002 /* period data are valid during transfer */
-#define SNDRV_PCM_INFO_DOUBLE 0x00000004 /* Double buffering needed for PCM start/stop */
-#define SNDRV_PCM_INFO_BATCH 0x00000010 /* double buffering */
-#define SNDRV_PCM_INFO_INTERLEAVED 0x00000100 /* channels are interleaved */
-#define SNDRV_PCM_INFO_NONINTERLEAVED 0x00000200 /* channels are not interleaved */
-#define SNDRV_PCM_INFO_COMPLEX 0x00000400 /* complex frame organization (mmap only) */
-#define SNDRV_PCM_INFO_BLOCK_TRANSFER 0x00010000 /* hardware transfer block of samples */
-#define SNDRV_PCM_INFO_OVERRANGE 0x00020000 /* hardware supports ADC (capture) overrange detection */
-#define SNDRV_PCM_INFO_RESUME 0x00040000 /* hardware supports stream resume after suspend */
-#define SNDRV_PCM_INFO_PAUSE 0x00080000 /* pause ioctl is supported */
-#define SNDRV_PCM_INFO_HALF_DUPLEX 0x00100000 /* only half duplex */
-#define SNDRV_PCM_INFO_JOINT_DUPLEX 0x00200000 /* playback and capture stream are somewhat correlated */
-#define SNDRV_PCM_INFO_SYNC_START 0x00400000 /* pcm support some kind of sync go */
-
-enum sndrv_pcm_state {
- SNDRV_PCM_STATE_OPEN = 0, /* stream is open */
- SNDRV_PCM_STATE_SETUP, /* stream has a setup */
- SNDRV_PCM_STATE_PREPARED, /* stream is ready to start */
- SNDRV_PCM_STATE_RUNNING, /* stream is running */
- SNDRV_PCM_STATE_XRUN, /* stream reached an xrun */
- SNDRV_PCM_STATE_DRAINING, /* stream is draining */
- SNDRV_PCM_STATE_PAUSED, /* stream is paused */
- SNDRV_PCM_STATE_SUSPENDED, /* hardware is suspended */
- SNDRV_PCM_STATE_DISCONNECTED, /* hardware is disconnected */
- SNDRV_PCM_STATE_LAST = SNDRV_PCM_STATE_DISCONNECTED,
-};
-
-enum {
- SNDRV_PCM_MMAP_OFFSET_DATA = 0x00000000,
- SNDRV_PCM_MMAP_OFFSET_STATUS = 0x80000000,
- SNDRV_PCM_MMAP_OFFSET_CONTROL = 0x81000000,
-};
-
-union sndrv_pcm_sync_id {
- unsigned char id[16];
- unsigned short id16[8];
- unsigned int id32[4];
-};
-
-struct sndrv_pcm_info {
- unsigned int device; /* RO/WR (control): device number */
- unsigned int subdevice; /* RO/WR (control): subdevice number */
- int stream; /* RO/WR (control): stream number */
- int card; /* R: card number */
- unsigned char id[64]; /* ID (user selectable) */
- unsigned char name[80]; /* name of this device */
- unsigned char subname[32]; /* subdevice name */
- int dev_class; /* SNDRV_PCM_CLASS_* */
- int dev_subclass; /* SNDRV_PCM_SUBCLASS_* */
- unsigned int subdevices_count;
- unsigned int subdevices_avail;
- union sndrv_pcm_sync_id sync; /* hardware synchronization ID */
- unsigned char reserved[64]; /* reserved for future... */
-};
-
-enum sndrv_pcm_hw_param {
- SNDRV_PCM_HW_PARAM_ACCESS = 0, /* Access type */
- SNDRV_PCM_HW_PARAM_FIRST_MASK = SNDRV_PCM_HW_PARAM_ACCESS,
- SNDRV_PCM_HW_PARAM_FORMAT, /* Format */
- SNDRV_PCM_HW_PARAM_SUBFORMAT, /* Subformat */
- SNDRV_PCM_HW_PARAM_LAST_MASK = SNDRV_PCM_HW_PARAM_SUBFORMAT,
-
- SNDRV_PCM_HW_PARAM_SAMPLE_BITS = 8, /* Bits per sample */
- SNDRV_PCM_HW_PARAM_FIRST_INTERVAL = SNDRV_PCM_HW_PARAM_SAMPLE_BITS,
- SNDRV_PCM_HW_PARAM_FRAME_BITS, /* Bits per frame */
- SNDRV_PCM_HW_PARAM_CHANNELS, /* Channels */
- SNDRV_PCM_HW_PARAM_RATE, /* Approx rate */
- SNDRV_PCM_HW_PARAM_PERIOD_TIME, /* Approx distance between interrupts
- in us */
- SNDRV_PCM_HW_PARAM_PERIOD_SIZE, /* Approx frames between interrupts */
- SNDRV_PCM_HW_PARAM_PERIOD_BYTES, /* Approx bytes between interrupts */
- SNDRV_PCM_HW_PARAM_PERIODS, /* Approx interrupts per buffer */
- SNDRV_PCM_HW_PARAM_BUFFER_TIME, /* Approx duration of buffer in us */
- SNDRV_PCM_HW_PARAM_BUFFER_SIZE, /* Size of buffer in frames */
- SNDRV_PCM_HW_PARAM_BUFFER_BYTES, /* Size of buffer in bytes */
- SNDRV_PCM_HW_PARAM_TICK_TIME, /* Approx tick duration in us */
- SNDRV_PCM_HW_PARAM_LAST_INTERVAL = SNDRV_PCM_HW_PARAM_TICK_TIME
-};
-
-#define SNDRV_PCM_HW_PARAMS_NORESAMPLE (1<<0) /* avoid rate resampling */
-#define SNDRV_PCM_HW_PARAMS_EXPORT_BUFFER (1<<1) /* export buffer */
-
-struct sndrv_interval {
- unsigned int min, max;
- unsigned int openmin:1,
- openmax:1,
- integer:1,
- empty:1;
-};
-
-#define SNDRV_MASK_MAX 256
-
-struct sndrv_mask {
- u_int32_t bits[(SNDRV_MASK_MAX+31)/32];
-};
-
-struct sndrv_pcm_hw_params {
- unsigned int flags;
- struct sndrv_mask masks[SNDRV_PCM_HW_PARAM_LAST_MASK -
- SNDRV_PCM_HW_PARAM_FIRST_MASK + 1];
- struct sndrv_mask mres[5]; /* reserved masks */
- struct sndrv_interval intervals[SNDRV_PCM_HW_PARAM_LAST_INTERVAL -
- SNDRV_PCM_HW_PARAM_FIRST_INTERVAL + 1];
- struct sndrv_interval ires[9]; /* reserved intervals */
- unsigned int rmask; /* W: requested masks */
- unsigned int cmask; /* R: changed masks */
- unsigned int info; /* R: Info flags for returned setup */
- unsigned int msbits; /* R: used most significant bits */
- unsigned int rate_num; /* R: rate numerator */
- unsigned int rate_den; /* R: rate denominator */
- sndrv_pcm_uframes_t fifo_size; /* R: chip FIFO size in frames */
- unsigned char reserved[64]; /* reserved for future */
-};
-
-enum sndrv_pcm_tstamp {
- SNDRV_PCM_TSTAMP_NONE = 0,
- SNDRV_PCM_TSTAMP_ENABLE,
- SNDRV_PCM_TSTAMP_LAST = SNDRV_PCM_TSTAMP_ENABLE,
-};
-
-struct sndrv_pcm_sw_params {
- int tstamp_mode; /* timestamp mode */
- unsigned int period_step;
- unsigned int sleep_min; /* min ticks to sleep */
- sndrv_pcm_uframes_t avail_min; /* min avail frames for wakeup */
- sndrv_pcm_uframes_t xfer_align; /* xfer size need to be a multiple */
- sndrv_pcm_uframes_t start_threshold; /* min hw_avail frames for automatic start */
- sndrv_pcm_uframes_t stop_threshold; /* min avail frames for automatic stop */
- sndrv_pcm_uframes_t silence_threshold; /* min distance from noise for silence filling */
- sndrv_pcm_uframes_t silence_size; /* silence block size */
- sndrv_pcm_uframes_t boundary; /* pointers wrap point */
- unsigned char reserved[60]; /* reserved for future */
- unsigned int period_event; /* for alsa-lib implementation */
-};
-
-struct sndrv_pcm_channel_info {
- unsigned int channel;
- off_t offset; /* mmap offset */
- unsigned int first; /* offset to first sample in bits */
- unsigned int step; /* samples distance in bits */
-};
-
-struct sndrv_pcm_status {
- int state; /* stream state */
- struct timespec trigger_tstamp; /* time when stream was started/stopped/paused */
- struct timespec tstamp; /* reference timestamp */
- sndrv_pcm_uframes_t appl_ptr; /* appl ptr */
- sndrv_pcm_uframes_t hw_ptr; /* hw ptr */
- sndrv_pcm_sframes_t delay; /* current delay in frames */
- sndrv_pcm_uframes_t avail; /* number of frames available */
- sndrv_pcm_uframes_t avail_max; /* max frames available on hw since last status */
- sndrv_pcm_uframes_t overrange; /* count of ADC (capture) overrange detections from last status */
- int suspended_state; /* suspended stream state */
- unsigned char reserved[60]; /* must be filled with zero */
-};
-
-struct sndrv_pcm_mmap_status {
- int state; /* RO: state - SNDRV_PCM_STATE_XXXX */
- int pad1; /* Needed for 64 bit alignment */
- sndrv_pcm_uframes_t hw_ptr; /* RO: hw ptr (0...boundary-1) */
- struct timespec tstamp; /* Timestamp */
- int suspended_state; /* RO: suspended stream state */
-};
-
-struct sndrv_pcm_mmap_control {
- sndrv_pcm_uframes_t appl_ptr; /* RW: appl ptr (0...boundary-1) */
- sndrv_pcm_uframes_t avail_min; /* RW: min available frames for wakeup */
-};
-
-#define SNDRV_PCM_SYNC_PTR_HWSYNC (1<<0) /* execute hwsync */
-#define SNDRV_PCM_SYNC_PTR_APPL (1<<1) /* get appl_ptr from driver (r/w op) */
-#define SNDRV_PCM_SYNC_PTR_AVAIL_MIN (1<<2) /* get avail_min from driver */
-
-struct sndrv_pcm_sync_ptr {
- unsigned int flags;
- union {
- struct sndrv_pcm_mmap_status status;
- unsigned char reserved[64];
- } s;
- union {
- struct sndrv_pcm_mmap_control control;
- unsigned char reserved[64];
- } c;
-};
-
-struct sndrv_xferi {
- sndrv_pcm_sframes_t result;
- void *buf;
- sndrv_pcm_uframes_t frames;
-};
-
-struct sndrv_xfern {
- sndrv_pcm_sframes_t result;
- void **bufs;
- sndrv_pcm_uframes_t frames;
-};
-
-
-enum {
- SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY = 0, /* gettimeofday equivalent */
- SNDRV_PCM_TSTAMP_TYPE_MONOTONIC, /* posix_clock_monotonic equivalent */
- SNDRV_PCM_TSTAMP_TYPE_LAST = SNDRV_PCM_TSTAMP_TYPE_MONOTONIC,
-};
-
-enum {
- SNDRV_PCM_IOCTL_PVERSION = _IOR('A', 0x00, int),
- SNDRV_PCM_IOCTL_INFO = _IOR('A', 0x01, struct sndrv_pcm_info),
- SNDRV_PCM_IOCTL_TSTAMP = _IOW('A', 0x02, int),
- SNDRV_PCM_IOCTL_TTSTAMP = _IOW('A', 0x03, int),
- SNDRV_PCM_IOCTL_HW_REFINE = _IOWR('A', 0x10, struct sndrv_pcm_hw_params),
- SNDRV_PCM_IOCTL_HW_PARAMS = _IOWR('A', 0x11, struct sndrv_pcm_hw_params),
- SNDRV_PCM_IOCTL_HW_FREE = _IO('A', 0x12),
- SNDRV_PCM_IOCTL_SW_PARAMS = _IOWR('A', 0x13, struct sndrv_pcm_sw_params),
- SNDRV_PCM_IOCTL_STATUS = _IOR('A', 0x20, struct sndrv_pcm_status),
- SNDRV_PCM_IOCTL_DELAY = _IOR('A', 0x21, sndrv_pcm_sframes_t),
- SNDRV_PCM_IOCTL_HWSYNC = _IO('A', 0x22),
- SNDRV_PCM_IOCTL_SYNC_PTR = _IOWR('A', 0x23, struct sndrv_pcm_sync_ptr),
- SNDRV_PCM_IOCTL_CHANNEL_INFO = _IOR('A', 0x32, struct sndrv_pcm_channel_info),
- SNDRV_PCM_IOCTL_PREPARE = _IO('A', 0x40),
- SNDRV_PCM_IOCTL_RESET = _IO('A', 0x41),
- SNDRV_PCM_IOCTL_START = _IO('A', 0x42),
- SNDRV_PCM_IOCTL_DROP = _IO('A', 0x43),
- SNDRV_PCM_IOCTL_DRAIN = _IO('A', 0x44),
- SNDRV_PCM_IOCTL_PAUSE = _IOW('A', 0x45, int),
- SNDRV_PCM_IOCTL_REWIND = _IOW('A', 0x46, sndrv_pcm_uframes_t),
- SNDRV_PCM_IOCTL_RESUME = _IO('A', 0x47),
- SNDRV_PCM_IOCTL_XRUN = _IO('A', 0x48),
- SNDRV_PCM_IOCTL_FORWARD = _IOW('A', 0x49, sndrv_pcm_uframes_t),
- SNDRV_PCM_IOCTL_WRITEI_FRAMES = _IOW('A', 0x50, struct sndrv_xferi),
- SNDRV_PCM_IOCTL_READI_FRAMES = _IOR('A', 0x51, struct sndrv_xferi),
- SNDRV_PCM_IOCTL_WRITEN_FRAMES = _IOW('A', 0x52, struct sndrv_xfern),
- SNDRV_PCM_IOCTL_READN_FRAMES = _IOR('A', 0x53, struct sndrv_xfern),
- SNDRV_PCM_IOCTL_LINK = _IOW('A', 0x60, int),
- SNDRV_PCM_IOCTL_UNLINK = _IO('A', 0x61),
-};
-
-/* Trick to make alsa-lib/acinclude.m4 happy */
-#define SNDRV_PCM_IOCTL_REWIND SNDRV_PCM_IOCTL_REWIND
-
-/*****************************************************************************
- * *
- * MIDI v1.0 interface *
- * *
- *****************************************************************************/
-
-/*
- * Raw MIDI section - /dev/snd/midi??
- */
-
-#define SNDRV_RAWMIDI_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 0)
-
-enum sndrv_rawmidi_stream {
- SNDRV_RAWMIDI_STREAM_OUTPUT = 0,
- SNDRV_RAWMIDI_STREAM_INPUT,
- SNDRV_RAWMIDI_STREAM_LAST = SNDRV_RAWMIDI_STREAM_INPUT,
-};
-
-#define SNDRV_RAWMIDI_INFO_OUTPUT 0x00000001
-#define SNDRV_RAWMIDI_INFO_INPUT 0x00000002
-#define SNDRV_RAWMIDI_INFO_DUPLEX 0x00000004
-
-struct sndrv_rawmidi_info {
- unsigned int device; /* RO/WR (control): device number */
- unsigned int subdevice; /* RO/WR (control): subdevice number */
- int stream; /* WR: stream */
- int card; /* R: card number */
- unsigned int flags; /* SNDRV_RAWMIDI_INFO_XXXX */
- unsigned char id[64]; /* ID (user selectable) */
- unsigned char name[80]; /* name of device */
- unsigned char subname[32]; /* name of active or selected subdevice */
- unsigned int subdevices_count;
- unsigned int subdevices_avail;
- unsigned char reserved[64]; /* reserved for future use */
-};
-
-struct sndrv_rawmidi_params {
- int stream;
- size_t buffer_size; /* queue size in bytes */
- size_t avail_min; /* minimum avail bytes for wakeup */
- unsigned int no_active_sensing: 1; /* do not send active sensing byte in close() */
- unsigned char reserved[16]; /* reserved for future use */
-};
-
-struct sndrv_rawmidi_status {
- int stream;
- struct timespec tstamp; /* Timestamp */
- size_t avail; /* available bytes */
- size_t xruns; /* count of overruns since last status (in bytes) */
- unsigned char reserved[16]; /* reserved for future use */
-};
-
-enum {
- SNDRV_RAWMIDI_IOCTL_PVERSION = _IOR('W', 0x00, int),
- SNDRV_RAWMIDI_IOCTL_INFO = _IOR('W', 0x01, struct sndrv_rawmidi_info),
- SNDRV_RAWMIDI_IOCTL_PARAMS = _IOWR('W', 0x10, struct sndrv_rawmidi_params),
- SNDRV_RAWMIDI_IOCTL_STATUS = _IOWR('W', 0x20, struct sndrv_rawmidi_status),
- SNDRV_RAWMIDI_IOCTL_DROP = _IOW('W', 0x30, int),
- SNDRV_RAWMIDI_IOCTL_DRAIN = _IOW('W', 0x31, int),
-};
-
-/*
- * Timer section - /dev/snd/timer
- */
-
-#define SNDRV_TIMER_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 5)
-
-enum sndrv_timer_class {
- SNDRV_TIMER_CLASS_NONE = -1,
- SNDRV_TIMER_CLASS_SLAVE = 0,
- SNDRV_TIMER_CLASS_GLOBAL,
- SNDRV_TIMER_CLASS_CARD,
- SNDRV_TIMER_CLASS_PCM,
- SNDRV_TIMER_CLASS_LAST = SNDRV_TIMER_CLASS_PCM,
-};
-
-/* slave timer classes */
-enum sndrv_timer_slave_class {
- SNDRV_TIMER_SCLASS_NONE = 0,
- SNDRV_TIMER_SCLASS_APPLICATION,
- SNDRV_TIMER_SCLASS_SEQUENCER, /* alias */
- SNDRV_TIMER_SCLASS_OSS_SEQUENCER, /* alias */
- SNDRV_TIMER_SCLASS_LAST = SNDRV_TIMER_SCLASS_OSS_SEQUENCER,
-};
-
-/* global timers (device member) */
-#define SNDRV_TIMER_GLOBAL_SYSTEM 0
-#define SNDRV_TIMER_GLOBAL_RTC 1
-#define SNDRV_TIMER_GLOBAL_HPET 2
-
-/* info flags */
-#define SNDRV_TIMER_FLG_SLAVE (1<<0) /* cannot be controlled */
-
-struct sndrv_timer_id {
- int dev_class;
- int dev_sclass;
- int card;
- int device;
- int subdevice;
-};
-
-struct sndrv_timer_ginfo {
- struct sndrv_timer_id tid; /* requested timer ID */
- unsigned int flags; /* timer flags - SNDRV_TIMER_FLG_* */
- int card; /* card number */
- unsigned char id[64]; /* timer identification */
- unsigned char name[80]; /* timer name */
- unsigned long reserved0; /* reserved for future use */
- unsigned long resolution; /* average period resolution in ns */
- unsigned long resolution_min; /* minimal period resolution in ns */
- unsigned long resolution_max; /* maximal period resolution in ns */
- unsigned int clients; /* active timer clients */
- unsigned char reserved[32];
-};
-
-struct sndrv_timer_gparams {
- struct sndrv_timer_id tid; /* requested timer ID */
- unsigned long period_num; /* requested precise period duration (in seconds) - numerator */
- unsigned long period_den; /* requested precise period duration (in seconds) - denominator */
- unsigned char reserved[32];
-};
-
-struct sndrv_timer_gstatus {
- struct sndrv_timer_id tid; /* requested timer ID */
- unsigned long resolution; /* current period resolution in ns */
- unsigned long resolution_num; /* precise current period resolution (in seconds) - numerator */
- unsigned long resolution_den; /* precise current period resolution (in seconds) - denominator */
- unsigned char reserved[32];
-};
-
-struct sndrv_timer_select {
- struct sndrv_timer_id id; /* bind to timer ID */
- unsigned char reserved[32]; /* reserved */
-};
-
-struct sndrv_timer_info {
- unsigned int flags; /* timer flags - SNDRV_TIMER_FLG_* */
- int card; /* card number */
- unsigned char id[64]; /* timer identificator */
- unsigned char name[80]; /* timer name */
- unsigned long reserved0; /* reserved for future use */
- unsigned long resolution; /* average period resolution in ns */
- unsigned char reserved[64]; /* reserved */
-};
-
-#define SNDRV_TIMER_PSFLG_AUTO (1<<0) /* auto start, otherwise one-shot */
-#define SNDRV_TIMER_PSFLG_EXCLUSIVE (1<<1) /* exclusive use, precise start/stop/pause/continue */
-#define SNDRV_TIMER_PSFLG_EARLY_EVENT (1<<2) /* write early event to the poll queue */
-
-struct sndrv_timer_params {
- unsigned int flags; /* flags - SNDRV_MIXER_PSFLG_* */
- unsigned int ticks; /* requested resolution in ticks */
- unsigned int queue_size; /* total size of queue (32-1024) */
- unsigned int reserved0; /* reserved, was: failure locations */
- unsigned int filter; /* event filter (bitmask of SNDRV_TIMER_EVENT_*) */
- unsigned char reserved[60]; /* reserved */
-};
-
-struct sndrv_timer_status {
- struct timespec tstamp; /* Timestamp - last update */
- unsigned int resolution; /* current period resolution in ns */
- unsigned int lost; /* counter of master tick lost */
- unsigned int overrun; /* count of read queue overruns */
- unsigned int queue; /* used queue size */
- unsigned char reserved[64]; /* reserved */
-};
-
-enum {
- SNDRV_TIMER_IOCTL_PVERSION = _IOR('T', 0x00, int),
- SNDRV_TIMER_IOCTL_NEXT_DEVICE = _IOWR('T', 0x01, struct sndrv_timer_id),
- SNDRV_TIMER_IOCTL_TREAD = _IOW('T', 0x02, int),
- SNDRV_TIMER_IOCTL_GINFO = _IOWR('T', 0x03, struct sndrv_timer_ginfo),
- SNDRV_TIMER_IOCTL_GPARAMS = _IOW('T', 0x04, struct sndrv_timer_gparams),
- SNDRV_TIMER_IOCTL_GSTATUS = _IOWR('T', 0x05, struct sndrv_timer_gstatus),
- SNDRV_TIMER_IOCTL_SELECT = _IOW('T', 0x10, struct sndrv_timer_select),
- SNDRV_TIMER_IOCTL_INFO = _IOR('T', 0x11, struct sndrv_timer_info),
- SNDRV_TIMER_IOCTL_PARAMS = _IOW('T', 0x12, struct sndrv_timer_params),
- SNDRV_TIMER_IOCTL_STATUS = _IOR('T', 0x14, struct sndrv_timer_status),
- /* The following four ioctls are changed since 1.0.9 due to confliction */
- SNDRV_TIMER_IOCTL_START = _IO('T', 0xa0),
- SNDRV_TIMER_IOCTL_STOP = _IO('T', 0xa1),
- SNDRV_TIMER_IOCTL_CONTINUE = _IO('T', 0xa2),
- SNDRV_TIMER_IOCTL_PAUSE = _IO('T', 0xa3),
-};
-
-struct sndrv_timer_read {
- unsigned int resolution;
- unsigned int ticks;
-};
-
-enum sndrv_timer_event {
- SNDRV_TIMER_EVENT_RESOLUTION = 0, /* val = resolution in ns */
- SNDRV_TIMER_EVENT_TICK, /* val = ticks */
- SNDRV_TIMER_EVENT_START, /* val = resolution in ns */
- SNDRV_TIMER_EVENT_STOP, /* val = 0 */
- SNDRV_TIMER_EVENT_CONTINUE, /* val = resolution in ns */
- SNDRV_TIMER_EVENT_PAUSE, /* val = 0 */
- SNDRV_TIMER_EVENT_EARLY, /* val = 0, early event */
- SNDRV_TIMER_EVENT_SUSPEND, /* val = 0 */
- SNDRV_TIMER_EVENT_RESUME, /* val = resolution in ns */
- /* master timer events for slave timer instances */
- SNDRV_TIMER_EVENT_MSTART = SNDRV_TIMER_EVENT_START + 10,
- SNDRV_TIMER_EVENT_MSTOP = SNDRV_TIMER_EVENT_STOP + 10,
- SNDRV_TIMER_EVENT_MCONTINUE = SNDRV_TIMER_EVENT_CONTINUE + 10,
- SNDRV_TIMER_EVENT_MPAUSE = SNDRV_TIMER_EVENT_PAUSE + 10,
- SNDRV_TIMER_EVENT_MSUSPEND = SNDRV_TIMER_EVENT_SUSPEND + 10,
- SNDRV_TIMER_EVENT_MRESUME = SNDRV_TIMER_EVENT_RESUME + 10,
-};
-
-struct sndrv_timer_tread {
- int event;
- struct timespec tstamp;
- unsigned int val;
-};
-
-/****************************************************************************
- * *
- * Section for driver control interface - /dev/snd/control? *
- * *
- ****************************************************************************/
-
-#define SNDRV_CTL_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 6)
-
-struct sndrv_ctl_card_info {
- int card; /* card number */
- int pad; /* reserved for future (was type) */
- unsigned char id[16]; /* ID of card (user selectable) */
- unsigned char driver[16]; /* Driver name */
- unsigned char name[32]; /* Short name of soundcard */
- unsigned char longname[80]; /* name + info text about soundcard */
- unsigned char reserved_[16]; /* reserved for future (was ID of mixer) */
- unsigned char mixername[80]; /* visual mixer identification */
- unsigned char components[128]; /* card components / fine identification, delimited with one space (AC97 etc..) */
-};
-
-enum sndrv_ctl_elem_type {
- SNDRV_CTL_ELEM_TYPE_NONE = 0, /* invalid */
- SNDRV_CTL_ELEM_TYPE_BOOLEAN, /* boolean type */
- SNDRV_CTL_ELEM_TYPE_INTEGER, /* integer type */
- SNDRV_CTL_ELEM_TYPE_ENUMERATED, /* enumerated type */
- SNDRV_CTL_ELEM_TYPE_BYTES, /* byte array */
- SNDRV_CTL_ELEM_TYPE_IEC958, /* IEC958 (S/PDIF) setup */
- SNDRV_CTL_ELEM_TYPE_INTEGER64, /* 64-bit integer type */
- SNDRV_CTL_ELEM_TYPE_LAST = SNDRV_CTL_ELEM_TYPE_INTEGER64,
-};
-
-enum sndrv_ctl_elem_iface {
- SNDRV_CTL_ELEM_IFACE_CARD = 0, /* global control */
- SNDRV_CTL_ELEM_IFACE_HWDEP, /* hardware dependent device */
- SNDRV_CTL_ELEM_IFACE_MIXER, /* virtual mixer device */
- SNDRV_CTL_ELEM_IFACE_PCM, /* PCM device */
- SNDRV_CTL_ELEM_IFACE_RAWMIDI, /* RawMidi device */
- SNDRV_CTL_ELEM_IFACE_TIMER, /* timer device */
- SNDRV_CTL_ELEM_IFACE_SEQUENCER, /* sequencer client */
- SNDRV_CTL_ELEM_IFACE_LAST = SNDRV_CTL_ELEM_IFACE_SEQUENCER,
-};
-
-#define SNDRV_CTL_ELEM_ACCESS_READ (1<<0)
-#define SNDRV_CTL_ELEM_ACCESS_WRITE (1<<1)
-#define SNDRV_CTL_ELEM_ACCESS_READWRITE (SNDRV_CTL_ELEM_ACCESS_READ|SNDRV_CTL_ELEM_ACCESS_WRITE)
-#define SNDRV_CTL_ELEM_ACCESS_VOLATILE (1<<2) /* control value may be changed without a notification */
-#define SNDRV_CTL_ELEM_ACCESS_TIMESTAMP (1<<3) /* when was control changed */
-#define SNDRV_CTL_ELEM_ACCESS_TLV_READ (1<<4) /* TLV read is supported */
-#define SNDRV_CTL_ELEM_ACCESS_TLV_WRITE (1<<5) /* TLV write is supported */
-#define SNDRV_CTL_ELEM_ACCESS_TLV_READWRITE (SNDRV_CTL_ELEM_ACCESS_TLV_READ|SNDRV_CTL_ELEM_ACCESS_TLV_WRITE)
-#define SNDRV_CTL_ELEM_ACCESS_TLV_COMMAND (1<<6) /* TLV command is possible */
-#define SNDRV_CTL_ELEM_ACCESS_INACTIVE (1<<8) /* control does actually nothing, but may be updated */
-#define SNDRV_CTL_ELEM_ACCESS_LOCK (1<<9) /* write lock */
-#define SNDRV_CTL_ELEM_ACCESS_OWNER (1<<10) /* write lock owner */
-#define SNDRV_CTL_ELEM_ACCESS_TLV_CALLBACK (1<<28) /* flag only for kernel */
-#define SNDRV_CTL_ELEM_ACCESS_USER (1<<29) /* user space element */
-/* bits 30 and 31 are obsoleted (for indirect access) */
-
-/* for further details see the ACPI and PCI power management specification */
-#define SNDRV_CTL_POWER_D0 0x0000 /* full On */
-#define SNDRV_CTL_POWER_D1 0x0100 /* partial On */
-#define SNDRV_CTL_POWER_D2 0x0200 /* partial On */
-#define SNDRV_CTL_POWER_D3 0x0300 /* Off */
-#define SNDRV_CTL_POWER_D3hot (SNDRV_CTL_POWER_D3|0x0000) /* Off, with power */
-#define SNDRV_CTL_POWER_D3cold (SNDRV_CTL_POWER_D3|0x0001) /* Off, without power */
-
-struct sndrv_ctl_elem_id {
- unsigned int numid; /* numeric identifier, zero = invalid */
- int iface; /* interface identifier */
- unsigned int device; /* device/client number */
- unsigned int subdevice; /* subdevice (substream) number */
- unsigned char name[44]; /* ASCII name of item */
- unsigned int index; /* index of item */
-};
-
-struct sndrv_ctl_elem_list {
- unsigned int offset; /* W: first element ID to get */
- unsigned int space; /* W: count of element IDs to get */
- unsigned int used; /* R: count of element IDs set */
- unsigned int count; /* R: count of all elements */
- struct sndrv_ctl_elem_id *pids; /* R: IDs */
- unsigned char reserved[50];
-};
-
-struct sndrv_ctl_elem_info {
- struct sndrv_ctl_elem_id id; /* W: element ID */
- int type; /* R: value type - SNDRV_CTL_ELEM_TYPE_* */
- unsigned int access; /* R: value access (bitmask) - SNDRV_CTL_ELEM_ACCESS_* */
- unsigned int count; /* count of values */
- pid_t owner; /* owner's PID of this control */
- union {
- struct {
- long min; /* R: minimum value */
- long max; /* R: maximum value */
- long step; /* R: step (0 variable) */
- } integer;
- struct {
- long long min; /* R: minimum value */
- long long max; /* R: maximum value */
- long long step; /* R: step (0 variable) */
- } integer64;
- struct {
- unsigned int items; /* R: number of items */
- unsigned int item; /* W: item number */
- char name[64]; /* R: value name */
- } enumerated;
- unsigned char reserved[128];
- } value;
- union {
- unsigned short d[4]; /* dimensions */
- unsigned short *d_ptr; /* (obsolete) indirect */
- } dimen;
- unsigned char reserved[64-4*sizeof(unsigned short)];
-};
-
-struct sndrv_ctl_elem_value {
- struct sndrv_ctl_elem_id id; /* W: element ID */
- unsigned int indirect: 1; /* (obsolete) W: use indirect pointer (xxx_ptr member) */
- union {
- union {
- long value[128];
- long *value_ptr; /* obsolete */
- } integer;
- union {
- long long value[64];
- long long *value_ptr; /* obsolete */
- } integer64;
- union {
- unsigned int item[128];
- unsigned int *item_ptr; /* obsolete */
- } enumerated;
- union {
- unsigned char data[512];
- unsigned char *data_ptr; /* obsolete */
- } bytes;
- struct sndrv_aes_iec958 iec958;
- } value; /* RO */
- struct timespec tstamp;
- unsigned char reserved[128-sizeof(struct timespec)];
-};
-
-struct sndrv_ctl_tlv {
- unsigned int numid; /* control element numeric identification */
- unsigned int length; /* in bytes aligned to 4 */
- unsigned int tlv[0]; /* first TLV */
-};
-
-enum {
- SNDRV_CTL_IOCTL_PVERSION = _IOR('U', 0x00, int),
- SNDRV_CTL_IOCTL_CARD_INFO = _IOR('U', 0x01, struct sndrv_ctl_card_info),
- SNDRV_CTL_IOCTL_ELEM_LIST = _IOWR('U', 0x10, struct sndrv_ctl_elem_list),
- SNDRV_CTL_IOCTL_ELEM_INFO = _IOWR('U', 0x11, struct sndrv_ctl_elem_info),
- SNDRV_CTL_IOCTL_ELEM_READ = _IOWR('U', 0x12, struct sndrv_ctl_elem_value),
- SNDRV_CTL_IOCTL_ELEM_WRITE = _IOWR('U', 0x13, struct sndrv_ctl_elem_value),
- SNDRV_CTL_IOCTL_ELEM_LOCK = _IOW('U', 0x14, struct sndrv_ctl_elem_id),
- SNDRV_CTL_IOCTL_ELEM_UNLOCK = _IOW('U', 0x15, struct sndrv_ctl_elem_id),
- SNDRV_CTL_IOCTL_SUBSCRIBE_EVENTS = _IOWR('U', 0x16, int),
- SNDRV_CTL_IOCTL_ELEM_ADD = _IOWR('U', 0x17, struct sndrv_ctl_elem_info),
- SNDRV_CTL_IOCTL_ELEM_REPLACE = _IOWR('U', 0x18, struct sndrv_ctl_elem_info),
- SNDRV_CTL_IOCTL_ELEM_REMOVE = _IOWR('U', 0x19, struct sndrv_ctl_elem_id),
- SNDRV_CTL_IOCTL_TLV_READ = _IOWR('U', 0x1a, struct sndrv_ctl_tlv),
- SNDRV_CTL_IOCTL_TLV_WRITE = _IOWR('U', 0x1b, struct sndrv_ctl_tlv),
- SNDRV_CTL_IOCTL_TLV_COMMAND = _IOWR('U', 0x1c, struct sndrv_ctl_tlv),
- SNDRV_CTL_IOCTL_HWDEP_NEXT_DEVICE = _IOWR('U', 0x20, int),
- SNDRV_CTL_IOCTL_HWDEP_INFO = _IOR('U', 0x21, struct sndrv_hwdep_info),
- SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE = _IOR('U', 0x30, int),
- SNDRV_CTL_IOCTL_PCM_INFO = _IOWR('U', 0x31, struct sndrv_pcm_info),
- SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE = _IOW('U', 0x32, int),
- SNDRV_CTL_IOCTL_RAWMIDI_NEXT_DEVICE = _IOWR('U', 0x40, int),
- SNDRV_CTL_IOCTL_RAWMIDI_INFO = _IOWR('U', 0x41, struct sndrv_rawmidi_info),
- SNDRV_CTL_IOCTL_RAWMIDI_PREFER_SUBDEVICE = _IOW('U', 0x42, int),
- SNDRV_CTL_IOCTL_POWER = _IOWR('U', 0xd0, int),
- SNDRV_CTL_IOCTL_POWER_STATE = _IOR('U', 0xd1, int),
-};
-
-/*
- * Read interface.
- */
-
-enum sndrv_ctl_event_type {
- SNDRV_CTL_EVENT_ELEM = 0,
- SNDRV_CTL_EVENT_LAST = SNDRV_CTL_EVENT_ELEM,
-};
-
-#define SNDRV_CTL_EVENT_MASK_VALUE (1<<0) /* element value was changed */
-#define SNDRV_CTL_EVENT_MASK_INFO (1<<1) /* element info was changed */
-#define SNDRV_CTL_EVENT_MASK_ADD (1<<2) /* element was added */
-#define SNDRV_CTL_EVENT_MASK_REMOVE (~0U) /* element was removed */
-
-struct sndrv_ctl_event {
- int type; /* event type - SNDRV_CTL_EVENT_* */
- union {
- struct {
- unsigned int mask;
- struct sndrv_ctl_elem_id id;
- } elem;
- unsigned char data8[60];
- } data;
-};
-
-/*
- * Control names
- */
-
-#define SNDRV_CTL_NAME_NONE ""
-#define SNDRV_CTL_NAME_PLAYBACK "Playback "
-#define SNDRV_CTL_NAME_CAPTURE "Capture "
-
-#define SNDRV_CTL_NAME_IEC958_NONE ""
-#define SNDRV_CTL_NAME_IEC958_SWITCH "Switch"
-#define SNDRV_CTL_NAME_IEC958_VOLUME "Volume"
-#define SNDRV_CTL_NAME_IEC958_DEFAULT "Default"
-#define SNDRV_CTL_NAME_IEC958_MASK "Mask"
-#define SNDRV_CTL_NAME_IEC958_CON_MASK "Con Mask"
-#define SNDRV_CTL_NAME_IEC958_PRO_MASK "Pro Mask"
-#define SNDRV_CTL_NAME_IEC958_PCM_STREAM "PCM Stream"
-#define SNDRV_CTL_NAME_IEC958(expl,direction,what) "IEC958 " expl SNDRV_CTL_NAME_##direction SNDRV_CTL_NAME_IEC958_##what
-
-/*
- *
- */
-
-struct sndrv_xferv {
- const struct iovec *vector;
- unsigned long count;
-};
-
-enum {
- SNDRV_IOCTL_READV = _IOW('K', 0x00, struct sndrv_xferv),
- SNDRV_IOCTL_WRITEV = _IOW('K', 0x01, struct sndrv_xferv),
-};
-
-#endif /* __SOUND_ASOUND_H */
diff --git a/alsa-lib/include/sound/asound_fm.h b/alsa-lib/include/sound/asound_fm.h
deleted file mode 100644
index c2a4b96..0000000
--- a/alsa-lib/include/sound/asound_fm.h
+++ /dev/null
@@ -1,134 +0,0 @@
-#ifndef __SOUND_ASOUND_FM_H
-#define __SOUND_ASOUND_FM_H
-
-/*
- * Advanced Linux Sound Architecture - ALSA
- *
- * Interface file between ALSA driver & user space
- * Copyright (c) 1994-98 by Jaroslav Kysela <perex@perex.cz>,
- * 4Front Technologies
- *
- * Direct FM control
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#define SNDRV_DM_FM_MODE_OPL2 0x00
-#define SNDRV_DM_FM_MODE_OPL3 0x01
-
-struct snd_dm_fm_info {
- unsigned char fm_mode; /* OPL mode, see SNDRV_DM_FM_MODE_XXX */
- unsigned char rhythm; /* percussion mode flag */
-};
-
-/*
- * Data structure composing an FM "note" or sound event.
- */
-
-struct snd_dm_fm_voice {
- unsigned char op; /* operator cell (0 or 1) */
- unsigned char voice; /* FM voice (0 to 17) */
-
- unsigned char am; /* amplitude modulation */
- unsigned char vibrato; /* vibrato effect */
- unsigned char do_sustain; /* sustain phase */
- unsigned char kbd_scale; /* keyboard scaling */
- unsigned char harmonic; /* 4 bits: harmonic and multiplier */
- unsigned char scale_level; /* 2 bits: decrease output freq rises */
- unsigned char volume; /* 6 bits: volume */
-
- unsigned char attack; /* 4 bits: attack rate */
- unsigned char decay; /* 4 bits: decay rate */
- unsigned char sustain; /* 4 bits: sustain level */
- unsigned char release; /* 4 bits: release rate */
-
- unsigned char feedback; /* 3 bits: feedback for op0 */
- unsigned char connection; /* 0 for serial, 1 for parallel */
- unsigned char left; /* stereo left */
- unsigned char right; /* stereo right */
- unsigned char waveform; /* 3 bits: waveform shape */
-};
-
-/*
- * This describes an FM note by its voice, octave, frequency number (10bit)
- * and key on/off.
- */
-
-struct snd_dm_fm_note {
- unsigned char voice; /* 0-17 voice channel */
- unsigned char octave; /* 3 bits: what octave to play */
- unsigned int fnum; /* 10 bits: frequency number */
- unsigned char key_on; /* set for active, clear for silent */
-};
-
-/*
- * FM parameters that apply globally to all voices, and thus are not "notes"
- */
-
-struct snd_dm_fm_params {
- unsigned char am_depth; /* amplitude modulation depth (1=hi) */
- unsigned char vib_depth; /* vibrato depth (1=hi) */
- unsigned char kbd_split; /* keyboard split */
- unsigned char rhythm; /* percussion mode select */
-
- /* This block is the percussion instrument data */
- unsigned char bass;
- unsigned char snare;
- unsigned char tomtom;
- unsigned char cymbal;
- unsigned char hihat;
-};
-
-/*
- * FM mode ioctl settings
- */
-
-#define SNDRV_DM_FM_IOCTL_INFO _IOR('H', 0x20, struct snd_dm_fm_info)
-#define SNDRV_DM_FM_IOCTL_RESET _IO ('H', 0x21)
-#define SNDRV_DM_FM_IOCTL_PLAY_NOTE _IOW('H', 0x22, struct snd_dm_fm_note)
-#define SNDRV_DM_FM_IOCTL_SET_VOICE _IOW('H', 0x23, struct snd_dm_fm_voice)
-#define SNDRV_DM_FM_IOCTL_SET_PARAMS _IOW('H', 0x24, struct snd_dm_fm_params)
-#define SNDRV_DM_FM_IOCTL_SET_MODE _IOW('H', 0x25, int)
-/* for OPL3 only */
-#define SNDRV_DM_FM_IOCTL_SET_CONNECTION _IOW('H', 0x26, int)
-/* SBI patch management */
-#define SNDRV_DM_FM_IOCTL_CLEAR_PATCHES _IO ('H', 0x40)
-
-#define SNDRV_DM_FM_OSS_IOCTL_RESET 0x20
-#define SNDRV_DM_FM_OSS_IOCTL_PLAY_NOTE 0x21
-#define SNDRV_DM_FM_OSS_IOCTL_SET_VOICE 0x22
-#define SNDRV_DM_FM_OSS_IOCTL_SET_PARAMS 0x23
-#define SNDRV_DM_FM_OSS_IOCTL_SET_MODE 0x24
-#define SNDRV_DM_FM_OSS_IOCTL_SET_OPL 0x25
-
-/*
- * Patch Record - fixed size for write
- */
-
-#define FM_KEY_SBI "SBI\032"
-#define FM_KEY_2OP "2OP\032"
-#define FM_KEY_4OP "4OP\032"
-
-struct sbi_patch {
- unsigned char prog;
- unsigned char bank;
- char key[4];
- char name[25];
- char extension[7];
- unsigned char data[32];
-};
-
-#endif /* __SOUND_ASOUND_FM_H */
diff --git a/alsa-lib/include/sound/asoundef.h b/alsa-lib/include/sound/asoundef.h
deleted file mode 100644
index f962c5a..0000000
--- a/alsa-lib/include/sound/asoundef.h
+++ /dev/null
@@ -1,227 +0,0 @@
-#ifndef __SOUND_ASOUNDEF_H
-#define __SOUND_ASOUNDEF_H
-
-/*
- * Advanced Linux Sound Architecture - ALSA - Driver
- * Copyright (c) 1994-2000 by Jaroslav Kysela <perex@perex.cz>
- *
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-/****************************************************************************
- * *
- * Digital audio interface *
- * *
- ****************************************************************************/
-
-/* AES/IEC958 channel status bits */
-#define IEC958_AES0_PROFESSIONAL (1<<0) /* 0 = consumer, 1 = professional */
-#define IEC958_AES0_NONAUDIO (1<<1) /* 0 = audio, 1 = non-audio */
-#define IEC958_AES0_PRO_EMPHASIS (7<<2) /* mask - emphasis */
-#define IEC958_AES0_PRO_EMPHASIS_NOTID (0<<2) /* emphasis not indicated */
-#define IEC958_AES0_PRO_EMPHASIS_NONE (1<<2) /* none emphasis */
-#define IEC958_AES0_PRO_EMPHASIS_5015 (3<<2) /* 50/15us emphasis */
-#define IEC958_AES0_PRO_EMPHASIS_CCITT (7<<2) /* CCITT J.17 emphasis */
-#define IEC958_AES0_PRO_FREQ_UNLOCKED (1<<5) /* source sample frequency: 0 = locked, 1 = unlocked */
-#define IEC958_AES0_PRO_FS (3<<6) /* mask - sample frequency */
-#define IEC958_AES0_PRO_FS_NOTID (0<<6) /* fs not indicated */
-#define IEC958_AES0_PRO_FS_44100 (1<<6) /* 44.1kHz */
-#define IEC958_AES0_PRO_FS_48000 (2<<6) /* 48kHz */
-#define IEC958_AES0_PRO_FS_32000 (3<<6) /* 32kHz */
-#define IEC958_AES0_CON_NOT_COPYRIGHT (1<<2) /* 0 = copyright, 1 = not copyright */
-#define IEC958_AES0_CON_EMPHASIS (7<<3) /* mask - emphasis */
-#define IEC958_AES0_CON_EMPHASIS_NONE (0<<3) /* none emphasis */
-#define IEC958_AES0_CON_EMPHASIS_5015 (1<<3) /* 50/15us emphasis */
-#define IEC958_AES0_CON_MODE (3<<6) /* mask - mode */
-#define IEC958_AES1_PRO_MODE (15<<0) /* mask - channel mode */
-#define IEC958_AES1_PRO_MODE_NOTID (0<<0) /* not indicated */
-#define IEC958_AES1_PRO_MODE_STEREOPHONIC (2<<0) /* stereophonic - ch A is left */
-#define IEC958_AES1_PRO_MODE_SINGLE (4<<0) /* single channel */
-#define IEC958_AES1_PRO_MODE_TWO (8<<0) /* two channels */
-#define IEC958_AES1_PRO_MODE_PRIMARY (12<<0) /* primary/secondary */
-#define IEC958_AES1_PRO_MODE_BYTE3 (15<<0) /* vector to byte 3 */
-#define IEC958_AES1_PRO_USERBITS (15<<4) /* mask - user bits */
-#define IEC958_AES1_PRO_USERBITS_NOTID (0<<4) /* not indicated */
-#define IEC958_AES1_PRO_USERBITS_192 (8<<4) /* 192-bit structure */
-#define IEC958_AES1_PRO_USERBITS_UDEF (12<<4) /* user defined application */
-#define IEC958_AES1_CON_CATEGORY 0x7f
-#define IEC958_AES1_CON_GENERAL 0x00
-#define IEC958_AES1_CON_EXPERIMENTAL 0x40
-#define IEC958_AES1_CON_SOLIDMEM_MASK 0x0f
-#define IEC958_AES1_CON_SOLIDMEM_ID 0x08
-#define IEC958_AES1_CON_BROADCAST1_MASK 0x07
-#define IEC958_AES1_CON_BROADCAST1_ID 0x04
-#define IEC958_AES1_CON_DIGDIGCONV_MASK 0x07
-#define IEC958_AES1_CON_DIGDIGCONV_ID 0x02
-#define IEC958_AES1_CON_ADC_COPYRIGHT_MASK 0x1f
-#define IEC958_AES1_CON_ADC_COPYRIGHT_ID 0x06
-#define IEC958_AES1_CON_ADC_MASK 0x1f
-#define IEC958_AES1_CON_ADC_ID 0x16
-#define IEC958_AES1_CON_BROADCAST2_MASK 0x0f
-#define IEC958_AES1_CON_BROADCAST2_ID 0x0e
-#define IEC958_AES1_CON_LASEROPT_MASK 0x07
-#define IEC958_AES1_CON_LASEROPT_ID 0x01
-#define IEC958_AES1_CON_MUSICAL_MASK 0x07
-#define IEC958_AES1_CON_MUSICAL_ID 0x05
-#define IEC958_AES1_CON_MAGNETIC_MASK 0x07
-#define IEC958_AES1_CON_MAGNETIC_ID 0x03
-#define IEC958_AES1_CON_IEC908_CD (IEC958_AES1_CON_LASEROPT_ID|0x00)
-#define IEC958_AES1_CON_NON_IEC908_CD (IEC958_AES1_CON_LASEROPT_ID|0x08)
-#define IEC958_AES1_CON_PCM_CODER (IEC958_AES1_CON_DIGDIGCONV_ID|0x00)
-#define IEC958_AES1_CON_SAMPLER (IEC958_AES1_CON_DIGDIGCONV_ID|0x20)
-#define IEC958_AES1_CON_MIXER (IEC958_AES1_CON_DIGDIGCONV_ID|0x10)
-#define IEC958_AES1_CON_RATE_CONVERTER (IEC958_AES1_CON_DIGDIGCONV_ID|0x18)
-#define IEC958_AES1_CON_SYNTHESIZER (IEC958_AES1_CON_MUSICAL_ID|0x00)
-#define IEC958_AES1_CON_MICROPHONE (IEC958_AES1_CON_MUSICAL_ID|0x08)
-#define IEC958_AES1_CON_DAT (IEC958_AES1_CON_MAGNETIC_ID|0x00)
-#define IEC958_AES1_CON_VCR (IEC958_AES1_CON_MAGNETIC_ID|0x08)
-#define IEC958_AES1_CON_ORIGINAL (1<<7) /* this bits depends on the category code */
-#define IEC958_AES2_PRO_SBITS (7<<0) /* mask - sample bits */
-#define IEC958_AES2_PRO_SBITS_20 (2<<0) /* 20-bit - coordination */
-#define IEC958_AES2_PRO_SBITS_24 (4<<0) /* 24-bit - main audio */
-#define IEC958_AES2_PRO_SBITS_UDEF (6<<0) /* user defined application */
-#define IEC958_AES2_PRO_WORDLEN (7<<3) /* mask - source word length */
-#define IEC958_AES2_PRO_WORDLEN_NOTID (0<<3) /* not indicated */
-#define IEC958_AES2_PRO_WORDLEN_22_18 (2<<3) /* 22-bit or 18-bit */
-#define IEC958_AES2_PRO_WORDLEN_23_19 (4<<3) /* 23-bit or 19-bit */
-#define IEC958_AES2_PRO_WORDLEN_24_20 (5<<3) /* 24-bit or 20-bit */
-#define IEC958_AES2_PRO_WORDLEN_20_16 (6<<3) /* 20-bit or 16-bit */
-#define IEC958_AES2_CON_SOURCE (15<<0) /* mask - source number */
-#define IEC958_AES2_CON_SOURCE_UNSPEC (0<<0) /* unspecified */
-#define IEC958_AES2_CON_CHANNEL (15<<4) /* mask - channel number */
-#define IEC958_AES2_CON_CHANNEL_UNSPEC (0<<4) /* unspecified */
-#define IEC958_AES3_CON_FS (15<<0) /* mask - sample frequency */
-#define IEC958_AES3_CON_FS_44100 (0<<0) /* 44.1kHz */
-#define IEC958_AES3_CON_FS_48000 (2<<0) /* 48kHz */
-#define IEC958_AES3_CON_FS_32000 (3<<0) /* 32kHz */
-#define IEC958_AES3_CON_CLOCK (3<<4) /* mask - clock accuracy */
-#define IEC958_AES3_CON_CLOCK_1000PPM (0<<4) /* 1000 ppm */
-#define IEC958_AES3_CON_CLOCK_50PPM (1<<4) /* 50 ppm */
-#define IEC958_AES3_CON_CLOCK_VARIABLE (2<<4) /* variable pitch */
-
-/*****************************************************************************
- * *
- * MIDI v1.0 interface *
- * *
- *****************************************************************************/
-
-#define MIDI_CHANNELS 16
-#define MIDI_GM_DRUM_CHANNEL (10-1)
-
-/*
- * MIDI commands
- */
-
-#define MIDI_CMD_NOTE_OFF 0x80
-#define MIDI_CMD_NOTE_ON 0x90
-#define MIDI_CMD_NOTE_PRESSURE 0xa0
-#define MIDI_CMD_CONTROL 0xb0
-#define MIDI_CMD_PGM_CHANGE 0xc0
-#define MIDI_CMD_CHANNEL_PRESSURE 0xd0
-#define MIDI_CMD_BENDER 0xe0
-
-#define MIDI_CMD_COMMON_SYSEX 0xf0
-#define MIDI_CMD_COMMON_MTC_QUARTER 0xf1
-#define MIDI_CMD_COMMON_SONG_POS 0xf2
-#define MIDI_CMD_COMMON_SONG_SELECT 0xf3
-#define MIDI_CMD_COMMON_TUNE_REQUEST 0xf6
-#define MIDI_CMD_COMMON_SYSEX_END 0xf7
-#define MIDI_CMD_COMMON_CLOCK 0xf8
-#define MIDI_CMD_COMMON_START 0xfa
-#define MIDI_CMD_COMMON_CONTINUE 0xfb
-#define MIDI_CMD_COMMON_STOP 0xfc
-#define MIDI_CMD_COMMON_SENSING 0xfe
-#define MIDI_CMD_COMMON_RESET 0xff
-
-/*
- * MIDI controllers
- */
-
-#define MIDI_CTL_MSB_BANK 0x00
-#define MIDI_CTL_MSB_MODWHEEL 0x01
-#define MIDI_CTL_MSB_BREATH 0x02
-#define MIDI_CTL_MSB_FOOT 0x04
-#define MIDI_CTL_MSB_PORTAMENTO_TIME 0x05
-#define MIDI_CTL_MSB_DATA_ENTRY 0x06
-#define MIDI_CTL_MSB_MAIN_VOLUME 0x07
-#define MIDI_CTL_MSB_BALANCE 0x08
-#define MIDI_CTL_MSB_PAN 0x0a
-#define MIDI_CTL_MSB_EXPRESSION 0x0b
-#define MIDI_CTL_MSB_EFFECT1 0x0c
-#define MIDI_CTL_MSB_EFFECT2 0x0d
-#define MIDI_CTL_MSB_GENERAL_PURPOSE1 0x10
-#define MIDI_CTL_MSB_GENERAL_PURPOSE2 0x11
-#define MIDI_CTL_MSB_GENERAL_PURPOSE3 0x12
-#define MIDI_CTL_MSB_GENERAL_PURPOSE4 0x13
-#define MIDI_CTL_LSB_BANK 0x20
-#define MIDI_CTL_LSB_MODWHEEL 0x21
-#define MIDI_CTL_LSB_BREATH 0x22
-#define MIDI_CTL_LSB_FOOT 0x24
-#define MIDI_CTL_LSB_PORTAMENTO_TIME 0x25
-#define MIDI_CTL_LSB_DATA_ENTRY 0x26
-#define MIDI_CTL_LSB_MAIN_VOLUME 0x27
-#define MIDI_CTL_LSB_BALANCE 0x28
-#define MIDI_CTL_LSB_PAN 0x2a
-#define MIDI_CTL_LSB_EXPRESSION 0x2b
-#define MIDI_CTL_LSB_EFFECT1 0x2c
-#define MIDI_CTL_LSB_EFFECT2 0x2d
-#define MIDI_CTL_LSB_GENERAL_PURPOSE1 0x30
-#define MIDI_CTL_LSB_GENERAL_PURPOSE2 0x31
-#define MIDI_CTL_LSB_GENERAL_PURPOSE3 0x32
-#define MIDI_CTL_LSB_GENERAL_PURPOSE4 0x33
-#define MIDI_CTL_SUSTAIN 0x40
-#define MIDI_CTL_PORTAMENTO 0x41
-#define MIDI_CTL_SUSTENUTO 0x42
-#define MIDI_CTL_SOFT_PEDAL 0x43
-#define MIDI_CTL_LEGATO_FOOTSWITCH 0x44
-#define MIDI_CTL_HOLD2 0x45
-#define MIDI_CTL_SC1_SOUND_VARIATION 0x46
-#define MIDI_CTL_SC2_TIMBRE 0x47
-#define MIDI_CTL_SC3_RELEASE_TIME 0x48
-#define MIDI_CTL_SC4_ATTACK_TIME 0x49
-#define MIDI_CTL_SC5_BRIGHTNESS 0x4a
-#define MIDI_CTL_SC6 0x4b
-#define MIDI_CTL_SC7 0x4c
-#define MIDI_CTL_SC8 0x4d
-#define MIDI_CTL_SC9 0x4e
-#define MIDI_CTL_SC10 0x4f
-#define MIDI_CTL_GENERAL_PURPOSE5 0x50
-#define MIDI_CTL_GENERAL_PURPOSE6 0x51
-#define MIDI_CTL_GENERAL_PURPOSE7 0x52
-#define MIDI_CTL_GENERAL_PURPOSE8 0x53
-#define MIDI_CTL_PORTAMENTO_CONTROL 0x54
-#define MIDI_CTL_E1_REVERB_DEPTH 0x5b
-#define MIDI_CTL_E2_TREMOLO_DEPTH 0x5c
-#define MIDI_CTL_E3_CHORUS_DEPTH 0x5d
-#define MIDI_CTL_E4_DETUNE_DEPTH 0x5e
-#define MIDI_CTL_E5_PHASER_DEPTH 0x5f
-#define MIDI_CTL_DATA_INCREMENT 0x60
-#define MIDI_CTL_DATA_DECREMENT 0x61
-#define MIDI_CTL_NONREG_PARM_NUM_LSB 0x62
-#define MIDI_CTL_NONREG_PARM_NUM_MSB 0x63
-#define MIDI_CTL_REGIST_PARM_NUM_LSB 0x64
-#define MIDI_CTL_REGIST_PARM_NUM_MSB 0x65
-#define MIDI_CTL_ALL_SOUNDS_OFF 0x78
-#define MIDI_CTL_RESET_CONTROLLERS 0x79
-#define MIDI_CTL_LOCAL_CONTROL_SWITCH 0x7a
-#define MIDI_CTL_ALL_NOTES_OFF 0x7b
-#define MIDI_CTL_OMNI_OFF 0x7c
-#define MIDI_CTL_OMNI_ON 0x7d
-#define MIDI_CTL_MONO1 0x7e
-#define MIDI_CTL_MONO2 0x7f
-
-#endif /* __SOUND_ASOUNDEF_H */
diff --git a/alsa-lib/include/sound/emu10k1.h b/alsa-lib/include/sound/emu10k1.h
deleted file mode 100644
index 94018b7..0000000
--- a/alsa-lib/include/sound/emu10k1.h
+++ /dev/null
@@ -1,349 +0,0 @@
-#ifndef __SOUND_EMU10K1_H
-#define __SOUND_EMU10K1_H
-
-/*
- * Copyright (c) by Jaroslav Kysela <perex@perex.cz>,
- * Creative Labs, Inc.
- * Definitions for EMU10K1 (SB Live!) chips
- *
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include <stdint.h>
-
-/*
- * ---- FX8010 ----
- */
-
-#define EMU10K1_CARD_CREATIVE 0x00000000
-#define EMU10K1_CARD_EMUAPS 0x00000001
-
-#define EMU10K1_FX8010_PCM_COUNT 8
-
-/* instruction set */
-#define iMAC0 0x00 /* R = A + (X * Y >> 31) ; saturation */
-#define iMAC1 0x01 /* R = A + (-X * Y >> 31) ; saturation */
-#define iMAC2 0x02 /* R = A + (X * Y >> 31) ; wraparound */
-#define iMAC3 0x03 /* R = A + (-X * Y >> 31) ; wraparound */
-#define iMACINT0 0x04 /* R = A + X * Y ; saturation */
-#define iMACINT1 0x05 /* R = A + X * Y ; wraparound (31-bit) */
-#define iACC3 0x06 /* R = A + X + Y ; saturation */
-#define iMACMV 0x07 /* R = A, acc += X * Y >> 31 */
-#define iANDXOR 0x08 /* R = (A & X) ^ Y */
-#define iTSTNEG 0x09 /* R = (A >= Y) ? X : ~X */
-#define iLIMITGE 0x0a /* R = (A >= Y) ? X : Y */
-#define iLIMITLT 0x0b /* R = (A < Y) ? X : Y */
-#define iLOG 0x0c /* R = linear_data, A (log_data), X (max_exp), Y (format_word) */
-#define iEXP 0x0d /* R = log_data, A (linear_data), X (max_exp), Y (format_word) */
-#define iINTERP 0x0e /* R = A + (X * (Y - A) >> 31) ; saturation */
-#define iSKIP 0x0f /* R = A (cc_reg), X (count), Y (cc_test) */
-
-/* GPRs */
-#define FXBUS(x) (0x00 + (x)) /* x = 0x00 - 0x0f */
-#define EXTIN(x) (0x10 + (x)) /* x = 0x00 - 0x0f */
-#define EXTOUT(x) (0x20 + (x)) /* x = 0x00 - 0x0f */
-#define C_00000000 0x40
-#define C_00000001 0x41
-#define C_00000002 0x42
-#define C_00000003 0x43
-#define C_00000004 0x44
-#define C_00000008 0x45
-#define C_00000010 0x46
-#define C_00000020 0x47
-#define C_00000100 0x48
-#define C_00010000 0x49
-#define C_00080000 0x4a
-#define C_10000000 0x4b
-#define C_20000000 0x4c
-#define C_40000000 0x4d
-#define C_80000000 0x4e
-#define C_7fffffff 0x4f
-#define C_ffffffff 0x50
-#define C_fffffffe 0x51
-#define C_c0000000 0x52
-#define C_4f1bbcdc 0x53
-#define C_5a7ef9db 0x54
-#define C_00100000 0x55 /* ?? */
-#define GPR_ACCU 0x56 /* ACCUM, accumulator */
-#define GPR_COND 0x57 /* CCR, condition register */
-#define GPR_NOISE0 0x58 /* noise source */
-#define GPR_NOISE1 0x59 /* noise source */
-#define GPR_IRQ 0x5a /* IRQ register */
-#define GPR_DBAC 0x5b /* TRAM Delay Base Address Counter */
-#define GPR(x) (FXGPREGBASE + (x)) /* free GPRs: x = 0x00 - 0xff */
-#define ITRAM_DATA(x) (TANKMEMDATAREGBASE + 0x00 + (x)) /* x = 0x00 - 0x7f */
-#define ETRAM_DATA(x) (TANKMEMDATAREGBASE + 0x80 + (x)) /* x = 0x00 - 0x1f */
-#define ITRAM_ADDR(x) (TANKMEMADDRREGBASE + 0x00 + (x)) /* x = 0x00 - 0x7f */
-#define ETRAM_ADDR(x) (TANKMEMADDRREGBASE + 0x80 + (x)) /* x = 0x00 - 0x1f */
-
-#define A_FXBUS(x) (0x00 + (x)) /* x = 0x00 - 0x3f? */
-#define A_EXTIN(x) (0x40 + (x)) /* x = 0x00 - 0x1f? */
-#define A_EXTOUT(x) (0x60 + (x)) /* x = 0x00 - 0x1f? */
-#define A_GPR(x) (A_FXGPREGBASE + (x))
-
-/* cc_reg constants */
-#define CC_REG_NORMALIZED C_00000001
-#define CC_REG_BORROW C_00000002
-#define CC_REG_MINUS C_00000004
-#define CC_REG_ZERO C_00000008
-#define CC_REG_SATURATE C_00000010
-#define CC_REG_NONZERO C_00000100
-
-/* FX buses */
-#define FXBUS_PCM_LEFT 0x00
-#define FXBUS_PCM_RIGHT 0x01
-#define FXBUS_PCM_LEFT_REAR 0x02
-#define FXBUS_PCM_RIGHT_REAR 0x03
-#define FXBUS_MIDI_LEFT 0x04
-#define FXBUS_MIDI_RIGHT 0x05
-#define FXBUS_PCM_CENTER 0x06
-#define FXBUS_PCM_LFE 0x07
-#define FXBUS_PCM_LEFT_FRONT 0x08
-#define FXBUS_PCM_RIGHT_FRONT 0x09
-#define FXBUS_MIDI_REVERB 0x0c
-#define FXBUS_MIDI_CHORUS 0x0d
-#define FXBUS_PCM_LEFT_SIDE 0x0e
-#define FXBUS_PCM_RIGHT_SIDE 0x0f
-#define FXBUS_PT_LEFT 0x14
-#define FXBUS_PT_RIGHT 0x15
-
-/* Inputs */
-#define EXTIN_AC97_L 0x00 /* AC'97 capture channel - left */
-#define EXTIN_AC97_R 0x01 /* AC'97 capture channel - right */
-#define EXTIN_SPDIF_CD_L 0x02 /* internal S/PDIF CD - onboard - left */
-#define EXTIN_SPDIF_CD_R 0x03 /* internal S/PDIF CD - onboard - right */
-#define EXTIN_ZOOM_L 0x04 /* Zoom Video I2S - left */
-#define EXTIN_ZOOM_R 0x05 /* Zoom Video I2S - right */
-#define EXTIN_TOSLINK_L 0x06 /* LiveDrive - TOSLink Optical - left */
-#define EXTIN_TOSLINK_R 0x07 /* LiveDrive - TOSLink Optical - right */
-#define EXTIN_LINE1_L 0x08 /* LiveDrive - Line/Mic 1 - left */
-#define EXTIN_LINE1_R 0x09 /* LiveDrive - Line/Mic 1 - right */
-#define EXTIN_COAX_SPDIF_L 0x0a /* LiveDrive - Coaxial S/PDIF - left */
-#define EXTIN_COAX_SPDIF_R 0x0b /* LiveDrive - Coaxial S/PDIF - right */
-#define EXTIN_LINE2_L 0x0c /* LiveDrive - Line/Mic 2 - left */
-#define EXTIN_LINE2_R 0x0d /* LiveDrive - Line/Mic 2 - right */
-
-/* Outputs */
-#define EXTOUT_AC97_L 0x00 /* AC'97 playback channel - left */
-#define EXTOUT_AC97_R 0x01 /* AC'97 playback channel - right */
-#define EXTOUT_TOSLINK_L 0x02 /* LiveDrive - TOSLink Optical - left */
-#define EXTOUT_TOSLINK_R 0x03 /* LiveDrive - TOSLink Optical - right */
-#define EXTOUT_AC97_CENTER 0x04 /* SB Live 5.1 - center */
-#define EXTOUT_AC97_LFE 0x05 /* SB Live 5.1 - LFE */
-#define EXTOUT_HEADPHONE_L 0x06 /* LiveDrive - Headphone - left */
-#define EXTOUT_HEADPHONE_R 0x07 /* LiveDrive - Headphone - right */
-#define EXTOUT_REAR_L 0x08 /* Rear channel - left */
-#define EXTOUT_REAR_R 0x09 /* Rear channel - right */
-#define EXTOUT_ADC_CAP_L 0x0a /* ADC Capture buffer - left */
-#define EXTOUT_ADC_CAP_R 0x0b /* ADC Capture buffer - right */
-#define EXTOUT_MIC_CAP 0x0c /* MIC Capture buffer */
-#define EXTOUT_AC97_REAR_L 0x0d /* SB Live 5.1 (c) 2003 - Rear Left */
-#define EXTOUT_AC97_REAR_R 0x0e /* SB Live 5.1 (c) 2003 - Rear Right */
-#define EXTOUT_ACENTER 0x11 /* Analog Center */
-#define EXTOUT_ALFE 0x12 /* Analog LFE */
-
-/* Audigy Inputs */
-#define A_EXTIN_AC97_L 0x00 /* AC'97 capture channel - left */
-#define A_EXTIN_AC97_R 0x01 /* AC'97 capture channel - right */
-#define A_EXTIN_SPDIF_CD_L 0x02 /* digital CD left */
-#define A_EXTIN_SPDIF_CD_R 0x03 /* digital CD left */
-#define A_EXTIN_OPT_SPDIF_L 0x04 /* audigy drive Optical SPDIF - left */
-#define A_EXTIN_OPT_SPDIF_R 0x05 /* right */
-#define A_EXTIN_LINE2_L 0x08 /* audigy drive line2/mic2 - left */
-#define A_EXTIN_LINE2_R 0x09 /* right */
-#define A_EXTIN_ADC_L 0x0a /* Philips ADC - left */
-#define A_EXTIN_ADC_R 0x0b /* right */
-#define A_EXTIN_AUX2_L 0x0c /* audigy drive aux2 - left */
-#define A_EXTIN_AUX2_R 0x0d /* - right */
-
-/* Audigiy Outputs */
-#define A_EXTOUT_FRONT_L 0x00 /* digital front left */
-#define A_EXTOUT_FRONT_R 0x01 /* right */
-#define A_EXTOUT_CENTER 0x02 /* digital front center */
-#define A_EXTOUT_LFE 0x03 /* digital front lfe */
-#define A_EXTOUT_HEADPHONE_L 0x04 /* headphone audigy drive left */
-#define A_EXTOUT_HEADPHONE_R 0x05 /* right */
-#define A_EXTOUT_REAR_L 0x06 /* digital rear left */
-#define A_EXTOUT_REAR_R 0x07 /* right */
-#define A_EXTOUT_AFRONT_L 0x08 /* analog front left */
-#define A_EXTOUT_AFRONT_R 0x09 /* right */
-#define A_EXTOUT_ACENTER 0x0a /* analog center */
-#define A_EXTOUT_ALFE 0x0b /* analog LFE */
-#define A_EXTOUT_ASIDE_L 0x0c /* analog side left - Audigy 2 ZS */
-#define A_EXTOUT_ASIDE_R 0x0d /* right - Audigy 2 ZS */
-#define A_EXTOUT_AREAR_L 0x0e /* analog rear left */
-#define A_EXTOUT_AREAR_R 0x0f /* right */
-#define A_EXTOUT_AC97_L 0x10 /* AC97 left (front) */
-#define A_EXTOUT_AC97_R 0x11 /* right */
-#define A_EXTOUT_ADC_CAP_L 0x16 /* ADC capture buffer left */
-#define A_EXTOUT_ADC_CAP_R 0x17 /* right */
-#define A_EXTOUT_MIC_CAP 0x18 /* Mic capture buffer */
-
-/* Audigy constants */
-#define A_C_00000000 0xc0
-#define A_C_00000001 0xc1
-#define A_C_00000002 0xc2
-#define A_C_00000003 0xc3
-#define A_C_00000004 0xc4
-#define A_C_00000008 0xc5
-#define A_C_00000010 0xc6
-#define A_C_00000020 0xc7
-#define A_C_00000100 0xc8
-#define A_C_00010000 0xc9
-#define A_C_00000800 0xca
-#define A_C_10000000 0xcb
-#define A_C_20000000 0xcc
-#define A_C_40000000 0xcd
-#define A_C_80000000 0xce
-#define A_C_7fffffff 0xcf
-#define A_C_ffffffff 0xd0
-#define A_C_fffffffe 0xd1
-#define A_C_c0000000 0xd2
-#define A_C_4f1bbcdc 0xd3
-#define A_C_5a7ef9db 0xd4
-#define A_C_00100000 0xd5
-#define A_GPR_ACCU 0xd6 /* ACCUM, accumulator */
-#define A_GPR_COND 0xd7 /* CCR, condition register */
-#define A_GPR_NOISE0 0xd8 /* noise source */
-#define A_GPR_NOISE1 0xd9 /* noise source */
-#define A_GPR_IRQ 0xda /* IRQ register */
-#define A_GPR_DBAC 0xdb /* TRAM Delay Base Address Counter - internal */
-#define A_GPR_DBACE 0xde /* TRAM Delay Base Address Counter - external */
-
-/* definitions for debug register */
-#define EMU10K1_DBG_ZC 0x80000000 /* zero tram counter */
-#define EMU10K1_DBG_SATURATION_OCCURED 0x02000000 /* saturation control */
-#define EMU10K1_DBG_SATURATION_ADDR 0x01ff0000 /* saturation address */
-#define EMU10K1_DBG_SINGLE_STEP 0x00008000 /* single step mode */
-#define EMU10K1_DBG_STEP 0x00004000 /* start single step */
-#define EMU10K1_DBG_CONDITION_CODE 0x00003e00 /* condition code */
-#define EMU10K1_DBG_SINGLE_STEP_ADDR 0x000001ff /* single step address */
-
-/* tank memory address line */
-#ifndef __KERNEL__
-#define TANKMEMADDRREG_ADDR_MASK 0x000fffff /* 20 bit tank address field */
-#define TANKMEMADDRREG_CLEAR 0x00800000 /* Clear tank memory */
-#define TANKMEMADDRREG_ALIGN 0x00400000 /* Align read or write relative to tank access */
-#define TANKMEMADDRREG_WRITE 0x00200000 /* Write to tank memory */
-#define TANKMEMADDRREG_READ 0x00100000 /* Read from tank memory */
-#endif
-
-typedef struct {
- unsigned int internal_tram_size; /* in samples */
- unsigned int external_tram_size; /* in samples */
- char fxbus_names[16][32]; /* names of FXBUSes */
- char extin_names[16][32]; /* names of external inputs */
- char extout_names[32][32]; /* names of external outputs */
- unsigned int gpr_controls; /* count of GPR controls */
-} emu10k1_fx8010_info_t;
-
-#define EMU10K1_GPR_TRANSLATION_NONE 0
-#define EMU10K1_GPR_TRANSLATION_TABLE100 1
-#define EMU10K1_GPR_TRANSLATION_BASS 2
-#define EMU10K1_GPR_TRANSLATION_TREBLE 3
-#define EMU10K1_GPR_TRANSLATION_ONOFF 4
-
-enum emu10k1_ctl_elem_iface {
- EMU10K1_CTL_ELEM_IFACE_MIXER = 2, /* virtual mixer device */
- EMU10K1_CTL_ELEM_IFACE_PCM = 3, /* PCM device */
-};
-
-typedef struct {
- unsigned int pad; /* don't use */
- int iface; /* interface identifier */
- unsigned int device; /* device/client number */
- unsigned int subdevice; /* subdevice (substream) number */
- unsigned char name[44]; /* ASCII name of item */
- unsigned int index; /* index of item */
-} emu10k1_ctl_elem_id_t;
-
-typedef struct {
- emu10k1_ctl_elem_id_t id; /* full control ID definition */
- unsigned int vcount; /* visible count */
- unsigned int count; /* count of GPR (1..16) */
- unsigned short gpr[32]; /* GPR number(s) */
- unsigned int value[32]; /* initial values */
- unsigned int min; /* minimum range */
- unsigned int max; /* maximum range */
- unsigned int translation; /* translation type (EMU10K1_GPR_TRANSLATION*) */
- unsigned int *tlv;
-} emu10k1_fx8010_control_gpr_t;
-
-typedef struct {
- char name[128];
-
- unsigned long gpr_valid[0x200/(sizeof(unsigned long)*8)]; /* bitmask of valid initializers */
- uint32_t *gpr_map; /* initializers */
-
- unsigned int gpr_add_control_count; /* count of GPR controls to add/replace */
- emu10k1_fx8010_control_gpr_t *gpr_add_controls; /* GPR controls to add/replace */
-
- unsigned int gpr_del_control_count; /* count of GPR controls to remove */
- emu10k1_ctl_elem_id_t *gpr_del_controls; /* IDs of GPR controls to remove */
-
- unsigned int gpr_list_control_count; /* count of GPR controls to list */
- unsigned int gpr_list_control_total; /* total count of GPR controls */
- emu10k1_fx8010_control_gpr_t *gpr_list_controls; /* listed GPR controls */
-
- unsigned long tram_valid[0x100/(sizeof(unsigned long)*8)]; /* bitmask of valid initializers */
- uint32_t *tram_data_map; /* data initializers */
- uint32_t *tram_addr_map; /* map initializers */
-
- unsigned long code_valid[1024/(sizeof(unsigned long)*8)]; /* bitmask of valid instructions */
- uint32_t *code; /* one instruction - 64 bits */
-} emu10k1_fx8010_code_t;
-
-typedef struct {
- unsigned int address; /* 31.bit == 1 -> external TRAM */
- unsigned int size; /* size in samples (4 bytes) */
- unsigned int *samples; /* pointer to samples (20-bit) */
- /* NULL->clear memory */
-} emu10k1_fx8010_tram_t;
-
-typedef struct {
- unsigned int substream; /* substream number */
- unsigned int res1; /* reserved */
- unsigned int channels; /* 16-bit channels count, zero = remove this substream */
- unsigned int tram_start; /* ring buffer position in TRAM (in samples) */
- unsigned int buffer_size; /* count of buffered samples */
- unsigned short gpr_size; /* GPR containing size of ringbuffer in samples (host) */
- unsigned short gpr_ptr; /* GPR containing current pointer in the ring buffer (host = reset, FX8010) */
- unsigned short gpr_count; /* GPR containing count of samples between two interrupts (host) */
- unsigned short gpr_tmpcount; /* GPR containing current count of samples to interrupt (host = set, FX8010) */
- unsigned short gpr_trigger; /* GPR containing trigger (activate) information (host) */
- unsigned short gpr_running; /* GPR containing info if PCM is running (FX8010) */
- unsigned char pad; /* reserved */
- unsigned char etram[32]; /* external TRAM address & data (one per channel) */
- unsigned int res2; /* reserved */
-} emu10k1_fx8010_pcm_t;
-
-#define SNDRV_EMU10K1_IOCTL_INFO _IOR ('H', 0x10, emu10k1_fx8010_info_t)
-#define SNDRV_EMU10K1_IOCTL_CODE_POKE _IOW ('H', 0x11, emu10k1_fx8010_code_t)
-#define SNDRV_EMU10K1_IOCTL_CODE_PEEK _IOWR('H', 0x12, emu10k1_fx8010_code_t)
-#define SNDRV_EMU10K1_IOCTL_TRAM_SETUP _IOW ('H', 0x20, int)
-#define SNDRV_EMU10K1_IOCTL_TRAM_POKE _IOW ('H', 0x21, emu10k1_fx8010_tram_t)
-#define SNDRV_EMU10K1_IOCTL_TRAM_PEEK _IOWR('H', 0x22, emu10k1_fx8010_tram_t)
-#define SNDRV_EMU10K1_IOCTL_PCM_POKE _IOW ('H', 0x30, emu10k1_fx8010_pcm_t)
-#define SNDRV_EMU10K1_IOCTL_PCM_PEEK _IOWR('H', 0x31, emu10k1_fx8010_pcm_t)
-#define SNDRV_EMU10K1_IOCTL_PVERSION _IOR ('H', 0x40, int)
-#define SNDRV_EMU10K1_IOCTL_STOP _IO ('H', 0x80)
-#define SNDRV_EMU10K1_IOCTL_CONTINUE _IO ('H', 0x81)
-#define SNDRV_EMU10K1_IOCTL_ZERO_TRAM_COUNTER _IO ('H', 0x82)
-#define SNDRV_EMU10K1_IOCTL_SINGLE_STEP _IOW ('H', 0x83, int)
-#define SNDRV_EMU10K1_IOCTL_DBG_READ _IOR ('H', 0x84, int)
-
-#endif /* __SOUND_EMU10K1_H */
diff --git a/alsa-lib/include/sound/hdsp.h b/alsa-lib/include/sound/hdsp.h
deleted file mode 100644
index 0fc9e98..0000000
--- a/alsa-lib/include/sound/hdsp.h
+++ /dev/null
@@ -1,112 +0,0 @@
-#ifndef __SOUND_HDSP_H
-#define __SOUND_HDSP_H
-
-/*
- * Copyright (C) 2003 Thomas Charbonnel (thomas@undata.org)
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-#include <stdint.h>
-
-#define HDSP_MATRIX_MIXER_SIZE 2048
-
-typedef enum {
- Digiface,
- Multiface,
- H9652,
- H9632,
- Undefined,
-} HDSP_IO_Type;
-
-typedef struct _snd_hdsp_peak_rms hdsp_peak_rms_t;
-
-struct _snd_hdsp_peak_rms {
- uint32_t input_peaks[26];
- uint32_t playback_peaks[26];
- uint32_t output_peaks[28];
- uint64_t input_rms[26];
- uint64_t playback_rms[26];
- /* These are only used for H96xx cards */
- uint64_t output_rms[26];
-};
-
-#define SNDRV_HDSP_IOCTL_GET_PEAK_RMS _IOR('H', 0x40, hdsp_peak_rms_t)
-
-typedef struct _snd_hdsp_config_info hdsp_config_info_t;
-
-struct _snd_hdsp_config_info {
- unsigned char pref_sync_ref;
- unsigned char wordclock_sync_check;
- unsigned char spdif_sync_check;
- unsigned char adatsync_sync_check;
- unsigned char adat_sync_check[3];
- unsigned char spdif_in;
- unsigned char spdif_out;
- unsigned char spdif_professional;
- unsigned char spdif_emphasis;
- unsigned char spdif_nonaudio;
- unsigned int spdif_sample_rate;
- unsigned int system_sample_rate;
- unsigned int autosync_sample_rate;
- unsigned char system_clock_mode;
- unsigned char clock_source;
- unsigned char autosync_ref;
- unsigned char line_out;
- unsigned char passthru;
- unsigned char da_gain;
- unsigned char ad_gain;
- unsigned char phone_gain;
- unsigned char xlr_breakout_cable;
- unsigned char analog_extension_board;
-};
-
-#define SNDRV_HDSP_IOCTL_GET_CONFIG_INFO _IOR('H', 0x41, hdsp_config_info_t)
-
-typedef struct _snd_hdsp_firmware hdsp_firmware_t;
-
-struct _snd_hdsp_firmware {
- void *firmware_data; /* 24413 x 4 bytes */
-};
-
-#define SNDRV_HDSP_IOCTL_UPLOAD_FIRMWARE _IOW('H', 0x42, hdsp_firmware_t)
-
-typedef struct _snd_hdsp_version hdsp_version_t;
-
-struct _snd_hdsp_version {
- HDSP_IO_Type io_type;
- unsigned short firmware_rev;
-};
-
-#define SNDRV_HDSP_IOCTL_GET_VERSION _IOR('H', 0x43, hdsp_version_t)
-
-typedef struct _snd_hdsp_mixer hdsp_mixer_t;
-
-struct _snd_hdsp_mixer {
- unsigned short matrix[HDSP_MATRIX_MIXER_SIZE];
-};
-
-#define SNDRV_HDSP_IOCTL_GET_MIXER _IOR('H', 0x44, hdsp_mixer_t)
-
-typedef struct _snd_hdsp_9632_aeb hdsp_9632_aeb_t;
-
-struct _snd_hdsp_9632_aeb {
- int aebi;
- int aebo;
-};
-
-#define SNDRV_HDSP_IOCTL_GET_9632_AEB _IOR('H', 0x45, hdsp_9632_aeb_t)
-
-#endif /* __SOUND_HDSP_H */
diff --git a/alsa-lib/include/sound/sb16_csp.h b/alsa-lib/include/sound/sb16_csp.h
deleted file mode 100644
index 78817b4..0000000
--- a/alsa-lib/include/sound/sb16_csp.h
+++ /dev/null
@@ -1,115 +0,0 @@
-#ifndef __SOUND_SB16_CSP_H
-#define __SOUND_SB16_CSP_H
-
-/*
- * Copyright (c) 1999 by Uros Bizjak <uros@kss-loka.si>
- * Takashi Iwai <tiwai@suse.de>
- *
- * SB16ASP/AWE32 CSP control
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-/* CSP modes */
-#define SNDRV_SB_CSP_MODE_NONE 0x00
-#define SNDRV_SB_CSP_MODE_DSP_READ 0x01 /* Record from DSP */
-#define SNDRV_SB_CSP_MODE_DSP_WRITE 0x02 /* Play to DSP */
-#define SNDRV_SB_CSP_MODE_QSOUND 0x04 /* QSound */
-
-/* CSP load flags */
-#define SNDRV_SB_CSP_LOAD_FROMUSER 0x01
-#define SNDRV_SB_CSP_LOAD_INITBLOCK 0x02
-
-/* CSP sample width */
-#define SNDRV_SB_CSP_SAMPLE_8BIT 0x01
-#define SNDRV_SB_CSP_SAMPLE_16BIT 0x02
-
-/* CSP channels */
-#define SNDRV_SB_CSP_MONO 0x01
-#define SNDRV_SB_CSP_STEREO 0x02
-
-/* CSP rates */
-#define SNDRV_SB_CSP_RATE_8000 0x01
-#define SNDRV_SB_CSP_RATE_11025 0x02
-#define SNDRV_SB_CSP_RATE_22050 0x04
-#define SNDRV_SB_CSP_RATE_44100 0x08
-#define SNDRV_SB_CSP_RATE_ALL 0x0f
-
-/* CSP running state */
-#define SNDRV_SB_CSP_ST_IDLE 0x00
-#define SNDRV_SB_CSP_ST_LOADED 0x01
-#define SNDRV_SB_CSP_ST_RUNNING 0x02
-#define SNDRV_SB_CSP_ST_PAUSED 0x04
-#define SNDRV_SB_CSP_ST_AUTO 0x08
-#define SNDRV_SB_CSP_ST_QSOUND 0x10
-
-/* maximum QSound value (180 degrees right) */
-#define SNDRV_SB_CSP_QSOUND_MAX_RIGHT 0x20
-
-/* maximum microcode RIFF file size */
-#define SNDRV_SB_CSP_MAX_MICROCODE_FILE_SIZE 0x3000
-
-/* microcode header */
-typedef struct snd_sb_csp_mc_header {
- char codec_name[16]; /* id name of codec */
- unsigned short func_req; /* requested function */
-} snd_sb_csp_mc_header_t;
-
-/* microcode to be loaded */
-typedef struct snd_sb_csp_microcode {
- snd_sb_csp_mc_header_t info;
- unsigned char data[SNDRV_SB_CSP_MAX_MICROCODE_FILE_SIZE];
-} snd_sb_csp_microcode_t;
-
-/* start CSP with sample_width in mono/stereo */
-typedef struct snd_sb_csp_start {
- int sample_width; /* sample width, look above */
- int channels; /* channels, look above */
-} snd_sb_csp_start_t;
-
-/* CSP information */
-typedef struct snd_sb_csp_info {
- char codec_name[16]; /* id name of codec */
- unsigned short func_nr; /* function number */
- unsigned int acc_format; /* accepted PCM formats */
- unsigned short acc_channels; /* accepted channels */
- unsigned short acc_width; /* accepted sample width */
- unsigned short acc_rates; /* accepted sample rates */
- unsigned short csp_mode; /* CSP mode, see above */
- unsigned short run_channels; /* current channels */
- unsigned short run_width; /* current sample width */
- unsigned short version; /* version id: 0x10 - 0x1f */
- unsigned short state; /* state bits */
-} snd_sb_csp_info_t;
-
-/* HWDEP controls */
-/* get CSP information */
-#define SNDRV_SB_CSP_IOCTL_INFO _IOR('H', 0x10, snd_sb_csp_info_t)
-/* load microcode to CSP */
-#define SNDRV_SB_CSP_IOCTL_LOAD_CODE _IOW('H', 0x11, snd_sb_csp_microcode_t)
-/* unload microcode from CSP */
-#define SNDRV_SB_CSP_IOCTL_UNLOAD_CODE _IO('H', 0x12)
-/* start CSP */
-#define SNDRV_SB_CSP_IOCTL_START _IOW('H', 0x13, snd_sb_csp_start_t)
-/* stop CSP */
-#define SNDRV_SB_CSP_IOCTL_STOP _IO('H', 0x14)
-/* pause CSP and DMA transfer */
-#define SNDRV_SB_CSP_IOCTL_PAUSE _IO('H', 0x15)
-/* restart CSP and DMA transfer */
-#define SNDRV_SB_CSP_IOCTL_RESTART _IO('H', 0x16)
-
-
-#endif /* __SOUND_SB16_CSP */
diff --git a/alsa-lib/include/sound/sscape_ioctl.h b/alsa-lib/include/sound/sscape_ioctl.h
deleted file mode 100644
index c6653eb..0000000
--- a/alsa-lib/include/sound/sscape_ioctl.h
+++ /dev/null
@@ -1,21 +0,0 @@
-#ifndef SSCAPE_IOCTL_H
-#define SSCAPE_IOCTL_H
-
-
-struct sscape_bootblock
-{
- unsigned char code[256];
- unsigned version;
-};
-
-#define SSCAPE_MICROCODE_SIZE 65536
-
-struct sscape_microcode
-{
- unsigned char *code;
-};
-
-#define SND_SSCAPE_LOAD_BOOTB _IOWR('P', 100, struct sscape_bootblock)
-#define SND_SSCAPE_LOAD_MCODE _IOW ('P', 101, struct sscape_microcode)
-
-#endif
diff --git a/alsa-lib/include/sound/type_compat.h b/alsa-lib/include/sound/type_compat.h
deleted file mode 100644
index eec86e4..0000000
--- a/alsa-lib/include/sound/type_compat.h
+++ /dev/null
@@ -1,40 +0,0 @@
-#ifndef __TYPE_COMPAT_H
-#define __TYPE_COMPAT_H
-
-#ifndef DOC_HIDDEN
-#include <stdint.h>
-typedef uint8_t __u8;
-typedef uint16_t __u16;
-typedef uint32_t __u32;
-typedef int8_t __s8;
-typedef int16_t __s16;
-typedef int32_t __s32;
-
-#include <endian.h>
-#include <byteswap.h>
-#if __BYTE_ORDER == __LITTLE_ENDIAN
-#define __cpu_to_le32(x) (x)
-#define __cpu_to_be32(x) bswap_32(x)
-#define __cpu_to_le16(x) (x)
-#define __cpu_to_be16(x) bswap_16(x)
-#else
-#define __cpu_to_le32(x) bswap_32(x)
-#define __cpu_to_be32(x) (x)
-#define __cpu_to_le16(x) bswap_16(x)
-#define __cpu_to_be16(x) (x)
-#endif
-
-#define __le32_to_cpu __cpu_to_le32
-#define __be32_to_cpu __cpu_to_be32
-#define __le16_to_cpu __cpu_to_le16
-#define __be16_to_cpu __cpu_to_be16
-
-#define __le64 __u64
-#define __le32 __u32
-#define __le16 __u16
-#define __be64 __u64
-#define __be32 __u32
-#define __be16 __u16
-#endif /* DOC_HIDDEN */
-
-#endif /* __TYPE_COMPAT_H */
diff --git a/alsa-lib/include/sys.h b/alsa-lib/include/sys.h
deleted file mode 100644
index 47f587c..0000000
--- a/alsa-lib/include/sys.h
+++ /dev/null
@@ -1,2 +0,0 @@
-#warning This header is deprecated, use <alsa/asoundlib.h> instead.
-#include <alsa/asoundlib.h>
diff --git a/alsa-lib/include/timer.h b/alsa-lib/include/timer.h
deleted file mode 100644
index 4d06e31..0000000
--- a/alsa-lib/include/timer.h
+++ /dev/null
@@ -1,257 +0,0 @@
-/**
- * \file include/timer.h
- * \brief Application interface library for the ALSA driver
- * \author Jaroslav Kysela <perex@perex.cz>
- * \author Abramo Bagnara <abramo@alsa-project.org>
- * \author Takashi Iwai <tiwai@suse.de>
- * \date 1998-2001
- *
- * Application interface library for the ALSA driver
- */
-/*
- * This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#ifndef __ALSA_TIMER_H
-#define __ALSA_TIMER_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * \defgroup Timer Timer Interface
- * Timer Interface. See \ref timer page for more details.
- * \{
- */
-
-/** dlsym version for interface entry callback */
-#define SND_TIMER_DLSYM_VERSION _dlsym_timer_001
-/** dlsym version for interface entry callback */
-#define SND_TIMER_QUERY_DLSYM_VERSION _dlsym_timer_query_001
-
-/** timer identification structure */
-typedef struct _snd_timer_id snd_timer_id_t;
-/** timer global info structure */
-typedef struct _snd_timer_ginfo snd_timer_ginfo_t;
-/** timer global params structure */
-typedef struct _snd_timer_gparams snd_timer_gparams_t;
-/** timer global status structure */
-typedef struct _snd_timer_gstatus snd_timer_gstatus_t;
-/** timer info structure */
-typedef struct _snd_timer_info snd_timer_info_t;
-/** timer params structure */
-typedef struct _snd_timer_params snd_timer_params_t;
-/** timer status structure */
-typedef struct _snd_timer_status snd_timer_status_t;
-/** timer master class */
-typedef enum _snd_timer_class {
- SND_TIMER_CLASS_NONE = -1, /**< invalid */
- SND_TIMER_CLASS_SLAVE = 0, /**< slave timer */
- SND_TIMER_CLASS_GLOBAL, /**< global timer */
- SND_TIMER_CLASS_CARD, /**< card timer */
- SND_TIMER_CLASS_PCM, /**< PCM timer */
- SND_TIMER_CLASS_LAST = SND_TIMER_CLASS_PCM /**< last timer */
-} snd_timer_class_t;
-
-/** timer slave class */
-typedef enum _snd_timer_slave_class {
- SND_TIMER_SCLASS_NONE = 0, /**< none */
- SND_TIMER_SCLASS_APPLICATION, /**< for internal use */
- SND_TIMER_SCLASS_SEQUENCER, /**< sequencer timer */
- SND_TIMER_SCLASS_OSS_SEQUENCER, /**< OSS sequencer timer */
- SND_TIMER_SCLASS_LAST = SND_TIMER_SCLASS_OSS_SEQUENCER /**< last slave timer */
-} snd_timer_slave_class_t;
-
-/** timer read event identification */
-typedef enum _snd_timer_event {
- SND_TIMER_EVENT_RESOLUTION = 0, /* val = resolution in ns */
- SND_TIMER_EVENT_TICK, /* val = ticks */
- SND_TIMER_EVENT_START, /* val = resolution in ns */
- SND_TIMER_EVENT_STOP, /* val = 0 */
- SND_TIMER_EVENT_CONTINUE, /* val = resolution in ns */
- SND_TIMER_EVENT_PAUSE, /* val = 0 */
- SND_TIMER_EVENT_EARLY, /* val = 0 */
- SND_TIMER_EVENT_SUSPEND, /* val = 0 */
- SND_TIMER_EVENT_RESUME, /* val = resolution in ns */
- /* master timer events for slave timer instances */
- SND_TIMER_EVENT_MSTART = SND_TIMER_EVENT_START + 10,
- SND_TIMER_EVENT_MSTOP = SND_TIMER_EVENT_STOP + 10,
- SND_TIMER_EVENT_MCONTINUE = SND_TIMER_EVENT_CONTINUE + 10,
- SND_TIMER_EVENT_MPAUSE = SND_TIMER_EVENT_PAUSE + 10,
- SND_TIMER_EVENT_MSUSPEND = SND_TIMER_EVENT_SUSPEND + 10,
- SND_TIMER_EVENT_MRESUME = SND_TIMER_EVENT_RESUME + 10
-} snd_timer_event_t;
-
-/** timer read structure */
-typedef struct _snd_timer_read {
- unsigned int resolution; /**< tick resolution in nanoseconds */
- unsigned int ticks; /**< count of happened ticks */
-} snd_timer_read_t;
-
-/** timer tstamp + event read structure */
-typedef struct _snd_timer_tread {
- snd_timer_event_t event; /**< Timer event */
- snd_htimestamp_t tstamp; /**< Time stamp of each event */
- unsigned int val; /**< Event value */
-} snd_timer_tread_t;
-
-/** global timer - system */
-#define SND_TIMER_GLOBAL_SYSTEM 0
-/** global timer - RTC */
-#define SND_TIMER_GLOBAL_RTC 1
-/** global timer - HPET */
-#define SND_TIMER_GLOBAL_HPET 2
-
-/** timer open mode flag - non-blocking behaviour */
-#define SND_TIMER_OPEN_NONBLOCK (1<<0)
-/** use timestamps and event notification - enhanced read */
-#define SND_TIMER_OPEN_TREAD (1<<1)
-
-/** timer handle type */
-typedef enum _snd_timer_type {
- /** Kernel level HwDep */
- SND_TIMER_TYPE_HW = 0,
- /** Shared memory client timer (not yet implemented) */
- SND_TIMER_TYPE_SHM,
- /** INET client timer (not yet implemented) */
- SND_TIMER_TYPE_INET
-} snd_timer_type_t;
-
-/** timer query handle */
-typedef struct _snd_timer_query snd_timer_query_t;
-/** timer handle */
-typedef struct _snd_timer snd_timer_t;
-
-
-int snd_timer_query_open(snd_timer_query_t **handle, const char *name, int mode);
-int snd_timer_query_open_lconf(snd_timer_query_t **handle, const char *name, int mode, snd_config_t *lconf);
-int snd_timer_query_close(snd_timer_query_t *handle);
-int snd_timer_query_next_device(snd_timer_query_t *handle, snd_timer_id_t *tid);
-int snd_timer_query_info(snd_timer_query_t *handle, snd_timer_ginfo_t *info);
-int snd_timer_query_params(snd_timer_query_t *handle, snd_timer_gparams_t *params);
-int snd_timer_query_status(snd_timer_query_t *handle, snd_timer_gstatus_t *status);
-
-int snd_timer_open(snd_timer_t **handle, const char *name, int mode);
-int snd_timer_open_lconf(snd_timer_t **handle, const char *name, int mode, snd_config_t *lconf);
-int snd_timer_close(snd_timer_t *handle);
-int snd_async_add_timer_handler(snd_async_handler_t **handler, snd_timer_t *timer,
- snd_async_callback_t callback, void *private_data);
-snd_timer_t *snd_async_handler_get_timer(snd_async_handler_t *handler);
-int snd_timer_poll_descriptors_count(snd_timer_t *handle);
-int snd_timer_poll_descriptors(snd_timer_t *handle, struct pollfd *pfds, unsigned int space);
-int snd_timer_poll_descriptors_revents(snd_timer_t *timer, struct pollfd *pfds, unsigned int nfds, unsigned short *revents);
-int snd_timer_info(snd_timer_t *handle, snd_timer_info_t *timer);
-int snd_timer_params(snd_timer_t *handle, snd_timer_params_t *params);
-int snd_timer_status(snd_timer_t *handle, snd_timer_status_t *status);
-int snd_timer_start(snd_timer_t *handle);
-int snd_timer_stop(snd_timer_t *handle);
-int snd_timer_continue(snd_timer_t *handle);
-ssize_t snd_timer_read(snd_timer_t *handle, void *buffer, size_t size);
-
-size_t snd_timer_id_sizeof(void);
-/** allocate #snd_timer_id_t container on stack */
-#define snd_timer_id_alloca(ptr) __snd_alloca(ptr, snd_timer_id)
-int snd_timer_id_malloc(snd_timer_id_t **ptr);
-void snd_timer_id_free(snd_timer_id_t *obj);
-void snd_timer_id_copy(snd_timer_id_t *dst, const snd_timer_id_t *src);
-
-void snd_timer_id_set_class(snd_timer_id_t *id, int dev_class);
-int snd_timer_id_get_class(snd_timer_id_t *id);
-void snd_timer_id_set_sclass(snd_timer_id_t *id, int dev_sclass);
-int snd_timer_id_get_sclass(snd_timer_id_t *id);
-void snd_timer_id_set_card(snd_timer_id_t *id, int card);
-int snd_timer_id_get_card(snd_timer_id_t *id);
-void snd_timer_id_set_device(snd_timer_id_t *id, int device);
-int snd_timer_id_get_device(snd_timer_id_t *id);
-void snd_timer_id_set_subdevice(snd_timer_id_t *id, int subdevice);
-int snd_timer_id_get_subdevice(snd_timer_id_t *id);
-
-size_t snd_timer_ginfo_sizeof(void);
-/** allocate #snd_timer_ginfo_t container on stack */
-#define snd_timer_ginfo_alloca(ptr) __snd_alloca(ptr, snd_timer_ginfo)
-int snd_timer_ginfo_malloc(snd_timer_ginfo_t **ptr);
-void snd_timer_ginfo_free(snd_timer_ginfo_t *obj);
-void snd_timer_ginfo_copy(snd_timer_ginfo_t *dst, const snd_timer_ginfo_t *src);
-
-int snd_timer_ginfo_set_tid(snd_timer_ginfo_t *obj, snd_timer_id_t *tid);
-snd_timer_id_t *snd_timer_ginfo_get_tid(snd_timer_ginfo_t *obj);
-unsigned int snd_timer_ginfo_get_flags(snd_timer_ginfo_t *obj);
-int snd_timer_ginfo_get_card(snd_timer_ginfo_t *obj);
-char *snd_timer_ginfo_get_id(snd_timer_ginfo_t *obj);
-char *snd_timer_ginfo_get_name(snd_timer_ginfo_t *obj);
-unsigned long snd_timer_ginfo_get_resolution(snd_timer_ginfo_t *obj);
-unsigned long snd_timer_ginfo_get_resolution_min(snd_timer_ginfo_t *obj);
-unsigned long snd_timer_ginfo_get_resolution_max(snd_timer_ginfo_t *obj);
-unsigned int snd_timer_ginfo_get_clients(snd_timer_ginfo_t *obj);
-
-size_t snd_timer_info_sizeof(void);
-/** allocate #snd_timer_info_t container on stack */
-#define snd_timer_info_alloca(ptr) __snd_alloca(ptr, snd_timer_info)
-int snd_timer_info_malloc(snd_timer_info_t **ptr);
-void snd_timer_info_free(snd_timer_info_t *obj);
-void snd_timer_info_copy(snd_timer_info_t *dst, const snd_timer_info_t *src);
-
-int snd_timer_info_is_slave(snd_timer_info_t * info);
-int snd_timer_info_get_card(snd_timer_info_t * info);
-const char *snd_timer_info_get_id(snd_timer_info_t * info);
-const char *snd_timer_info_get_name(snd_timer_info_t * info);
-long snd_timer_info_get_resolution(snd_timer_info_t * info);
-
-size_t snd_timer_params_sizeof(void);
-/** allocate #snd_timer_params_t container on stack */
-#define snd_timer_params_alloca(ptr) __snd_alloca(ptr, snd_timer_params)
-int snd_timer_params_malloc(snd_timer_params_t **ptr);
-void snd_timer_params_free(snd_timer_params_t *obj);
-void snd_timer_params_copy(snd_timer_params_t *dst, const snd_timer_params_t *src);
-
-int snd_timer_params_set_auto_start(snd_timer_params_t * params, int auto_start);
-int snd_timer_params_get_auto_start(snd_timer_params_t * params);
-int snd_timer_params_set_exclusive(snd_timer_params_t * params, int exclusive);
-int snd_timer_params_get_exclusive(snd_timer_params_t * params);
-int snd_timer_params_set_early_event(snd_timer_params_t * params, int early_event);
-int snd_timer_params_get_early_event(snd_timer_params_t * params);
-void snd_timer_params_set_ticks(snd_timer_params_t * params, long ticks);
-long snd_timer_params_get_ticks(snd_timer_params_t * params);
-void snd_timer_params_set_queue_size(snd_timer_params_t * params, long queue_size);
-long snd_timer_params_get_queue_size(snd_timer_params_t * params);
-void snd_timer_params_set_filter(snd_timer_params_t * params, unsigned int filter);
-unsigned int snd_timer_params_get_filter(snd_timer_params_t * params);
-
-size_t snd_timer_status_sizeof(void);
-/** allocate #snd_timer_status_t container on stack */
-#define snd_timer_status_alloca(ptr) __snd_alloca(ptr, snd_timer_status)
-int snd_timer_status_malloc(snd_timer_status_t **ptr);
-void snd_timer_status_free(snd_timer_status_t *obj);
-void snd_timer_status_copy(snd_timer_status_t *dst, const snd_timer_status_t *src);
-
-snd_htimestamp_t snd_timer_status_get_timestamp(snd_timer_status_t * status);
-long snd_timer_status_get_resolution(snd_timer_status_t * status);
-long snd_timer_status_get_lost(snd_timer_status_t * status);
-long snd_timer_status_get_overrun(snd_timer_status_t * status);
-long snd_timer_status_get_queue(snd_timer_status_t * status);
-
-/* deprecated functions, for compatibility */
-long snd_timer_info_get_ticks(snd_timer_info_t * info);
-
-/** \} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /** __ALSA_TIMER_H */
-
diff --git a/alsa-lib/include/version.h b/alsa-lib/include/version.h
deleted file mode 100644
index 6ac5880..0000000
--- a/alsa-lib/include/version.h
+++ /dev/null
@@ -1,15 +0,0 @@
-/*
- * version.h
- */
-
-#define SND_LIB_MAJOR 1 /**< major number of library version */
-#define SND_LIB_MINOR 0 /**< minor number of library version */
-#define SND_LIB_SUBMINOR 19 /**< subminor number of library version */
-#define SND_LIB_EXTRAVER 1000000 /**< extra version number, used mainly for betas */
-/** library version */
-#define SND_LIB_VERSION ((SND_LIB_MAJOR<<16)|\
- (SND_LIB_MINOR<<8)|\
- SND_LIB_SUBMINOR)
-/** library version (string) */
-#define SND_LIB_VERSION_STR "1.0.19"
-