summaryrefslogtreecommitdiff
path: root/drivers/alsa
diff options
context:
space:
mode:
authorHein-Pieter van Braam-Stewart <hp@tmm.cx>2021-02-16 16:19:03 +0100
committerHein-Pieter van Braam-Stewart <hp@tmm.cx>2021-02-16 20:31:49 +0100
commit09f82fa6eaa4dac6dd1743724b82a99906e64861 (patch)
treee24fc6d654afcb54eb1fce4e7088a20cf77a6570 /drivers/alsa
parentcb64f2d96ba25f516ecd6dfb3e80b7ddbb13971f (diff)
Dynamically load libpulse.so.0 and libasound.so.1 on Linux
By generating stubs using https://github.com/hpvb/dynload-wrapper we can dynamically load libpulse and libasound on systems where it is available. Both are still a build-time requirement but no longer a run-time dependency. For maintenance purposes the wrappers should not need to be re-generated unless we want to bump pulse or asound to an incompatible version. It is unlikely we will want to do this any time soon. This closes #20978
Diffstat (limited to 'drivers/alsa')
-rw-r--r--drivers/alsa/SCsub3
-rw-r--r--drivers/alsa/asound-so_wrap.c11565
-rw-r--r--drivers/alsa/asound-so_wrap.h3864
-rw-r--r--drivers/alsa/audio_driver_alsa.cpp16
-rw-r--r--drivers/alsa/audio_driver_alsa.h2
5 files changed, 15449 insertions, 1 deletions
diff --git a/drivers/alsa/SCsub b/drivers/alsa/SCsub
index 91e1140b75..1d76bb18c4 100644
--- a/drivers/alsa/SCsub
+++ b/drivers/alsa/SCsub
@@ -2,4 +2,7 @@
Import("env")
+if "alsa" in env and env["alsa"]:
+ env.add_source_files(env.drivers_sources, "asound-so_wrap.c")
+
env.add_source_files(env.drivers_sources, "*.cpp")
diff --git a/drivers/alsa/asound-so_wrap.c b/drivers/alsa/asound-so_wrap.c
new file mode 100644
index 0000000000..7b5e7c27c2
--- /dev/null
+++ b/drivers/alsa/asound-so_wrap.c
@@ -0,0 +1,11565 @@
+// This file is generated. Do not edit!
+// see https://github.com/hpvb/dynload-wrapper for details
+// generated by /home/hp/Projects/godot/pulse/generate-wrapper.py 0.1 on 2021-02-16 20:26:29
+// flags: /home/hp/Projects/godot/pulse/generate-wrapper.py --include /usr/include/alsa/asoundlib.h --sys-include <alsa/asoundlib.h> --soname libasound.so.2 --init-name asound --output-header asound-so_wrap.h --output-implementation asound-so_wrap.c
+//
+#include <dlfcn.h>
+#include <stdio.h>
+#define snd_asoundlib_version snd_asoundlib_version_orig
+#define snd_dlpath snd_dlpath_orig
+#define snd_dlopen snd_dlopen_orig
+#define snd_dlsym snd_dlsym_orig
+#define snd_dlclose snd_dlclose_orig
+#define snd_async_add_handler snd_async_add_handler_orig
+#define snd_async_del_handler snd_async_del_handler_orig
+#define snd_async_handler_get_fd snd_async_handler_get_fd_orig
+#define snd_async_handler_get_signo snd_async_handler_get_signo_orig
+#define snd_async_handler_get_callback_private snd_async_handler_get_callback_private_orig
+#define snd_shm_area_create snd_shm_area_create_orig
+#define snd_shm_area_share snd_shm_area_share_orig
+#define snd_shm_area_destroy snd_shm_area_destroy_orig
+#define snd_user_file snd_user_file_orig
+#define snd_input_stdio_open snd_input_stdio_open_orig
+#define snd_input_stdio_attach snd_input_stdio_attach_orig
+#define snd_input_buffer_open snd_input_buffer_open_orig
+#define snd_input_close snd_input_close_orig
+#define snd_input_scanf snd_input_scanf_orig
+#define snd_input_gets snd_input_gets_orig
+#define snd_input_getc snd_input_getc_orig
+#define snd_input_ungetc snd_input_ungetc_orig
+#define snd_output_stdio_open snd_output_stdio_open_orig
+#define snd_output_stdio_attach snd_output_stdio_attach_orig
+#define snd_output_buffer_open snd_output_buffer_open_orig
+#define snd_output_buffer_string snd_output_buffer_string_orig
+#define snd_output_close snd_output_close_orig
+#define snd_output_printf snd_output_printf_orig
+#define snd_output_vprintf snd_output_vprintf_orig
+#define snd_output_puts snd_output_puts_orig
+#define snd_output_putc snd_output_putc_orig
+#define snd_output_flush snd_output_flush_orig
+#define snd_strerror snd_strerror_orig
+#define snd_lib_error_set_handler snd_lib_error_set_handler_orig
+#define snd_lib_error_set_local snd_lib_error_set_local_orig
+#define snd_config_topdir snd_config_topdir_orig
+#define snd_config_top snd_config_top_orig
+#define snd_config_load snd_config_load_orig
+#define snd_config_load_override snd_config_load_override_orig
+#define snd_config_save snd_config_save_orig
+#define snd_config_update snd_config_update_orig
+#define snd_config_update_r snd_config_update_r_orig
+#define snd_config_update_free snd_config_update_free_orig
+#define snd_config_update_free_global snd_config_update_free_global_orig
+#define snd_config_update_ref snd_config_update_ref_orig
+#define snd_config_ref snd_config_ref_orig
+#define snd_config_unref snd_config_unref_orig
+#define snd_config_search snd_config_search_orig
+#define snd_config_searchv snd_config_searchv_orig
+#define snd_config_search_definition snd_config_search_definition_orig
+#define snd_config_expand snd_config_expand_orig
+#define snd_config_evaluate snd_config_evaluate_orig
+#define snd_config_add snd_config_add_orig
+#define snd_config_add_before snd_config_add_before_orig
+#define snd_config_add_after snd_config_add_after_orig
+#define snd_config_remove snd_config_remove_orig
+#define snd_config_delete snd_config_delete_orig
+#define snd_config_delete_compound_members snd_config_delete_compound_members_orig
+#define snd_config_copy snd_config_copy_orig
+#define snd_config_make snd_config_make_orig
+#define snd_config_make_integer snd_config_make_integer_orig
+#define snd_config_make_integer64 snd_config_make_integer64_orig
+#define snd_config_make_real snd_config_make_real_orig
+#define snd_config_make_string snd_config_make_string_orig
+#define snd_config_make_pointer snd_config_make_pointer_orig
+#define snd_config_make_compound snd_config_make_compound_orig
+#define snd_config_imake_integer snd_config_imake_integer_orig
+#define snd_config_imake_integer64 snd_config_imake_integer64_orig
+#define snd_config_imake_real snd_config_imake_real_orig
+#define snd_config_imake_string snd_config_imake_string_orig
+#define snd_config_imake_safe_string snd_config_imake_safe_string_orig
+#define snd_config_imake_pointer snd_config_imake_pointer_orig
+#define snd_config_get_type snd_config_get_type_orig
+#define snd_config_is_array snd_config_is_array_orig
+#define snd_config_set_id snd_config_set_id_orig
+#define snd_config_set_integer snd_config_set_integer_orig
+#define snd_config_set_integer64 snd_config_set_integer64_orig
+#define snd_config_set_real snd_config_set_real_orig
+#define snd_config_set_string snd_config_set_string_orig
+#define snd_config_set_ascii snd_config_set_ascii_orig
+#define snd_config_set_pointer snd_config_set_pointer_orig
+#define snd_config_get_id snd_config_get_id_orig
+#define snd_config_get_integer snd_config_get_integer_orig
+#define snd_config_get_integer64 snd_config_get_integer64_orig
+#define snd_config_get_real snd_config_get_real_orig
+#define snd_config_get_ireal snd_config_get_ireal_orig
+#define snd_config_get_string snd_config_get_string_orig
+#define snd_config_get_ascii snd_config_get_ascii_orig
+#define snd_config_get_pointer snd_config_get_pointer_orig
+#define snd_config_test_id snd_config_test_id_orig
+#define snd_config_iterator_first snd_config_iterator_first_orig
+#define snd_config_iterator_next snd_config_iterator_next_orig
+#define snd_config_iterator_end snd_config_iterator_end_orig
+#define snd_config_iterator_entry snd_config_iterator_entry_orig
+#define snd_config_get_bool_ascii snd_config_get_bool_ascii_orig
+#define snd_config_get_bool snd_config_get_bool_orig
+#define snd_config_get_ctl_iface_ascii snd_config_get_ctl_iface_ascii_orig
+#define snd_config_get_ctl_iface snd_config_get_ctl_iface_orig
+#define snd_names_list snd_names_list_orig
+#define snd_names_list_free snd_names_list_free_orig
+#define snd_pcm_open snd_pcm_open_orig
+#define snd_pcm_open_lconf snd_pcm_open_lconf_orig
+#define snd_pcm_open_fallback snd_pcm_open_fallback_orig
+#define snd_pcm_close snd_pcm_close_orig
+#define snd_pcm_name snd_pcm_name_orig
+#define snd_pcm_type snd_pcm_type_orig
+#define snd_pcm_stream snd_pcm_stream_orig
+#define snd_pcm_poll_descriptors_count snd_pcm_poll_descriptors_count_orig
+#define snd_pcm_poll_descriptors snd_pcm_poll_descriptors_orig
+#define snd_pcm_poll_descriptors_revents snd_pcm_poll_descriptors_revents_orig
+#define snd_pcm_nonblock snd_pcm_nonblock_orig
+#define snd_async_add_pcm_handler snd_async_add_pcm_handler_orig
+#define snd_async_handler_get_pcm snd_async_handler_get_pcm_orig
+#define snd_pcm_info snd_pcm_info_orig
+#define snd_pcm_hw_params_current snd_pcm_hw_params_current_orig
+#define snd_pcm_hw_params snd_pcm_hw_params_orig
+#define snd_pcm_hw_free snd_pcm_hw_free_orig
+#define snd_pcm_sw_params_current snd_pcm_sw_params_current_orig
+#define snd_pcm_sw_params snd_pcm_sw_params_orig
+#define snd_pcm_prepare snd_pcm_prepare_orig
+#define snd_pcm_reset snd_pcm_reset_orig
+#define snd_pcm_status snd_pcm_status_orig
+#define snd_pcm_start snd_pcm_start_orig
+#define snd_pcm_drop snd_pcm_drop_orig
+#define snd_pcm_drain snd_pcm_drain_orig
+#define snd_pcm_pause snd_pcm_pause_orig
+#define snd_pcm_state snd_pcm_state_orig
+#define snd_pcm_hwsync snd_pcm_hwsync_orig
+#define snd_pcm_delay snd_pcm_delay_orig
+#define snd_pcm_resume snd_pcm_resume_orig
+#define snd_pcm_htimestamp snd_pcm_htimestamp_orig
+#define snd_pcm_avail snd_pcm_avail_orig
+#define snd_pcm_avail_update snd_pcm_avail_update_orig
+#define snd_pcm_avail_delay snd_pcm_avail_delay_orig
+#define snd_pcm_rewindable snd_pcm_rewindable_orig
+#define snd_pcm_rewind snd_pcm_rewind_orig
+#define snd_pcm_forwardable snd_pcm_forwardable_orig
+#define snd_pcm_forward snd_pcm_forward_orig
+#define snd_pcm_writei snd_pcm_writei_orig
+#define snd_pcm_readi snd_pcm_readi_orig
+#define snd_pcm_writen snd_pcm_writen_orig
+#define snd_pcm_readn snd_pcm_readn_orig
+#define snd_pcm_wait snd_pcm_wait_orig
+#define snd_pcm_link snd_pcm_link_orig
+#define snd_pcm_unlink snd_pcm_unlink_orig
+#define snd_pcm_query_chmaps snd_pcm_query_chmaps_orig
+#define snd_pcm_query_chmaps_from_hw snd_pcm_query_chmaps_from_hw_orig
+#define snd_pcm_free_chmaps snd_pcm_free_chmaps_orig
+#define snd_pcm_get_chmap snd_pcm_get_chmap_orig
+#define snd_pcm_set_chmap snd_pcm_set_chmap_orig
+#define snd_pcm_chmap_type_name snd_pcm_chmap_type_name_orig
+#define snd_pcm_chmap_name snd_pcm_chmap_name_orig
+#define snd_pcm_chmap_long_name snd_pcm_chmap_long_name_orig
+#define snd_pcm_chmap_print snd_pcm_chmap_print_orig
+#define snd_pcm_chmap_from_string snd_pcm_chmap_from_string_orig
+#define snd_pcm_chmap_parse_string snd_pcm_chmap_parse_string_orig
+#define snd_pcm_recover snd_pcm_recover_orig
+#define snd_pcm_set_params snd_pcm_set_params_orig
+#define snd_pcm_get_params snd_pcm_get_params_orig
+#define snd_pcm_info_sizeof snd_pcm_info_sizeof_orig
+#define snd_pcm_info_malloc snd_pcm_info_malloc_orig
+#define snd_pcm_info_free snd_pcm_info_free_orig
+#define snd_pcm_info_copy snd_pcm_info_copy_orig
+#define snd_pcm_info_get_device snd_pcm_info_get_device_orig
+#define snd_pcm_info_get_subdevice snd_pcm_info_get_subdevice_orig
+#define snd_pcm_info_get_stream snd_pcm_info_get_stream_orig
+#define snd_pcm_info_get_card snd_pcm_info_get_card_orig
+#define snd_pcm_info_get_id snd_pcm_info_get_id_orig
+#define snd_pcm_info_get_name snd_pcm_info_get_name_orig
+#define snd_pcm_info_get_subdevice_name snd_pcm_info_get_subdevice_name_orig
+#define snd_pcm_info_get_class snd_pcm_info_get_class_orig
+#define snd_pcm_info_get_subclass snd_pcm_info_get_subclass_orig
+#define snd_pcm_info_get_subdevices_count snd_pcm_info_get_subdevices_count_orig
+#define snd_pcm_info_get_subdevices_avail snd_pcm_info_get_subdevices_avail_orig
+#define snd_pcm_info_get_sync snd_pcm_info_get_sync_orig
+#define snd_pcm_info_set_device snd_pcm_info_set_device_orig
+#define snd_pcm_info_set_subdevice snd_pcm_info_set_subdevice_orig
+#define snd_pcm_info_set_stream snd_pcm_info_set_stream_orig
+#define snd_pcm_hw_params_any snd_pcm_hw_params_any_orig
+#define snd_pcm_hw_params_can_mmap_sample_resolution snd_pcm_hw_params_can_mmap_sample_resolution_orig
+#define snd_pcm_hw_params_is_double snd_pcm_hw_params_is_double_orig
+#define snd_pcm_hw_params_is_batch snd_pcm_hw_params_is_batch_orig
+#define snd_pcm_hw_params_is_block_transfer snd_pcm_hw_params_is_block_transfer_orig
+#define snd_pcm_hw_params_is_monotonic snd_pcm_hw_params_is_monotonic_orig
+#define snd_pcm_hw_params_can_overrange snd_pcm_hw_params_can_overrange_orig
+#define snd_pcm_hw_params_can_pause snd_pcm_hw_params_can_pause_orig
+#define snd_pcm_hw_params_can_resume snd_pcm_hw_params_can_resume_orig
+#define snd_pcm_hw_params_is_half_duplex snd_pcm_hw_params_is_half_duplex_orig
+#define snd_pcm_hw_params_is_joint_duplex snd_pcm_hw_params_is_joint_duplex_orig
+#define snd_pcm_hw_params_can_sync_start snd_pcm_hw_params_can_sync_start_orig
+#define snd_pcm_hw_params_can_disable_period_wakeup snd_pcm_hw_params_can_disable_period_wakeup_orig
+#define snd_pcm_hw_params_supports_audio_wallclock_ts snd_pcm_hw_params_supports_audio_wallclock_ts_orig
+#define snd_pcm_hw_params_supports_audio_ts_type snd_pcm_hw_params_supports_audio_ts_type_orig
+#define snd_pcm_hw_params_get_rate_numden snd_pcm_hw_params_get_rate_numden_orig
+#define snd_pcm_hw_params_get_sbits snd_pcm_hw_params_get_sbits_orig
+#define snd_pcm_hw_params_get_fifo_size snd_pcm_hw_params_get_fifo_size_orig
+#define snd_pcm_hw_params_sizeof snd_pcm_hw_params_sizeof_orig
+#define snd_pcm_hw_params_malloc snd_pcm_hw_params_malloc_orig
+#define snd_pcm_hw_params_free snd_pcm_hw_params_free_orig
+#define snd_pcm_hw_params_copy snd_pcm_hw_params_copy_orig
+#define snd_pcm_hw_params_get_access snd_pcm_hw_params_get_access_orig
+#define snd_pcm_hw_params_test_access snd_pcm_hw_params_test_access_orig
+#define snd_pcm_hw_params_set_access snd_pcm_hw_params_set_access_orig
+#define snd_pcm_hw_params_set_access_first snd_pcm_hw_params_set_access_first_orig
+#define snd_pcm_hw_params_set_access_last snd_pcm_hw_params_set_access_last_orig
+#define snd_pcm_hw_params_set_access_mask snd_pcm_hw_params_set_access_mask_orig
+#define snd_pcm_hw_params_get_access_mask snd_pcm_hw_params_get_access_mask_orig
+#define snd_pcm_hw_params_get_format snd_pcm_hw_params_get_format_orig
+#define snd_pcm_hw_params_test_format snd_pcm_hw_params_test_format_orig
+#define snd_pcm_hw_params_set_format snd_pcm_hw_params_set_format_orig
+#define snd_pcm_hw_params_set_format_first snd_pcm_hw_params_set_format_first_orig
+#define snd_pcm_hw_params_set_format_last snd_pcm_hw_params_set_format_last_orig
+#define snd_pcm_hw_params_set_format_mask snd_pcm_hw_params_set_format_mask_orig
+#define snd_pcm_hw_params_get_format_mask snd_pcm_hw_params_get_format_mask_orig
+#define snd_pcm_hw_params_get_subformat snd_pcm_hw_params_get_subformat_orig
+#define snd_pcm_hw_params_test_subformat snd_pcm_hw_params_test_subformat_orig
+#define snd_pcm_hw_params_set_subformat snd_pcm_hw_params_set_subformat_orig
+#define snd_pcm_hw_params_set_subformat_first snd_pcm_hw_params_set_subformat_first_orig
+#define snd_pcm_hw_params_set_subformat_last snd_pcm_hw_params_set_subformat_last_orig
+#define snd_pcm_hw_params_set_subformat_mask snd_pcm_hw_params_set_subformat_mask_orig
+#define snd_pcm_hw_params_get_subformat_mask snd_pcm_hw_params_get_subformat_mask_orig
+#define snd_pcm_hw_params_get_channels snd_pcm_hw_params_get_channels_orig
+#define snd_pcm_hw_params_get_channels_min snd_pcm_hw_params_get_channels_min_orig
+#define snd_pcm_hw_params_get_channels_max snd_pcm_hw_params_get_channels_max_orig
+#define snd_pcm_hw_params_test_channels snd_pcm_hw_params_test_channels_orig
+#define snd_pcm_hw_params_set_channels snd_pcm_hw_params_set_channels_orig
+#define snd_pcm_hw_params_set_channels_min snd_pcm_hw_params_set_channels_min_orig
+#define snd_pcm_hw_params_set_channels_max snd_pcm_hw_params_set_channels_max_orig
+#define snd_pcm_hw_params_set_channels_minmax snd_pcm_hw_params_set_channels_minmax_orig
+#define snd_pcm_hw_params_set_channels_near snd_pcm_hw_params_set_channels_near_orig
+#define snd_pcm_hw_params_set_channels_first snd_pcm_hw_params_set_channels_first_orig
+#define snd_pcm_hw_params_set_channels_last snd_pcm_hw_params_set_channels_last_orig
+#define snd_pcm_hw_params_get_rate snd_pcm_hw_params_get_rate_orig
+#define snd_pcm_hw_params_get_rate_min snd_pcm_hw_params_get_rate_min_orig
+#define snd_pcm_hw_params_get_rate_max snd_pcm_hw_params_get_rate_max_orig
+#define snd_pcm_hw_params_test_rate snd_pcm_hw_params_test_rate_orig
+#define snd_pcm_hw_params_set_rate snd_pcm_hw_params_set_rate_orig
+#define snd_pcm_hw_params_set_rate_min snd_pcm_hw_params_set_rate_min_orig
+#define snd_pcm_hw_params_set_rate_max snd_pcm_hw_params_set_rate_max_orig
+#define snd_pcm_hw_params_set_rate_minmax snd_pcm_hw_params_set_rate_minmax_orig
+#define snd_pcm_hw_params_set_rate_near snd_pcm_hw_params_set_rate_near_orig
+#define snd_pcm_hw_params_set_rate_first snd_pcm_hw_params_set_rate_first_orig
+#define snd_pcm_hw_params_set_rate_last snd_pcm_hw_params_set_rate_last_orig
+#define snd_pcm_hw_params_set_rate_resample snd_pcm_hw_params_set_rate_resample_orig
+#define snd_pcm_hw_params_get_rate_resample snd_pcm_hw_params_get_rate_resample_orig
+#define snd_pcm_hw_params_set_export_buffer snd_pcm_hw_params_set_export_buffer_orig
+#define snd_pcm_hw_params_get_export_buffer snd_pcm_hw_params_get_export_buffer_orig
+#define snd_pcm_hw_params_set_period_wakeup snd_pcm_hw_params_set_period_wakeup_orig
+#define snd_pcm_hw_params_get_period_wakeup snd_pcm_hw_params_get_period_wakeup_orig
+#define snd_pcm_hw_params_get_period_time snd_pcm_hw_params_get_period_time_orig
+#define snd_pcm_hw_params_get_period_time_min snd_pcm_hw_params_get_period_time_min_orig
+#define snd_pcm_hw_params_get_period_time_max snd_pcm_hw_params_get_period_time_max_orig
+#define snd_pcm_hw_params_test_period_time snd_pcm_hw_params_test_period_time_orig
+#define snd_pcm_hw_params_set_period_time snd_pcm_hw_params_set_period_time_orig
+#define snd_pcm_hw_params_set_period_time_min snd_pcm_hw_params_set_period_time_min_orig
+#define snd_pcm_hw_params_set_period_time_max snd_pcm_hw_params_set_period_time_max_orig
+#define snd_pcm_hw_params_set_period_time_minmax snd_pcm_hw_params_set_period_time_minmax_orig
+#define snd_pcm_hw_params_set_period_time_near snd_pcm_hw_params_set_period_time_near_orig
+#define snd_pcm_hw_params_set_period_time_first snd_pcm_hw_params_set_period_time_first_orig
+#define snd_pcm_hw_params_set_period_time_last snd_pcm_hw_params_set_period_time_last_orig
+#define snd_pcm_hw_params_get_period_size snd_pcm_hw_params_get_period_size_orig
+#define snd_pcm_hw_params_get_period_size_min snd_pcm_hw_params_get_period_size_min_orig
+#define snd_pcm_hw_params_get_period_size_max snd_pcm_hw_params_get_period_size_max_orig
+#define snd_pcm_hw_params_test_period_size snd_pcm_hw_params_test_period_size_orig
+#define snd_pcm_hw_params_set_period_size snd_pcm_hw_params_set_period_size_orig
+#define snd_pcm_hw_params_set_period_size_min snd_pcm_hw_params_set_period_size_min_orig
+#define snd_pcm_hw_params_set_period_size_max snd_pcm_hw_params_set_period_size_max_orig
+#define snd_pcm_hw_params_set_period_size_minmax snd_pcm_hw_params_set_period_size_minmax_orig
+#define snd_pcm_hw_params_set_period_size_near snd_pcm_hw_params_set_period_size_near_orig
+#define snd_pcm_hw_params_set_period_size_first snd_pcm_hw_params_set_period_size_first_orig
+#define snd_pcm_hw_params_set_period_size_last snd_pcm_hw_params_set_period_size_last_orig
+#define snd_pcm_hw_params_set_period_size_integer snd_pcm_hw_params_set_period_size_integer_orig
+#define snd_pcm_hw_params_get_periods snd_pcm_hw_params_get_periods_orig
+#define snd_pcm_hw_params_get_periods_min snd_pcm_hw_params_get_periods_min_orig
+#define snd_pcm_hw_params_get_periods_max snd_pcm_hw_params_get_periods_max_orig
+#define snd_pcm_hw_params_test_periods snd_pcm_hw_params_test_periods_orig
+#define snd_pcm_hw_params_set_periods snd_pcm_hw_params_set_periods_orig
+#define snd_pcm_hw_params_set_periods_min snd_pcm_hw_params_set_periods_min_orig
+#define snd_pcm_hw_params_set_periods_max snd_pcm_hw_params_set_periods_max_orig
+#define snd_pcm_hw_params_set_periods_minmax snd_pcm_hw_params_set_periods_minmax_orig
+#define snd_pcm_hw_params_set_periods_near snd_pcm_hw_params_set_periods_near_orig
+#define snd_pcm_hw_params_set_periods_first snd_pcm_hw_params_set_periods_first_orig
+#define snd_pcm_hw_params_set_periods_last snd_pcm_hw_params_set_periods_last_orig
+#define snd_pcm_hw_params_set_periods_integer snd_pcm_hw_params_set_periods_integer_orig
+#define snd_pcm_hw_params_get_buffer_time snd_pcm_hw_params_get_buffer_time_orig
+#define snd_pcm_hw_params_get_buffer_time_min snd_pcm_hw_params_get_buffer_time_min_orig
+#define snd_pcm_hw_params_get_buffer_time_max snd_pcm_hw_params_get_buffer_time_max_orig
+#define snd_pcm_hw_params_test_buffer_time snd_pcm_hw_params_test_buffer_time_orig
+#define snd_pcm_hw_params_set_buffer_time snd_pcm_hw_params_set_buffer_time_orig
+#define snd_pcm_hw_params_set_buffer_time_min snd_pcm_hw_params_set_buffer_time_min_orig
+#define snd_pcm_hw_params_set_buffer_time_max snd_pcm_hw_params_set_buffer_time_max_orig
+#define snd_pcm_hw_params_set_buffer_time_minmax snd_pcm_hw_params_set_buffer_time_minmax_orig
+#define snd_pcm_hw_params_set_buffer_time_near snd_pcm_hw_params_set_buffer_time_near_orig
+#define snd_pcm_hw_params_set_buffer_time_first snd_pcm_hw_params_set_buffer_time_first_orig
+#define snd_pcm_hw_params_set_buffer_time_last snd_pcm_hw_params_set_buffer_time_last_orig
+#define snd_pcm_hw_params_get_buffer_size snd_pcm_hw_params_get_buffer_size_orig
+#define snd_pcm_hw_params_get_buffer_size_min snd_pcm_hw_params_get_buffer_size_min_orig
+#define snd_pcm_hw_params_get_buffer_size_max snd_pcm_hw_params_get_buffer_size_max_orig
+#define snd_pcm_hw_params_test_buffer_size snd_pcm_hw_params_test_buffer_size_orig
+#define snd_pcm_hw_params_set_buffer_size snd_pcm_hw_params_set_buffer_size_orig
+#define snd_pcm_hw_params_set_buffer_size_min snd_pcm_hw_params_set_buffer_size_min_orig
+#define snd_pcm_hw_params_set_buffer_size_max snd_pcm_hw_params_set_buffer_size_max_orig
+#define snd_pcm_hw_params_set_buffer_size_minmax snd_pcm_hw_params_set_buffer_size_minmax_orig
+#define snd_pcm_hw_params_set_buffer_size_near snd_pcm_hw_params_set_buffer_size_near_orig
+#define snd_pcm_hw_params_set_buffer_size_first snd_pcm_hw_params_set_buffer_size_first_orig
+#define snd_pcm_hw_params_set_buffer_size_last snd_pcm_hw_params_set_buffer_size_last_orig
+#define snd_pcm_hw_params_get_min_align snd_pcm_hw_params_get_min_align_orig
+#define snd_pcm_sw_params_sizeof snd_pcm_sw_params_sizeof_orig
+#define snd_pcm_sw_params_malloc snd_pcm_sw_params_malloc_orig
+#define snd_pcm_sw_params_free snd_pcm_sw_params_free_orig
+#define snd_pcm_sw_params_copy snd_pcm_sw_params_copy_orig
+#define snd_pcm_sw_params_get_boundary snd_pcm_sw_params_get_boundary_orig
+#define snd_pcm_sw_params_set_tstamp_mode snd_pcm_sw_params_set_tstamp_mode_orig
+#define snd_pcm_sw_params_get_tstamp_mode snd_pcm_sw_params_get_tstamp_mode_orig
+#define snd_pcm_sw_params_set_tstamp_type snd_pcm_sw_params_set_tstamp_type_orig
+#define snd_pcm_sw_params_get_tstamp_type snd_pcm_sw_params_get_tstamp_type_orig
+#define snd_pcm_sw_params_set_avail_min snd_pcm_sw_params_set_avail_min_orig
+#define snd_pcm_sw_params_get_avail_min snd_pcm_sw_params_get_avail_min_orig
+#define snd_pcm_sw_params_set_period_event snd_pcm_sw_params_set_period_event_orig
+#define snd_pcm_sw_params_get_period_event snd_pcm_sw_params_get_period_event_orig
+#define snd_pcm_sw_params_set_start_threshold snd_pcm_sw_params_set_start_threshold_orig
+#define snd_pcm_sw_params_get_start_threshold snd_pcm_sw_params_get_start_threshold_orig
+#define snd_pcm_sw_params_set_stop_threshold snd_pcm_sw_params_set_stop_threshold_orig
+#define snd_pcm_sw_params_get_stop_threshold snd_pcm_sw_params_get_stop_threshold_orig
+#define snd_pcm_sw_params_set_silence_threshold snd_pcm_sw_params_set_silence_threshold_orig
+#define snd_pcm_sw_params_get_silence_threshold snd_pcm_sw_params_get_silence_threshold_orig
+#define snd_pcm_sw_params_set_silence_size snd_pcm_sw_params_set_silence_size_orig
+#define snd_pcm_sw_params_get_silence_size snd_pcm_sw_params_get_silence_size_orig
+#define snd_pcm_access_mask_sizeof snd_pcm_access_mask_sizeof_orig
+#define snd_pcm_access_mask_malloc snd_pcm_access_mask_malloc_orig
+#define snd_pcm_access_mask_free snd_pcm_access_mask_free_orig
+#define snd_pcm_access_mask_copy snd_pcm_access_mask_copy_orig
+#define snd_pcm_access_mask_none snd_pcm_access_mask_none_orig
+#define snd_pcm_access_mask_any snd_pcm_access_mask_any_orig
+#define snd_pcm_access_mask_test snd_pcm_access_mask_test_orig
+#define snd_pcm_access_mask_empty snd_pcm_access_mask_empty_orig
+#define snd_pcm_access_mask_set snd_pcm_access_mask_set_orig
+#define snd_pcm_access_mask_reset snd_pcm_access_mask_reset_orig
+#define snd_pcm_format_mask_sizeof snd_pcm_format_mask_sizeof_orig
+#define snd_pcm_format_mask_malloc snd_pcm_format_mask_malloc_orig
+#define snd_pcm_format_mask_free snd_pcm_format_mask_free_orig
+#define snd_pcm_format_mask_copy snd_pcm_format_mask_copy_orig
+#define snd_pcm_format_mask_none snd_pcm_format_mask_none_orig
+#define snd_pcm_format_mask_any snd_pcm_format_mask_any_orig
+#define snd_pcm_format_mask_test snd_pcm_format_mask_test_orig
+#define snd_pcm_format_mask_empty snd_pcm_format_mask_empty_orig
+#define snd_pcm_format_mask_set snd_pcm_format_mask_set_orig
+#define snd_pcm_format_mask_reset snd_pcm_format_mask_reset_orig
+#define snd_pcm_subformat_mask_sizeof snd_pcm_subformat_mask_sizeof_orig
+#define snd_pcm_subformat_mask_malloc snd_pcm_subformat_mask_malloc_orig
+#define snd_pcm_subformat_mask_free snd_pcm_subformat_mask_free_orig
+#define snd_pcm_subformat_mask_copy snd_pcm_subformat_mask_copy_orig
+#define snd_pcm_subformat_mask_none snd_pcm_subformat_mask_none_orig
+#define snd_pcm_subformat_mask_any snd_pcm_subformat_mask_any_orig
+#define snd_pcm_subformat_mask_test snd_pcm_subformat_mask_test_orig
+#define snd_pcm_subformat_mask_empty snd_pcm_subformat_mask_empty_orig
+#define snd_pcm_subformat_mask_set snd_pcm_subformat_mask_set_orig
+#define snd_pcm_subformat_mask_reset snd_pcm_subformat_mask_reset_orig
+#define snd_pcm_status_sizeof snd_pcm_status_sizeof_orig
+#define snd_pcm_status_malloc snd_pcm_status_malloc_orig
+#define snd_pcm_status_free snd_pcm_status_free_orig
+#define snd_pcm_status_copy snd_pcm_status_copy_orig
+#define snd_pcm_status_get_state snd_pcm_status_get_state_orig
+#define snd_pcm_status_get_trigger_tstamp snd_pcm_status_get_trigger_tstamp_orig
+#define snd_pcm_status_get_trigger_htstamp snd_pcm_status_get_trigger_htstamp_orig
+#define snd_pcm_status_get_tstamp snd_pcm_status_get_tstamp_orig
+#define snd_pcm_status_get_htstamp snd_pcm_status_get_htstamp_orig
+#define snd_pcm_status_get_audio_htstamp snd_pcm_status_get_audio_htstamp_orig
+#define snd_pcm_status_get_driver_htstamp snd_pcm_status_get_driver_htstamp_orig
+#define snd_pcm_status_get_audio_htstamp_report snd_pcm_status_get_audio_htstamp_report_orig
+#define snd_pcm_status_set_audio_htstamp_config snd_pcm_status_set_audio_htstamp_config_orig
+#define snd_pcm_status_get_delay snd_pcm_status_get_delay_orig
+#define snd_pcm_status_get_avail snd_pcm_status_get_avail_orig
+#define snd_pcm_status_get_avail_max snd_pcm_status_get_avail_max_orig
+#define snd_pcm_status_get_overrange snd_pcm_status_get_overrange_orig
+#define snd_pcm_type_name snd_pcm_type_name_orig
+#define snd_pcm_stream_name snd_pcm_stream_name_orig
+#define snd_pcm_access_name snd_pcm_access_name_orig
+#define snd_pcm_format_name snd_pcm_format_name_orig
+#define snd_pcm_format_description snd_pcm_format_description_orig
+#define snd_pcm_subformat_name snd_pcm_subformat_name_orig
+#define snd_pcm_subformat_description snd_pcm_subformat_description_orig
+#define snd_pcm_format_value snd_pcm_format_value_orig
+#define snd_pcm_tstamp_mode_name snd_pcm_tstamp_mode_name_orig
+#define snd_pcm_state_name snd_pcm_state_name_orig
+#define snd_pcm_dump snd_pcm_dump_orig
+#define snd_pcm_dump_hw_setup snd_pcm_dump_hw_setup_orig
+#define snd_pcm_dump_sw_setup snd_pcm_dump_sw_setup_orig
+#define snd_pcm_dump_setup snd_pcm_dump_setup_orig
+#define snd_pcm_hw_params_dump snd_pcm_hw_params_dump_orig
+#define snd_pcm_sw_params_dump snd_pcm_sw_params_dump_orig
+#define snd_pcm_status_dump snd_pcm_status_dump_orig
+#define snd_pcm_mmap_begin snd_pcm_mmap_begin_orig
+#define snd_pcm_mmap_commit snd_pcm_mmap_commit_orig
+#define snd_pcm_mmap_writei snd_pcm_mmap_writei_orig
+#define snd_pcm_mmap_readi snd_pcm_mmap_readi_orig
+#define snd_pcm_mmap_writen snd_pcm_mmap_writen_orig
+#define snd_pcm_mmap_readn snd_pcm_mmap_readn_orig
+#define snd_pcm_format_signed snd_pcm_format_signed_orig
+#define snd_pcm_format_unsigned snd_pcm_format_unsigned_orig
+#define snd_pcm_format_linear snd_pcm_format_linear_orig
+#define snd_pcm_format_float snd_pcm_format_float_orig
+#define snd_pcm_format_little_endian snd_pcm_format_little_endian_orig
+#define snd_pcm_format_big_endian snd_pcm_format_big_endian_orig
+#define snd_pcm_format_cpu_endian snd_pcm_format_cpu_endian_orig
+#define snd_pcm_format_width snd_pcm_format_width_orig
+#define snd_pcm_format_physical_width snd_pcm_format_physical_width_orig
+#define snd_pcm_build_linear_format snd_pcm_build_linear_format_orig
+#define snd_pcm_format_size snd_pcm_format_size_orig
+#define snd_pcm_format_silence snd_pcm_format_silence_orig
+#define snd_pcm_format_silence_16 snd_pcm_format_silence_16_orig
+#define snd_pcm_format_silence_32 snd_pcm_format_silence_32_orig
+#define snd_pcm_format_silence_64 snd_pcm_format_silence_64_orig
+#define snd_pcm_format_set_silence snd_pcm_format_set_silence_orig
+#define snd_pcm_bytes_to_frames snd_pcm_bytes_to_frames_orig
+#define snd_pcm_frames_to_bytes snd_pcm_frames_to_bytes_orig
+#define snd_pcm_bytes_to_samples snd_pcm_bytes_to_samples_orig
+#define snd_pcm_samples_to_bytes snd_pcm_samples_to_bytes_orig
+#define snd_pcm_area_silence snd_pcm_area_silence_orig
+#define snd_pcm_areas_silence snd_pcm_areas_silence_orig
+#define snd_pcm_area_copy snd_pcm_area_copy_orig
+#define snd_pcm_areas_copy snd_pcm_areas_copy_orig
+#define snd_pcm_areas_copy_wrap snd_pcm_areas_copy_wrap_orig
+#define snd_pcm_hook_get_pcm snd_pcm_hook_get_pcm_orig
+#define snd_pcm_hook_get_private snd_pcm_hook_get_private_orig
+#define snd_pcm_hook_set_private snd_pcm_hook_set_private_orig
+#define snd_pcm_hook_add snd_pcm_hook_add_orig
+#define snd_pcm_hook_remove snd_pcm_hook_remove_orig
+#define snd_pcm_meter_get_bufsize snd_pcm_meter_get_bufsize_orig
+#define snd_pcm_meter_get_channels snd_pcm_meter_get_channels_orig
+#define snd_pcm_meter_get_rate snd_pcm_meter_get_rate_orig
+#define snd_pcm_meter_get_now snd_pcm_meter_get_now_orig
+#define snd_pcm_meter_get_boundary snd_pcm_meter_get_boundary_orig
+#define snd_pcm_meter_add_scope snd_pcm_meter_add_scope_orig
+#define snd_pcm_meter_search_scope snd_pcm_meter_search_scope_orig
+#define snd_pcm_scope_malloc snd_pcm_scope_malloc_orig
+#define snd_pcm_scope_set_ops snd_pcm_scope_set_ops_orig
+#define snd_pcm_scope_set_name snd_pcm_scope_set_name_orig
+#define snd_pcm_scope_get_name snd_pcm_scope_get_name_orig
+#define snd_pcm_scope_get_callback_private snd_pcm_scope_get_callback_private_orig
+#define snd_pcm_scope_set_callback_private snd_pcm_scope_set_callback_private_orig
+#define snd_pcm_scope_s16_open snd_pcm_scope_s16_open_orig
+#define snd_pcm_scope_s16_get_channel_buffer snd_pcm_scope_s16_get_channel_buffer_orig
+#define snd_spcm_init snd_spcm_init_orig
+#define snd_spcm_init_duplex snd_spcm_init_duplex_orig
+#define snd_spcm_init_get_params snd_spcm_init_get_params_orig
+#define snd_pcm_start_mode_name snd_pcm_start_mode_name_orig
+#define snd_pcm_xrun_mode_name snd_pcm_xrun_mode_name_orig
+#define snd_pcm_sw_params_set_start_mode snd_pcm_sw_params_set_start_mode_orig
+#define snd_pcm_sw_params_get_start_mode snd_pcm_sw_params_get_start_mode_orig
+#define snd_pcm_sw_params_set_xrun_mode snd_pcm_sw_params_set_xrun_mode_orig
+#define snd_pcm_sw_params_get_xrun_mode snd_pcm_sw_params_get_xrun_mode_orig
+#define snd_pcm_sw_params_set_xfer_align snd_pcm_sw_params_set_xfer_align_orig
+#define snd_pcm_sw_params_get_xfer_align snd_pcm_sw_params_get_xfer_align_orig
+#define snd_pcm_sw_params_set_sleep_min snd_pcm_sw_params_set_sleep_min_orig
+#define snd_pcm_sw_params_get_sleep_min snd_pcm_sw_params_get_sleep_min_orig
+#define snd_pcm_hw_params_get_tick_time snd_pcm_hw_params_get_tick_time_orig
+#define snd_pcm_hw_params_get_tick_time_min snd_pcm_hw_params_get_tick_time_min_orig
+#define snd_pcm_hw_params_get_tick_time_max snd_pcm_hw_params_get_tick_time_max_orig
+#define snd_pcm_hw_params_test_tick_time snd_pcm_hw_params_test_tick_time_orig
+#define snd_pcm_hw_params_set_tick_time snd_pcm_hw_params_set_tick_time_orig
+#define snd_pcm_hw_params_set_tick_time_min snd_pcm_hw_params_set_tick_time_min_orig
+#define snd_pcm_hw_params_set_tick_time_max snd_pcm_hw_params_set_tick_time_max_orig
+#define snd_pcm_hw_params_set_tick_time_minmax snd_pcm_hw_params_set_tick_time_minmax_orig
+#define snd_pcm_hw_params_set_tick_time_near snd_pcm_hw_params_set_tick_time_near_orig
+#define snd_pcm_hw_params_set_tick_time_first snd_pcm_hw_params_set_tick_time_first_orig
+#define snd_pcm_hw_params_set_tick_time_last snd_pcm_hw_params_set_tick_time_last_orig
+#define snd_rawmidi_open snd_rawmidi_open_orig
+#define snd_rawmidi_open_lconf snd_rawmidi_open_lconf_orig
+#define snd_rawmidi_close snd_rawmidi_close_orig
+#define snd_rawmidi_poll_descriptors_count snd_rawmidi_poll_descriptors_count_orig
+#define snd_rawmidi_poll_descriptors snd_rawmidi_poll_descriptors_orig
+#define snd_rawmidi_poll_descriptors_revents snd_rawmidi_poll_descriptors_revents_orig
+#define snd_rawmidi_nonblock snd_rawmidi_nonblock_orig
+#define snd_rawmidi_info_sizeof snd_rawmidi_info_sizeof_orig
+#define snd_rawmidi_info_malloc snd_rawmidi_info_malloc_orig
+#define snd_rawmidi_info_free snd_rawmidi_info_free_orig
+#define snd_rawmidi_info_copy snd_rawmidi_info_copy_orig
+#define snd_rawmidi_info_get_device snd_rawmidi_info_get_device_orig
+#define snd_rawmidi_info_get_subdevice snd_rawmidi_info_get_subdevice_orig
+#define snd_rawmidi_info_get_stream snd_rawmidi_info_get_stream_orig
+#define snd_rawmidi_info_get_card snd_rawmidi_info_get_card_orig
+#define snd_rawmidi_info_get_flags snd_rawmidi_info_get_flags_orig
+#define snd_rawmidi_info_get_id snd_rawmidi_info_get_id_orig
+#define snd_rawmidi_info_get_name snd_rawmidi_info_get_name_orig
+#define snd_rawmidi_info_get_subdevice_name snd_rawmidi_info_get_subdevice_name_orig
+#define snd_rawmidi_info_get_subdevices_count snd_rawmidi_info_get_subdevices_count_orig
+#define snd_rawmidi_info_get_subdevices_avail snd_rawmidi_info_get_subdevices_avail_orig
+#define snd_rawmidi_info_set_device snd_rawmidi_info_set_device_orig
+#define snd_rawmidi_info_set_subdevice snd_rawmidi_info_set_subdevice_orig
+#define snd_rawmidi_info_set_stream snd_rawmidi_info_set_stream_orig
+#define snd_rawmidi_info snd_rawmidi_info_orig
+#define snd_rawmidi_params_sizeof snd_rawmidi_params_sizeof_orig
+#define snd_rawmidi_params_malloc snd_rawmidi_params_malloc_orig
+#define snd_rawmidi_params_free snd_rawmidi_params_free_orig
+#define snd_rawmidi_params_copy snd_rawmidi_params_copy_orig
+#define snd_rawmidi_params_set_buffer_size snd_rawmidi_params_set_buffer_size_orig
+#define snd_rawmidi_params_get_buffer_size snd_rawmidi_params_get_buffer_size_orig
+#define snd_rawmidi_params_set_avail_min snd_rawmidi_params_set_avail_min_orig
+#define snd_rawmidi_params_get_avail_min snd_rawmidi_params_get_avail_min_orig
+#define snd_rawmidi_params_set_no_active_sensing snd_rawmidi_params_set_no_active_sensing_orig
+#define snd_rawmidi_params_get_no_active_sensing snd_rawmidi_params_get_no_active_sensing_orig
+#define snd_rawmidi_params snd_rawmidi_params_orig
+#define snd_rawmidi_params_current snd_rawmidi_params_current_orig
+#define snd_rawmidi_status_sizeof snd_rawmidi_status_sizeof_orig
+#define snd_rawmidi_status_malloc snd_rawmidi_status_malloc_orig
+#define snd_rawmidi_status_free snd_rawmidi_status_free_orig
+#define snd_rawmidi_status_copy snd_rawmidi_status_copy_orig
+#define snd_rawmidi_status_get_tstamp snd_rawmidi_status_get_tstamp_orig
+#define snd_rawmidi_status_get_avail snd_rawmidi_status_get_avail_orig
+#define snd_rawmidi_status_get_xruns snd_rawmidi_status_get_xruns_orig
+#define snd_rawmidi_status snd_rawmidi_status_orig
+#define snd_rawmidi_drain snd_rawmidi_drain_orig
+#define snd_rawmidi_drop snd_rawmidi_drop_orig
+#define snd_rawmidi_write snd_rawmidi_write_orig
+#define snd_rawmidi_read snd_rawmidi_read_orig
+#define snd_rawmidi_name snd_rawmidi_name_orig
+#define snd_rawmidi_type snd_rawmidi_type_orig
+#define snd_rawmidi_stream snd_rawmidi_stream_orig
+#define snd_timer_query_open snd_timer_query_open_orig
+#define snd_timer_query_open_lconf snd_timer_query_open_lconf_orig
+#define snd_timer_query_close snd_timer_query_close_orig
+#define snd_timer_query_next_device snd_timer_query_next_device_orig
+#define snd_timer_query_info snd_timer_query_info_orig
+#define snd_timer_query_params snd_timer_query_params_orig
+#define snd_timer_query_status snd_timer_query_status_orig
+#define snd_timer_open snd_timer_open_orig
+#define snd_timer_open_lconf snd_timer_open_lconf_orig
+#define snd_timer_close snd_timer_close_orig
+#define snd_async_add_timer_handler snd_async_add_timer_handler_orig
+#define snd_async_handler_get_timer snd_async_handler_get_timer_orig
+#define snd_timer_poll_descriptors_count snd_timer_poll_descriptors_count_orig
+#define snd_timer_poll_descriptors snd_timer_poll_descriptors_orig
+#define snd_timer_poll_descriptors_revents snd_timer_poll_descriptors_revents_orig
+#define snd_timer_info snd_timer_info_orig
+#define snd_timer_params snd_timer_params_orig
+#define snd_timer_status snd_timer_status_orig
+#define snd_timer_start snd_timer_start_orig
+#define snd_timer_stop snd_timer_stop_orig
+#define snd_timer_continue snd_timer_continue_orig
+#define snd_timer_read snd_timer_read_orig
+#define snd_timer_id_sizeof snd_timer_id_sizeof_orig
+#define snd_timer_id_malloc snd_timer_id_malloc_orig
+#define snd_timer_id_free snd_timer_id_free_orig
+#define snd_timer_id_copy snd_timer_id_copy_orig
+#define snd_timer_id_set_class snd_timer_id_set_class_orig
+#define snd_timer_id_get_class snd_timer_id_get_class_orig
+#define snd_timer_id_set_sclass snd_timer_id_set_sclass_orig
+#define snd_timer_id_get_sclass snd_timer_id_get_sclass_orig
+#define snd_timer_id_set_card snd_timer_id_set_card_orig
+#define snd_timer_id_get_card snd_timer_id_get_card_orig
+#define snd_timer_id_set_device snd_timer_id_set_device_orig
+#define snd_timer_id_get_device snd_timer_id_get_device_orig
+#define snd_timer_id_set_subdevice snd_timer_id_set_subdevice_orig
+#define snd_timer_id_get_subdevice snd_timer_id_get_subdevice_orig
+#define snd_timer_ginfo_sizeof snd_timer_ginfo_sizeof_orig
+#define snd_timer_ginfo_malloc snd_timer_ginfo_malloc_orig
+#define snd_timer_ginfo_free snd_timer_ginfo_free_orig
+#define snd_timer_ginfo_copy snd_timer_ginfo_copy_orig
+#define snd_timer_ginfo_set_tid snd_timer_ginfo_set_tid_orig
+#define snd_timer_ginfo_get_tid snd_timer_ginfo_get_tid_orig
+#define snd_timer_ginfo_get_flags snd_timer_ginfo_get_flags_orig
+#define snd_timer_ginfo_get_card snd_timer_ginfo_get_card_orig
+#define snd_timer_ginfo_get_id snd_timer_ginfo_get_id_orig
+#define snd_timer_ginfo_get_name snd_timer_ginfo_get_name_orig
+#define snd_timer_ginfo_get_resolution snd_timer_ginfo_get_resolution_orig
+#define snd_timer_ginfo_get_resolution_min snd_timer_ginfo_get_resolution_min_orig
+#define snd_timer_ginfo_get_resolution_max snd_timer_ginfo_get_resolution_max_orig
+#define snd_timer_ginfo_get_clients snd_timer_ginfo_get_clients_orig
+#define snd_timer_info_sizeof snd_timer_info_sizeof_orig
+#define snd_timer_info_malloc snd_timer_info_malloc_orig
+#define snd_timer_info_free snd_timer_info_free_orig
+#define snd_timer_info_copy snd_timer_info_copy_orig
+#define snd_timer_info_is_slave snd_timer_info_is_slave_orig
+#define snd_timer_info_get_card snd_timer_info_get_card_orig
+#define snd_timer_info_get_id snd_timer_info_get_id_orig
+#define snd_timer_info_get_name snd_timer_info_get_name_orig
+#define snd_timer_info_get_resolution snd_timer_info_get_resolution_orig
+#define snd_timer_params_sizeof snd_timer_params_sizeof_orig
+#define snd_timer_params_malloc snd_timer_params_malloc_orig
+#define snd_timer_params_free snd_timer_params_free_orig
+#define snd_timer_params_copy snd_timer_params_copy_orig
+#define snd_timer_params_set_auto_start snd_timer_params_set_auto_start_orig
+#define snd_timer_params_get_auto_start snd_timer_params_get_auto_start_orig
+#define snd_timer_params_set_exclusive snd_timer_params_set_exclusive_orig
+#define snd_timer_params_get_exclusive snd_timer_params_get_exclusive_orig
+#define snd_timer_params_set_early_event snd_timer_params_set_early_event_orig
+#define snd_timer_params_get_early_event snd_timer_params_get_early_event_orig
+#define snd_timer_params_set_ticks snd_timer_params_set_ticks_orig
+#define snd_timer_params_get_ticks snd_timer_params_get_ticks_orig
+#define snd_timer_params_set_queue_size snd_timer_params_set_queue_size_orig
+#define snd_timer_params_get_queue_size snd_timer_params_get_queue_size_orig
+#define snd_timer_params_set_filter snd_timer_params_set_filter_orig
+#define snd_timer_params_get_filter snd_timer_params_get_filter_orig
+#define snd_timer_status_sizeof snd_timer_status_sizeof_orig
+#define snd_timer_status_malloc snd_timer_status_malloc_orig
+#define snd_timer_status_free snd_timer_status_free_orig
+#define snd_timer_status_copy snd_timer_status_copy_orig
+#define snd_timer_status_get_timestamp snd_timer_status_get_timestamp_orig
+#define snd_timer_status_get_resolution snd_timer_status_get_resolution_orig
+#define snd_timer_status_get_lost snd_timer_status_get_lost_orig
+#define snd_timer_status_get_overrun snd_timer_status_get_overrun_orig
+#define snd_timer_status_get_queue snd_timer_status_get_queue_orig
+#define snd_timer_info_get_ticks snd_timer_info_get_ticks_orig
+#define snd_hwdep_open snd_hwdep_open_orig
+#define snd_hwdep_close snd_hwdep_close_orig
+#define snd_hwdep_poll_descriptors snd_hwdep_poll_descriptors_orig
+#define snd_hwdep_poll_descriptors_count snd_hwdep_poll_descriptors_count_orig
+#define snd_hwdep_poll_descriptors_revents snd_hwdep_poll_descriptors_revents_orig
+#define snd_hwdep_nonblock snd_hwdep_nonblock_orig
+#define snd_hwdep_info snd_hwdep_info_orig
+#define snd_hwdep_dsp_status snd_hwdep_dsp_status_orig
+#define snd_hwdep_dsp_load snd_hwdep_dsp_load_orig
+#define snd_hwdep_ioctl snd_hwdep_ioctl_orig
+#define snd_hwdep_write snd_hwdep_write_orig
+#define snd_hwdep_read snd_hwdep_read_orig
+#define snd_hwdep_info_sizeof snd_hwdep_info_sizeof_orig
+#define snd_hwdep_info_malloc snd_hwdep_info_malloc_orig
+#define snd_hwdep_info_free snd_hwdep_info_free_orig
+#define snd_hwdep_info_copy snd_hwdep_info_copy_orig
+#define snd_hwdep_info_get_device snd_hwdep_info_get_device_orig
+#define snd_hwdep_info_get_card snd_hwdep_info_get_card_orig
+#define snd_hwdep_info_get_id snd_hwdep_info_get_id_orig
+#define snd_hwdep_info_get_name snd_hwdep_info_get_name_orig
+#define snd_hwdep_info_get_iface snd_hwdep_info_get_iface_orig
+#define snd_hwdep_info_set_device snd_hwdep_info_set_device_orig
+#define snd_hwdep_dsp_status_sizeof snd_hwdep_dsp_status_sizeof_orig
+#define snd_hwdep_dsp_status_malloc snd_hwdep_dsp_status_malloc_orig
+#define snd_hwdep_dsp_status_free snd_hwdep_dsp_status_free_orig
+#define snd_hwdep_dsp_status_copy snd_hwdep_dsp_status_copy_orig
+#define snd_hwdep_dsp_status_get_version snd_hwdep_dsp_status_get_version_orig
+#define snd_hwdep_dsp_status_get_id snd_hwdep_dsp_status_get_id_orig
+#define snd_hwdep_dsp_status_get_num_dsps snd_hwdep_dsp_status_get_num_dsps_orig
+#define snd_hwdep_dsp_status_get_dsp_loaded snd_hwdep_dsp_status_get_dsp_loaded_orig
+#define snd_hwdep_dsp_status_get_chip_ready snd_hwdep_dsp_status_get_chip_ready_orig
+#define snd_hwdep_dsp_image_sizeof snd_hwdep_dsp_image_sizeof_orig
+#define snd_hwdep_dsp_image_malloc snd_hwdep_dsp_image_malloc_orig
+#define snd_hwdep_dsp_image_free snd_hwdep_dsp_image_free_orig
+#define snd_hwdep_dsp_image_copy snd_hwdep_dsp_image_copy_orig
+#define snd_hwdep_dsp_image_get_index snd_hwdep_dsp_image_get_index_orig
+#define snd_hwdep_dsp_image_get_name snd_hwdep_dsp_image_get_name_orig
+#define snd_hwdep_dsp_image_get_image snd_hwdep_dsp_image_get_image_orig
+#define snd_hwdep_dsp_image_get_length snd_hwdep_dsp_image_get_length_orig
+#define snd_hwdep_dsp_image_set_index snd_hwdep_dsp_image_set_index_orig
+#define snd_hwdep_dsp_image_set_name snd_hwdep_dsp_image_set_name_orig
+#define snd_hwdep_dsp_image_set_image snd_hwdep_dsp_image_set_image_orig
+#define snd_hwdep_dsp_image_set_length snd_hwdep_dsp_image_set_length_orig
+#define snd_card_load snd_card_load_orig
+#define snd_card_next snd_card_next_orig
+#define snd_card_get_index snd_card_get_index_orig
+#define snd_card_get_name snd_card_get_name_orig
+#define snd_card_get_longname snd_card_get_longname_orig
+#define snd_device_name_hint snd_device_name_hint_orig
+#define snd_device_name_free_hint snd_device_name_free_hint_orig
+#define snd_device_name_get_hint snd_device_name_get_hint_orig
+#define snd_ctl_open snd_ctl_open_orig
+#define snd_ctl_open_lconf snd_ctl_open_lconf_orig
+#define snd_ctl_open_fallback snd_ctl_open_fallback_orig
+#define snd_ctl_close snd_ctl_close_orig
+#define snd_ctl_nonblock snd_ctl_nonblock_orig
+#define snd_async_add_ctl_handler snd_async_add_ctl_handler_orig
+#define snd_async_handler_get_ctl snd_async_handler_get_ctl_orig
+#define snd_ctl_poll_descriptors_count snd_ctl_poll_descriptors_count_orig
+#define snd_ctl_poll_descriptors snd_ctl_poll_descriptors_orig
+#define snd_ctl_poll_descriptors_revents snd_ctl_poll_descriptors_revents_orig
+#define snd_ctl_subscribe_events snd_ctl_subscribe_events_orig
+#define snd_ctl_card_info snd_ctl_card_info_orig
+#define snd_ctl_elem_list snd_ctl_elem_list_orig
+#define snd_ctl_elem_info snd_ctl_elem_info_orig
+#define snd_ctl_elem_read snd_ctl_elem_read_orig
+#define snd_ctl_elem_write snd_ctl_elem_write_orig
+#define snd_ctl_elem_lock snd_ctl_elem_lock_orig
+#define snd_ctl_elem_unlock snd_ctl_elem_unlock_orig
+#define snd_ctl_elem_tlv_read snd_ctl_elem_tlv_read_orig
+#define snd_ctl_elem_tlv_write snd_ctl_elem_tlv_write_orig
+#define snd_ctl_elem_tlv_command snd_ctl_elem_tlv_command_orig
+#define snd_ctl_hwdep_next_device snd_ctl_hwdep_next_device_orig
+#define snd_ctl_hwdep_info snd_ctl_hwdep_info_orig
+#define snd_ctl_pcm_next_device snd_ctl_pcm_next_device_orig
+#define snd_ctl_pcm_info snd_ctl_pcm_info_orig
+#define snd_ctl_pcm_prefer_subdevice snd_ctl_pcm_prefer_subdevice_orig
+#define snd_ctl_rawmidi_next_device snd_ctl_rawmidi_next_device_orig
+#define snd_ctl_rawmidi_info snd_ctl_rawmidi_info_orig
+#define snd_ctl_rawmidi_prefer_subdevice snd_ctl_rawmidi_prefer_subdevice_orig
+#define snd_ctl_set_power_state snd_ctl_set_power_state_orig
+#define snd_ctl_get_power_state snd_ctl_get_power_state_orig
+#define snd_ctl_read snd_ctl_read_orig
+#define snd_ctl_wait snd_ctl_wait_orig
+#define snd_ctl_name snd_ctl_name_orig
+#define snd_ctl_type snd_ctl_type_orig
+#define snd_ctl_elem_type_name snd_ctl_elem_type_name_orig
+#define snd_ctl_elem_iface_name snd_ctl_elem_iface_name_orig
+#define snd_ctl_event_type_name snd_ctl_event_type_name_orig
+#define snd_ctl_event_elem_get_mask snd_ctl_event_elem_get_mask_orig
+#define snd_ctl_event_elem_get_numid snd_ctl_event_elem_get_numid_orig
+#define snd_ctl_event_elem_get_id snd_ctl_event_elem_get_id_orig
+#define snd_ctl_event_elem_get_interface snd_ctl_event_elem_get_interface_orig
+#define snd_ctl_event_elem_get_device snd_ctl_event_elem_get_device_orig
+#define snd_ctl_event_elem_get_subdevice snd_ctl_event_elem_get_subdevice_orig
+#define snd_ctl_event_elem_get_name snd_ctl_event_elem_get_name_orig
+#define snd_ctl_event_elem_get_index snd_ctl_event_elem_get_index_orig
+#define snd_ctl_elem_list_alloc_space snd_ctl_elem_list_alloc_space_orig
+#define snd_ctl_elem_list_free_space snd_ctl_elem_list_free_space_orig
+#define snd_ctl_ascii_elem_id_get snd_ctl_ascii_elem_id_get_orig
+#define snd_ctl_ascii_elem_id_parse snd_ctl_ascii_elem_id_parse_orig
+#define snd_ctl_ascii_value_parse snd_ctl_ascii_value_parse_orig
+#define snd_ctl_elem_id_sizeof snd_ctl_elem_id_sizeof_orig
+#define snd_ctl_elem_id_malloc snd_ctl_elem_id_malloc_orig
+#define snd_ctl_elem_id_free snd_ctl_elem_id_free_orig
+#define snd_ctl_elem_id_clear snd_ctl_elem_id_clear_orig
+#define snd_ctl_elem_id_copy snd_ctl_elem_id_copy_orig
+#define snd_ctl_elem_id_get_numid snd_ctl_elem_id_get_numid_orig
+#define snd_ctl_elem_id_get_interface snd_ctl_elem_id_get_interface_orig
+#define snd_ctl_elem_id_get_device snd_ctl_elem_id_get_device_orig
+#define snd_ctl_elem_id_get_subdevice snd_ctl_elem_id_get_subdevice_orig
+#define snd_ctl_elem_id_get_name snd_ctl_elem_id_get_name_orig
+#define snd_ctl_elem_id_get_index snd_ctl_elem_id_get_index_orig
+#define snd_ctl_elem_id_set_numid snd_ctl_elem_id_set_numid_orig
+#define snd_ctl_elem_id_set_interface snd_ctl_elem_id_set_interface_orig
+#define snd_ctl_elem_id_set_device snd_ctl_elem_id_set_device_orig
+#define snd_ctl_elem_id_set_subdevice snd_ctl_elem_id_set_subdevice_orig
+#define snd_ctl_elem_id_set_name snd_ctl_elem_id_set_name_orig
+#define snd_ctl_elem_id_set_index snd_ctl_elem_id_set_index_orig
+#define snd_ctl_card_info_sizeof snd_ctl_card_info_sizeof_orig
+#define snd_ctl_card_info_malloc snd_ctl_card_info_malloc_orig
+#define snd_ctl_card_info_free snd_ctl_card_info_free_orig
+#define snd_ctl_card_info_clear snd_ctl_card_info_clear_orig
+#define snd_ctl_card_info_copy snd_ctl_card_info_copy_orig
+#define snd_ctl_card_info_get_card snd_ctl_card_info_get_card_orig
+#define snd_ctl_card_info_get_id snd_ctl_card_info_get_id_orig
+#define snd_ctl_card_info_get_driver snd_ctl_card_info_get_driver_orig
+#define snd_ctl_card_info_get_name snd_ctl_card_info_get_name_orig
+#define snd_ctl_card_info_get_longname snd_ctl_card_info_get_longname_orig
+#define snd_ctl_card_info_get_mixername snd_ctl_card_info_get_mixername_orig
+#define snd_ctl_card_info_get_components snd_ctl_card_info_get_components_orig
+#define snd_ctl_event_sizeof snd_ctl_event_sizeof_orig
+#define snd_ctl_event_malloc snd_ctl_event_malloc_orig
+#define snd_ctl_event_free snd_ctl_event_free_orig
+#define snd_ctl_event_clear snd_ctl_event_clear_orig
+#define snd_ctl_event_copy snd_ctl_event_copy_orig
+#define snd_ctl_event_get_type snd_ctl_event_get_type_orig
+#define snd_ctl_elem_list_sizeof snd_ctl_elem_list_sizeof_orig
+#define snd_ctl_elem_list_malloc snd_ctl_elem_list_malloc_orig
+#define snd_ctl_elem_list_free snd_ctl_elem_list_free_orig
+#define snd_ctl_elem_list_clear snd_ctl_elem_list_clear_orig
+#define snd_ctl_elem_list_copy snd_ctl_elem_list_copy_orig
+#define snd_ctl_elem_list_set_offset snd_ctl_elem_list_set_offset_orig
+#define snd_ctl_elem_list_get_used snd_ctl_elem_list_get_used_orig
+#define snd_ctl_elem_list_get_count snd_ctl_elem_list_get_count_orig
+#define snd_ctl_elem_list_get_id snd_ctl_elem_list_get_id_orig
+#define snd_ctl_elem_list_get_numid snd_ctl_elem_list_get_numid_orig
+#define snd_ctl_elem_list_get_interface snd_ctl_elem_list_get_interface_orig
+#define snd_ctl_elem_list_get_device snd_ctl_elem_list_get_device_orig
+#define snd_ctl_elem_list_get_subdevice snd_ctl_elem_list_get_subdevice_orig
+#define snd_ctl_elem_list_get_name snd_ctl_elem_list_get_name_orig
+#define snd_ctl_elem_list_get_index snd_ctl_elem_list_get_index_orig
+#define snd_ctl_elem_info_sizeof snd_ctl_elem_info_sizeof_orig
+#define snd_ctl_elem_info_malloc snd_ctl_elem_info_malloc_orig
+#define snd_ctl_elem_info_free snd_ctl_elem_info_free_orig
+#define snd_ctl_elem_info_clear snd_ctl_elem_info_clear_orig
+#define snd_ctl_elem_info_copy snd_ctl_elem_info_copy_orig
+#define snd_ctl_elem_info_get_type snd_ctl_elem_info_get_type_orig
+#define snd_ctl_elem_info_is_readable snd_ctl_elem_info_is_readable_orig
+#define snd_ctl_elem_info_is_writable snd_ctl_elem_info_is_writable_orig
+#define snd_ctl_elem_info_is_volatile snd_ctl_elem_info_is_volatile_orig
+#define snd_ctl_elem_info_is_inactive snd_ctl_elem_info_is_inactive_orig
+#define snd_ctl_elem_info_is_locked snd_ctl_elem_info_is_locked_orig
+#define snd_ctl_elem_info_is_tlv_readable snd_ctl_elem_info_is_tlv_readable_orig
+#define snd_ctl_elem_info_is_tlv_writable snd_ctl_elem_info_is_tlv_writable_orig
+#define snd_ctl_elem_info_is_tlv_commandable snd_ctl_elem_info_is_tlv_commandable_orig
+#define snd_ctl_elem_info_is_owner snd_ctl_elem_info_is_owner_orig
+#define snd_ctl_elem_info_is_user snd_ctl_elem_info_is_user_orig
+#define snd_ctl_elem_info_get_owner snd_ctl_elem_info_get_owner_orig
+#define snd_ctl_elem_info_get_count snd_ctl_elem_info_get_count_orig
+#define snd_ctl_elem_info_get_min snd_ctl_elem_info_get_min_orig
+#define snd_ctl_elem_info_get_max snd_ctl_elem_info_get_max_orig
+#define snd_ctl_elem_info_get_step snd_ctl_elem_info_get_step_orig
+#define snd_ctl_elem_info_get_min64 snd_ctl_elem_info_get_min64_orig
+#define snd_ctl_elem_info_get_max64 snd_ctl_elem_info_get_max64_orig
+#define snd_ctl_elem_info_get_step64 snd_ctl_elem_info_get_step64_orig
+#define snd_ctl_elem_info_get_items snd_ctl_elem_info_get_items_orig
+#define snd_ctl_elem_info_set_item snd_ctl_elem_info_set_item_orig
+#define snd_ctl_elem_info_get_item_name snd_ctl_elem_info_get_item_name_orig
+#define snd_ctl_elem_info_get_dimensions snd_ctl_elem_info_get_dimensions_orig
+#define snd_ctl_elem_info_get_dimension snd_ctl_elem_info_get_dimension_orig
+#define snd_ctl_elem_info_set_dimension snd_ctl_elem_info_set_dimension_orig
+#define snd_ctl_elem_info_get_id snd_ctl_elem_info_get_id_orig
+#define snd_ctl_elem_info_get_numid snd_ctl_elem_info_get_numid_orig
+#define snd_ctl_elem_info_get_interface snd_ctl_elem_info_get_interface_orig
+#define snd_ctl_elem_info_get_device snd_ctl_elem_info_get_device_orig
+#define snd_ctl_elem_info_get_subdevice snd_ctl_elem_info_get_subdevice_orig
+#define snd_ctl_elem_info_get_name snd_ctl_elem_info_get_name_orig
+#define snd_ctl_elem_info_get_index snd_ctl_elem_info_get_index_orig
+#define snd_ctl_elem_info_set_id snd_ctl_elem_info_set_id_orig
+#define snd_ctl_elem_info_set_numid snd_ctl_elem_info_set_numid_orig
+#define snd_ctl_elem_info_set_interface snd_ctl_elem_info_set_interface_orig
+#define snd_ctl_elem_info_set_device snd_ctl_elem_info_set_device_orig
+#define snd_ctl_elem_info_set_subdevice snd_ctl_elem_info_set_subdevice_orig
+#define snd_ctl_elem_info_set_name snd_ctl_elem_info_set_name_orig
+#define snd_ctl_elem_info_set_index snd_ctl_elem_info_set_index_orig
+#define snd_ctl_add_integer_elem_set snd_ctl_add_integer_elem_set_orig
+#define snd_ctl_add_integer64_elem_set snd_ctl_add_integer64_elem_set_orig
+#define snd_ctl_add_boolean_elem_set snd_ctl_add_boolean_elem_set_orig
+#define snd_ctl_add_enumerated_elem_set snd_ctl_add_enumerated_elem_set_orig
+#define snd_ctl_add_bytes_elem_set snd_ctl_add_bytes_elem_set_orig
+#define snd_ctl_elem_add_integer snd_ctl_elem_add_integer_orig
+#define snd_ctl_elem_add_integer64 snd_ctl_elem_add_integer64_orig
+#define snd_ctl_elem_add_boolean snd_ctl_elem_add_boolean_orig
+#define snd_ctl_elem_add_enumerated snd_ctl_elem_add_enumerated_orig
+#define snd_ctl_elem_add_iec958 snd_ctl_elem_add_iec958_orig
+#define snd_ctl_elem_remove snd_ctl_elem_remove_orig
+#define snd_ctl_elem_value_sizeof snd_ctl_elem_value_sizeof_orig
+#define snd_ctl_elem_value_malloc snd_ctl_elem_value_malloc_orig
+#define snd_ctl_elem_value_free snd_ctl_elem_value_free_orig
+#define snd_ctl_elem_value_clear snd_ctl_elem_value_clear_orig
+#define snd_ctl_elem_value_copy snd_ctl_elem_value_copy_orig
+#define snd_ctl_elem_value_compare snd_ctl_elem_value_compare_orig
+#define snd_ctl_elem_value_get_id snd_ctl_elem_value_get_id_orig
+#define snd_ctl_elem_value_get_numid snd_ctl_elem_value_get_numid_orig
+#define snd_ctl_elem_value_get_interface snd_ctl_elem_value_get_interface_orig
+#define snd_ctl_elem_value_get_device snd_ctl_elem_value_get_device_orig
+#define snd_ctl_elem_value_get_subdevice snd_ctl_elem_value_get_subdevice_orig
+#define snd_ctl_elem_value_get_name snd_ctl_elem_value_get_name_orig
+#define snd_ctl_elem_value_get_index snd_ctl_elem_value_get_index_orig
+#define snd_ctl_elem_value_set_id snd_ctl_elem_value_set_id_orig
+#define snd_ctl_elem_value_set_numid snd_ctl_elem_value_set_numid_orig
+#define snd_ctl_elem_value_set_interface snd_ctl_elem_value_set_interface_orig
+#define snd_ctl_elem_value_set_device snd_ctl_elem_value_set_device_orig
+#define snd_ctl_elem_value_set_subdevice snd_ctl_elem_value_set_subdevice_orig
+#define snd_ctl_elem_value_set_name snd_ctl_elem_value_set_name_orig
+#define snd_ctl_elem_value_set_index snd_ctl_elem_value_set_index_orig
+#define snd_ctl_elem_value_get_boolean snd_ctl_elem_value_get_boolean_orig
+#define snd_ctl_elem_value_get_integer snd_ctl_elem_value_get_integer_orig
+#define snd_ctl_elem_value_get_integer64 snd_ctl_elem_value_get_integer64_orig
+#define snd_ctl_elem_value_get_enumerated snd_ctl_elem_value_get_enumerated_orig
+#define snd_ctl_elem_value_get_byte snd_ctl_elem_value_get_byte_orig
+#define snd_ctl_elem_value_set_boolean snd_ctl_elem_value_set_boolean_orig
+#define snd_ctl_elem_value_set_integer snd_ctl_elem_value_set_integer_orig
+#define snd_ctl_elem_value_set_integer64 snd_ctl_elem_value_set_integer64_orig
+#define snd_ctl_elem_value_set_enumerated snd_ctl_elem_value_set_enumerated_orig
+#define snd_ctl_elem_value_set_byte snd_ctl_elem_value_set_byte_orig
+#define snd_ctl_elem_set_bytes snd_ctl_elem_set_bytes_orig
+#define snd_ctl_elem_value_get_bytes snd_ctl_elem_value_get_bytes_orig
+#define snd_ctl_elem_value_get_iec958 snd_ctl_elem_value_get_iec958_orig
+#define snd_ctl_elem_value_set_iec958 snd_ctl_elem_value_set_iec958_orig
+#define snd_tlv_parse_dB_info snd_tlv_parse_dB_info_orig
+#define snd_tlv_get_dB_range snd_tlv_get_dB_range_orig
+#define snd_tlv_convert_to_dB snd_tlv_convert_to_dB_orig
+#define snd_tlv_convert_from_dB snd_tlv_convert_from_dB_orig
+#define snd_ctl_get_dB_range snd_ctl_get_dB_range_orig
+#define snd_ctl_convert_to_dB snd_ctl_convert_to_dB_orig
+#define snd_ctl_convert_from_dB snd_ctl_convert_from_dB_orig
+#define snd_hctl_compare_fast snd_hctl_compare_fast_orig
+#define snd_hctl_open snd_hctl_open_orig
+#define snd_hctl_open_ctl snd_hctl_open_ctl_orig
+#define snd_hctl_close snd_hctl_close_orig
+#define snd_hctl_nonblock snd_hctl_nonblock_orig
+#define snd_hctl_poll_descriptors_count snd_hctl_poll_descriptors_count_orig
+#define snd_hctl_poll_descriptors snd_hctl_poll_descriptors_orig
+#define snd_hctl_poll_descriptors_revents snd_hctl_poll_descriptors_revents_orig
+#define snd_hctl_get_count snd_hctl_get_count_orig
+#define snd_hctl_set_compare snd_hctl_set_compare_orig
+#define snd_hctl_first_elem snd_hctl_first_elem_orig
+#define snd_hctl_last_elem snd_hctl_last_elem_orig
+#define snd_hctl_find_elem snd_hctl_find_elem_orig
+#define snd_hctl_set_callback snd_hctl_set_callback_orig
+#define snd_hctl_set_callback_private snd_hctl_set_callback_private_orig
+#define snd_hctl_get_callback_private snd_hctl_get_callback_private_orig
+#define snd_hctl_load snd_hctl_load_orig
+#define snd_hctl_free snd_hctl_free_orig
+#define snd_hctl_handle_events snd_hctl_handle_events_orig
+#define snd_hctl_name snd_hctl_name_orig
+#define snd_hctl_wait snd_hctl_wait_orig
+#define snd_hctl_ctl snd_hctl_ctl_orig
+#define snd_hctl_elem_next snd_hctl_elem_next_orig
+#define snd_hctl_elem_prev snd_hctl_elem_prev_orig
+#define snd_hctl_elem_info snd_hctl_elem_info_orig
+#define snd_hctl_elem_read snd_hctl_elem_read_orig
+#define snd_hctl_elem_write snd_hctl_elem_write_orig
+#define snd_hctl_elem_tlv_read snd_hctl_elem_tlv_read_orig
+#define snd_hctl_elem_tlv_write snd_hctl_elem_tlv_write_orig
+#define snd_hctl_elem_tlv_command snd_hctl_elem_tlv_command_orig
+#define snd_hctl_elem_get_hctl snd_hctl_elem_get_hctl_orig
+#define snd_hctl_elem_get_id snd_hctl_elem_get_id_orig
+#define snd_hctl_elem_get_numid snd_hctl_elem_get_numid_orig
+#define snd_hctl_elem_get_interface snd_hctl_elem_get_interface_orig
+#define snd_hctl_elem_get_device snd_hctl_elem_get_device_orig
+#define snd_hctl_elem_get_subdevice snd_hctl_elem_get_subdevice_orig
+#define snd_hctl_elem_get_name snd_hctl_elem_get_name_orig
+#define snd_hctl_elem_get_index snd_hctl_elem_get_index_orig
+#define snd_hctl_elem_set_callback snd_hctl_elem_set_callback_orig
+#define snd_hctl_elem_get_callback_private snd_hctl_elem_get_callback_private_orig
+#define snd_hctl_elem_set_callback_private snd_hctl_elem_set_callback_private_orig
+#define snd_sctl_build snd_sctl_build_orig
+#define snd_sctl_free snd_sctl_free_orig
+#define snd_sctl_install snd_sctl_install_orig
+#define snd_sctl_remove snd_sctl_remove_orig
+#define snd_mixer_open snd_mixer_open_orig
+#define snd_mixer_close snd_mixer_close_orig
+#define snd_mixer_first_elem snd_mixer_first_elem_orig
+#define snd_mixer_last_elem snd_mixer_last_elem_orig
+#define snd_mixer_handle_events snd_mixer_handle_events_orig
+#define snd_mixer_attach snd_mixer_attach_orig
+#define snd_mixer_attach_hctl snd_mixer_attach_hctl_orig
+#define snd_mixer_detach snd_mixer_detach_orig
+#define snd_mixer_detach_hctl snd_mixer_detach_hctl_orig
+#define snd_mixer_get_hctl snd_mixer_get_hctl_orig
+#define snd_mixer_poll_descriptors_count snd_mixer_poll_descriptors_count_orig
+#define snd_mixer_poll_descriptors snd_mixer_poll_descriptors_orig
+#define snd_mixer_poll_descriptors_revents snd_mixer_poll_descriptors_revents_orig
+#define snd_mixer_load snd_mixer_load_orig
+#define snd_mixer_free snd_mixer_free_orig
+#define snd_mixer_wait snd_mixer_wait_orig
+#define snd_mixer_set_compare snd_mixer_set_compare_orig
+#define snd_mixer_set_callback snd_mixer_set_callback_orig
+#define snd_mixer_get_callback_private snd_mixer_get_callback_private_orig
+#define snd_mixer_set_callback_private snd_mixer_set_callback_private_orig
+#define snd_mixer_get_count snd_mixer_get_count_orig
+#define snd_mixer_class_unregister snd_mixer_class_unregister_orig
+#define snd_mixer_elem_next snd_mixer_elem_next_orig
+#define snd_mixer_elem_prev snd_mixer_elem_prev_orig
+#define snd_mixer_elem_set_callback snd_mixer_elem_set_callback_orig
+#define snd_mixer_elem_get_callback_private snd_mixer_elem_get_callback_private_orig
+#define snd_mixer_elem_set_callback_private snd_mixer_elem_set_callback_private_orig
+#define snd_mixer_elem_get_type snd_mixer_elem_get_type_orig
+#define snd_mixer_class_register snd_mixer_class_register_orig
+#define snd_mixer_elem_new snd_mixer_elem_new_orig
+#define snd_mixer_elem_add snd_mixer_elem_add_orig
+#define snd_mixer_elem_remove snd_mixer_elem_remove_orig
+#define snd_mixer_elem_free snd_mixer_elem_free_orig
+#define snd_mixer_elem_info snd_mixer_elem_info_orig
+#define snd_mixer_elem_value snd_mixer_elem_value_orig
+#define snd_mixer_elem_attach snd_mixer_elem_attach_orig
+#define snd_mixer_elem_detach snd_mixer_elem_detach_orig
+#define snd_mixer_elem_empty snd_mixer_elem_empty_orig
+#define snd_mixer_elem_get_private snd_mixer_elem_get_private_orig
+#define snd_mixer_class_sizeof snd_mixer_class_sizeof_orig
+#define snd_mixer_class_malloc snd_mixer_class_malloc_orig
+#define snd_mixer_class_free snd_mixer_class_free_orig
+#define snd_mixer_class_copy snd_mixer_class_copy_orig
+#define snd_mixer_class_get_mixer snd_mixer_class_get_mixer_orig
+#define snd_mixer_class_get_event snd_mixer_class_get_event_orig
+#define snd_mixer_class_get_private snd_mixer_class_get_private_orig
+#define snd_mixer_class_get_compare snd_mixer_class_get_compare_orig
+#define snd_mixer_class_set_event snd_mixer_class_set_event_orig
+#define snd_mixer_class_set_private snd_mixer_class_set_private_orig
+#define snd_mixer_class_set_private_free snd_mixer_class_set_private_free_orig
+#define snd_mixer_class_set_compare snd_mixer_class_set_compare_orig
+#define snd_mixer_selem_channel_name snd_mixer_selem_channel_name_orig
+#define snd_mixer_selem_register snd_mixer_selem_register_orig
+#define snd_mixer_selem_get_id snd_mixer_selem_get_id_orig
+#define snd_mixer_selem_get_name snd_mixer_selem_get_name_orig
+#define snd_mixer_selem_get_index snd_mixer_selem_get_index_orig
+#define snd_mixer_find_selem snd_mixer_find_selem_orig
+#define snd_mixer_selem_is_active snd_mixer_selem_is_active_orig
+#define snd_mixer_selem_is_playback_mono snd_mixer_selem_is_playback_mono_orig
+#define snd_mixer_selem_has_playback_channel snd_mixer_selem_has_playback_channel_orig
+#define snd_mixer_selem_is_capture_mono snd_mixer_selem_is_capture_mono_orig
+#define snd_mixer_selem_has_capture_channel snd_mixer_selem_has_capture_channel_orig
+#define snd_mixer_selem_get_capture_group snd_mixer_selem_get_capture_group_orig
+#define snd_mixer_selem_has_common_volume snd_mixer_selem_has_common_volume_orig
+#define snd_mixer_selem_has_playback_volume snd_mixer_selem_has_playback_volume_orig
+#define snd_mixer_selem_has_playback_volume_joined snd_mixer_selem_has_playback_volume_joined_orig
+#define snd_mixer_selem_has_capture_volume snd_mixer_selem_has_capture_volume_orig
+#define snd_mixer_selem_has_capture_volume_joined snd_mixer_selem_has_capture_volume_joined_orig
+#define snd_mixer_selem_has_common_switch snd_mixer_selem_has_common_switch_orig
+#define snd_mixer_selem_has_playback_switch snd_mixer_selem_has_playback_switch_orig
+#define snd_mixer_selem_has_playback_switch_joined snd_mixer_selem_has_playback_switch_joined_orig
+#define snd_mixer_selem_has_capture_switch snd_mixer_selem_has_capture_switch_orig
+#define snd_mixer_selem_has_capture_switch_joined snd_mixer_selem_has_capture_switch_joined_orig
+#define snd_mixer_selem_has_capture_switch_exclusive snd_mixer_selem_has_capture_switch_exclusive_orig
+#define snd_mixer_selem_ask_playback_vol_dB snd_mixer_selem_ask_playback_vol_dB_orig
+#define snd_mixer_selem_ask_capture_vol_dB snd_mixer_selem_ask_capture_vol_dB_orig
+#define snd_mixer_selem_ask_playback_dB_vol snd_mixer_selem_ask_playback_dB_vol_orig
+#define snd_mixer_selem_ask_capture_dB_vol snd_mixer_selem_ask_capture_dB_vol_orig
+#define snd_mixer_selem_get_playback_volume snd_mixer_selem_get_playback_volume_orig
+#define snd_mixer_selem_get_capture_volume snd_mixer_selem_get_capture_volume_orig
+#define snd_mixer_selem_get_playback_dB snd_mixer_selem_get_playback_dB_orig
+#define snd_mixer_selem_get_capture_dB snd_mixer_selem_get_capture_dB_orig
+#define snd_mixer_selem_get_playback_switch snd_mixer_selem_get_playback_switch_orig
+#define snd_mixer_selem_get_capture_switch snd_mixer_selem_get_capture_switch_orig
+#define snd_mixer_selem_set_playback_volume snd_mixer_selem_set_playback_volume_orig
+#define snd_mixer_selem_set_capture_volume snd_mixer_selem_set_capture_volume_orig
+#define snd_mixer_selem_set_playback_dB snd_mixer_selem_set_playback_dB_orig
+#define snd_mixer_selem_set_capture_dB snd_mixer_selem_set_capture_dB_orig
+#define snd_mixer_selem_set_playback_volume_all snd_mixer_selem_set_playback_volume_all_orig
+#define snd_mixer_selem_set_capture_volume_all snd_mixer_selem_set_capture_volume_all_orig
+#define snd_mixer_selem_set_playback_dB_all snd_mixer_selem_set_playback_dB_all_orig
+#define snd_mixer_selem_set_capture_dB_all snd_mixer_selem_set_capture_dB_all_orig
+#define snd_mixer_selem_set_playback_switch snd_mixer_selem_set_playback_switch_orig
+#define snd_mixer_selem_set_capture_switch snd_mixer_selem_set_capture_switch_orig
+#define snd_mixer_selem_set_playback_switch_all snd_mixer_selem_set_playback_switch_all_orig
+#define snd_mixer_selem_set_capture_switch_all snd_mixer_selem_set_capture_switch_all_orig
+#define snd_mixer_selem_get_playback_volume_range snd_mixer_selem_get_playback_volume_range_orig
+#define snd_mixer_selem_get_playback_dB_range snd_mixer_selem_get_playback_dB_range_orig
+#define snd_mixer_selem_set_playback_volume_range snd_mixer_selem_set_playback_volume_range_orig
+#define snd_mixer_selem_get_capture_volume_range snd_mixer_selem_get_capture_volume_range_orig
+#define snd_mixer_selem_get_capture_dB_range snd_mixer_selem_get_capture_dB_range_orig
+#define snd_mixer_selem_set_capture_volume_range snd_mixer_selem_set_capture_volume_range_orig
+#define snd_mixer_selem_is_enumerated snd_mixer_selem_is_enumerated_orig
+#define snd_mixer_selem_is_enum_playback snd_mixer_selem_is_enum_playback_orig
+#define snd_mixer_selem_is_enum_capture snd_mixer_selem_is_enum_capture_orig
+#define snd_mixer_selem_get_enum_items snd_mixer_selem_get_enum_items_orig
+#define snd_mixer_selem_get_enum_item_name snd_mixer_selem_get_enum_item_name_orig
+#define snd_mixer_selem_get_enum_item snd_mixer_selem_get_enum_item_orig
+#define snd_mixer_selem_set_enum_item snd_mixer_selem_set_enum_item_orig
+#define snd_mixer_selem_id_sizeof snd_mixer_selem_id_sizeof_orig
+#define snd_mixer_selem_id_malloc snd_mixer_selem_id_malloc_orig
+#define snd_mixer_selem_id_free snd_mixer_selem_id_free_orig
+#define snd_mixer_selem_id_copy snd_mixer_selem_id_copy_orig
+#define snd_mixer_selem_id_get_name snd_mixer_selem_id_get_name_orig
+#define snd_mixer_selem_id_get_index snd_mixer_selem_id_get_index_orig
+#define snd_mixer_selem_id_set_name snd_mixer_selem_id_set_name_orig
+#define snd_mixer_selem_id_set_index snd_mixer_selem_id_set_index_orig
+#define snd_mixer_selem_id_parse snd_mixer_selem_id_parse_orig
+#define snd_seq_open snd_seq_open_orig
+#define snd_seq_open_lconf snd_seq_open_lconf_orig
+#define snd_seq_name snd_seq_name_orig
+#define snd_seq_type snd_seq_type_orig
+#define snd_seq_close snd_seq_close_orig
+#define snd_seq_poll_descriptors_count snd_seq_poll_descriptors_count_orig
+#define snd_seq_poll_descriptors snd_seq_poll_descriptors_orig
+#define snd_seq_poll_descriptors_revents snd_seq_poll_descriptors_revents_orig
+#define snd_seq_nonblock snd_seq_nonblock_orig
+#define snd_seq_client_id snd_seq_client_id_orig
+#define snd_seq_get_output_buffer_size snd_seq_get_output_buffer_size_orig
+#define snd_seq_get_input_buffer_size snd_seq_get_input_buffer_size_orig
+#define snd_seq_set_output_buffer_size snd_seq_set_output_buffer_size_orig
+#define snd_seq_set_input_buffer_size snd_seq_set_input_buffer_size_orig
+#define snd_seq_system_info_sizeof snd_seq_system_info_sizeof_orig
+#define snd_seq_system_info_malloc snd_seq_system_info_malloc_orig
+#define snd_seq_system_info_free snd_seq_system_info_free_orig
+#define snd_seq_system_info_copy snd_seq_system_info_copy_orig
+#define snd_seq_system_info_get_queues snd_seq_system_info_get_queues_orig
+#define snd_seq_system_info_get_clients snd_seq_system_info_get_clients_orig
+#define snd_seq_system_info_get_ports snd_seq_system_info_get_ports_orig
+#define snd_seq_system_info_get_channels snd_seq_system_info_get_channels_orig
+#define snd_seq_system_info_get_cur_clients snd_seq_system_info_get_cur_clients_orig
+#define snd_seq_system_info_get_cur_queues snd_seq_system_info_get_cur_queues_orig
+#define snd_seq_system_info snd_seq_system_info_orig
+#define snd_seq_client_info_sizeof snd_seq_client_info_sizeof_orig
+#define snd_seq_client_info_malloc snd_seq_client_info_malloc_orig
+#define snd_seq_client_info_free snd_seq_client_info_free_orig
+#define snd_seq_client_info_copy snd_seq_client_info_copy_orig
+#define snd_seq_client_info_get_client snd_seq_client_info_get_client_orig
+#define snd_seq_client_info_get_type snd_seq_client_info_get_type_orig
+#define snd_seq_client_info_get_name snd_seq_client_info_get_name_orig
+#define snd_seq_client_info_get_broadcast_filter snd_seq_client_info_get_broadcast_filter_orig
+#define snd_seq_client_info_get_error_bounce snd_seq_client_info_get_error_bounce_orig
+#define snd_seq_client_info_get_card snd_seq_client_info_get_card_orig
+#define snd_seq_client_info_get_pid snd_seq_client_info_get_pid_orig
+#define snd_seq_client_info_get_event_filter snd_seq_client_info_get_event_filter_orig
+#define snd_seq_client_info_get_num_ports snd_seq_client_info_get_num_ports_orig
+#define snd_seq_client_info_get_event_lost snd_seq_client_info_get_event_lost_orig
+#define snd_seq_client_info_set_client snd_seq_client_info_set_client_orig
+#define snd_seq_client_info_set_name snd_seq_client_info_set_name_orig
+#define snd_seq_client_info_set_broadcast_filter snd_seq_client_info_set_broadcast_filter_orig
+#define snd_seq_client_info_set_error_bounce snd_seq_client_info_set_error_bounce_orig
+#define snd_seq_client_info_set_event_filter snd_seq_client_info_set_event_filter_orig
+#define snd_seq_client_info_event_filter_clear snd_seq_client_info_event_filter_clear_orig
+#define snd_seq_client_info_event_filter_add snd_seq_client_info_event_filter_add_orig
+#define snd_seq_client_info_event_filter_del snd_seq_client_info_event_filter_del_orig
+#define snd_seq_client_info_event_filter_check snd_seq_client_info_event_filter_check_orig
+#define snd_seq_get_client_info snd_seq_get_client_info_orig
+#define snd_seq_get_any_client_info snd_seq_get_any_client_info_orig
+#define snd_seq_set_client_info snd_seq_set_client_info_orig
+#define snd_seq_query_next_client snd_seq_query_next_client_orig
+#define snd_seq_client_pool_sizeof snd_seq_client_pool_sizeof_orig
+#define snd_seq_client_pool_malloc snd_seq_client_pool_malloc_orig
+#define snd_seq_client_pool_free snd_seq_client_pool_free_orig
+#define snd_seq_client_pool_copy snd_seq_client_pool_copy_orig
+#define snd_seq_client_pool_get_client snd_seq_client_pool_get_client_orig
+#define snd_seq_client_pool_get_output_pool snd_seq_client_pool_get_output_pool_orig
+#define snd_seq_client_pool_get_input_pool snd_seq_client_pool_get_input_pool_orig
+#define snd_seq_client_pool_get_output_room snd_seq_client_pool_get_output_room_orig
+#define snd_seq_client_pool_get_output_free snd_seq_client_pool_get_output_free_orig
+#define snd_seq_client_pool_get_input_free snd_seq_client_pool_get_input_free_orig
+#define snd_seq_client_pool_set_output_pool snd_seq_client_pool_set_output_pool_orig
+#define snd_seq_client_pool_set_input_pool snd_seq_client_pool_set_input_pool_orig
+#define snd_seq_client_pool_set_output_room snd_seq_client_pool_set_output_room_orig
+#define snd_seq_get_client_pool snd_seq_get_client_pool_orig
+#define snd_seq_set_client_pool snd_seq_set_client_pool_orig
+#define snd_seq_port_info_sizeof snd_seq_port_info_sizeof_orig
+#define snd_seq_port_info_malloc snd_seq_port_info_malloc_orig
+#define snd_seq_port_info_free snd_seq_port_info_free_orig
+#define snd_seq_port_info_copy snd_seq_port_info_copy_orig
+#define snd_seq_port_info_get_client snd_seq_port_info_get_client_orig
+#define snd_seq_port_info_get_port snd_seq_port_info_get_port_orig
+#define snd_seq_port_info_get_addr snd_seq_port_info_get_addr_orig
+#define snd_seq_port_info_get_name snd_seq_port_info_get_name_orig
+#define snd_seq_port_info_get_capability snd_seq_port_info_get_capability_orig
+#define snd_seq_port_info_get_type snd_seq_port_info_get_type_orig
+#define snd_seq_port_info_get_midi_channels snd_seq_port_info_get_midi_channels_orig
+#define snd_seq_port_info_get_midi_voices snd_seq_port_info_get_midi_voices_orig
+#define snd_seq_port_info_get_synth_voices snd_seq_port_info_get_synth_voices_orig
+#define snd_seq_port_info_get_read_use snd_seq_port_info_get_read_use_orig
+#define snd_seq_port_info_get_write_use snd_seq_port_info_get_write_use_orig
+#define snd_seq_port_info_get_port_specified snd_seq_port_info_get_port_specified_orig
+#define snd_seq_port_info_get_timestamping snd_seq_port_info_get_timestamping_orig
+#define snd_seq_port_info_get_timestamp_real snd_seq_port_info_get_timestamp_real_orig
+#define snd_seq_port_info_get_timestamp_queue snd_seq_port_info_get_timestamp_queue_orig
+#define snd_seq_port_info_set_client snd_seq_port_info_set_client_orig
+#define snd_seq_port_info_set_port snd_seq_port_info_set_port_orig
+#define snd_seq_port_info_set_addr snd_seq_port_info_set_addr_orig
+#define snd_seq_port_info_set_name snd_seq_port_info_set_name_orig
+#define snd_seq_port_info_set_capability snd_seq_port_info_set_capability_orig
+#define snd_seq_port_info_set_type snd_seq_port_info_set_type_orig
+#define snd_seq_port_info_set_midi_channels snd_seq_port_info_set_midi_channels_orig
+#define snd_seq_port_info_set_midi_voices snd_seq_port_info_set_midi_voices_orig
+#define snd_seq_port_info_set_synth_voices snd_seq_port_info_set_synth_voices_orig
+#define snd_seq_port_info_set_port_specified snd_seq_port_info_set_port_specified_orig
+#define snd_seq_port_info_set_timestamping snd_seq_port_info_set_timestamping_orig
+#define snd_seq_port_info_set_timestamp_real snd_seq_port_info_set_timestamp_real_orig
+#define snd_seq_port_info_set_timestamp_queue snd_seq_port_info_set_timestamp_queue_orig
+#define snd_seq_create_port snd_seq_create_port_orig
+#define snd_seq_delete_port snd_seq_delete_port_orig
+#define snd_seq_get_port_info snd_seq_get_port_info_orig
+#define snd_seq_get_any_port_info snd_seq_get_any_port_info_orig
+#define snd_seq_set_port_info snd_seq_set_port_info_orig
+#define snd_seq_query_next_port snd_seq_query_next_port_orig
+#define snd_seq_port_subscribe_sizeof snd_seq_port_subscribe_sizeof_orig
+#define snd_seq_port_subscribe_malloc snd_seq_port_subscribe_malloc_orig
+#define snd_seq_port_subscribe_free snd_seq_port_subscribe_free_orig
+#define snd_seq_port_subscribe_copy snd_seq_port_subscribe_copy_orig
+#define snd_seq_port_subscribe_get_sender snd_seq_port_subscribe_get_sender_orig
+#define snd_seq_port_subscribe_get_dest snd_seq_port_subscribe_get_dest_orig
+#define snd_seq_port_subscribe_get_queue snd_seq_port_subscribe_get_queue_orig
+#define snd_seq_port_subscribe_get_exclusive snd_seq_port_subscribe_get_exclusive_orig
+#define snd_seq_port_subscribe_get_time_update snd_seq_port_subscribe_get_time_update_orig
+#define snd_seq_port_subscribe_get_time_real snd_seq_port_subscribe_get_time_real_orig
+#define snd_seq_port_subscribe_set_sender snd_seq_port_subscribe_set_sender_orig
+#define snd_seq_port_subscribe_set_dest snd_seq_port_subscribe_set_dest_orig
+#define snd_seq_port_subscribe_set_queue snd_seq_port_subscribe_set_queue_orig
+#define snd_seq_port_subscribe_set_exclusive snd_seq_port_subscribe_set_exclusive_orig
+#define snd_seq_port_subscribe_set_time_update snd_seq_port_subscribe_set_time_update_orig
+#define snd_seq_port_subscribe_set_time_real snd_seq_port_subscribe_set_time_real_orig
+#define snd_seq_get_port_subscription snd_seq_get_port_subscription_orig
+#define snd_seq_subscribe_port snd_seq_subscribe_port_orig
+#define snd_seq_unsubscribe_port snd_seq_unsubscribe_port_orig
+#define snd_seq_query_subscribe_sizeof snd_seq_query_subscribe_sizeof_orig
+#define snd_seq_query_subscribe_malloc snd_seq_query_subscribe_malloc_orig
+#define snd_seq_query_subscribe_free snd_seq_query_subscribe_free_orig
+#define snd_seq_query_subscribe_copy snd_seq_query_subscribe_copy_orig
+#define snd_seq_query_subscribe_get_client snd_seq_query_subscribe_get_client_orig
+#define snd_seq_query_subscribe_get_port snd_seq_query_subscribe_get_port_orig
+#define snd_seq_query_subscribe_get_root snd_seq_query_subscribe_get_root_orig
+#define snd_seq_query_subscribe_get_type snd_seq_query_subscribe_get_type_orig
+#define snd_seq_query_subscribe_get_index snd_seq_query_subscribe_get_index_orig
+#define snd_seq_query_subscribe_get_num_subs snd_seq_query_subscribe_get_num_subs_orig
+#define snd_seq_query_subscribe_get_addr snd_seq_query_subscribe_get_addr_orig
+#define snd_seq_query_subscribe_get_queue snd_seq_query_subscribe_get_queue_orig
+#define snd_seq_query_subscribe_get_exclusive snd_seq_query_subscribe_get_exclusive_orig
+#define snd_seq_query_subscribe_get_time_update snd_seq_query_subscribe_get_time_update_orig
+#define snd_seq_query_subscribe_get_time_real snd_seq_query_subscribe_get_time_real_orig
+#define snd_seq_query_subscribe_set_client snd_seq_query_subscribe_set_client_orig
+#define snd_seq_query_subscribe_set_port snd_seq_query_subscribe_set_port_orig
+#define snd_seq_query_subscribe_set_root snd_seq_query_subscribe_set_root_orig
+#define snd_seq_query_subscribe_set_type snd_seq_query_subscribe_set_type_orig
+#define snd_seq_query_subscribe_set_index snd_seq_query_subscribe_set_index_orig
+#define snd_seq_query_port_subscribers snd_seq_query_port_subscribers_orig
+#define snd_seq_queue_info_sizeof snd_seq_queue_info_sizeof_orig
+#define snd_seq_queue_info_malloc snd_seq_queue_info_malloc_orig
+#define snd_seq_queue_info_free snd_seq_queue_info_free_orig
+#define snd_seq_queue_info_copy snd_seq_queue_info_copy_orig
+#define snd_seq_queue_info_get_queue snd_seq_queue_info_get_queue_orig
+#define snd_seq_queue_info_get_name snd_seq_queue_info_get_name_orig
+#define snd_seq_queue_info_get_owner snd_seq_queue_info_get_owner_orig
+#define snd_seq_queue_info_get_locked snd_seq_queue_info_get_locked_orig
+#define snd_seq_queue_info_get_flags snd_seq_queue_info_get_flags_orig
+#define snd_seq_queue_info_set_name snd_seq_queue_info_set_name_orig
+#define snd_seq_queue_info_set_owner snd_seq_queue_info_set_owner_orig
+#define snd_seq_queue_info_set_locked snd_seq_queue_info_set_locked_orig
+#define snd_seq_queue_info_set_flags snd_seq_queue_info_set_flags_orig
+#define snd_seq_create_queue snd_seq_create_queue_orig
+#define snd_seq_alloc_named_queue snd_seq_alloc_named_queue_orig
+#define snd_seq_alloc_queue snd_seq_alloc_queue_orig
+#define snd_seq_free_queue snd_seq_free_queue_orig
+#define snd_seq_get_queue_info snd_seq_get_queue_info_orig
+#define snd_seq_set_queue_info snd_seq_set_queue_info_orig
+#define snd_seq_query_named_queue snd_seq_query_named_queue_orig
+#define snd_seq_get_queue_usage snd_seq_get_queue_usage_orig
+#define snd_seq_set_queue_usage snd_seq_set_queue_usage_orig
+#define snd_seq_queue_status_sizeof snd_seq_queue_status_sizeof_orig
+#define snd_seq_queue_status_malloc snd_seq_queue_status_malloc_orig
+#define snd_seq_queue_status_free snd_seq_queue_status_free_orig
+#define snd_seq_queue_status_copy snd_seq_queue_status_copy_orig
+#define snd_seq_queue_status_get_queue snd_seq_queue_status_get_queue_orig
+#define snd_seq_queue_status_get_events snd_seq_queue_status_get_events_orig
+#define snd_seq_queue_status_get_tick_time snd_seq_queue_status_get_tick_time_orig
+#define snd_seq_queue_status_get_real_time snd_seq_queue_status_get_real_time_orig
+#define snd_seq_queue_status_get_status snd_seq_queue_status_get_status_orig
+#define snd_seq_get_queue_status snd_seq_get_queue_status_orig
+#define snd_seq_queue_tempo_sizeof snd_seq_queue_tempo_sizeof_orig
+#define snd_seq_queue_tempo_malloc snd_seq_queue_tempo_malloc_orig
+#define snd_seq_queue_tempo_free snd_seq_queue_tempo_free_orig
+#define snd_seq_queue_tempo_copy snd_seq_queue_tempo_copy_orig
+#define snd_seq_queue_tempo_get_queue snd_seq_queue_tempo_get_queue_orig
+#define snd_seq_queue_tempo_get_tempo snd_seq_queue_tempo_get_tempo_orig
+#define snd_seq_queue_tempo_get_ppq snd_seq_queue_tempo_get_ppq_orig
+#define snd_seq_queue_tempo_get_skew snd_seq_queue_tempo_get_skew_orig
+#define snd_seq_queue_tempo_get_skew_base snd_seq_queue_tempo_get_skew_base_orig
+#define snd_seq_queue_tempo_set_tempo snd_seq_queue_tempo_set_tempo_orig
+#define snd_seq_queue_tempo_set_ppq snd_seq_queue_tempo_set_ppq_orig
+#define snd_seq_queue_tempo_set_skew snd_seq_queue_tempo_set_skew_orig
+#define snd_seq_queue_tempo_set_skew_base snd_seq_queue_tempo_set_skew_base_orig
+#define snd_seq_get_queue_tempo snd_seq_get_queue_tempo_orig
+#define snd_seq_set_queue_tempo snd_seq_set_queue_tempo_orig
+#define snd_seq_queue_timer_sizeof snd_seq_queue_timer_sizeof_orig
+#define snd_seq_queue_timer_malloc snd_seq_queue_timer_malloc_orig
+#define snd_seq_queue_timer_free snd_seq_queue_timer_free_orig
+#define snd_seq_queue_timer_copy snd_seq_queue_timer_copy_orig
+#define snd_seq_queue_timer_get_queue snd_seq_queue_timer_get_queue_orig
+#define snd_seq_queue_timer_get_type snd_seq_queue_timer_get_type_orig
+#define snd_seq_queue_timer_get_id snd_seq_queue_timer_get_id_orig
+#define snd_seq_queue_timer_get_resolution snd_seq_queue_timer_get_resolution_orig
+#define snd_seq_queue_timer_set_type snd_seq_queue_timer_set_type_orig
+#define snd_seq_queue_timer_set_id snd_seq_queue_timer_set_id_orig
+#define snd_seq_queue_timer_set_resolution snd_seq_queue_timer_set_resolution_orig
+#define snd_seq_get_queue_timer snd_seq_get_queue_timer_orig
+#define snd_seq_set_queue_timer snd_seq_set_queue_timer_orig
+#define snd_seq_free_event snd_seq_free_event_orig
+#define snd_seq_event_length snd_seq_event_length_orig
+#define snd_seq_event_output snd_seq_event_output_orig
+#define snd_seq_event_output_buffer snd_seq_event_output_buffer_orig
+#define snd_seq_event_output_direct snd_seq_event_output_direct_orig
+#define snd_seq_event_input snd_seq_event_input_orig
+#define snd_seq_event_input_pending snd_seq_event_input_pending_orig
+#define snd_seq_drain_output snd_seq_drain_output_orig
+#define snd_seq_event_output_pending snd_seq_event_output_pending_orig
+#define snd_seq_extract_output snd_seq_extract_output_orig
+#define snd_seq_drop_output snd_seq_drop_output_orig
+#define snd_seq_drop_output_buffer snd_seq_drop_output_buffer_orig
+#define snd_seq_drop_input snd_seq_drop_input_orig
+#define snd_seq_drop_input_buffer snd_seq_drop_input_buffer_orig
+#define snd_seq_remove_events_sizeof snd_seq_remove_events_sizeof_orig
+#define snd_seq_remove_events_malloc snd_seq_remove_events_malloc_orig
+#define snd_seq_remove_events_free snd_seq_remove_events_free_orig
+#define snd_seq_remove_events_copy snd_seq_remove_events_copy_orig
+#define snd_seq_remove_events_get_condition snd_seq_remove_events_get_condition_orig
+#define snd_seq_remove_events_get_queue snd_seq_remove_events_get_queue_orig
+#define snd_seq_remove_events_get_time snd_seq_remove_events_get_time_orig
+#define snd_seq_remove_events_get_dest snd_seq_remove_events_get_dest_orig
+#define snd_seq_remove_events_get_channel snd_seq_remove_events_get_channel_orig
+#define snd_seq_remove_events_get_event_type snd_seq_remove_events_get_event_type_orig
+#define snd_seq_remove_events_get_tag snd_seq_remove_events_get_tag_orig
+#define snd_seq_remove_events_set_condition snd_seq_remove_events_set_condition_orig
+#define snd_seq_remove_events_set_queue snd_seq_remove_events_set_queue_orig
+#define snd_seq_remove_events_set_time snd_seq_remove_events_set_time_orig
+#define snd_seq_remove_events_set_dest snd_seq_remove_events_set_dest_orig
+#define snd_seq_remove_events_set_channel snd_seq_remove_events_set_channel_orig
+#define snd_seq_remove_events_set_event_type snd_seq_remove_events_set_event_type_orig
+#define snd_seq_remove_events_set_tag snd_seq_remove_events_set_tag_orig
+#define snd_seq_remove_events snd_seq_remove_events_orig
+#define snd_seq_set_bit snd_seq_set_bit_orig
+#define snd_seq_unset_bit snd_seq_unset_bit_orig
+#define snd_seq_change_bit snd_seq_change_bit_orig
+#define snd_seq_get_bit snd_seq_get_bit_orig
+#define snd_seq_control_queue snd_seq_control_queue_orig
+#define snd_seq_create_simple_port snd_seq_create_simple_port_orig
+#define snd_seq_delete_simple_port snd_seq_delete_simple_port_orig
+#define snd_seq_connect_from snd_seq_connect_from_orig
+#define snd_seq_connect_to snd_seq_connect_to_orig
+#define snd_seq_disconnect_from snd_seq_disconnect_from_orig
+#define snd_seq_disconnect_to snd_seq_disconnect_to_orig
+#define snd_seq_set_client_name snd_seq_set_client_name_orig
+#define snd_seq_set_client_event_filter snd_seq_set_client_event_filter_orig
+#define snd_seq_set_client_pool_output snd_seq_set_client_pool_output_orig
+#define snd_seq_set_client_pool_output_room snd_seq_set_client_pool_output_room_orig
+#define snd_seq_set_client_pool_input snd_seq_set_client_pool_input_orig
+#define snd_seq_sync_output_queue snd_seq_sync_output_queue_orig
+#define snd_seq_parse_address snd_seq_parse_address_orig
+#define snd_seq_reset_pool_output snd_seq_reset_pool_output_orig
+#define snd_seq_reset_pool_input snd_seq_reset_pool_input_orig
+#define snd_midi_event_new snd_midi_event_new_orig
+#define snd_midi_event_resize_buffer snd_midi_event_resize_buffer_orig
+#define snd_midi_event_free snd_midi_event_free_orig
+#define snd_midi_event_init snd_midi_event_init_orig
+#define snd_midi_event_reset_encode snd_midi_event_reset_encode_orig
+#define snd_midi_event_reset_decode snd_midi_event_reset_decode_orig
+#define snd_midi_event_no_status snd_midi_event_no_status_orig
+#define snd_midi_event_encode snd_midi_event_encode_orig
+#define snd_midi_event_encode_byte snd_midi_event_encode_byte_orig
+#define snd_midi_event_decode snd_midi_event_decode_orig
+#include <alsa/asoundlib.h>
+#undef snd_asoundlib_version
+#undef snd_dlpath
+#undef snd_dlopen
+#undef snd_dlsym
+#undef snd_dlclose
+#undef snd_async_add_handler
+#undef snd_async_del_handler
+#undef snd_async_handler_get_fd
+#undef snd_async_handler_get_signo
+#undef snd_async_handler_get_callback_private
+#undef snd_shm_area_create
+#undef snd_shm_area_share
+#undef snd_shm_area_destroy
+#undef snd_user_file
+#undef snd_input_stdio_open
+#undef snd_input_stdio_attach
+#undef snd_input_buffer_open
+#undef snd_input_close
+#undef snd_input_scanf
+#undef snd_input_gets
+#undef snd_input_getc
+#undef snd_input_ungetc
+#undef snd_output_stdio_open
+#undef snd_output_stdio_attach
+#undef snd_output_buffer_open
+#undef snd_output_buffer_string
+#undef snd_output_close
+#undef snd_output_printf
+#undef snd_output_vprintf
+#undef snd_output_puts
+#undef snd_output_putc
+#undef snd_output_flush
+#undef snd_strerror
+#undef snd_lib_error_set_handler
+#undef snd_lib_error_set_local
+#undef snd_config_topdir
+#undef snd_config_top
+#undef snd_config_load
+#undef snd_config_load_override
+#undef snd_config_save
+#undef snd_config_update
+#undef snd_config_update_r
+#undef snd_config_update_free
+#undef snd_config_update_free_global
+#undef snd_config_update_ref
+#undef snd_config_ref
+#undef snd_config_unref
+#undef snd_config_search
+#undef snd_config_searchv
+#undef snd_config_search_definition
+#undef snd_config_expand
+#undef snd_config_evaluate
+#undef snd_config_add
+#undef snd_config_add_before
+#undef snd_config_add_after
+#undef snd_config_remove
+#undef snd_config_delete
+#undef snd_config_delete_compound_members
+#undef snd_config_copy
+#undef snd_config_make
+#undef snd_config_make_integer
+#undef snd_config_make_integer64
+#undef snd_config_make_real
+#undef snd_config_make_string
+#undef snd_config_make_pointer
+#undef snd_config_make_compound
+#undef snd_config_imake_integer
+#undef snd_config_imake_integer64
+#undef snd_config_imake_real
+#undef snd_config_imake_string
+#undef snd_config_imake_safe_string
+#undef snd_config_imake_pointer
+#undef snd_config_get_type
+#undef snd_config_is_array
+#undef snd_config_set_id
+#undef snd_config_set_integer
+#undef snd_config_set_integer64
+#undef snd_config_set_real
+#undef snd_config_set_string
+#undef snd_config_set_ascii
+#undef snd_config_set_pointer
+#undef snd_config_get_id
+#undef snd_config_get_integer
+#undef snd_config_get_integer64
+#undef snd_config_get_real
+#undef snd_config_get_ireal
+#undef snd_config_get_string
+#undef snd_config_get_ascii
+#undef snd_config_get_pointer
+#undef snd_config_test_id
+#undef snd_config_iterator_first
+#undef snd_config_iterator_next
+#undef snd_config_iterator_end
+#undef snd_config_iterator_entry
+#undef snd_config_get_bool_ascii
+#undef snd_config_get_bool
+#undef snd_config_get_ctl_iface_ascii
+#undef snd_config_get_ctl_iface
+#undef snd_names_list
+#undef snd_names_list_free
+#undef snd_pcm_open
+#undef snd_pcm_open_lconf
+#undef snd_pcm_open_fallback
+#undef snd_pcm_close
+#undef snd_pcm_name
+#undef snd_pcm_type
+#undef snd_pcm_stream
+#undef snd_pcm_poll_descriptors_count
+#undef snd_pcm_poll_descriptors
+#undef snd_pcm_poll_descriptors_revents
+#undef snd_pcm_nonblock
+#undef snd_async_add_pcm_handler
+#undef snd_async_handler_get_pcm
+#undef snd_pcm_info
+#undef snd_pcm_hw_params_current
+#undef snd_pcm_hw_params
+#undef snd_pcm_hw_free
+#undef snd_pcm_sw_params_current
+#undef snd_pcm_sw_params
+#undef snd_pcm_prepare
+#undef snd_pcm_reset
+#undef snd_pcm_status
+#undef snd_pcm_start
+#undef snd_pcm_drop
+#undef snd_pcm_drain
+#undef snd_pcm_pause
+#undef snd_pcm_state
+#undef snd_pcm_hwsync
+#undef snd_pcm_delay
+#undef snd_pcm_resume
+#undef snd_pcm_htimestamp
+#undef snd_pcm_avail
+#undef snd_pcm_avail_update
+#undef snd_pcm_avail_delay
+#undef snd_pcm_rewindable
+#undef snd_pcm_rewind
+#undef snd_pcm_forwardable
+#undef snd_pcm_forward
+#undef snd_pcm_writei
+#undef snd_pcm_readi
+#undef snd_pcm_writen
+#undef snd_pcm_readn
+#undef snd_pcm_wait
+#undef snd_pcm_link
+#undef snd_pcm_unlink
+#undef snd_pcm_query_chmaps
+#undef snd_pcm_query_chmaps_from_hw
+#undef snd_pcm_free_chmaps
+#undef snd_pcm_get_chmap
+#undef snd_pcm_set_chmap
+#undef snd_pcm_chmap_type_name
+#undef snd_pcm_chmap_name
+#undef snd_pcm_chmap_long_name
+#undef snd_pcm_chmap_print
+#undef snd_pcm_chmap_from_string
+#undef snd_pcm_chmap_parse_string
+#undef snd_pcm_recover
+#undef snd_pcm_set_params
+#undef snd_pcm_get_params
+#undef snd_pcm_info_sizeof
+#undef snd_pcm_info_malloc
+#undef snd_pcm_info_free
+#undef snd_pcm_info_copy
+#undef snd_pcm_info_get_device
+#undef snd_pcm_info_get_subdevice
+#undef snd_pcm_info_get_stream
+#undef snd_pcm_info_get_card
+#undef snd_pcm_info_get_id
+#undef snd_pcm_info_get_name
+#undef snd_pcm_info_get_subdevice_name
+#undef snd_pcm_info_get_class
+#undef snd_pcm_info_get_subclass
+#undef snd_pcm_info_get_subdevices_count
+#undef snd_pcm_info_get_subdevices_avail
+#undef snd_pcm_info_get_sync
+#undef snd_pcm_info_set_device
+#undef snd_pcm_info_set_subdevice
+#undef snd_pcm_info_set_stream
+#undef snd_pcm_hw_params_any
+#undef snd_pcm_hw_params_can_mmap_sample_resolution
+#undef snd_pcm_hw_params_is_double
+#undef snd_pcm_hw_params_is_batch
+#undef snd_pcm_hw_params_is_block_transfer
+#undef snd_pcm_hw_params_is_monotonic
+#undef snd_pcm_hw_params_can_overrange
+#undef snd_pcm_hw_params_can_pause
+#undef snd_pcm_hw_params_can_resume
+#undef snd_pcm_hw_params_is_half_duplex
+#undef snd_pcm_hw_params_is_joint_duplex
+#undef snd_pcm_hw_params_can_sync_start
+#undef snd_pcm_hw_params_can_disable_period_wakeup
+#undef snd_pcm_hw_params_supports_audio_wallclock_ts
+#undef snd_pcm_hw_params_supports_audio_ts_type
+#undef snd_pcm_hw_params_get_rate_numden
+#undef snd_pcm_hw_params_get_sbits
+#undef snd_pcm_hw_params_get_fifo_size
+#undef snd_pcm_hw_params_sizeof
+#undef snd_pcm_hw_params_malloc
+#undef snd_pcm_hw_params_free
+#undef snd_pcm_hw_params_copy
+#undef snd_pcm_hw_params_get_access
+#undef snd_pcm_hw_params_test_access
+#undef snd_pcm_hw_params_set_access
+#undef snd_pcm_hw_params_set_access_first
+#undef snd_pcm_hw_params_set_access_last
+#undef snd_pcm_hw_params_set_access_mask
+#undef snd_pcm_hw_params_get_access_mask
+#undef snd_pcm_hw_params_get_format
+#undef snd_pcm_hw_params_test_format
+#undef snd_pcm_hw_params_set_format
+#undef snd_pcm_hw_params_set_format_first
+#undef snd_pcm_hw_params_set_format_last
+#undef snd_pcm_hw_params_set_format_mask
+#undef snd_pcm_hw_params_get_format_mask
+#undef snd_pcm_hw_params_get_subformat
+#undef snd_pcm_hw_params_test_subformat
+#undef snd_pcm_hw_params_set_subformat
+#undef snd_pcm_hw_params_set_subformat_first
+#undef snd_pcm_hw_params_set_subformat_last
+#undef snd_pcm_hw_params_set_subformat_mask
+#undef snd_pcm_hw_params_get_subformat_mask
+#undef snd_pcm_hw_params_get_channels
+#undef snd_pcm_hw_params_get_channels_min
+#undef snd_pcm_hw_params_get_channels_max
+#undef snd_pcm_hw_params_test_channels
+#undef snd_pcm_hw_params_set_channels
+#undef snd_pcm_hw_params_set_channels_min
+#undef snd_pcm_hw_params_set_channels_max
+#undef snd_pcm_hw_params_set_channels_minmax
+#undef snd_pcm_hw_params_set_channels_near
+#undef snd_pcm_hw_params_set_channels_first
+#undef snd_pcm_hw_params_set_channels_last
+#undef snd_pcm_hw_params_get_rate
+#undef snd_pcm_hw_params_get_rate_min
+#undef snd_pcm_hw_params_get_rate_max
+#undef snd_pcm_hw_params_test_rate
+#undef snd_pcm_hw_params_set_rate
+#undef snd_pcm_hw_params_set_rate_min
+#undef snd_pcm_hw_params_set_rate_max
+#undef snd_pcm_hw_params_set_rate_minmax
+#undef snd_pcm_hw_params_set_rate_near
+#undef snd_pcm_hw_params_set_rate_first
+#undef snd_pcm_hw_params_set_rate_last
+#undef snd_pcm_hw_params_set_rate_resample
+#undef snd_pcm_hw_params_get_rate_resample
+#undef snd_pcm_hw_params_set_export_buffer
+#undef snd_pcm_hw_params_get_export_buffer
+#undef snd_pcm_hw_params_set_period_wakeup
+#undef snd_pcm_hw_params_get_period_wakeup
+#undef snd_pcm_hw_params_get_period_time
+#undef snd_pcm_hw_params_get_period_time_min
+#undef snd_pcm_hw_params_get_period_time_max
+#undef snd_pcm_hw_params_test_period_time
+#undef snd_pcm_hw_params_set_period_time
+#undef snd_pcm_hw_params_set_period_time_min
+#undef snd_pcm_hw_params_set_period_time_max
+#undef snd_pcm_hw_params_set_period_time_minmax
+#undef snd_pcm_hw_params_set_period_time_near
+#undef snd_pcm_hw_params_set_period_time_first
+#undef snd_pcm_hw_params_set_period_time_last
+#undef snd_pcm_hw_params_get_period_size
+#undef snd_pcm_hw_params_get_period_size_min
+#undef snd_pcm_hw_params_get_period_size_max
+#undef snd_pcm_hw_params_test_period_size
+#undef snd_pcm_hw_params_set_period_size
+#undef snd_pcm_hw_params_set_period_size_min
+#undef snd_pcm_hw_params_set_period_size_max
+#undef snd_pcm_hw_params_set_period_size_minmax
+#undef snd_pcm_hw_params_set_period_size_near
+#undef snd_pcm_hw_params_set_period_size_first
+#undef snd_pcm_hw_params_set_period_size_last
+#undef snd_pcm_hw_params_set_period_size_integer
+#undef snd_pcm_hw_params_get_periods
+#undef snd_pcm_hw_params_get_periods_min
+#undef snd_pcm_hw_params_get_periods_max
+#undef snd_pcm_hw_params_test_periods
+#undef snd_pcm_hw_params_set_periods
+#undef snd_pcm_hw_params_set_periods_min
+#undef snd_pcm_hw_params_set_periods_max
+#undef snd_pcm_hw_params_set_periods_minmax
+#undef snd_pcm_hw_params_set_periods_near
+#undef snd_pcm_hw_params_set_periods_first
+#undef snd_pcm_hw_params_set_periods_last
+#undef snd_pcm_hw_params_set_periods_integer
+#undef snd_pcm_hw_params_get_buffer_time
+#undef snd_pcm_hw_params_get_buffer_time_min
+#undef snd_pcm_hw_params_get_buffer_time_max
+#undef snd_pcm_hw_params_test_buffer_time
+#undef snd_pcm_hw_params_set_buffer_time
+#undef snd_pcm_hw_params_set_buffer_time_min
+#undef snd_pcm_hw_params_set_buffer_time_max
+#undef snd_pcm_hw_params_set_buffer_time_minmax
+#undef snd_pcm_hw_params_set_buffer_time_near
+#undef snd_pcm_hw_params_set_buffer_time_first
+#undef snd_pcm_hw_params_set_buffer_time_last
+#undef snd_pcm_hw_params_get_buffer_size
+#undef snd_pcm_hw_params_get_buffer_size_min
+#undef snd_pcm_hw_params_get_buffer_size_max
+#undef snd_pcm_hw_params_test_buffer_size
+#undef snd_pcm_hw_params_set_buffer_size
+#undef snd_pcm_hw_params_set_buffer_size_min
+#undef snd_pcm_hw_params_set_buffer_size_max
+#undef snd_pcm_hw_params_set_buffer_size_minmax
+#undef snd_pcm_hw_params_set_buffer_size_near
+#undef snd_pcm_hw_params_set_buffer_size_first
+#undef snd_pcm_hw_params_set_buffer_size_last
+#undef snd_pcm_hw_params_get_min_align
+#undef snd_pcm_sw_params_sizeof
+#undef snd_pcm_sw_params_malloc
+#undef snd_pcm_sw_params_free
+#undef snd_pcm_sw_params_copy
+#undef snd_pcm_sw_params_get_boundary
+#undef snd_pcm_sw_params_set_tstamp_mode
+#undef snd_pcm_sw_params_get_tstamp_mode
+#undef snd_pcm_sw_params_set_tstamp_type
+#undef snd_pcm_sw_params_get_tstamp_type
+#undef snd_pcm_sw_params_set_avail_min
+#undef snd_pcm_sw_params_get_avail_min
+#undef snd_pcm_sw_params_set_period_event
+#undef snd_pcm_sw_params_get_period_event
+#undef snd_pcm_sw_params_set_start_threshold
+#undef snd_pcm_sw_params_get_start_threshold
+#undef snd_pcm_sw_params_set_stop_threshold
+#undef snd_pcm_sw_params_get_stop_threshold
+#undef snd_pcm_sw_params_set_silence_threshold
+#undef snd_pcm_sw_params_get_silence_threshold
+#undef snd_pcm_sw_params_set_silence_size
+#undef snd_pcm_sw_params_get_silence_size
+#undef snd_pcm_access_mask_sizeof
+#undef snd_pcm_access_mask_malloc
+#undef snd_pcm_access_mask_free
+#undef snd_pcm_access_mask_copy
+#undef snd_pcm_access_mask_none
+#undef snd_pcm_access_mask_any
+#undef snd_pcm_access_mask_test
+#undef snd_pcm_access_mask_empty
+#undef snd_pcm_access_mask_set
+#undef snd_pcm_access_mask_reset
+#undef snd_pcm_format_mask_sizeof
+#undef snd_pcm_format_mask_malloc
+#undef snd_pcm_format_mask_free
+#undef snd_pcm_format_mask_copy
+#undef snd_pcm_format_mask_none
+#undef snd_pcm_format_mask_any
+#undef snd_pcm_format_mask_test
+#undef snd_pcm_format_mask_empty
+#undef snd_pcm_format_mask_set
+#undef snd_pcm_format_mask_reset
+#undef snd_pcm_subformat_mask_sizeof
+#undef snd_pcm_subformat_mask_malloc
+#undef snd_pcm_subformat_mask_free
+#undef snd_pcm_subformat_mask_copy
+#undef snd_pcm_subformat_mask_none
+#undef snd_pcm_subformat_mask_any
+#undef snd_pcm_subformat_mask_test
+#undef snd_pcm_subformat_mask_empty
+#undef snd_pcm_subformat_mask_set
+#undef snd_pcm_subformat_mask_reset
+#undef snd_pcm_status_sizeof
+#undef snd_pcm_status_malloc
+#undef snd_pcm_status_free
+#undef snd_pcm_status_copy
+#undef snd_pcm_status_get_state
+#undef snd_pcm_status_get_trigger_tstamp
+#undef snd_pcm_status_get_trigger_htstamp
+#undef snd_pcm_status_get_tstamp
+#undef snd_pcm_status_get_htstamp
+#undef snd_pcm_status_get_audio_htstamp
+#undef snd_pcm_status_get_driver_htstamp
+#undef snd_pcm_status_get_audio_htstamp_report
+#undef snd_pcm_status_set_audio_htstamp_config
+#undef snd_pcm_status_get_delay
+#undef snd_pcm_status_get_avail
+#undef snd_pcm_status_get_avail_max
+#undef snd_pcm_status_get_overrange
+#undef snd_pcm_type_name
+#undef snd_pcm_stream_name
+#undef snd_pcm_access_name
+#undef snd_pcm_format_name
+#undef snd_pcm_format_description
+#undef snd_pcm_subformat_name
+#undef snd_pcm_subformat_description
+#undef snd_pcm_format_value
+#undef snd_pcm_tstamp_mode_name
+#undef snd_pcm_state_name
+#undef snd_pcm_dump
+#undef snd_pcm_dump_hw_setup
+#undef snd_pcm_dump_sw_setup
+#undef snd_pcm_dump_setup
+#undef snd_pcm_hw_params_dump
+#undef snd_pcm_sw_params_dump
+#undef snd_pcm_status_dump
+#undef snd_pcm_mmap_begin
+#undef snd_pcm_mmap_commit
+#undef snd_pcm_mmap_writei
+#undef snd_pcm_mmap_readi
+#undef snd_pcm_mmap_writen
+#undef snd_pcm_mmap_readn
+#undef snd_pcm_format_signed
+#undef snd_pcm_format_unsigned
+#undef snd_pcm_format_linear
+#undef snd_pcm_format_float
+#undef snd_pcm_format_little_endian
+#undef snd_pcm_format_big_endian
+#undef snd_pcm_format_cpu_endian
+#undef snd_pcm_format_width
+#undef snd_pcm_format_physical_width
+#undef snd_pcm_build_linear_format
+#undef snd_pcm_format_size
+#undef snd_pcm_format_silence
+#undef snd_pcm_format_silence_16
+#undef snd_pcm_format_silence_32
+#undef snd_pcm_format_silence_64
+#undef snd_pcm_format_set_silence
+#undef snd_pcm_bytes_to_frames
+#undef snd_pcm_frames_to_bytes
+#undef snd_pcm_bytes_to_samples
+#undef snd_pcm_samples_to_bytes
+#undef snd_pcm_area_silence
+#undef snd_pcm_areas_silence
+#undef snd_pcm_area_copy
+#undef snd_pcm_areas_copy
+#undef snd_pcm_areas_copy_wrap
+#undef snd_pcm_hook_get_pcm
+#undef snd_pcm_hook_get_private
+#undef snd_pcm_hook_set_private
+#undef snd_pcm_hook_add
+#undef snd_pcm_hook_remove
+#undef snd_pcm_meter_get_bufsize
+#undef snd_pcm_meter_get_channels
+#undef snd_pcm_meter_get_rate
+#undef snd_pcm_meter_get_now
+#undef snd_pcm_meter_get_boundary
+#undef snd_pcm_meter_add_scope
+#undef snd_pcm_meter_search_scope
+#undef snd_pcm_scope_malloc
+#undef snd_pcm_scope_set_ops
+#undef snd_pcm_scope_set_name
+#undef snd_pcm_scope_get_name
+#undef snd_pcm_scope_get_callback_private
+#undef snd_pcm_scope_set_callback_private
+#undef snd_pcm_scope_s16_open
+#undef snd_pcm_scope_s16_get_channel_buffer
+#undef snd_spcm_init
+#undef snd_spcm_init_duplex
+#undef snd_spcm_init_get_params
+#undef snd_pcm_start_mode_name
+#undef snd_pcm_xrun_mode_name
+#undef snd_pcm_sw_params_set_start_mode
+#undef snd_pcm_sw_params_get_start_mode
+#undef snd_pcm_sw_params_set_xrun_mode
+#undef snd_pcm_sw_params_get_xrun_mode
+#undef snd_pcm_sw_params_set_xfer_align
+#undef snd_pcm_sw_params_get_xfer_align
+#undef snd_pcm_sw_params_set_sleep_min
+#undef snd_pcm_sw_params_get_sleep_min
+#undef snd_pcm_hw_params_get_tick_time
+#undef snd_pcm_hw_params_get_tick_time_min
+#undef snd_pcm_hw_params_get_tick_time_max
+#undef snd_pcm_hw_params_test_tick_time
+#undef snd_pcm_hw_params_set_tick_time
+#undef snd_pcm_hw_params_set_tick_time_min
+#undef snd_pcm_hw_params_set_tick_time_max
+#undef snd_pcm_hw_params_set_tick_time_minmax
+#undef snd_pcm_hw_params_set_tick_time_near
+#undef snd_pcm_hw_params_set_tick_time_first
+#undef snd_pcm_hw_params_set_tick_time_last
+#undef snd_rawmidi_open
+#undef snd_rawmidi_open_lconf
+#undef snd_rawmidi_close
+#undef snd_rawmidi_poll_descriptors_count
+#undef snd_rawmidi_poll_descriptors
+#undef snd_rawmidi_poll_descriptors_revents
+#undef snd_rawmidi_nonblock
+#undef snd_rawmidi_info_sizeof
+#undef snd_rawmidi_info_malloc
+#undef snd_rawmidi_info_free
+#undef snd_rawmidi_info_copy
+#undef snd_rawmidi_info_get_device
+#undef snd_rawmidi_info_get_subdevice
+#undef snd_rawmidi_info_get_stream
+#undef snd_rawmidi_info_get_card
+#undef snd_rawmidi_info_get_flags
+#undef snd_rawmidi_info_get_id
+#undef snd_rawmidi_info_get_name
+#undef snd_rawmidi_info_get_subdevice_name
+#undef snd_rawmidi_info_get_subdevices_count
+#undef snd_rawmidi_info_get_subdevices_avail
+#undef snd_rawmidi_info_set_device
+#undef snd_rawmidi_info_set_subdevice
+#undef snd_rawmidi_info_set_stream
+#undef snd_rawmidi_info
+#undef snd_rawmidi_params_sizeof
+#undef snd_rawmidi_params_malloc
+#undef snd_rawmidi_params_free
+#undef snd_rawmidi_params_copy
+#undef snd_rawmidi_params_set_buffer_size
+#undef snd_rawmidi_params_get_buffer_size
+#undef snd_rawmidi_params_set_avail_min
+#undef snd_rawmidi_params_get_avail_min
+#undef snd_rawmidi_params_set_no_active_sensing
+#undef snd_rawmidi_params_get_no_active_sensing
+#undef snd_rawmidi_params
+#undef snd_rawmidi_params_current
+#undef snd_rawmidi_status_sizeof
+#undef snd_rawmidi_status_malloc
+#undef snd_rawmidi_status_free
+#undef snd_rawmidi_status_copy
+#undef snd_rawmidi_status_get_tstamp
+#undef snd_rawmidi_status_get_avail
+#undef snd_rawmidi_status_get_xruns
+#undef snd_rawmidi_status
+#undef snd_rawmidi_drain
+#undef snd_rawmidi_drop
+#undef snd_rawmidi_write
+#undef snd_rawmidi_read
+#undef snd_rawmidi_name
+#undef snd_rawmidi_type
+#undef snd_rawmidi_stream
+#undef snd_timer_query_open
+#undef snd_timer_query_open_lconf
+#undef snd_timer_query_close
+#undef snd_timer_query_next_device
+#undef snd_timer_query_info
+#undef snd_timer_query_params
+#undef snd_timer_query_status
+#undef snd_timer_open
+#undef snd_timer_open_lconf
+#undef snd_timer_close
+#undef snd_async_add_timer_handler
+#undef snd_async_handler_get_timer
+#undef snd_timer_poll_descriptors_count
+#undef snd_timer_poll_descriptors
+#undef snd_timer_poll_descriptors_revents
+#undef snd_timer_info
+#undef snd_timer_params
+#undef snd_timer_status
+#undef snd_timer_start
+#undef snd_timer_stop
+#undef snd_timer_continue
+#undef snd_timer_read
+#undef snd_timer_id_sizeof
+#undef snd_timer_id_malloc
+#undef snd_timer_id_free
+#undef snd_timer_id_copy
+#undef snd_timer_id_set_class
+#undef snd_timer_id_get_class
+#undef snd_timer_id_set_sclass
+#undef snd_timer_id_get_sclass
+#undef snd_timer_id_set_card
+#undef snd_timer_id_get_card
+#undef snd_timer_id_set_device
+#undef snd_timer_id_get_device
+#undef snd_timer_id_set_subdevice
+#undef snd_timer_id_get_subdevice
+#undef snd_timer_ginfo_sizeof
+#undef snd_timer_ginfo_malloc
+#undef snd_timer_ginfo_free
+#undef snd_timer_ginfo_copy
+#undef snd_timer_ginfo_set_tid
+#undef snd_timer_ginfo_get_tid
+#undef snd_timer_ginfo_get_flags
+#undef snd_timer_ginfo_get_card
+#undef snd_timer_ginfo_get_id
+#undef snd_timer_ginfo_get_name
+#undef snd_timer_ginfo_get_resolution
+#undef snd_timer_ginfo_get_resolution_min
+#undef snd_timer_ginfo_get_resolution_max
+#undef snd_timer_ginfo_get_clients
+#undef snd_timer_info_sizeof
+#undef snd_timer_info_malloc
+#undef snd_timer_info_free
+#undef snd_timer_info_copy
+#undef snd_timer_info_is_slave
+#undef snd_timer_info_get_card
+#undef snd_timer_info_get_id
+#undef snd_timer_info_get_name
+#undef snd_timer_info_get_resolution
+#undef snd_timer_params_sizeof
+#undef snd_timer_params_malloc
+#undef snd_timer_params_free
+#undef snd_timer_params_copy
+#undef snd_timer_params_set_auto_start
+#undef snd_timer_params_get_auto_start
+#undef snd_timer_params_set_exclusive
+#undef snd_timer_params_get_exclusive
+#undef snd_timer_params_set_early_event
+#undef snd_timer_params_get_early_event
+#undef snd_timer_params_set_ticks
+#undef snd_timer_params_get_ticks
+#undef snd_timer_params_set_queue_size
+#undef snd_timer_params_get_queue_size
+#undef snd_timer_params_set_filter
+#undef snd_timer_params_get_filter
+#undef snd_timer_status_sizeof
+#undef snd_timer_status_malloc
+#undef snd_timer_status_free
+#undef snd_timer_status_copy
+#undef snd_timer_status_get_timestamp
+#undef snd_timer_status_get_resolution
+#undef snd_timer_status_get_lost
+#undef snd_timer_status_get_overrun
+#undef snd_timer_status_get_queue
+#undef snd_timer_info_get_ticks
+#undef snd_hwdep_open
+#undef snd_hwdep_close
+#undef snd_hwdep_poll_descriptors
+#undef snd_hwdep_poll_descriptors_count
+#undef snd_hwdep_poll_descriptors_revents
+#undef snd_hwdep_nonblock
+#undef snd_hwdep_info
+#undef snd_hwdep_dsp_status
+#undef snd_hwdep_dsp_load
+#undef snd_hwdep_ioctl
+#undef snd_hwdep_write
+#undef snd_hwdep_read
+#undef snd_hwdep_info_sizeof
+#undef snd_hwdep_info_malloc
+#undef snd_hwdep_info_free
+#undef snd_hwdep_info_copy
+#undef snd_hwdep_info_get_device
+#undef snd_hwdep_info_get_card
+#undef snd_hwdep_info_get_id
+#undef snd_hwdep_info_get_name
+#undef snd_hwdep_info_get_iface
+#undef snd_hwdep_info_set_device
+#undef snd_hwdep_dsp_status_sizeof
+#undef snd_hwdep_dsp_status_malloc
+#undef snd_hwdep_dsp_status_free
+#undef snd_hwdep_dsp_status_copy
+#undef snd_hwdep_dsp_status_get_version
+#undef snd_hwdep_dsp_status_get_id
+#undef snd_hwdep_dsp_status_get_num_dsps
+#undef snd_hwdep_dsp_status_get_dsp_loaded
+#undef snd_hwdep_dsp_status_get_chip_ready
+#undef snd_hwdep_dsp_image_sizeof
+#undef snd_hwdep_dsp_image_malloc
+#undef snd_hwdep_dsp_image_free
+#undef snd_hwdep_dsp_image_copy
+#undef snd_hwdep_dsp_image_get_index
+#undef snd_hwdep_dsp_image_get_name
+#undef snd_hwdep_dsp_image_get_image
+#undef snd_hwdep_dsp_image_get_length
+#undef snd_hwdep_dsp_image_set_index
+#undef snd_hwdep_dsp_image_set_name
+#undef snd_hwdep_dsp_image_set_image
+#undef snd_hwdep_dsp_image_set_length
+#undef snd_card_load
+#undef snd_card_next
+#undef snd_card_get_index
+#undef snd_card_get_name
+#undef snd_card_get_longname
+#undef snd_device_name_hint
+#undef snd_device_name_free_hint
+#undef snd_device_name_get_hint
+#undef snd_ctl_open
+#undef snd_ctl_open_lconf
+#undef snd_ctl_open_fallback
+#undef snd_ctl_close
+#undef snd_ctl_nonblock
+#undef snd_async_add_ctl_handler
+#undef snd_async_handler_get_ctl
+#undef snd_ctl_poll_descriptors_count
+#undef snd_ctl_poll_descriptors
+#undef snd_ctl_poll_descriptors_revents
+#undef snd_ctl_subscribe_events
+#undef snd_ctl_card_info
+#undef snd_ctl_elem_list
+#undef snd_ctl_elem_info
+#undef snd_ctl_elem_read
+#undef snd_ctl_elem_write
+#undef snd_ctl_elem_lock
+#undef snd_ctl_elem_unlock
+#undef snd_ctl_elem_tlv_read
+#undef snd_ctl_elem_tlv_write
+#undef snd_ctl_elem_tlv_command
+#undef snd_ctl_hwdep_next_device
+#undef snd_ctl_hwdep_info
+#undef snd_ctl_pcm_next_device
+#undef snd_ctl_pcm_info
+#undef snd_ctl_pcm_prefer_subdevice
+#undef snd_ctl_rawmidi_next_device
+#undef snd_ctl_rawmidi_info
+#undef snd_ctl_rawmidi_prefer_subdevice
+#undef snd_ctl_set_power_state
+#undef snd_ctl_get_power_state
+#undef snd_ctl_read
+#undef snd_ctl_wait
+#undef snd_ctl_name
+#undef snd_ctl_type
+#undef snd_ctl_elem_type_name
+#undef snd_ctl_elem_iface_name
+#undef snd_ctl_event_type_name
+#undef snd_ctl_event_elem_get_mask
+#undef snd_ctl_event_elem_get_numid
+#undef snd_ctl_event_elem_get_id
+#undef snd_ctl_event_elem_get_interface
+#undef snd_ctl_event_elem_get_device
+#undef snd_ctl_event_elem_get_subdevice
+#undef snd_ctl_event_elem_get_name
+#undef snd_ctl_event_elem_get_index
+#undef snd_ctl_elem_list_alloc_space
+#undef snd_ctl_elem_list_free_space
+#undef snd_ctl_ascii_elem_id_get
+#undef snd_ctl_ascii_elem_id_parse
+#undef snd_ctl_ascii_value_parse
+#undef snd_ctl_elem_id_sizeof
+#undef snd_ctl_elem_id_malloc
+#undef snd_ctl_elem_id_free
+#undef snd_ctl_elem_id_clear
+#undef snd_ctl_elem_id_copy
+#undef snd_ctl_elem_id_get_numid
+#undef snd_ctl_elem_id_get_interface
+#undef snd_ctl_elem_id_get_device
+#undef snd_ctl_elem_id_get_subdevice
+#undef snd_ctl_elem_id_get_name
+#undef snd_ctl_elem_id_get_index
+#undef snd_ctl_elem_id_set_numid
+#undef snd_ctl_elem_id_set_interface
+#undef snd_ctl_elem_id_set_device
+#undef snd_ctl_elem_id_set_subdevice
+#undef snd_ctl_elem_id_set_name
+#undef snd_ctl_elem_id_set_index
+#undef snd_ctl_card_info_sizeof
+#undef snd_ctl_card_info_malloc
+#undef snd_ctl_card_info_free
+#undef snd_ctl_card_info_clear
+#undef snd_ctl_card_info_copy
+#undef snd_ctl_card_info_get_card
+#undef snd_ctl_card_info_get_id
+#undef snd_ctl_card_info_get_driver
+#undef snd_ctl_card_info_get_name
+#undef snd_ctl_card_info_get_longname
+#undef snd_ctl_card_info_get_mixername
+#undef snd_ctl_card_info_get_components
+#undef snd_ctl_event_sizeof
+#undef snd_ctl_event_malloc
+#undef snd_ctl_event_free
+#undef snd_ctl_event_clear
+#undef snd_ctl_event_copy
+#undef snd_ctl_event_get_type
+#undef snd_ctl_elem_list_sizeof
+#undef snd_ctl_elem_list_malloc
+#undef snd_ctl_elem_list_free
+#undef snd_ctl_elem_list_clear
+#undef snd_ctl_elem_list_copy
+#undef snd_ctl_elem_list_set_offset
+#undef snd_ctl_elem_list_get_used
+#undef snd_ctl_elem_list_get_count
+#undef snd_ctl_elem_list_get_id
+#undef snd_ctl_elem_list_get_numid
+#undef snd_ctl_elem_list_get_interface
+#undef snd_ctl_elem_list_get_device
+#undef snd_ctl_elem_list_get_subdevice
+#undef snd_ctl_elem_list_get_name
+#undef snd_ctl_elem_list_get_index
+#undef snd_ctl_elem_info_sizeof
+#undef snd_ctl_elem_info_malloc
+#undef snd_ctl_elem_info_free
+#undef snd_ctl_elem_info_clear
+#undef snd_ctl_elem_info_copy
+#undef snd_ctl_elem_info_get_type
+#undef snd_ctl_elem_info_is_readable
+#undef snd_ctl_elem_info_is_writable
+#undef snd_ctl_elem_info_is_volatile
+#undef snd_ctl_elem_info_is_inactive
+#undef snd_ctl_elem_info_is_locked
+#undef snd_ctl_elem_info_is_tlv_readable
+#undef snd_ctl_elem_info_is_tlv_writable
+#undef snd_ctl_elem_info_is_tlv_commandable
+#undef snd_ctl_elem_info_is_owner
+#undef snd_ctl_elem_info_is_user
+#undef snd_ctl_elem_info_get_owner
+#undef snd_ctl_elem_info_get_count
+#undef snd_ctl_elem_info_get_min
+#undef snd_ctl_elem_info_get_max
+#undef snd_ctl_elem_info_get_step
+#undef snd_ctl_elem_info_get_min64
+#undef snd_ctl_elem_info_get_max64
+#undef snd_ctl_elem_info_get_step64
+#undef snd_ctl_elem_info_get_items
+#undef snd_ctl_elem_info_set_item
+#undef snd_ctl_elem_info_get_item_name
+#undef snd_ctl_elem_info_get_dimensions
+#undef snd_ctl_elem_info_get_dimension
+#undef snd_ctl_elem_info_set_dimension
+#undef snd_ctl_elem_info_get_id
+#undef snd_ctl_elem_info_get_numid
+#undef snd_ctl_elem_info_get_interface
+#undef snd_ctl_elem_info_get_device
+#undef snd_ctl_elem_info_get_subdevice
+#undef snd_ctl_elem_info_get_name
+#undef snd_ctl_elem_info_get_index
+#undef snd_ctl_elem_info_set_id
+#undef snd_ctl_elem_info_set_numid
+#undef snd_ctl_elem_info_set_interface
+#undef snd_ctl_elem_info_set_device
+#undef snd_ctl_elem_info_set_subdevice
+#undef snd_ctl_elem_info_set_name
+#undef snd_ctl_elem_info_set_index
+#undef snd_ctl_add_integer_elem_set
+#undef snd_ctl_add_integer64_elem_set
+#undef snd_ctl_add_boolean_elem_set
+#undef snd_ctl_add_enumerated_elem_set
+#undef snd_ctl_add_bytes_elem_set
+#undef snd_ctl_elem_add_integer
+#undef snd_ctl_elem_add_integer64
+#undef snd_ctl_elem_add_boolean
+#undef snd_ctl_elem_add_enumerated
+#undef snd_ctl_elem_add_iec958
+#undef snd_ctl_elem_remove
+#undef snd_ctl_elem_value_sizeof
+#undef snd_ctl_elem_value_malloc
+#undef snd_ctl_elem_value_free
+#undef snd_ctl_elem_value_clear
+#undef snd_ctl_elem_value_copy
+#undef snd_ctl_elem_value_compare
+#undef snd_ctl_elem_value_get_id
+#undef snd_ctl_elem_value_get_numid
+#undef snd_ctl_elem_value_get_interface
+#undef snd_ctl_elem_value_get_device
+#undef snd_ctl_elem_value_get_subdevice
+#undef snd_ctl_elem_value_get_name
+#undef snd_ctl_elem_value_get_index
+#undef snd_ctl_elem_value_set_id
+#undef snd_ctl_elem_value_set_numid
+#undef snd_ctl_elem_value_set_interface
+#undef snd_ctl_elem_value_set_device
+#undef snd_ctl_elem_value_set_subdevice
+#undef snd_ctl_elem_value_set_name
+#undef snd_ctl_elem_value_set_index
+#undef snd_ctl_elem_value_get_boolean
+#undef snd_ctl_elem_value_get_integer
+#undef snd_ctl_elem_value_get_integer64
+#undef snd_ctl_elem_value_get_enumerated
+#undef snd_ctl_elem_value_get_byte
+#undef snd_ctl_elem_value_set_boolean
+#undef snd_ctl_elem_value_set_integer
+#undef snd_ctl_elem_value_set_integer64
+#undef snd_ctl_elem_value_set_enumerated
+#undef snd_ctl_elem_value_set_byte
+#undef snd_ctl_elem_set_bytes
+#undef snd_ctl_elem_value_get_bytes
+#undef snd_ctl_elem_value_get_iec958
+#undef snd_ctl_elem_value_set_iec958
+#undef snd_tlv_parse_dB_info
+#undef snd_tlv_get_dB_range
+#undef snd_tlv_convert_to_dB
+#undef snd_tlv_convert_from_dB
+#undef snd_ctl_get_dB_range
+#undef snd_ctl_convert_to_dB
+#undef snd_ctl_convert_from_dB
+#undef snd_hctl_compare_fast
+#undef snd_hctl_open
+#undef snd_hctl_open_ctl
+#undef snd_hctl_close
+#undef snd_hctl_nonblock
+#undef snd_hctl_poll_descriptors_count
+#undef snd_hctl_poll_descriptors
+#undef snd_hctl_poll_descriptors_revents
+#undef snd_hctl_get_count
+#undef snd_hctl_set_compare
+#undef snd_hctl_first_elem
+#undef snd_hctl_last_elem
+#undef snd_hctl_find_elem
+#undef snd_hctl_set_callback
+#undef snd_hctl_set_callback_private
+#undef snd_hctl_get_callback_private
+#undef snd_hctl_load
+#undef snd_hctl_free
+#undef snd_hctl_handle_events
+#undef snd_hctl_name
+#undef snd_hctl_wait
+#undef snd_hctl_ctl
+#undef snd_hctl_elem_next
+#undef snd_hctl_elem_prev
+#undef snd_hctl_elem_info
+#undef snd_hctl_elem_read
+#undef snd_hctl_elem_write
+#undef snd_hctl_elem_tlv_read
+#undef snd_hctl_elem_tlv_write
+#undef snd_hctl_elem_tlv_command
+#undef snd_hctl_elem_get_hctl
+#undef snd_hctl_elem_get_id
+#undef snd_hctl_elem_get_numid
+#undef snd_hctl_elem_get_interface
+#undef snd_hctl_elem_get_device
+#undef snd_hctl_elem_get_subdevice
+#undef snd_hctl_elem_get_name
+#undef snd_hctl_elem_get_index
+#undef snd_hctl_elem_set_callback
+#undef snd_hctl_elem_get_callback_private
+#undef snd_hctl_elem_set_callback_private
+#undef snd_sctl_build
+#undef snd_sctl_free
+#undef snd_sctl_install
+#undef snd_sctl_remove
+#undef snd_mixer_open
+#undef snd_mixer_close
+#undef snd_mixer_first_elem
+#undef snd_mixer_last_elem
+#undef snd_mixer_handle_events
+#undef snd_mixer_attach
+#undef snd_mixer_attach_hctl
+#undef snd_mixer_detach
+#undef snd_mixer_detach_hctl
+#undef snd_mixer_get_hctl
+#undef snd_mixer_poll_descriptors_count
+#undef snd_mixer_poll_descriptors
+#undef snd_mixer_poll_descriptors_revents
+#undef snd_mixer_load
+#undef snd_mixer_free
+#undef snd_mixer_wait
+#undef snd_mixer_set_compare
+#undef snd_mixer_set_callback
+#undef snd_mixer_get_callback_private
+#undef snd_mixer_set_callback_private
+#undef snd_mixer_get_count
+#undef snd_mixer_class_unregister
+#undef snd_mixer_elem_next
+#undef snd_mixer_elem_prev
+#undef snd_mixer_elem_set_callback
+#undef snd_mixer_elem_get_callback_private
+#undef snd_mixer_elem_set_callback_private
+#undef snd_mixer_elem_get_type
+#undef snd_mixer_class_register
+#undef snd_mixer_elem_new
+#undef snd_mixer_elem_add
+#undef snd_mixer_elem_remove
+#undef snd_mixer_elem_free
+#undef snd_mixer_elem_info
+#undef snd_mixer_elem_value
+#undef snd_mixer_elem_attach
+#undef snd_mixer_elem_detach
+#undef snd_mixer_elem_empty
+#undef snd_mixer_elem_get_private
+#undef snd_mixer_class_sizeof
+#undef snd_mixer_class_malloc
+#undef snd_mixer_class_free
+#undef snd_mixer_class_copy
+#undef snd_mixer_class_get_mixer
+#undef snd_mixer_class_get_event
+#undef snd_mixer_class_get_private
+#undef snd_mixer_class_get_compare
+#undef snd_mixer_class_set_event
+#undef snd_mixer_class_set_private
+#undef snd_mixer_class_set_private_free
+#undef snd_mixer_class_set_compare
+#undef snd_mixer_selem_channel_name
+#undef snd_mixer_selem_register
+#undef snd_mixer_selem_get_id
+#undef snd_mixer_selem_get_name
+#undef snd_mixer_selem_get_index
+#undef snd_mixer_find_selem
+#undef snd_mixer_selem_is_active
+#undef snd_mixer_selem_is_playback_mono
+#undef snd_mixer_selem_has_playback_channel
+#undef snd_mixer_selem_is_capture_mono
+#undef snd_mixer_selem_has_capture_channel
+#undef snd_mixer_selem_get_capture_group
+#undef snd_mixer_selem_has_common_volume
+#undef snd_mixer_selem_has_playback_volume
+#undef snd_mixer_selem_has_playback_volume_joined
+#undef snd_mixer_selem_has_capture_volume
+#undef snd_mixer_selem_has_capture_volume_joined
+#undef snd_mixer_selem_has_common_switch
+#undef snd_mixer_selem_has_playback_switch
+#undef snd_mixer_selem_has_playback_switch_joined
+#undef snd_mixer_selem_has_capture_switch
+#undef snd_mixer_selem_has_capture_switch_joined
+#undef snd_mixer_selem_has_capture_switch_exclusive
+#undef snd_mixer_selem_ask_playback_vol_dB
+#undef snd_mixer_selem_ask_capture_vol_dB
+#undef snd_mixer_selem_ask_playback_dB_vol
+#undef snd_mixer_selem_ask_capture_dB_vol
+#undef snd_mixer_selem_get_playback_volume
+#undef snd_mixer_selem_get_capture_volume
+#undef snd_mixer_selem_get_playback_dB
+#undef snd_mixer_selem_get_capture_dB
+#undef snd_mixer_selem_get_playback_switch
+#undef snd_mixer_selem_get_capture_switch
+#undef snd_mixer_selem_set_playback_volume
+#undef snd_mixer_selem_set_capture_volume
+#undef snd_mixer_selem_set_playback_dB
+#undef snd_mixer_selem_set_capture_dB
+#undef snd_mixer_selem_set_playback_volume_all
+#undef snd_mixer_selem_set_capture_volume_all
+#undef snd_mixer_selem_set_playback_dB_all
+#undef snd_mixer_selem_set_capture_dB_all
+#undef snd_mixer_selem_set_playback_switch
+#undef snd_mixer_selem_set_capture_switch
+#undef snd_mixer_selem_set_playback_switch_all
+#undef snd_mixer_selem_set_capture_switch_all
+#undef snd_mixer_selem_get_playback_volume_range
+#undef snd_mixer_selem_get_playback_dB_range
+#undef snd_mixer_selem_set_playback_volume_range
+#undef snd_mixer_selem_get_capture_volume_range
+#undef snd_mixer_selem_get_capture_dB_range
+#undef snd_mixer_selem_set_capture_volume_range
+#undef snd_mixer_selem_is_enumerated
+#undef snd_mixer_selem_is_enum_playback
+#undef snd_mixer_selem_is_enum_capture
+#undef snd_mixer_selem_get_enum_items
+#undef snd_mixer_selem_get_enum_item_name
+#undef snd_mixer_selem_get_enum_item
+#undef snd_mixer_selem_set_enum_item
+#undef snd_mixer_selem_id_sizeof
+#undef snd_mixer_selem_id_malloc
+#undef snd_mixer_selem_id_free
+#undef snd_mixer_selem_id_copy
+#undef snd_mixer_selem_id_get_name
+#undef snd_mixer_selem_id_get_index
+#undef snd_mixer_selem_id_set_name
+#undef snd_mixer_selem_id_set_index
+#undef snd_mixer_selem_id_parse
+#undef snd_seq_open
+#undef snd_seq_open_lconf
+#undef snd_seq_name
+#undef snd_seq_type
+#undef snd_seq_close
+#undef snd_seq_poll_descriptors_count
+#undef snd_seq_poll_descriptors
+#undef snd_seq_poll_descriptors_revents
+#undef snd_seq_nonblock
+#undef snd_seq_client_id
+#undef snd_seq_get_output_buffer_size
+#undef snd_seq_get_input_buffer_size
+#undef snd_seq_set_output_buffer_size
+#undef snd_seq_set_input_buffer_size
+#undef snd_seq_system_info_sizeof
+#undef snd_seq_system_info_malloc
+#undef snd_seq_system_info_free
+#undef snd_seq_system_info_copy
+#undef snd_seq_system_info_get_queues
+#undef snd_seq_system_info_get_clients
+#undef snd_seq_system_info_get_ports
+#undef snd_seq_system_info_get_channels
+#undef snd_seq_system_info_get_cur_clients
+#undef snd_seq_system_info_get_cur_queues
+#undef snd_seq_system_info
+#undef snd_seq_client_info_sizeof
+#undef snd_seq_client_info_malloc
+#undef snd_seq_client_info_free
+#undef snd_seq_client_info_copy
+#undef snd_seq_client_info_get_client
+#undef snd_seq_client_info_get_type
+#undef snd_seq_client_info_get_name
+#undef snd_seq_client_info_get_broadcast_filter
+#undef snd_seq_client_info_get_error_bounce
+#undef snd_seq_client_info_get_card
+#undef snd_seq_client_info_get_pid
+#undef snd_seq_client_info_get_event_filter
+#undef snd_seq_client_info_get_num_ports
+#undef snd_seq_client_info_get_event_lost
+#undef snd_seq_client_info_set_client
+#undef snd_seq_client_info_set_name
+#undef snd_seq_client_info_set_broadcast_filter
+#undef snd_seq_client_info_set_error_bounce
+#undef snd_seq_client_info_set_event_filter
+#undef snd_seq_client_info_event_filter_clear
+#undef snd_seq_client_info_event_filter_add
+#undef snd_seq_client_info_event_filter_del
+#undef snd_seq_client_info_event_filter_check
+#undef snd_seq_get_client_info
+#undef snd_seq_get_any_client_info
+#undef snd_seq_set_client_info
+#undef snd_seq_query_next_client
+#undef snd_seq_client_pool_sizeof
+#undef snd_seq_client_pool_malloc
+#undef snd_seq_client_pool_free
+#undef snd_seq_client_pool_copy
+#undef snd_seq_client_pool_get_client
+#undef snd_seq_client_pool_get_output_pool
+#undef snd_seq_client_pool_get_input_pool
+#undef snd_seq_client_pool_get_output_room
+#undef snd_seq_client_pool_get_output_free
+#undef snd_seq_client_pool_get_input_free
+#undef snd_seq_client_pool_set_output_pool
+#undef snd_seq_client_pool_set_input_pool
+#undef snd_seq_client_pool_set_output_room
+#undef snd_seq_get_client_pool
+#undef snd_seq_set_client_pool
+#undef snd_seq_port_info_sizeof
+#undef snd_seq_port_info_malloc
+#undef snd_seq_port_info_free
+#undef snd_seq_port_info_copy
+#undef snd_seq_port_info_get_client
+#undef snd_seq_port_info_get_port
+#undef snd_seq_port_info_get_addr
+#undef snd_seq_port_info_get_name
+#undef snd_seq_port_info_get_capability
+#undef snd_seq_port_info_get_type
+#undef snd_seq_port_info_get_midi_channels
+#undef snd_seq_port_info_get_midi_voices
+#undef snd_seq_port_info_get_synth_voices
+#undef snd_seq_port_info_get_read_use
+#undef snd_seq_port_info_get_write_use
+#undef snd_seq_port_info_get_port_specified
+#undef snd_seq_port_info_get_timestamping
+#undef snd_seq_port_info_get_timestamp_real
+#undef snd_seq_port_info_get_timestamp_queue
+#undef snd_seq_port_info_set_client
+#undef snd_seq_port_info_set_port
+#undef snd_seq_port_info_set_addr
+#undef snd_seq_port_info_set_name
+#undef snd_seq_port_info_set_capability
+#undef snd_seq_port_info_set_type
+#undef snd_seq_port_info_set_midi_channels
+#undef snd_seq_port_info_set_midi_voices
+#undef snd_seq_port_info_set_synth_voices
+#undef snd_seq_port_info_set_port_specified
+#undef snd_seq_port_info_set_timestamping
+#undef snd_seq_port_info_set_timestamp_real
+#undef snd_seq_port_info_set_timestamp_queue
+#undef snd_seq_create_port
+#undef snd_seq_delete_port
+#undef snd_seq_get_port_info
+#undef snd_seq_get_any_port_info
+#undef snd_seq_set_port_info
+#undef snd_seq_query_next_port
+#undef snd_seq_port_subscribe_sizeof
+#undef snd_seq_port_subscribe_malloc
+#undef snd_seq_port_subscribe_free
+#undef snd_seq_port_subscribe_copy
+#undef snd_seq_port_subscribe_get_sender
+#undef snd_seq_port_subscribe_get_dest
+#undef snd_seq_port_subscribe_get_queue
+#undef snd_seq_port_subscribe_get_exclusive
+#undef snd_seq_port_subscribe_get_time_update
+#undef snd_seq_port_subscribe_get_time_real
+#undef snd_seq_port_subscribe_set_sender
+#undef snd_seq_port_subscribe_set_dest
+#undef snd_seq_port_subscribe_set_queue
+#undef snd_seq_port_subscribe_set_exclusive
+#undef snd_seq_port_subscribe_set_time_update
+#undef snd_seq_port_subscribe_set_time_real
+#undef snd_seq_get_port_subscription
+#undef snd_seq_subscribe_port
+#undef snd_seq_unsubscribe_port
+#undef snd_seq_query_subscribe_sizeof
+#undef snd_seq_query_subscribe_malloc
+#undef snd_seq_query_subscribe_free
+#undef snd_seq_query_subscribe_copy
+#undef snd_seq_query_subscribe_get_client
+#undef snd_seq_query_subscribe_get_port
+#undef snd_seq_query_subscribe_get_root
+#undef snd_seq_query_subscribe_get_type
+#undef snd_seq_query_subscribe_get_index
+#undef snd_seq_query_subscribe_get_num_subs
+#undef snd_seq_query_subscribe_get_addr
+#undef snd_seq_query_subscribe_get_queue
+#undef snd_seq_query_subscribe_get_exclusive
+#undef snd_seq_query_subscribe_get_time_update
+#undef snd_seq_query_subscribe_get_time_real
+#undef snd_seq_query_subscribe_set_client
+#undef snd_seq_query_subscribe_set_port
+#undef snd_seq_query_subscribe_set_root
+#undef snd_seq_query_subscribe_set_type
+#undef snd_seq_query_subscribe_set_index
+#undef snd_seq_query_port_subscribers
+#undef snd_seq_queue_info_sizeof
+#undef snd_seq_queue_info_malloc
+#undef snd_seq_queue_info_free
+#undef snd_seq_queue_info_copy
+#undef snd_seq_queue_info_get_queue
+#undef snd_seq_queue_info_get_name
+#undef snd_seq_queue_info_get_owner
+#undef snd_seq_queue_info_get_locked
+#undef snd_seq_queue_info_get_flags
+#undef snd_seq_queue_info_set_name
+#undef snd_seq_queue_info_set_owner
+#undef snd_seq_queue_info_set_locked
+#undef snd_seq_queue_info_set_flags
+#undef snd_seq_create_queue
+#undef snd_seq_alloc_named_queue
+#undef snd_seq_alloc_queue
+#undef snd_seq_free_queue
+#undef snd_seq_get_queue_info
+#undef snd_seq_set_queue_info
+#undef snd_seq_query_named_queue
+#undef snd_seq_get_queue_usage
+#undef snd_seq_set_queue_usage
+#undef snd_seq_queue_status_sizeof
+#undef snd_seq_queue_status_malloc
+#undef snd_seq_queue_status_free
+#undef snd_seq_queue_status_copy
+#undef snd_seq_queue_status_get_queue
+#undef snd_seq_queue_status_get_events
+#undef snd_seq_queue_status_get_tick_time
+#undef snd_seq_queue_status_get_real_time
+#undef snd_seq_queue_status_get_status
+#undef snd_seq_get_queue_status
+#undef snd_seq_queue_tempo_sizeof
+#undef snd_seq_queue_tempo_malloc
+#undef snd_seq_queue_tempo_free
+#undef snd_seq_queue_tempo_copy
+#undef snd_seq_queue_tempo_get_queue
+#undef snd_seq_queue_tempo_get_tempo
+#undef snd_seq_queue_tempo_get_ppq
+#undef snd_seq_queue_tempo_get_skew
+#undef snd_seq_queue_tempo_get_skew_base
+#undef snd_seq_queue_tempo_set_tempo
+#undef snd_seq_queue_tempo_set_ppq
+#undef snd_seq_queue_tempo_set_skew
+#undef snd_seq_queue_tempo_set_skew_base
+#undef snd_seq_get_queue_tempo
+#undef snd_seq_set_queue_tempo
+#undef snd_seq_queue_timer_sizeof
+#undef snd_seq_queue_timer_malloc
+#undef snd_seq_queue_timer_free
+#undef snd_seq_queue_timer_copy
+#undef snd_seq_queue_timer_get_queue
+#undef snd_seq_queue_timer_get_type
+#undef snd_seq_queue_timer_get_id
+#undef snd_seq_queue_timer_get_resolution
+#undef snd_seq_queue_timer_set_type
+#undef snd_seq_queue_timer_set_id
+#undef snd_seq_queue_timer_set_resolution
+#undef snd_seq_get_queue_timer
+#undef snd_seq_set_queue_timer
+#undef snd_seq_free_event
+#undef snd_seq_event_length
+#undef snd_seq_event_output
+#undef snd_seq_event_output_buffer
+#undef snd_seq_event_output_direct
+#undef snd_seq_event_input
+#undef snd_seq_event_input_pending
+#undef snd_seq_drain_output
+#undef snd_seq_event_output_pending
+#undef snd_seq_extract_output
+#undef snd_seq_drop_output
+#undef snd_seq_drop_output_buffer
+#undef snd_seq_drop_input
+#undef snd_seq_drop_input_buffer
+#undef snd_seq_remove_events_sizeof
+#undef snd_seq_remove_events_malloc
+#undef snd_seq_remove_events_free
+#undef snd_seq_remove_events_copy
+#undef snd_seq_remove_events_get_condition
+#undef snd_seq_remove_events_get_queue
+#undef snd_seq_remove_events_get_time
+#undef snd_seq_remove_events_get_dest
+#undef snd_seq_remove_events_get_channel
+#undef snd_seq_remove_events_get_event_type
+#undef snd_seq_remove_events_get_tag
+#undef snd_seq_remove_events_set_condition
+#undef snd_seq_remove_events_set_queue
+#undef snd_seq_remove_events_set_time
+#undef snd_seq_remove_events_set_dest
+#undef snd_seq_remove_events_set_channel
+#undef snd_seq_remove_events_set_event_type
+#undef snd_seq_remove_events_set_tag
+#undef snd_seq_remove_events
+#undef snd_seq_set_bit
+#undef snd_seq_unset_bit
+#undef snd_seq_change_bit
+#undef snd_seq_get_bit
+#undef snd_seq_control_queue
+#undef snd_seq_create_simple_port
+#undef snd_seq_delete_simple_port
+#undef snd_seq_connect_from
+#undef snd_seq_connect_to
+#undef snd_seq_disconnect_from
+#undef snd_seq_disconnect_to
+#undef snd_seq_set_client_name
+#undef snd_seq_set_client_event_filter
+#undef snd_seq_set_client_pool_output
+#undef snd_seq_set_client_pool_output_room
+#undef snd_seq_set_client_pool_input
+#undef snd_seq_sync_output_queue
+#undef snd_seq_parse_address
+#undef snd_seq_reset_pool_output
+#undef snd_seq_reset_pool_input
+#undef snd_midi_event_new
+#undef snd_midi_event_resize_buffer
+#undef snd_midi_event_free
+#undef snd_midi_event_init
+#undef snd_midi_event_reset_encode
+#undef snd_midi_event_reset_decode
+#undef snd_midi_event_no_status
+#undef snd_midi_event_encode
+#undef snd_midi_event_encode_byte
+#undef snd_midi_event_decode
+const char* (*snd_asoundlib_version)( void);
+int (*snd_dlpath)( char*, size_t,const char*);
+void* (*snd_dlopen)(const char*, int, char*, size_t);
+void* (*snd_dlsym)( void*,const char*,const char*);
+int (*snd_dlclose)( void*);
+int (*snd_async_add_handler)( snd_async_handler_t**, int, snd_async_callback_t, void*);
+int (*snd_async_del_handler)( snd_async_handler_t*);
+int (*snd_async_handler_get_fd)( snd_async_handler_t*);
+int (*snd_async_handler_get_signo)( snd_async_handler_t*);
+void* (*snd_async_handler_get_callback_private)( snd_async_handler_t*);
+struct snd_shm_area* (*snd_shm_area_create)( int, void*);
+struct snd_shm_area* (*snd_shm_area_share)(struct snd_shm_area*);
+int (*snd_shm_area_destroy)(struct snd_shm_area*);
+int (*snd_user_file)(const char*, char**);
+int (*snd_input_stdio_open)( snd_input_t**,const char*,const char*);
+int (*snd_input_stdio_attach)( snd_input_t**, FILE*, int);
+int (*snd_input_buffer_open)( snd_input_t**,const char*, ssize_t);
+int (*snd_input_close)( snd_input_t*);
+int (*snd_input_scanf)( snd_input_t*,const char*,...);
+char* (*snd_input_gets)( snd_input_t*, char*, size_t);
+int (*snd_input_getc)( snd_input_t*);
+int (*snd_input_ungetc)( snd_input_t*, int);
+int (*snd_output_stdio_open)( snd_output_t**,const char*,const char*);
+int (*snd_output_stdio_attach)( snd_output_t**, FILE*, int);
+int (*snd_output_buffer_open)( snd_output_t**);
+size_t (*snd_output_buffer_string)( snd_output_t*, char**);
+int (*snd_output_close)( snd_output_t*);
+int (*snd_output_printf)( snd_output_t*,const char*,...);
+int (*snd_output_vprintf)( snd_output_t*,const char*, va_list);
+int (*snd_output_puts)( snd_output_t*,const char*);
+int (*snd_output_putc)( snd_output_t*, int);
+int (*snd_output_flush)( snd_output_t*);
+const char* (*snd_strerror)( int);
+int (*snd_lib_error_set_handler)( snd_lib_error_handler_t);
+snd_local_error_handler_t (*snd_lib_error_set_local)( snd_local_error_handler_t);
+const char* (*snd_config_topdir)( void);
+int (*snd_config_top)( snd_config_t**);
+int (*snd_config_load)( snd_config_t*, snd_input_t*);
+int (*snd_config_load_override)( snd_config_t*, snd_input_t*);
+int (*snd_config_save)( snd_config_t*, snd_output_t*);
+int (*snd_config_update)( void);
+int (*snd_config_update_r)( snd_config_t**, snd_config_update_t**,const char*);
+int (*snd_config_update_free)( snd_config_update_t*);
+int (*snd_config_update_free_global)( void);
+int (*snd_config_update_ref)( snd_config_t**);
+void (*snd_config_ref)( snd_config_t*);
+void (*snd_config_unref)( snd_config_t*);
+int (*snd_config_search)( snd_config_t*,const char*, snd_config_t**);
+int (*snd_config_searchv)( snd_config_t*, snd_config_t**,...);
+int (*snd_config_search_definition)( snd_config_t*,const char*,const char*, snd_config_t**);
+int (*snd_config_expand)( snd_config_t*, snd_config_t*,const char*, snd_config_t*, snd_config_t**);
+int (*snd_config_evaluate)( snd_config_t*, snd_config_t*, snd_config_t*, snd_config_t**);
+int (*snd_config_add)( snd_config_t*, snd_config_t*);
+int (*snd_config_add_before)( snd_config_t*, snd_config_t*);
+int (*snd_config_add_after)( snd_config_t*, snd_config_t*);
+int (*snd_config_remove)( snd_config_t*);
+int (*snd_config_delete)( snd_config_t*);
+int (*snd_config_delete_compound_members)(const snd_config_t*);
+int (*snd_config_copy)( snd_config_t**, snd_config_t*);
+int (*snd_config_make)( snd_config_t**,const char*, snd_config_type_t);
+int (*snd_config_make_integer)( snd_config_t**,const char*);
+int (*snd_config_make_integer64)( snd_config_t**,const char*);
+int (*snd_config_make_real)( snd_config_t**,const char*);
+int (*snd_config_make_string)( snd_config_t**,const char*);
+int (*snd_config_make_pointer)( snd_config_t**,const char*);
+int (*snd_config_make_compound)( snd_config_t**,const char*, int);
+int (*snd_config_imake_integer)( snd_config_t**,const char*,const long);
+int (*snd_config_imake_integer64)( snd_config_t**,const char*,const long long);
+int (*snd_config_imake_real)( snd_config_t**,const char*,const double);
+int (*snd_config_imake_string)( snd_config_t**,const char*,const char*);
+int (*snd_config_imake_safe_string)( snd_config_t**,const char*,const char*);
+int (*snd_config_imake_pointer)( snd_config_t**,const char*,const void*);
+snd_config_type_t (*snd_config_get_type)(const snd_config_t*);
+int (*snd_config_is_array)(const snd_config_t*);
+int (*snd_config_set_id)( snd_config_t*,const char*);
+int (*snd_config_set_integer)( snd_config_t*, long);
+int (*snd_config_set_integer64)( snd_config_t*, long long);
+int (*snd_config_set_real)( snd_config_t*, double);
+int (*snd_config_set_string)( snd_config_t*,const char*);
+int (*snd_config_set_ascii)( snd_config_t*,const char*);
+int (*snd_config_set_pointer)( snd_config_t*,const void*);
+int (*snd_config_get_id)(const snd_config_t*,const char**);
+int (*snd_config_get_integer)(const snd_config_t*, long*);
+int (*snd_config_get_integer64)(const snd_config_t*, long long*);
+int (*snd_config_get_real)(const snd_config_t*, double*);
+int (*snd_config_get_ireal)(const snd_config_t*, double*);
+int (*snd_config_get_string)(const snd_config_t*,const char**);
+int (*snd_config_get_ascii)(const snd_config_t*, char**);
+int (*snd_config_get_pointer)(const snd_config_t*,const void**);
+int (*snd_config_test_id)(const snd_config_t*,const char*);
+snd_config_iterator_t (*snd_config_iterator_first)(const snd_config_t*);
+snd_config_iterator_t (*snd_config_iterator_next)(const snd_config_iterator_t);
+snd_config_iterator_t (*snd_config_iterator_end)(const snd_config_t*);
+snd_config_t* (*snd_config_iterator_entry)(const snd_config_iterator_t);
+int (*snd_config_get_bool_ascii)(const char*);
+int (*snd_config_get_bool)(const snd_config_t*);
+int (*snd_config_get_ctl_iface_ascii)(const char*);
+int (*snd_config_get_ctl_iface)(const snd_config_t*);
+int (*snd_names_list)(const char*, snd_devname_t**);
+void (*snd_names_list_free)( snd_devname_t*);
+int (*snd_pcm_open)( snd_pcm_t**,const char*, snd_pcm_stream_t, int);
+int (*snd_pcm_open_lconf)( snd_pcm_t**,const char*, snd_pcm_stream_t, int, snd_config_t*);
+int (*snd_pcm_open_fallback)( snd_pcm_t**, snd_config_t*,const char*,const char*, snd_pcm_stream_t, int);
+int (*snd_pcm_close)( snd_pcm_t*);
+const char* (*snd_pcm_name)( snd_pcm_t*);
+snd_pcm_type_t (*snd_pcm_type)( snd_pcm_t*);
+snd_pcm_stream_t (*snd_pcm_stream)( snd_pcm_t*);
+int (*snd_pcm_poll_descriptors_count)( snd_pcm_t*);
+int (*snd_pcm_poll_descriptors)( snd_pcm_t*,struct pollfd*, unsigned int);
+int (*snd_pcm_poll_descriptors_revents)( snd_pcm_t*,struct pollfd*, unsigned int, unsigned short*);
+int (*snd_pcm_nonblock)( snd_pcm_t*, int);
+int (*snd_async_add_pcm_handler)( snd_async_handler_t**, snd_pcm_t*, snd_async_callback_t, void*);
+snd_pcm_t* (*snd_async_handler_get_pcm)( snd_async_handler_t*);
+int (*snd_pcm_info)( snd_pcm_t*, snd_pcm_info_t*);
+int (*snd_pcm_hw_params_current)( snd_pcm_t*, snd_pcm_hw_params_t*);
+int (*snd_pcm_hw_params)( snd_pcm_t*, snd_pcm_hw_params_t*);
+int (*snd_pcm_hw_free)( snd_pcm_t*);
+int (*snd_pcm_sw_params_current)( snd_pcm_t*, snd_pcm_sw_params_t*);
+int (*snd_pcm_sw_params)( snd_pcm_t*, snd_pcm_sw_params_t*);
+int (*snd_pcm_prepare)( snd_pcm_t*);
+int (*snd_pcm_reset)( snd_pcm_t*);
+int (*snd_pcm_status)( snd_pcm_t*, snd_pcm_status_t*);
+int (*snd_pcm_start)( snd_pcm_t*);
+int (*snd_pcm_drop)( snd_pcm_t*);
+int (*snd_pcm_drain)( snd_pcm_t*);
+int (*snd_pcm_pause)( snd_pcm_t*, int);
+snd_pcm_state_t (*snd_pcm_state)( snd_pcm_t*);
+int (*snd_pcm_hwsync)( snd_pcm_t*);
+int (*snd_pcm_delay)( snd_pcm_t*, snd_pcm_sframes_t*);
+int (*snd_pcm_resume)( snd_pcm_t*);
+int (*snd_pcm_htimestamp)( snd_pcm_t*, snd_pcm_uframes_t*, snd_htimestamp_t*);
+snd_pcm_sframes_t (*snd_pcm_avail)( snd_pcm_t*);
+snd_pcm_sframes_t (*snd_pcm_avail_update)( snd_pcm_t*);
+int (*snd_pcm_avail_delay)( snd_pcm_t*, snd_pcm_sframes_t*, snd_pcm_sframes_t*);
+snd_pcm_sframes_t (*snd_pcm_rewindable)( snd_pcm_t*);
+snd_pcm_sframes_t (*snd_pcm_rewind)( snd_pcm_t*, snd_pcm_uframes_t);
+snd_pcm_sframes_t (*snd_pcm_forwardable)( snd_pcm_t*);
+snd_pcm_sframes_t (*snd_pcm_forward)( snd_pcm_t*, snd_pcm_uframes_t);
+snd_pcm_sframes_t (*snd_pcm_writei)( snd_pcm_t*,const void*, snd_pcm_uframes_t);
+snd_pcm_sframes_t (*snd_pcm_readi)( snd_pcm_t*, void*, snd_pcm_uframes_t);
+snd_pcm_sframes_t (*snd_pcm_writen)( snd_pcm_t*, void**, snd_pcm_uframes_t);
+snd_pcm_sframes_t (*snd_pcm_readn)( snd_pcm_t*, void**, snd_pcm_uframes_t);
+int (*snd_pcm_wait)( snd_pcm_t*, int);
+int (*snd_pcm_link)( snd_pcm_t*, snd_pcm_t*);
+int (*snd_pcm_unlink)( snd_pcm_t*);
+snd_pcm_chmap_query_t** (*snd_pcm_query_chmaps)( snd_pcm_t*);
+snd_pcm_chmap_query_t** (*snd_pcm_query_chmaps_from_hw)( int, int, int, snd_pcm_stream_t);
+void (*snd_pcm_free_chmaps)( snd_pcm_chmap_query_t**);
+snd_pcm_chmap_t* (*snd_pcm_get_chmap)( snd_pcm_t*);
+int (*snd_pcm_set_chmap)( snd_pcm_t*,const snd_pcm_chmap_t*);
+const char* (*snd_pcm_chmap_type_name)(enum snd_pcm_chmap_type);
+const char* (*snd_pcm_chmap_name)(enum snd_pcm_chmap_position);
+const char* (*snd_pcm_chmap_long_name)(enum snd_pcm_chmap_position);
+int (*snd_pcm_chmap_print)(const snd_pcm_chmap_t*, size_t, char*);
+unsigned int (*snd_pcm_chmap_from_string)(const char*);
+snd_pcm_chmap_t* (*snd_pcm_chmap_parse_string)(const char*);
+int (*snd_pcm_recover)( snd_pcm_t*, int, int);
+int (*snd_pcm_set_params)( snd_pcm_t*, snd_pcm_format_t, snd_pcm_access_t, unsigned int, unsigned int, int, unsigned int);
+int (*snd_pcm_get_params)( snd_pcm_t*, snd_pcm_uframes_t*, snd_pcm_uframes_t*);
+size_t (*snd_pcm_info_sizeof)( void);
+int (*snd_pcm_info_malloc)( snd_pcm_info_t**);
+void (*snd_pcm_info_free)( snd_pcm_info_t*);
+void (*snd_pcm_info_copy)( snd_pcm_info_t*,const snd_pcm_info_t*);
+unsigned int (*snd_pcm_info_get_device)(const snd_pcm_info_t*);
+unsigned int (*snd_pcm_info_get_subdevice)(const snd_pcm_info_t*);
+snd_pcm_stream_t (*snd_pcm_info_get_stream)(const snd_pcm_info_t*);
+int (*snd_pcm_info_get_card)(const snd_pcm_info_t*);
+const char* (*snd_pcm_info_get_id)(const snd_pcm_info_t*);
+const char* (*snd_pcm_info_get_name)(const snd_pcm_info_t*);
+const char* (*snd_pcm_info_get_subdevice_name)(const snd_pcm_info_t*);
+snd_pcm_class_t (*snd_pcm_info_get_class)(const snd_pcm_info_t*);
+snd_pcm_subclass_t (*snd_pcm_info_get_subclass)(const snd_pcm_info_t*);
+unsigned int (*snd_pcm_info_get_subdevices_count)(const snd_pcm_info_t*);
+unsigned int (*snd_pcm_info_get_subdevices_avail)(const snd_pcm_info_t*);
+snd_pcm_sync_id_t (*snd_pcm_info_get_sync)(const snd_pcm_info_t*);
+void (*snd_pcm_info_set_device)( snd_pcm_info_t*, unsigned int);
+void (*snd_pcm_info_set_subdevice)( snd_pcm_info_t*, unsigned int);
+void (*snd_pcm_info_set_stream)( snd_pcm_info_t*, snd_pcm_stream_t);
+int (*snd_pcm_hw_params_any)( snd_pcm_t*, snd_pcm_hw_params_t*);
+int (*snd_pcm_hw_params_can_mmap_sample_resolution)(const snd_pcm_hw_params_t*);
+int (*snd_pcm_hw_params_is_double)(const snd_pcm_hw_params_t*);
+int (*snd_pcm_hw_params_is_batch)(const snd_pcm_hw_params_t*);
+int (*snd_pcm_hw_params_is_block_transfer)(const snd_pcm_hw_params_t*);
+int (*snd_pcm_hw_params_is_monotonic)(const snd_pcm_hw_params_t*);
+int (*snd_pcm_hw_params_can_overrange)(const snd_pcm_hw_params_t*);
+int (*snd_pcm_hw_params_can_pause)(const snd_pcm_hw_params_t*);
+int (*snd_pcm_hw_params_can_resume)(const snd_pcm_hw_params_t*);
+int (*snd_pcm_hw_params_is_half_duplex)(const snd_pcm_hw_params_t*);
+int (*snd_pcm_hw_params_is_joint_duplex)(const snd_pcm_hw_params_t*);
+int (*snd_pcm_hw_params_can_sync_start)(const snd_pcm_hw_params_t*);
+int (*snd_pcm_hw_params_can_disable_period_wakeup)(const snd_pcm_hw_params_t*);
+int (*snd_pcm_hw_params_supports_audio_wallclock_ts)(const snd_pcm_hw_params_t*);
+int (*snd_pcm_hw_params_supports_audio_ts_type)(const snd_pcm_hw_params_t*, int);
+int (*snd_pcm_hw_params_get_rate_numden)(const snd_pcm_hw_params_t*, unsigned int*, unsigned int*);
+int (*snd_pcm_hw_params_get_sbits)(const snd_pcm_hw_params_t*);
+int (*snd_pcm_hw_params_get_fifo_size)(const snd_pcm_hw_params_t*);
+size_t (*snd_pcm_hw_params_sizeof)( void);
+int (*snd_pcm_hw_params_malloc)( snd_pcm_hw_params_t**);
+void (*snd_pcm_hw_params_free)( snd_pcm_hw_params_t*);
+void (*snd_pcm_hw_params_copy)( snd_pcm_hw_params_t*,const snd_pcm_hw_params_t*);
+int (*snd_pcm_hw_params_get_access)(const snd_pcm_hw_params_t*, snd_pcm_access_t*);
+int (*snd_pcm_hw_params_test_access)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_access_t);
+int (*snd_pcm_hw_params_set_access)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_access_t);
+int (*snd_pcm_hw_params_set_access_first)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_access_t*);
+int (*snd_pcm_hw_params_set_access_last)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_access_t*);
+int (*snd_pcm_hw_params_set_access_mask)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_access_mask_t*);
+int (*snd_pcm_hw_params_get_access_mask)( snd_pcm_hw_params_t*, snd_pcm_access_mask_t*);
+int (*snd_pcm_hw_params_get_format)(const snd_pcm_hw_params_t*, snd_pcm_format_t*);
+int (*snd_pcm_hw_params_test_format)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_format_t);
+int (*snd_pcm_hw_params_set_format)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_format_t);
+int (*snd_pcm_hw_params_set_format_first)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_format_t*);
+int (*snd_pcm_hw_params_set_format_last)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_format_t*);
+int (*snd_pcm_hw_params_set_format_mask)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_format_mask_t*);
+void (*snd_pcm_hw_params_get_format_mask)( snd_pcm_hw_params_t*, snd_pcm_format_mask_t*);
+int (*snd_pcm_hw_params_get_subformat)(const snd_pcm_hw_params_t*, snd_pcm_subformat_t*);
+int (*snd_pcm_hw_params_test_subformat)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_subformat_t);
+int (*snd_pcm_hw_params_set_subformat)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_subformat_t);
+int (*snd_pcm_hw_params_set_subformat_first)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_subformat_t*);
+int (*snd_pcm_hw_params_set_subformat_last)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_subformat_t*);
+int (*snd_pcm_hw_params_set_subformat_mask)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_subformat_mask_t*);
+void (*snd_pcm_hw_params_get_subformat_mask)( snd_pcm_hw_params_t*, snd_pcm_subformat_mask_t*);
+int (*snd_pcm_hw_params_get_channels)(const snd_pcm_hw_params_t*, unsigned int*);
+int (*snd_pcm_hw_params_get_channels_min)(const snd_pcm_hw_params_t*, unsigned int*);
+int (*snd_pcm_hw_params_get_channels_max)(const snd_pcm_hw_params_t*, unsigned int*);
+int (*snd_pcm_hw_params_test_channels)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int);
+int (*snd_pcm_hw_params_set_channels)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int);
+int (*snd_pcm_hw_params_set_channels_min)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*);
+int (*snd_pcm_hw_params_set_channels_max)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*);
+int (*snd_pcm_hw_params_set_channels_minmax)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, unsigned int*);
+int (*snd_pcm_hw_params_set_channels_near)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*);
+int (*snd_pcm_hw_params_set_channels_first)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*);
+int (*snd_pcm_hw_params_set_channels_last)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*);
+int (*snd_pcm_hw_params_get_rate)(const snd_pcm_hw_params_t*, unsigned int*, int*);
+int (*snd_pcm_hw_params_get_rate_min)(const snd_pcm_hw_params_t*, unsigned int*, int*);
+int (*snd_pcm_hw_params_get_rate_max)(const snd_pcm_hw_params_t*, unsigned int*, int*);
+int (*snd_pcm_hw_params_test_rate)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int, int);
+int (*snd_pcm_hw_params_set_rate)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int, int);
+int (*snd_pcm_hw_params_set_rate_min)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*);
+int (*snd_pcm_hw_params_set_rate_max)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*);
+int (*snd_pcm_hw_params_set_rate_minmax)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*, unsigned int*, int*);
+int (*snd_pcm_hw_params_set_rate_near)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*);
+int (*snd_pcm_hw_params_set_rate_first)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*);
+int (*snd_pcm_hw_params_set_rate_last)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*);
+int (*snd_pcm_hw_params_set_rate_resample)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int);
+int (*snd_pcm_hw_params_get_rate_resample)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*);
+int (*snd_pcm_hw_params_set_export_buffer)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int);
+int (*snd_pcm_hw_params_get_export_buffer)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*);
+int (*snd_pcm_hw_params_set_period_wakeup)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int);
+int (*snd_pcm_hw_params_get_period_wakeup)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*);
+int (*snd_pcm_hw_params_get_period_time)(const snd_pcm_hw_params_t*, unsigned int*, int*);
+int (*snd_pcm_hw_params_get_period_time_min)(const snd_pcm_hw_params_t*, unsigned int*, int*);
+int (*snd_pcm_hw_params_get_period_time_max)(const snd_pcm_hw_params_t*, unsigned int*, int*);
+int (*snd_pcm_hw_params_test_period_time)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int, int);
+int (*snd_pcm_hw_params_set_period_time)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int, int);
+int (*snd_pcm_hw_params_set_period_time_min)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*);
+int (*snd_pcm_hw_params_set_period_time_max)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*);
+int (*snd_pcm_hw_params_set_period_time_minmax)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*, unsigned int*, int*);
+int (*snd_pcm_hw_params_set_period_time_near)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*);
+int (*snd_pcm_hw_params_set_period_time_first)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*);
+int (*snd_pcm_hw_params_set_period_time_last)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*);
+int (*snd_pcm_hw_params_get_period_size)(const snd_pcm_hw_params_t*, snd_pcm_uframes_t*, int*);
+int (*snd_pcm_hw_params_get_period_size_min)(const snd_pcm_hw_params_t*, snd_pcm_uframes_t*, int*);
+int (*snd_pcm_hw_params_get_period_size_max)(const snd_pcm_hw_params_t*, snd_pcm_uframes_t*, int*);
+int (*snd_pcm_hw_params_test_period_size)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t, int);
+int (*snd_pcm_hw_params_set_period_size)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t, int);
+int (*snd_pcm_hw_params_set_period_size_min)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t*, int*);
+int (*snd_pcm_hw_params_set_period_size_max)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t*, int*);
+int (*snd_pcm_hw_params_set_period_size_minmax)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t*, int*, snd_pcm_uframes_t*, int*);
+int (*snd_pcm_hw_params_set_period_size_near)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t*, int*);
+int (*snd_pcm_hw_params_set_period_size_first)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t*, int*);
+int (*snd_pcm_hw_params_set_period_size_last)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t*, int*);
+int (*snd_pcm_hw_params_set_period_size_integer)( snd_pcm_t*, snd_pcm_hw_params_t*);
+int (*snd_pcm_hw_params_get_periods)(const snd_pcm_hw_params_t*, unsigned int*, int*);
+int (*snd_pcm_hw_params_get_periods_min)(const snd_pcm_hw_params_t*, unsigned int*, int*);
+int (*snd_pcm_hw_params_get_periods_max)(const snd_pcm_hw_params_t*, unsigned int*, int*);
+int (*snd_pcm_hw_params_test_periods)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int, int);
+int (*snd_pcm_hw_params_set_periods)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int, int);
+int (*snd_pcm_hw_params_set_periods_min)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*);
+int (*snd_pcm_hw_params_set_periods_max)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*);
+int (*snd_pcm_hw_params_set_periods_minmax)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*, unsigned int*, int*);
+int (*snd_pcm_hw_params_set_periods_near)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*);
+int (*snd_pcm_hw_params_set_periods_first)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*);
+int (*snd_pcm_hw_params_set_periods_last)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*);
+int (*snd_pcm_hw_params_set_periods_integer)( snd_pcm_t*, snd_pcm_hw_params_t*);
+int (*snd_pcm_hw_params_get_buffer_time)(const snd_pcm_hw_params_t*, unsigned int*, int*);
+int (*snd_pcm_hw_params_get_buffer_time_min)(const snd_pcm_hw_params_t*, unsigned int*, int*);
+int (*snd_pcm_hw_params_get_buffer_time_max)(const snd_pcm_hw_params_t*, unsigned int*, int*);
+int (*snd_pcm_hw_params_test_buffer_time)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int, int);
+int (*snd_pcm_hw_params_set_buffer_time)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int, int);
+int (*snd_pcm_hw_params_set_buffer_time_min)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*);
+int (*snd_pcm_hw_params_set_buffer_time_max)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*);
+int (*snd_pcm_hw_params_set_buffer_time_minmax)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*, unsigned int*, int*);
+int (*snd_pcm_hw_params_set_buffer_time_near)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*);
+int (*snd_pcm_hw_params_set_buffer_time_first)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*);
+int (*snd_pcm_hw_params_set_buffer_time_last)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*);
+int (*snd_pcm_hw_params_get_buffer_size)(const snd_pcm_hw_params_t*, snd_pcm_uframes_t*);
+int (*snd_pcm_hw_params_get_buffer_size_min)(const snd_pcm_hw_params_t*, snd_pcm_uframes_t*);
+int (*snd_pcm_hw_params_get_buffer_size_max)(const snd_pcm_hw_params_t*, snd_pcm_uframes_t*);
+int (*snd_pcm_hw_params_test_buffer_size)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t);
+int (*snd_pcm_hw_params_set_buffer_size)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t);
+int (*snd_pcm_hw_params_set_buffer_size_min)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t*);
+int (*snd_pcm_hw_params_set_buffer_size_max)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t*);
+int (*snd_pcm_hw_params_set_buffer_size_minmax)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t*, snd_pcm_uframes_t*);
+int (*snd_pcm_hw_params_set_buffer_size_near)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t*);
+int (*snd_pcm_hw_params_set_buffer_size_first)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t*);
+int (*snd_pcm_hw_params_set_buffer_size_last)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t*);
+int (*snd_pcm_hw_params_get_min_align)(const snd_pcm_hw_params_t*, snd_pcm_uframes_t*);
+size_t (*snd_pcm_sw_params_sizeof)( void);
+int (*snd_pcm_sw_params_malloc)( snd_pcm_sw_params_t**);
+void (*snd_pcm_sw_params_free)( snd_pcm_sw_params_t*);
+void (*snd_pcm_sw_params_copy)( snd_pcm_sw_params_t*,const snd_pcm_sw_params_t*);
+int (*snd_pcm_sw_params_get_boundary)(const snd_pcm_sw_params_t*, snd_pcm_uframes_t*);
+int (*snd_pcm_sw_params_set_tstamp_mode)( snd_pcm_t*, snd_pcm_sw_params_t*, snd_pcm_tstamp_t);
+int (*snd_pcm_sw_params_get_tstamp_mode)(const snd_pcm_sw_params_t*, snd_pcm_tstamp_t*);
+int (*snd_pcm_sw_params_set_tstamp_type)( snd_pcm_t*, snd_pcm_sw_params_t*, snd_pcm_tstamp_type_t);
+int (*snd_pcm_sw_params_get_tstamp_type)(const snd_pcm_sw_params_t*, snd_pcm_tstamp_type_t*);
+int (*snd_pcm_sw_params_set_avail_min)( snd_pcm_t*, snd_pcm_sw_params_t*, snd_pcm_uframes_t);
+int (*snd_pcm_sw_params_get_avail_min)(const snd_pcm_sw_params_t*, snd_pcm_uframes_t*);
+int (*snd_pcm_sw_params_set_period_event)( snd_pcm_t*, snd_pcm_sw_params_t*, int);
+int (*snd_pcm_sw_params_get_period_event)(const snd_pcm_sw_params_t*, int*);
+int (*snd_pcm_sw_params_set_start_threshold)( snd_pcm_t*, snd_pcm_sw_params_t*, snd_pcm_uframes_t);
+int (*snd_pcm_sw_params_get_start_threshold)(const snd_pcm_sw_params_t*, snd_pcm_uframes_t*);
+int (*snd_pcm_sw_params_set_stop_threshold)( snd_pcm_t*, snd_pcm_sw_params_t*, snd_pcm_uframes_t);
+int (*snd_pcm_sw_params_get_stop_threshold)(const snd_pcm_sw_params_t*, snd_pcm_uframes_t*);
+int (*snd_pcm_sw_params_set_silence_threshold)( snd_pcm_t*, snd_pcm_sw_params_t*, snd_pcm_uframes_t);
+int (*snd_pcm_sw_params_get_silence_threshold)(const snd_pcm_sw_params_t*, snd_pcm_uframes_t*);
+int (*snd_pcm_sw_params_set_silence_size)( snd_pcm_t*, snd_pcm_sw_params_t*, snd_pcm_uframes_t);
+int (*snd_pcm_sw_params_get_silence_size)(const snd_pcm_sw_params_t*, snd_pcm_uframes_t*);
+size_t (*snd_pcm_access_mask_sizeof)( void);
+int (*snd_pcm_access_mask_malloc)( snd_pcm_access_mask_t**);
+void (*snd_pcm_access_mask_free)( snd_pcm_access_mask_t*);
+void (*snd_pcm_access_mask_copy)( snd_pcm_access_mask_t*,const snd_pcm_access_mask_t*);
+void (*snd_pcm_access_mask_none)( snd_pcm_access_mask_t*);
+void (*snd_pcm_access_mask_any)( snd_pcm_access_mask_t*);
+int (*snd_pcm_access_mask_test)(const snd_pcm_access_mask_t*, snd_pcm_access_t);
+int (*snd_pcm_access_mask_empty)(const snd_pcm_access_mask_t*);
+void (*snd_pcm_access_mask_set)( snd_pcm_access_mask_t*, snd_pcm_access_t);
+void (*snd_pcm_access_mask_reset)( snd_pcm_access_mask_t*, snd_pcm_access_t);
+size_t (*snd_pcm_format_mask_sizeof)( void);
+int (*snd_pcm_format_mask_malloc)( snd_pcm_format_mask_t**);
+void (*snd_pcm_format_mask_free)( snd_pcm_format_mask_t*);
+void (*snd_pcm_format_mask_copy)( snd_pcm_format_mask_t*,const snd_pcm_format_mask_t*);
+void (*snd_pcm_format_mask_none)( snd_pcm_format_mask_t*);
+void (*snd_pcm_format_mask_any)( snd_pcm_format_mask_t*);
+int (*snd_pcm_format_mask_test)(const snd_pcm_format_mask_t*, snd_pcm_format_t);
+int (*snd_pcm_format_mask_empty)(const snd_pcm_format_mask_t*);
+void (*snd_pcm_format_mask_set)( snd_pcm_format_mask_t*, snd_pcm_format_t);
+void (*snd_pcm_format_mask_reset)( snd_pcm_format_mask_t*, snd_pcm_format_t);
+size_t (*snd_pcm_subformat_mask_sizeof)( void);
+int (*snd_pcm_subformat_mask_malloc)( snd_pcm_subformat_mask_t**);
+void (*snd_pcm_subformat_mask_free)( snd_pcm_subformat_mask_t*);
+void (*snd_pcm_subformat_mask_copy)( snd_pcm_subformat_mask_t*,const snd_pcm_subformat_mask_t*);
+void (*snd_pcm_subformat_mask_none)( snd_pcm_subformat_mask_t*);
+void (*snd_pcm_subformat_mask_any)( snd_pcm_subformat_mask_t*);
+int (*snd_pcm_subformat_mask_test)(const snd_pcm_subformat_mask_t*, snd_pcm_subformat_t);
+int (*snd_pcm_subformat_mask_empty)(const snd_pcm_subformat_mask_t*);
+void (*snd_pcm_subformat_mask_set)( snd_pcm_subformat_mask_t*, snd_pcm_subformat_t);
+void (*snd_pcm_subformat_mask_reset)( snd_pcm_subformat_mask_t*, snd_pcm_subformat_t);
+size_t (*snd_pcm_status_sizeof)( void);
+int (*snd_pcm_status_malloc)( snd_pcm_status_t**);
+void (*snd_pcm_status_free)( snd_pcm_status_t*);
+void (*snd_pcm_status_copy)( snd_pcm_status_t*,const snd_pcm_status_t*);
+snd_pcm_state_t (*snd_pcm_status_get_state)(const snd_pcm_status_t*);
+void (*snd_pcm_status_get_trigger_tstamp)(const snd_pcm_status_t*, snd_timestamp_t*);
+void (*snd_pcm_status_get_trigger_htstamp)(const snd_pcm_status_t*, snd_htimestamp_t*);
+void (*snd_pcm_status_get_tstamp)(const snd_pcm_status_t*, snd_timestamp_t*);
+void (*snd_pcm_status_get_htstamp)(const snd_pcm_status_t*, snd_htimestamp_t*);
+void (*snd_pcm_status_get_audio_htstamp)(const snd_pcm_status_t*, snd_htimestamp_t*);
+void (*snd_pcm_status_get_driver_htstamp)(const snd_pcm_status_t*, snd_htimestamp_t*);
+void (*snd_pcm_status_get_audio_htstamp_report)(const snd_pcm_status_t*, snd_pcm_audio_tstamp_report_t*);
+void (*snd_pcm_status_set_audio_htstamp_config)( snd_pcm_status_t*, snd_pcm_audio_tstamp_config_t*);
+snd_pcm_sframes_t (*snd_pcm_status_get_delay)(const snd_pcm_status_t*);
+snd_pcm_uframes_t (*snd_pcm_status_get_avail)(const snd_pcm_status_t*);
+snd_pcm_uframes_t (*snd_pcm_status_get_avail_max)(const snd_pcm_status_t*);
+snd_pcm_uframes_t (*snd_pcm_status_get_overrange)(const snd_pcm_status_t*);
+const char* (*snd_pcm_type_name)( snd_pcm_type_t);
+const char* (*snd_pcm_stream_name)(const snd_pcm_stream_t);
+const char* (*snd_pcm_access_name)(const snd_pcm_access_t);
+const char* (*snd_pcm_format_name)(const snd_pcm_format_t);
+const char* (*snd_pcm_format_description)(const snd_pcm_format_t);
+const char* (*snd_pcm_subformat_name)(const snd_pcm_subformat_t);
+const char* (*snd_pcm_subformat_description)(const snd_pcm_subformat_t);
+snd_pcm_format_t (*snd_pcm_format_value)(const char*);
+const char* (*snd_pcm_tstamp_mode_name)(const snd_pcm_tstamp_t);
+const char* (*snd_pcm_state_name)(const snd_pcm_state_t);
+int (*snd_pcm_dump)( snd_pcm_t*, snd_output_t*);
+int (*snd_pcm_dump_hw_setup)( snd_pcm_t*, snd_output_t*);
+int (*snd_pcm_dump_sw_setup)( snd_pcm_t*, snd_output_t*);
+int (*snd_pcm_dump_setup)( snd_pcm_t*, snd_output_t*);
+int (*snd_pcm_hw_params_dump)( snd_pcm_hw_params_t*, snd_output_t*);
+int (*snd_pcm_sw_params_dump)( snd_pcm_sw_params_t*, snd_output_t*);
+int (*snd_pcm_status_dump)( snd_pcm_status_t*, snd_output_t*);
+int (*snd_pcm_mmap_begin)( snd_pcm_t*,const snd_pcm_channel_area_t**, snd_pcm_uframes_t*, snd_pcm_uframes_t*);
+snd_pcm_sframes_t (*snd_pcm_mmap_commit)( snd_pcm_t*, snd_pcm_uframes_t, snd_pcm_uframes_t);
+snd_pcm_sframes_t (*snd_pcm_mmap_writei)( snd_pcm_t*,const void*, snd_pcm_uframes_t);
+snd_pcm_sframes_t (*snd_pcm_mmap_readi)( snd_pcm_t*, void*, snd_pcm_uframes_t);
+snd_pcm_sframes_t (*snd_pcm_mmap_writen)( snd_pcm_t*, void**, snd_pcm_uframes_t);
+snd_pcm_sframes_t (*snd_pcm_mmap_readn)( snd_pcm_t*, void**, snd_pcm_uframes_t);
+int (*snd_pcm_format_signed)( snd_pcm_format_t);
+int (*snd_pcm_format_unsigned)( snd_pcm_format_t);
+int (*snd_pcm_format_linear)( snd_pcm_format_t);
+int (*snd_pcm_format_float)( snd_pcm_format_t);
+int (*snd_pcm_format_little_endian)( snd_pcm_format_t);
+int (*snd_pcm_format_big_endian)( snd_pcm_format_t);
+int (*snd_pcm_format_cpu_endian)( snd_pcm_format_t);
+int (*snd_pcm_format_width)( snd_pcm_format_t);
+int (*snd_pcm_format_physical_width)( snd_pcm_format_t);
+snd_pcm_format_t (*snd_pcm_build_linear_format)( int, int, int, int);
+ssize_t (*snd_pcm_format_size)( snd_pcm_format_t, size_t);
+uint8_t (*snd_pcm_format_silence)( snd_pcm_format_t);
+uint16_t (*snd_pcm_format_silence_16)( snd_pcm_format_t);
+uint32_t (*snd_pcm_format_silence_32)( snd_pcm_format_t);
+uint64_t (*snd_pcm_format_silence_64)( snd_pcm_format_t);
+int (*snd_pcm_format_set_silence)( snd_pcm_format_t, void*, unsigned int);
+snd_pcm_sframes_t (*snd_pcm_bytes_to_frames)( snd_pcm_t*, ssize_t);
+ssize_t (*snd_pcm_frames_to_bytes)( snd_pcm_t*, snd_pcm_sframes_t);
+long (*snd_pcm_bytes_to_samples)( snd_pcm_t*, ssize_t);
+ssize_t (*snd_pcm_samples_to_bytes)( snd_pcm_t*, long);
+int (*snd_pcm_area_silence)(const snd_pcm_channel_area_t*, snd_pcm_uframes_t, unsigned int, snd_pcm_format_t);
+int (*snd_pcm_areas_silence)(const snd_pcm_channel_area_t*, snd_pcm_uframes_t, unsigned int, snd_pcm_uframes_t, snd_pcm_format_t);
+int (*snd_pcm_area_copy)(const snd_pcm_channel_area_t*, snd_pcm_uframes_t,const snd_pcm_channel_area_t*, snd_pcm_uframes_t, unsigned int, snd_pcm_format_t);
+int (*snd_pcm_areas_copy)(const snd_pcm_channel_area_t*, snd_pcm_uframes_t,const snd_pcm_channel_area_t*, snd_pcm_uframes_t, unsigned int, snd_pcm_uframes_t, snd_pcm_format_t);
+int (*snd_pcm_areas_copy_wrap)(const snd_pcm_channel_area_t*, snd_pcm_uframes_t,const snd_pcm_uframes_t,const snd_pcm_channel_area_t*, snd_pcm_uframes_t,const snd_pcm_uframes_t,const unsigned int, snd_pcm_uframes_t,const snd_pcm_format_t);
+snd_pcm_t* (*snd_pcm_hook_get_pcm)( snd_pcm_hook_t*);
+void* (*snd_pcm_hook_get_private)( snd_pcm_hook_t*);
+void (*snd_pcm_hook_set_private)( snd_pcm_hook_t*, void*);
+int (*snd_pcm_hook_add)( snd_pcm_hook_t**, snd_pcm_t*, snd_pcm_hook_type_t, snd_pcm_hook_func_t, void*);
+int (*snd_pcm_hook_remove)( snd_pcm_hook_t*);
+snd_pcm_uframes_t (*snd_pcm_meter_get_bufsize)( snd_pcm_t*);
+unsigned int (*snd_pcm_meter_get_channels)( snd_pcm_t*);
+unsigned int (*snd_pcm_meter_get_rate)( snd_pcm_t*);
+snd_pcm_uframes_t (*snd_pcm_meter_get_now)( snd_pcm_t*);
+snd_pcm_uframes_t (*snd_pcm_meter_get_boundary)( snd_pcm_t*);
+int (*snd_pcm_meter_add_scope)( snd_pcm_t*, snd_pcm_scope_t*);
+snd_pcm_scope_t* (*snd_pcm_meter_search_scope)( snd_pcm_t*,const char*);
+int (*snd_pcm_scope_malloc)( snd_pcm_scope_t**);
+void (*snd_pcm_scope_set_ops)( snd_pcm_scope_t*,const snd_pcm_scope_ops_t*);
+void (*snd_pcm_scope_set_name)( snd_pcm_scope_t*,const char*);
+const char* (*snd_pcm_scope_get_name)( snd_pcm_scope_t*);
+void* (*snd_pcm_scope_get_callback_private)( snd_pcm_scope_t*);
+void (*snd_pcm_scope_set_callback_private)( snd_pcm_scope_t*, void*);
+int (*snd_pcm_scope_s16_open)( snd_pcm_t*,const char*, snd_pcm_scope_t**);
+int16_t* (*snd_pcm_scope_s16_get_channel_buffer)( snd_pcm_scope_t*, unsigned int);
+int (*snd_spcm_init)( snd_pcm_t*, unsigned int, unsigned int, snd_pcm_format_t, snd_pcm_subformat_t, snd_spcm_latency_t, snd_pcm_access_t, snd_spcm_xrun_type_t);
+int (*snd_spcm_init_duplex)( snd_pcm_t*, snd_pcm_t*, unsigned int, unsigned int, snd_pcm_format_t, snd_pcm_subformat_t, snd_spcm_latency_t, snd_pcm_access_t, snd_spcm_xrun_type_t, snd_spcm_duplex_type_t);
+int (*snd_spcm_init_get_params)( snd_pcm_t*, unsigned int*, snd_pcm_uframes_t*, snd_pcm_uframes_t*);
+const char* (*snd_pcm_start_mode_name)( snd_pcm_start_t);
+const char* (*snd_pcm_xrun_mode_name)( snd_pcm_xrun_t);
+int (*snd_pcm_sw_params_set_start_mode)( snd_pcm_t*, snd_pcm_sw_params_t*, snd_pcm_start_t);
+snd_pcm_start_t (*snd_pcm_sw_params_get_start_mode)(const snd_pcm_sw_params_t*);
+int (*snd_pcm_sw_params_set_xrun_mode)( snd_pcm_t*, snd_pcm_sw_params_t*, snd_pcm_xrun_t);
+snd_pcm_xrun_t (*snd_pcm_sw_params_get_xrun_mode)(const snd_pcm_sw_params_t*);
+int (*snd_pcm_sw_params_set_xfer_align)( snd_pcm_t*, snd_pcm_sw_params_t*, snd_pcm_uframes_t);
+int (*snd_pcm_sw_params_get_xfer_align)(const snd_pcm_sw_params_t*, snd_pcm_uframes_t*);
+int (*snd_pcm_sw_params_set_sleep_min)( snd_pcm_t*, snd_pcm_sw_params_t*, unsigned int);
+int (*snd_pcm_sw_params_get_sleep_min)(const snd_pcm_sw_params_t*, unsigned int*);
+int (*snd_pcm_hw_params_get_tick_time)(const snd_pcm_hw_params_t*, unsigned int*, int*);
+int (*snd_pcm_hw_params_get_tick_time_min)(const snd_pcm_hw_params_t*, unsigned int*, int*);
+int (*snd_pcm_hw_params_get_tick_time_max)(const snd_pcm_hw_params_t*, unsigned int*, int*);
+int (*snd_pcm_hw_params_test_tick_time)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int, int);
+int (*snd_pcm_hw_params_set_tick_time)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int, int);
+int (*snd_pcm_hw_params_set_tick_time_min)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*);
+int (*snd_pcm_hw_params_set_tick_time_max)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*);
+int (*snd_pcm_hw_params_set_tick_time_minmax)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*, unsigned int*, int*);
+int (*snd_pcm_hw_params_set_tick_time_near)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*);
+int (*snd_pcm_hw_params_set_tick_time_first)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*);
+int (*snd_pcm_hw_params_set_tick_time_last)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*);
+int (*snd_rawmidi_open)( snd_rawmidi_t**, snd_rawmidi_t**,const char*, int);
+int (*snd_rawmidi_open_lconf)( snd_rawmidi_t**, snd_rawmidi_t**,const char*, int, snd_config_t*);
+int (*snd_rawmidi_close)( snd_rawmidi_t*);
+int (*snd_rawmidi_poll_descriptors_count)( snd_rawmidi_t*);
+int (*snd_rawmidi_poll_descriptors)( snd_rawmidi_t*,struct pollfd*, unsigned int);
+int (*snd_rawmidi_poll_descriptors_revents)( snd_rawmidi_t*,struct pollfd*, unsigned int, unsigned short*);
+int (*snd_rawmidi_nonblock)( snd_rawmidi_t*, int);
+size_t (*snd_rawmidi_info_sizeof)( void);
+int (*snd_rawmidi_info_malloc)( snd_rawmidi_info_t**);
+void (*snd_rawmidi_info_free)( snd_rawmidi_info_t*);
+void (*snd_rawmidi_info_copy)( snd_rawmidi_info_t*,const snd_rawmidi_info_t*);
+unsigned int (*snd_rawmidi_info_get_device)(const snd_rawmidi_info_t*);
+unsigned int (*snd_rawmidi_info_get_subdevice)(const snd_rawmidi_info_t*);
+snd_rawmidi_stream_t (*snd_rawmidi_info_get_stream)(const snd_rawmidi_info_t*);
+int (*snd_rawmidi_info_get_card)(const snd_rawmidi_info_t*);
+unsigned int (*snd_rawmidi_info_get_flags)(const snd_rawmidi_info_t*);
+const char* (*snd_rawmidi_info_get_id)(const snd_rawmidi_info_t*);
+const char* (*snd_rawmidi_info_get_name)(const snd_rawmidi_info_t*);
+const char* (*snd_rawmidi_info_get_subdevice_name)(const snd_rawmidi_info_t*);
+unsigned int (*snd_rawmidi_info_get_subdevices_count)(const snd_rawmidi_info_t*);
+unsigned int (*snd_rawmidi_info_get_subdevices_avail)(const snd_rawmidi_info_t*);
+void (*snd_rawmidi_info_set_device)( snd_rawmidi_info_t*, unsigned int);
+void (*snd_rawmidi_info_set_subdevice)( snd_rawmidi_info_t*, unsigned int);
+void (*snd_rawmidi_info_set_stream)( snd_rawmidi_info_t*, snd_rawmidi_stream_t);
+int (*snd_rawmidi_info)( snd_rawmidi_t*, snd_rawmidi_info_t*);
+size_t (*snd_rawmidi_params_sizeof)( void);
+int (*snd_rawmidi_params_malloc)( snd_rawmidi_params_t**);
+void (*snd_rawmidi_params_free)( snd_rawmidi_params_t*);
+void (*snd_rawmidi_params_copy)( snd_rawmidi_params_t*,const snd_rawmidi_params_t*);
+int (*snd_rawmidi_params_set_buffer_size)( snd_rawmidi_t*, snd_rawmidi_params_t*, size_t);
+size_t (*snd_rawmidi_params_get_buffer_size)(const snd_rawmidi_params_t*);
+int (*snd_rawmidi_params_set_avail_min)( snd_rawmidi_t*, snd_rawmidi_params_t*, size_t);
+size_t (*snd_rawmidi_params_get_avail_min)(const snd_rawmidi_params_t*);
+int (*snd_rawmidi_params_set_no_active_sensing)( snd_rawmidi_t*, snd_rawmidi_params_t*, int);
+int (*snd_rawmidi_params_get_no_active_sensing)(const snd_rawmidi_params_t*);
+int (*snd_rawmidi_params)( snd_rawmidi_t*, snd_rawmidi_params_t*);
+int (*snd_rawmidi_params_current)( snd_rawmidi_t*, snd_rawmidi_params_t*);
+size_t (*snd_rawmidi_status_sizeof)( void);
+int (*snd_rawmidi_status_malloc)( snd_rawmidi_status_t**);
+void (*snd_rawmidi_status_free)( snd_rawmidi_status_t*);
+void (*snd_rawmidi_status_copy)( snd_rawmidi_status_t*,const snd_rawmidi_status_t*);
+void (*snd_rawmidi_status_get_tstamp)(const snd_rawmidi_status_t*, snd_htimestamp_t*);
+size_t (*snd_rawmidi_status_get_avail)(const snd_rawmidi_status_t*);
+size_t (*snd_rawmidi_status_get_xruns)(const snd_rawmidi_status_t*);
+int (*snd_rawmidi_status)( snd_rawmidi_t*, snd_rawmidi_status_t*);
+int (*snd_rawmidi_drain)( snd_rawmidi_t*);
+int (*snd_rawmidi_drop)( snd_rawmidi_t*);
+ssize_t (*snd_rawmidi_write)( snd_rawmidi_t*,const void*, size_t);
+ssize_t (*snd_rawmidi_read)( snd_rawmidi_t*, void*, size_t);
+const char* (*snd_rawmidi_name)( snd_rawmidi_t*);
+snd_rawmidi_type_t (*snd_rawmidi_type)( snd_rawmidi_t*);
+snd_rawmidi_stream_t (*snd_rawmidi_stream)( snd_rawmidi_t*);
+int (*snd_timer_query_open)( snd_timer_query_t**,const char*, int);
+int (*snd_timer_query_open_lconf)( snd_timer_query_t**,const char*, int, snd_config_t*);
+int (*snd_timer_query_close)( snd_timer_query_t*);
+int (*snd_timer_query_next_device)( snd_timer_query_t*, snd_timer_id_t*);
+int (*snd_timer_query_info)( snd_timer_query_t*, snd_timer_ginfo_t*);
+int (*snd_timer_query_params)( snd_timer_query_t*, snd_timer_gparams_t*);
+int (*snd_timer_query_status)( snd_timer_query_t*, snd_timer_gstatus_t*);
+int (*snd_timer_open)( snd_timer_t**,const char*, int);
+int (*snd_timer_open_lconf)( snd_timer_t**,const char*, int, snd_config_t*);
+int (*snd_timer_close)( snd_timer_t*);
+int (*snd_async_add_timer_handler)( snd_async_handler_t**, snd_timer_t*, snd_async_callback_t, void*);
+snd_timer_t* (*snd_async_handler_get_timer)( snd_async_handler_t*);
+int (*snd_timer_poll_descriptors_count)( snd_timer_t*);
+int (*snd_timer_poll_descriptors)( snd_timer_t*,struct pollfd*, unsigned int);
+int (*snd_timer_poll_descriptors_revents)( snd_timer_t*,struct pollfd*, unsigned int, unsigned short*);
+int (*snd_timer_info)( snd_timer_t*, snd_timer_info_t*);
+int (*snd_timer_params)( snd_timer_t*, snd_timer_params_t*);
+int (*snd_timer_status)( snd_timer_t*, snd_timer_status_t*);
+int (*snd_timer_start)( snd_timer_t*);
+int (*snd_timer_stop)( snd_timer_t*);
+int (*snd_timer_continue)( snd_timer_t*);
+ssize_t (*snd_timer_read)( snd_timer_t*, void*, size_t);
+size_t (*snd_timer_id_sizeof)( void);
+int (*snd_timer_id_malloc)( snd_timer_id_t**);
+void (*snd_timer_id_free)( snd_timer_id_t*);
+void (*snd_timer_id_copy)( snd_timer_id_t*,const snd_timer_id_t*);
+void (*snd_timer_id_set_class)( snd_timer_id_t*, int);
+int (*snd_timer_id_get_class)( snd_timer_id_t*);
+void (*snd_timer_id_set_sclass)( snd_timer_id_t*, int);
+int (*snd_timer_id_get_sclass)( snd_timer_id_t*);
+void (*snd_timer_id_set_card)( snd_timer_id_t*, int);
+int (*snd_timer_id_get_card)( snd_timer_id_t*);
+void (*snd_timer_id_set_device)( snd_timer_id_t*, int);
+int (*snd_timer_id_get_device)( snd_timer_id_t*);
+void (*snd_timer_id_set_subdevice)( snd_timer_id_t*, int);
+int (*snd_timer_id_get_subdevice)( snd_timer_id_t*);
+size_t (*snd_timer_ginfo_sizeof)( void);
+int (*snd_timer_ginfo_malloc)( snd_timer_ginfo_t**);
+void (*snd_timer_ginfo_free)( snd_timer_ginfo_t*);
+void (*snd_timer_ginfo_copy)( snd_timer_ginfo_t*,const snd_timer_ginfo_t*);
+int (*snd_timer_ginfo_set_tid)( snd_timer_ginfo_t*, snd_timer_id_t*);
+snd_timer_id_t* (*snd_timer_ginfo_get_tid)( snd_timer_ginfo_t*);
+unsigned int (*snd_timer_ginfo_get_flags)( snd_timer_ginfo_t*);
+int (*snd_timer_ginfo_get_card)( snd_timer_ginfo_t*);
+char* (*snd_timer_ginfo_get_id)( snd_timer_ginfo_t*);
+char* (*snd_timer_ginfo_get_name)( snd_timer_ginfo_t*);
+unsigned long (*snd_timer_ginfo_get_resolution)( snd_timer_ginfo_t*);
+unsigned long (*snd_timer_ginfo_get_resolution_min)( snd_timer_ginfo_t*);
+unsigned long (*snd_timer_ginfo_get_resolution_max)( snd_timer_ginfo_t*);
+unsigned int (*snd_timer_ginfo_get_clients)( snd_timer_ginfo_t*);
+size_t (*snd_timer_info_sizeof)( void);
+int (*snd_timer_info_malloc)( snd_timer_info_t**);
+void (*snd_timer_info_free)( snd_timer_info_t*);
+void (*snd_timer_info_copy)( snd_timer_info_t*,const snd_timer_info_t*);
+int (*snd_timer_info_is_slave)( snd_timer_info_t*);
+int (*snd_timer_info_get_card)( snd_timer_info_t*);
+const char* (*snd_timer_info_get_id)( snd_timer_info_t*);
+const char* (*snd_timer_info_get_name)( snd_timer_info_t*);
+long (*snd_timer_info_get_resolution)( snd_timer_info_t*);
+size_t (*snd_timer_params_sizeof)( void);
+int (*snd_timer_params_malloc)( snd_timer_params_t**);
+void (*snd_timer_params_free)( snd_timer_params_t*);
+void (*snd_timer_params_copy)( snd_timer_params_t*,const snd_timer_params_t*);
+int (*snd_timer_params_set_auto_start)( snd_timer_params_t*, int);
+int (*snd_timer_params_get_auto_start)( snd_timer_params_t*);
+int (*snd_timer_params_set_exclusive)( snd_timer_params_t*, int);
+int (*snd_timer_params_get_exclusive)( snd_timer_params_t*);
+int (*snd_timer_params_set_early_event)( snd_timer_params_t*, int);
+int (*snd_timer_params_get_early_event)( snd_timer_params_t*);
+void (*snd_timer_params_set_ticks)( snd_timer_params_t*, long);
+long (*snd_timer_params_get_ticks)( snd_timer_params_t*);
+void (*snd_timer_params_set_queue_size)( snd_timer_params_t*, long);
+long (*snd_timer_params_get_queue_size)( snd_timer_params_t*);
+void (*snd_timer_params_set_filter)( snd_timer_params_t*, unsigned int);
+unsigned int (*snd_timer_params_get_filter)( snd_timer_params_t*);
+size_t (*snd_timer_status_sizeof)( void);
+int (*snd_timer_status_malloc)( snd_timer_status_t**);
+void (*snd_timer_status_free)( snd_timer_status_t*);
+void (*snd_timer_status_copy)( snd_timer_status_t*,const snd_timer_status_t*);
+snd_htimestamp_t (*snd_timer_status_get_timestamp)( snd_timer_status_t*);
+long (*snd_timer_status_get_resolution)( snd_timer_status_t*);
+long (*snd_timer_status_get_lost)( snd_timer_status_t*);
+long (*snd_timer_status_get_overrun)( snd_timer_status_t*);
+long (*snd_timer_status_get_queue)( snd_timer_status_t*);
+long (*snd_timer_info_get_ticks)( snd_timer_info_t*);
+int (*snd_hwdep_open)( snd_hwdep_t**,const char*, int);
+int (*snd_hwdep_close)( snd_hwdep_t*);
+int (*snd_hwdep_poll_descriptors)( snd_hwdep_t*,struct pollfd*, unsigned int);
+int (*snd_hwdep_poll_descriptors_count)( snd_hwdep_t*);
+int (*snd_hwdep_poll_descriptors_revents)( snd_hwdep_t*,struct pollfd*, unsigned int, unsigned short*);
+int (*snd_hwdep_nonblock)( snd_hwdep_t*, int);
+int (*snd_hwdep_info)( snd_hwdep_t*, snd_hwdep_info_t*);
+int (*snd_hwdep_dsp_status)( snd_hwdep_t*, snd_hwdep_dsp_status_t*);
+int (*snd_hwdep_dsp_load)( snd_hwdep_t*, snd_hwdep_dsp_image_t*);
+int (*snd_hwdep_ioctl)( snd_hwdep_t*, unsigned int, void*);
+ssize_t (*snd_hwdep_write)( snd_hwdep_t*,const void*, size_t);
+ssize_t (*snd_hwdep_read)( snd_hwdep_t*, void*, size_t);
+size_t (*snd_hwdep_info_sizeof)( void);
+int (*snd_hwdep_info_malloc)( snd_hwdep_info_t**);
+void (*snd_hwdep_info_free)( snd_hwdep_info_t*);
+void (*snd_hwdep_info_copy)( snd_hwdep_info_t*,const snd_hwdep_info_t*);
+unsigned int (*snd_hwdep_info_get_device)(const snd_hwdep_info_t*);
+int (*snd_hwdep_info_get_card)(const snd_hwdep_info_t*);
+const char* (*snd_hwdep_info_get_id)(const snd_hwdep_info_t*);
+const char* (*snd_hwdep_info_get_name)(const snd_hwdep_info_t*);
+snd_hwdep_iface_t (*snd_hwdep_info_get_iface)(const snd_hwdep_info_t*);
+void (*snd_hwdep_info_set_device)( snd_hwdep_info_t*, unsigned int);
+size_t (*snd_hwdep_dsp_status_sizeof)( void);
+int (*snd_hwdep_dsp_status_malloc)( snd_hwdep_dsp_status_t**);
+void (*snd_hwdep_dsp_status_free)( snd_hwdep_dsp_status_t*);
+void (*snd_hwdep_dsp_status_copy)( snd_hwdep_dsp_status_t*,const snd_hwdep_dsp_status_t*);
+unsigned int (*snd_hwdep_dsp_status_get_version)(const snd_hwdep_dsp_status_t*);
+const char* (*snd_hwdep_dsp_status_get_id)(const snd_hwdep_dsp_status_t*);
+unsigned int (*snd_hwdep_dsp_status_get_num_dsps)(const snd_hwdep_dsp_status_t*);
+unsigned int (*snd_hwdep_dsp_status_get_dsp_loaded)(const snd_hwdep_dsp_status_t*);
+unsigned int (*snd_hwdep_dsp_status_get_chip_ready)(const snd_hwdep_dsp_status_t*);
+size_t (*snd_hwdep_dsp_image_sizeof)( void);
+int (*snd_hwdep_dsp_image_malloc)( snd_hwdep_dsp_image_t**);
+void (*snd_hwdep_dsp_image_free)( snd_hwdep_dsp_image_t*);
+void (*snd_hwdep_dsp_image_copy)( snd_hwdep_dsp_image_t*,const snd_hwdep_dsp_image_t*);
+unsigned int (*snd_hwdep_dsp_image_get_index)(const snd_hwdep_dsp_image_t*);
+const char* (*snd_hwdep_dsp_image_get_name)(const snd_hwdep_dsp_image_t*);
+const void* (*snd_hwdep_dsp_image_get_image)(const snd_hwdep_dsp_image_t*);
+size_t (*snd_hwdep_dsp_image_get_length)(const snd_hwdep_dsp_image_t*);
+void (*snd_hwdep_dsp_image_set_index)( snd_hwdep_dsp_image_t*, unsigned int);
+void (*snd_hwdep_dsp_image_set_name)( snd_hwdep_dsp_image_t*,const char*);
+void (*snd_hwdep_dsp_image_set_image)( snd_hwdep_dsp_image_t*, void*);
+void (*snd_hwdep_dsp_image_set_length)( snd_hwdep_dsp_image_t*, size_t);
+int (*snd_card_load)( int);
+int (*snd_card_next)( int*);
+int (*snd_card_get_index)(const char*);
+int (*snd_card_get_name)( int, char**);
+int (*snd_card_get_longname)( int, char**);
+int (*snd_device_name_hint)( int,const char*, void***);
+int (*snd_device_name_free_hint)( void**);
+char* (*snd_device_name_get_hint)(const void*,const char*);
+int (*snd_ctl_open)( snd_ctl_t**,const char*, int);
+int (*snd_ctl_open_lconf)( snd_ctl_t**,const char*, int, snd_config_t*);
+int (*snd_ctl_open_fallback)( snd_ctl_t**, snd_config_t*,const char*,const char*, int);
+int (*snd_ctl_close)( snd_ctl_t*);
+int (*snd_ctl_nonblock)( snd_ctl_t*, int);
+int (*snd_async_add_ctl_handler)( snd_async_handler_t**, snd_ctl_t*, snd_async_callback_t, void*);
+snd_ctl_t* (*snd_async_handler_get_ctl)( snd_async_handler_t*);
+int (*snd_ctl_poll_descriptors_count)( snd_ctl_t*);
+int (*snd_ctl_poll_descriptors)( snd_ctl_t*,struct pollfd*, unsigned int);
+int (*snd_ctl_poll_descriptors_revents)( snd_ctl_t*,struct pollfd*, unsigned int, unsigned short*);
+int (*snd_ctl_subscribe_events)( snd_ctl_t*, int);
+int (*snd_ctl_card_info)( snd_ctl_t*, snd_ctl_card_info_t*);
+int (*snd_ctl_elem_list)( snd_ctl_t*, snd_ctl_elem_list_t*);
+int (*snd_ctl_elem_info)( snd_ctl_t*, snd_ctl_elem_info_t*);
+int (*snd_ctl_elem_read)( snd_ctl_t*, snd_ctl_elem_value_t*);
+int (*snd_ctl_elem_write)( snd_ctl_t*, snd_ctl_elem_value_t*);
+int (*snd_ctl_elem_lock)( snd_ctl_t*, snd_ctl_elem_id_t*);
+int (*snd_ctl_elem_unlock)( snd_ctl_t*, snd_ctl_elem_id_t*);
+int (*snd_ctl_elem_tlv_read)( snd_ctl_t*,const snd_ctl_elem_id_t*, unsigned int*, unsigned int);
+int (*snd_ctl_elem_tlv_write)( snd_ctl_t*,const snd_ctl_elem_id_t*,const unsigned int*);
+int (*snd_ctl_elem_tlv_command)( snd_ctl_t*,const snd_ctl_elem_id_t*,const unsigned int*);
+int (*snd_ctl_hwdep_next_device)( snd_ctl_t*, int*);
+int (*snd_ctl_hwdep_info)( snd_ctl_t*, snd_hwdep_info_t*);
+int (*snd_ctl_pcm_next_device)( snd_ctl_t*, int*);
+int (*snd_ctl_pcm_info)( snd_ctl_t*, snd_pcm_info_t*);
+int (*snd_ctl_pcm_prefer_subdevice)( snd_ctl_t*, int);
+int (*snd_ctl_rawmidi_next_device)( snd_ctl_t*, int*);
+int (*snd_ctl_rawmidi_info)( snd_ctl_t*, snd_rawmidi_info_t*);
+int (*snd_ctl_rawmidi_prefer_subdevice)( snd_ctl_t*, int);
+int (*snd_ctl_set_power_state)( snd_ctl_t*, unsigned int);
+int (*snd_ctl_get_power_state)( snd_ctl_t*, unsigned int*);
+int (*snd_ctl_read)( snd_ctl_t*, snd_ctl_event_t*);
+int (*snd_ctl_wait)( snd_ctl_t*, int);
+const char* (*snd_ctl_name)( snd_ctl_t*);
+snd_ctl_type_t (*snd_ctl_type)( snd_ctl_t*);
+const char* (*snd_ctl_elem_type_name)( snd_ctl_elem_type_t);
+const char* (*snd_ctl_elem_iface_name)( snd_ctl_elem_iface_t);
+const char* (*snd_ctl_event_type_name)( snd_ctl_event_type_t);
+unsigned int (*snd_ctl_event_elem_get_mask)(const snd_ctl_event_t*);
+unsigned int (*snd_ctl_event_elem_get_numid)(const snd_ctl_event_t*);
+void (*snd_ctl_event_elem_get_id)(const snd_ctl_event_t*, snd_ctl_elem_id_t*);
+snd_ctl_elem_iface_t (*snd_ctl_event_elem_get_interface)(const snd_ctl_event_t*);
+unsigned int (*snd_ctl_event_elem_get_device)(const snd_ctl_event_t*);
+unsigned int (*snd_ctl_event_elem_get_subdevice)(const snd_ctl_event_t*);
+const char* (*snd_ctl_event_elem_get_name)(const snd_ctl_event_t*);
+unsigned int (*snd_ctl_event_elem_get_index)(const snd_ctl_event_t*);
+int (*snd_ctl_elem_list_alloc_space)( snd_ctl_elem_list_t*, unsigned int);
+void (*snd_ctl_elem_list_free_space)( snd_ctl_elem_list_t*);
+char* (*snd_ctl_ascii_elem_id_get)( snd_ctl_elem_id_t*);
+int (*snd_ctl_ascii_elem_id_parse)( snd_ctl_elem_id_t*,const char*);
+int (*snd_ctl_ascii_value_parse)( snd_ctl_t*, snd_ctl_elem_value_t*, snd_ctl_elem_info_t*,const char*);
+size_t (*snd_ctl_elem_id_sizeof)( void);
+int (*snd_ctl_elem_id_malloc)( snd_ctl_elem_id_t**);
+void (*snd_ctl_elem_id_free)( snd_ctl_elem_id_t*);
+void (*snd_ctl_elem_id_clear)( snd_ctl_elem_id_t*);
+void (*snd_ctl_elem_id_copy)( snd_ctl_elem_id_t*,const snd_ctl_elem_id_t*);
+unsigned int (*snd_ctl_elem_id_get_numid)(const snd_ctl_elem_id_t*);
+snd_ctl_elem_iface_t (*snd_ctl_elem_id_get_interface)(const snd_ctl_elem_id_t*);
+unsigned int (*snd_ctl_elem_id_get_device)(const snd_ctl_elem_id_t*);
+unsigned int (*snd_ctl_elem_id_get_subdevice)(const snd_ctl_elem_id_t*);
+const char* (*snd_ctl_elem_id_get_name)(const snd_ctl_elem_id_t*);
+unsigned int (*snd_ctl_elem_id_get_index)(const snd_ctl_elem_id_t*);
+void (*snd_ctl_elem_id_set_numid)( snd_ctl_elem_id_t*, unsigned int);
+void (*snd_ctl_elem_id_set_interface)( snd_ctl_elem_id_t*, snd_ctl_elem_iface_t);
+void (*snd_ctl_elem_id_set_device)( snd_ctl_elem_id_t*, unsigned int);
+void (*snd_ctl_elem_id_set_subdevice)( snd_ctl_elem_id_t*, unsigned int);
+void (*snd_ctl_elem_id_set_name)( snd_ctl_elem_id_t*,const char*);
+void (*snd_ctl_elem_id_set_index)( snd_ctl_elem_id_t*, unsigned int);
+size_t (*snd_ctl_card_info_sizeof)( void);
+int (*snd_ctl_card_info_malloc)( snd_ctl_card_info_t**);
+void (*snd_ctl_card_info_free)( snd_ctl_card_info_t*);
+void (*snd_ctl_card_info_clear)( snd_ctl_card_info_t*);
+void (*snd_ctl_card_info_copy)( snd_ctl_card_info_t*,const snd_ctl_card_info_t*);
+int (*snd_ctl_card_info_get_card)(const snd_ctl_card_info_t*);
+const char* (*snd_ctl_card_info_get_id)(const snd_ctl_card_info_t*);
+const char* (*snd_ctl_card_info_get_driver)(const snd_ctl_card_info_t*);
+const char* (*snd_ctl_card_info_get_name)(const snd_ctl_card_info_t*);
+const char* (*snd_ctl_card_info_get_longname)(const snd_ctl_card_info_t*);
+const char* (*snd_ctl_card_info_get_mixername)(const snd_ctl_card_info_t*);
+const char* (*snd_ctl_card_info_get_components)(const snd_ctl_card_info_t*);
+size_t (*snd_ctl_event_sizeof)( void);
+int (*snd_ctl_event_malloc)( snd_ctl_event_t**);
+void (*snd_ctl_event_free)( snd_ctl_event_t*);
+void (*snd_ctl_event_clear)( snd_ctl_event_t*);
+void (*snd_ctl_event_copy)( snd_ctl_event_t*,const snd_ctl_event_t*);
+snd_ctl_event_type_t (*snd_ctl_event_get_type)(const snd_ctl_event_t*);
+size_t (*snd_ctl_elem_list_sizeof)( void);
+int (*snd_ctl_elem_list_malloc)( snd_ctl_elem_list_t**);
+void (*snd_ctl_elem_list_free)( snd_ctl_elem_list_t*);
+void (*snd_ctl_elem_list_clear)( snd_ctl_elem_list_t*);
+void (*snd_ctl_elem_list_copy)( snd_ctl_elem_list_t*,const snd_ctl_elem_list_t*);
+void (*snd_ctl_elem_list_set_offset)( snd_ctl_elem_list_t*, unsigned int);
+unsigned int (*snd_ctl_elem_list_get_used)(const snd_ctl_elem_list_t*);
+unsigned int (*snd_ctl_elem_list_get_count)(const snd_ctl_elem_list_t*);
+void (*snd_ctl_elem_list_get_id)(const snd_ctl_elem_list_t*, unsigned int, snd_ctl_elem_id_t*);
+unsigned int (*snd_ctl_elem_list_get_numid)(const snd_ctl_elem_list_t*, unsigned int);
+snd_ctl_elem_iface_t (*snd_ctl_elem_list_get_interface)(const snd_ctl_elem_list_t*, unsigned int);
+unsigned int (*snd_ctl_elem_list_get_device)(const snd_ctl_elem_list_t*, unsigned int);
+unsigned int (*snd_ctl_elem_list_get_subdevice)(const snd_ctl_elem_list_t*, unsigned int);
+const char* (*snd_ctl_elem_list_get_name)(const snd_ctl_elem_list_t*, unsigned int);
+unsigned int (*snd_ctl_elem_list_get_index)(const snd_ctl_elem_list_t*, unsigned int);
+size_t (*snd_ctl_elem_info_sizeof)( void);
+int (*snd_ctl_elem_info_malloc)( snd_ctl_elem_info_t**);
+void (*snd_ctl_elem_info_free)( snd_ctl_elem_info_t*);
+void (*snd_ctl_elem_info_clear)( snd_ctl_elem_info_t*);
+void (*snd_ctl_elem_info_copy)( snd_ctl_elem_info_t*,const snd_ctl_elem_info_t*);
+snd_ctl_elem_type_t (*snd_ctl_elem_info_get_type)(const snd_ctl_elem_info_t*);
+int (*snd_ctl_elem_info_is_readable)(const snd_ctl_elem_info_t*);
+int (*snd_ctl_elem_info_is_writable)(const snd_ctl_elem_info_t*);
+int (*snd_ctl_elem_info_is_volatile)(const snd_ctl_elem_info_t*);
+int (*snd_ctl_elem_info_is_inactive)(const snd_ctl_elem_info_t*);
+int (*snd_ctl_elem_info_is_locked)(const snd_ctl_elem_info_t*);
+int (*snd_ctl_elem_info_is_tlv_readable)(const snd_ctl_elem_info_t*);
+int (*snd_ctl_elem_info_is_tlv_writable)(const snd_ctl_elem_info_t*);
+int (*snd_ctl_elem_info_is_tlv_commandable)(const snd_ctl_elem_info_t*);
+int (*snd_ctl_elem_info_is_owner)(const snd_ctl_elem_info_t*);
+int (*snd_ctl_elem_info_is_user)(const snd_ctl_elem_info_t*);
+pid_t (*snd_ctl_elem_info_get_owner)(const snd_ctl_elem_info_t*);
+unsigned int (*snd_ctl_elem_info_get_count)(const snd_ctl_elem_info_t*);
+long (*snd_ctl_elem_info_get_min)(const snd_ctl_elem_info_t*);
+long (*snd_ctl_elem_info_get_max)(const snd_ctl_elem_info_t*);
+long (*snd_ctl_elem_info_get_step)(const snd_ctl_elem_info_t*);
+long long (*snd_ctl_elem_info_get_min64)(const snd_ctl_elem_info_t*);
+long long (*snd_ctl_elem_info_get_max64)(const snd_ctl_elem_info_t*);
+long long (*snd_ctl_elem_info_get_step64)(const snd_ctl_elem_info_t*);
+unsigned int (*snd_ctl_elem_info_get_items)(const snd_ctl_elem_info_t*);
+void (*snd_ctl_elem_info_set_item)( snd_ctl_elem_info_t*, unsigned int);
+const char* (*snd_ctl_elem_info_get_item_name)(const snd_ctl_elem_info_t*);
+int (*snd_ctl_elem_info_get_dimensions)(const snd_ctl_elem_info_t*);
+int (*snd_ctl_elem_info_get_dimension)(const snd_ctl_elem_info_t*, unsigned int);
+int (*snd_ctl_elem_info_set_dimension)( snd_ctl_elem_info_t*,const int [4]);
+void (*snd_ctl_elem_info_get_id)(const snd_ctl_elem_info_t*, snd_ctl_elem_id_t*);
+unsigned int (*snd_ctl_elem_info_get_numid)(const snd_ctl_elem_info_t*);
+snd_ctl_elem_iface_t (*snd_ctl_elem_info_get_interface)(const snd_ctl_elem_info_t*);
+unsigned int (*snd_ctl_elem_info_get_device)(const snd_ctl_elem_info_t*);
+unsigned int (*snd_ctl_elem_info_get_subdevice)(const snd_ctl_elem_info_t*);
+const char* (*snd_ctl_elem_info_get_name)(const snd_ctl_elem_info_t*);
+unsigned int (*snd_ctl_elem_info_get_index)(const snd_ctl_elem_info_t*);
+void (*snd_ctl_elem_info_set_id)( snd_ctl_elem_info_t*,const snd_ctl_elem_id_t*);
+void (*snd_ctl_elem_info_set_numid)( snd_ctl_elem_info_t*, unsigned int);
+void (*snd_ctl_elem_info_set_interface)( snd_ctl_elem_info_t*, snd_ctl_elem_iface_t);
+void (*snd_ctl_elem_info_set_device)( snd_ctl_elem_info_t*, unsigned int);
+void (*snd_ctl_elem_info_set_subdevice)( snd_ctl_elem_info_t*, unsigned int);
+void (*snd_ctl_elem_info_set_name)( snd_ctl_elem_info_t*,const char*);
+void (*snd_ctl_elem_info_set_index)( snd_ctl_elem_info_t*, unsigned int);
+int (*snd_ctl_add_integer_elem_set)( snd_ctl_t*, snd_ctl_elem_info_t*, unsigned int, unsigned int, long, long, long);
+int (*snd_ctl_add_integer64_elem_set)( snd_ctl_t*, snd_ctl_elem_info_t*, unsigned int, unsigned int, long long, long long, long long);
+int (*snd_ctl_add_boolean_elem_set)( snd_ctl_t*, snd_ctl_elem_info_t*, unsigned int, unsigned int);
+int (*snd_ctl_add_enumerated_elem_set)( snd_ctl_t*, snd_ctl_elem_info_t*, unsigned int, unsigned int, unsigned int,const char* []);
+int (*snd_ctl_add_bytes_elem_set)( snd_ctl_t*, snd_ctl_elem_info_t*, unsigned int, unsigned int);
+int (*snd_ctl_elem_add_integer)( snd_ctl_t*,const snd_ctl_elem_id_t*, unsigned int, long, long, long);
+int (*snd_ctl_elem_add_integer64)( snd_ctl_t*,const snd_ctl_elem_id_t*, unsigned int, long long, long long, long long);
+int (*snd_ctl_elem_add_boolean)( snd_ctl_t*,const snd_ctl_elem_id_t*, unsigned int);
+int (*snd_ctl_elem_add_enumerated)( snd_ctl_t*,const snd_ctl_elem_id_t*, unsigned int, unsigned int,const char* []);
+int (*snd_ctl_elem_add_iec958)( snd_ctl_t*,const snd_ctl_elem_id_t*);
+int (*snd_ctl_elem_remove)( snd_ctl_t*, snd_ctl_elem_id_t*);
+size_t (*snd_ctl_elem_value_sizeof)( void);
+int (*snd_ctl_elem_value_malloc)( snd_ctl_elem_value_t**);
+void (*snd_ctl_elem_value_free)( snd_ctl_elem_value_t*);
+void (*snd_ctl_elem_value_clear)( snd_ctl_elem_value_t*);
+void (*snd_ctl_elem_value_copy)( snd_ctl_elem_value_t*,const snd_ctl_elem_value_t*);
+int (*snd_ctl_elem_value_compare)( snd_ctl_elem_value_t*,const snd_ctl_elem_value_t*);
+void (*snd_ctl_elem_value_get_id)(const snd_ctl_elem_value_t*, snd_ctl_elem_id_t*);
+unsigned int (*snd_ctl_elem_value_get_numid)(const snd_ctl_elem_value_t*);
+snd_ctl_elem_iface_t (*snd_ctl_elem_value_get_interface)(const snd_ctl_elem_value_t*);
+unsigned int (*snd_ctl_elem_value_get_device)(const snd_ctl_elem_value_t*);
+unsigned int (*snd_ctl_elem_value_get_subdevice)(const snd_ctl_elem_value_t*);
+const char* (*snd_ctl_elem_value_get_name)(const snd_ctl_elem_value_t*);
+unsigned int (*snd_ctl_elem_value_get_index)(const snd_ctl_elem_value_t*);
+void (*snd_ctl_elem_value_set_id)( snd_ctl_elem_value_t*,const snd_ctl_elem_id_t*);
+void (*snd_ctl_elem_value_set_numid)( snd_ctl_elem_value_t*, unsigned int);
+void (*snd_ctl_elem_value_set_interface)( snd_ctl_elem_value_t*, snd_ctl_elem_iface_t);
+void (*snd_ctl_elem_value_set_device)( snd_ctl_elem_value_t*, unsigned int);
+void (*snd_ctl_elem_value_set_subdevice)( snd_ctl_elem_value_t*, unsigned int);
+void (*snd_ctl_elem_value_set_name)( snd_ctl_elem_value_t*,const char*);
+void (*snd_ctl_elem_value_set_index)( snd_ctl_elem_value_t*, unsigned int);
+int (*snd_ctl_elem_value_get_boolean)(const snd_ctl_elem_value_t*, unsigned int);
+long (*snd_ctl_elem_value_get_integer)(const snd_ctl_elem_value_t*, unsigned int);
+long long (*snd_ctl_elem_value_get_integer64)(const snd_ctl_elem_value_t*, unsigned int);
+unsigned int (*snd_ctl_elem_value_get_enumerated)(const snd_ctl_elem_value_t*, unsigned int);
+unsigned char (*snd_ctl_elem_value_get_byte)(const snd_ctl_elem_value_t*, unsigned int);
+void (*snd_ctl_elem_value_set_boolean)( snd_ctl_elem_value_t*, unsigned int, long);
+void (*snd_ctl_elem_value_set_integer)( snd_ctl_elem_value_t*, unsigned int, long);
+void (*snd_ctl_elem_value_set_integer64)( snd_ctl_elem_value_t*, unsigned int, long long);
+void (*snd_ctl_elem_value_set_enumerated)( snd_ctl_elem_value_t*, unsigned int, unsigned int);
+void (*snd_ctl_elem_value_set_byte)( snd_ctl_elem_value_t*, unsigned int, unsigned char);
+void (*snd_ctl_elem_set_bytes)( snd_ctl_elem_value_t*, void*, size_t);
+const void* (*snd_ctl_elem_value_get_bytes)(const snd_ctl_elem_value_t*);
+void (*snd_ctl_elem_value_get_iec958)(const snd_ctl_elem_value_t*, snd_aes_iec958_t*);
+void (*snd_ctl_elem_value_set_iec958)( snd_ctl_elem_value_t*,const snd_aes_iec958_t*);
+int (*snd_tlv_parse_dB_info)( unsigned int*, unsigned int, unsigned int**);
+int (*snd_tlv_get_dB_range)( unsigned int*, long, long, long*, long*);
+int (*snd_tlv_convert_to_dB)( unsigned int*, long, long, long, long*);
+int (*snd_tlv_convert_from_dB)( unsigned int*, long, long, long, long*, int);
+int (*snd_ctl_get_dB_range)( snd_ctl_t*,const snd_ctl_elem_id_t*, long*, long*);
+int (*snd_ctl_convert_to_dB)( snd_ctl_t*,const snd_ctl_elem_id_t*, long, long*);
+int (*snd_ctl_convert_from_dB)( snd_ctl_t*,const snd_ctl_elem_id_t*, long, long*, int);
+int (*snd_hctl_compare_fast)(const snd_hctl_elem_t*,const snd_hctl_elem_t*);
+int (*snd_hctl_open)( snd_hctl_t**,const char*, int);
+int (*snd_hctl_open_ctl)( snd_hctl_t**, snd_ctl_t*);
+int (*snd_hctl_close)( snd_hctl_t*);
+int (*snd_hctl_nonblock)( snd_hctl_t*, int);
+int (*snd_hctl_poll_descriptors_count)( snd_hctl_t*);
+int (*snd_hctl_poll_descriptors)( snd_hctl_t*,struct pollfd*, unsigned int);
+int (*snd_hctl_poll_descriptors_revents)( snd_hctl_t*,struct pollfd*, unsigned int, unsigned short*);
+unsigned int (*snd_hctl_get_count)( snd_hctl_t*);
+int (*snd_hctl_set_compare)( snd_hctl_t*, snd_hctl_compare_t);
+snd_hctl_elem_t* (*snd_hctl_first_elem)( snd_hctl_t*);
+snd_hctl_elem_t* (*snd_hctl_last_elem)( snd_hctl_t*);
+snd_hctl_elem_t* (*snd_hctl_find_elem)( snd_hctl_t*,const snd_ctl_elem_id_t*);
+void (*snd_hctl_set_callback)( snd_hctl_t*, snd_hctl_callback_t);
+void (*snd_hctl_set_callback_private)( snd_hctl_t*, void*);
+void* (*snd_hctl_get_callback_private)( snd_hctl_t*);
+int (*snd_hctl_load)( snd_hctl_t*);
+int (*snd_hctl_free)( snd_hctl_t*);
+int (*snd_hctl_handle_events)( snd_hctl_t*);
+const char* (*snd_hctl_name)( snd_hctl_t*);
+int (*snd_hctl_wait)( snd_hctl_t*, int);
+snd_ctl_t* (*snd_hctl_ctl)( snd_hctl_t*);
+snd_hctl_elem_t* (*snd_hctl_elem_next)( snd_hctl_elem_t*);
+snd_hctl_elem_t* (*snd_hctl_elem_prev)( snd_hctl_elem_t*);
+int (*snd_hctl_elem_info)( snd_hctl_elem_t*, snd_ctl_elem_info_t*);
+int (*snd_hctl_elem_read)( snd_hctl_elem_t*, snd_ctl_elem_value_t*);
+int (*snd_hctl_elem_write)( snd_hctl_elem_t*, snd_ctl_elem_value_t*);
+int (*snd_hctl_elem_tlv_read)( snd_hctl_elem_t*, unsigned int*, unsigned int);
+int (*snd_hctl_elem_tlv_write)( snd_hctl_elem_t*,const unsigned int*);
+int (*snd_hctl_elem_tlv_command)( snd_hctl_elem_t*,const unsigned int*);
+snd_hctl_t* (*snd_hctl_elem_get_hctl)( snd_hctl_elem_t*);
+void (*snd_hctl_elem_get_id)(const snd_hctl_elem_t*, snd_ctl_elem_id_t*);
+unsigned int (*snd_hctl_elem_get_numid)(const snd_hctl_elem_t*);
+snd_ctl_elem_iface_t (*snd_hctl_elem_get_interface)(const snd_hctl_elem_t*);
+unsigned int (*snd_hctl_elem_get_device)(const snd_hctl_elem_t*);
+unsigned int (*snd_hctl_elem_get_subdevice)(const snd_hctl_elem_t*);
+const char* (*snd_hctl_elem_get_name)(const snd_hctl_elem_t*);
+unsigned int (*snd_hctl_elem_get_index)(const snd_hctl_elem_t*);
+void (*snd_hctl_elem_set_callback)( snd_hctl_elem_t*, snd_hctl_elem_callback_t);
+void* (*snd_hctl_elem_get_callback_private)(const snd_hctl_elem_t*);
+void (*snd_hctl_elem_set_callback_private)( snd_hctl_elem_t*, void*);
+int (*snd_sctl_build)( snd_sctl_t**, snd_ctl_t*, snd_config_t*, snd_config_t*, int);
+int (*snd_sctl_free)( snd_sctl_t*);
+int (*snd_sctl_install)( snd_sctl_t*);
+int (*snd_sctl_remove)( snd_sctl_t*);
+int (*snd_mixer_open)( snd_mixer_t**, int);
+int (*snd_mixer_close)( snd_mixer_t*);
+snd_mixer_elem_t* (*snd_mixer_first_elem)( snd_mixer_t*);
+snd_mixer_elem_t* (*snd_mixer_last_elem)( snd_mixer_t*);
+int (*snd_mixer_handle_events)( snd_mixer_t*);
+int (*snd_mixer_attach)( snd_mixer_t*,const char*);
+int (*snd_mixer_attach_hctl)( snd_mixer_t*, snd_hctl_t*);
+int (*snd_mixer_detach)( snd_mixer_t*,const char*);
+int (*snd_mixer_detach_hctl)( snd_mixer_t*, snd_hctl_t*);
+int (*snd_mixer_get_hctl)( snd_mixer_t*,const char*, snd_hctl_t**);
+int (*snd_mixer_poll_descriptors_count)( snd_mixer_t*);
+int (*snd_mixer_poll_descriptors)( snd_mixer_t*,struct pollfd*, unsigned int);
+int (*snd_mixer_poll_descriptors_revents)( snd_mixer_t*,struct pollfd*, unsigned int, unsigned short*);
+int (*snd_mixer_load)( snd_mixer_t*);
+void (*snd_mixer_free)( snd_mixer_t*);
+int (*snd_mixer_wait)( snd_mixer_t*, int);
+int (*snd_mixer_set_compare)( snd_mixer_t*, snd_mixer_compare_t);
+void (*snd_mixer_set_callback)( snd_mixer_t*, snd_mixer_callback_t);
+void* (*snd_mixer_get_callback_private)(const snd_mixer_t*);
+void (*snd_mixer_set_callback_private)( snd_mixer_t*, void*);
+unsigned int (*snd_mixer_get_count)(const snd_mixer_t*);
+int (*snd_mixer_class_unregister)( snd_mixer_class_t*);
+snd_mixer_elem_t* (*snd_mixer_elem_next)( snd_mixer_elem_t*);
+snd_mixer_elem_t* (*snd_mixer_elem_prev)( snd_mixer_elem_t*);
+void (*snd_mixer_elem_set_callback)( snd_mixer_elem_t*, snd_mixer_elem_callback_t);
+void* (*snd_mixer_elem_get_callback_private)(const snd_mixer_elem_t*);
+void (*snd_mixer_elem_set_callback_private)( snd_mixer_elem_t*, void*);
+snd_mixer_elem_type_t (*snd_mixer_elem_get_type)(const snd_mixer_elem_t*);
+int (*snd_mixer_class_register)( snd_mixer_class_t*, snd_mixer_t*);
+int (*snd_mixer_elem_new)( snd_mixer_elem_t**, snd_mixer_elem_type_t, int, void*, void*);
+int (*snd_mixer_elem_add)( snd_mixer_elem_t*, snd_mixer_class_t*);
+int (*snd_mixer_elem_remove)( snd_mixer_elem_t*);
+void (*snd_mixer_elem_free)( snd_mixer_elem_t*);
+int (*snd_mixer_elem_info)( snd_mixer_elem_t*);
+int (*snd_mixer_elem_value)( snd_mixer_elem_t*);
+int (*snd_mixer_elem_attach)( snd_mixer_elem_t*, snd_hctl_elem_t*);
+int (*snd_mixer_elem_detach)( snd_mixer_elem_t*, snd_hctl_elem_t*);
+int (*snd_mixer_elem_empty)( snd_mixer_elem_t*);
+void* (*snd_mixer_elem_get_private)(const snd_mixer_elem_t*);
+size_t (*snd_mixer_class_sizeof)( void);
+int (*snd_mixer_class_malloc)( snd_mixer_class_t**);
+void (*snd_mixer_class_free)( snd_mixer_class_t*);
+void (*snd_mixer_class_copy)( snd_mixer_class_t*,const snd_mixer_class_t*);
+snd_mixer_t* (*snd_mixer_class_get_mixer)(const snd_mixer_class_t*);
+snd_mixer_event_t (*snd_mixer_class_get_event)(const snd_mixer_class_t*);
+void* (*snd_mixer_class_get_private)(const snd_mixer_class_t*);
+snd_mixer_compare_t (*snd_mixer_class_get_compare)(const snd_mixer_class_t*);
+int (*snd_mixer_class_set_event)( snd_mixer_class_t*, snd_mixer_event_t);
+int (*snd_mixer_class_set_private)( snd_mixer_class_t*, void*);
+int (*snd_mixer_class_set_private_free)( snd_mixer_class_t*, void*);
+int (*snd_mixer_class_set_compare)( snd_mixer_class_t*, snd_mixer_compare_t);
+const char* (*snd_mixer_selem_channel_name)( snd_mixer_selem_channel_id_t);
+int (*snd_mixer_selem_register)( snd_mixer_t*,struct snd_mixer_selem_regopt*, snd_mixer_class_t**);
+void (*snd_mixer_selem_get_id)( snd_mixer_elem_t*, snd_mixer_selem_id_t*);
+const char* (*snd_mixer_selem_get_name)( snd_mixer_elem_t*);
+unsigned int (*snd_mixer_selem_get_index)( snd_mixer_elem_t*);
+snd_mixer_elem_t* (*snd_mixer_find_selem)( snd_mixer_t*,const snd_mixer_selem_id_t*);
+int (*snd_mixer_selem_is_active)( snd_mixer_elem_t*);
+int (*snd_mixer_selem_is_playback_mono)( snd_mixer_elem_t*);
+int (*snd_mixer_selem_has_playback_channel)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t);
+int (*snd_mixer_selem_is_capture_mono)( snd_mixer_elem_t*);
+int (*snd_mixer_selem_has_capture_channel)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t);
+int (*snd_mixer_selem_get_capture_group)( snd_mixer_elem_t*);
+int (*snd_mixer_selem_has_common_volume)( snd_mixer_elem_t*);
+int (*snd_mixer_selem_has_playback_volume)( snd_mixer_elem_t*);
+int (*snd_mixer_selem_has_playback_volume_joined)( snd_mixer_elem_t*);
+int (*snd_mixer_selem_has_capture_volume)( snd_mixer_elem_t*);
+int (*snd_mixer_selem_has_capture_volume_joined)( snd_mixer_elem_t*);
+int (*snd_mixer_selem_has_common_switch)( snd_mixer_elem_t*);
+int (*snd_mixer_selem_has_playback_switch)( snd_mixer_elem_t*);
+int (*snd_mixer_selem_has_playback_switch_joined)( snd_mixer_elem_t*);
+int (*snd_mixer_selem_has_capture_switch)( snd_mixer_elem_t*);
+int (*snd_mixer_selem_has_capture_switch_joined)( snd_mixer_elem_t*);
+int (*snd_mixer_selem_has_capture_switch_exclusive)( snd_mixer_elem_t*);
+int (*snd_mixer_selem_ask_playback_vol_dB)( snd_mixer_elem_t*, long, long*);
+int (*snd_mixer_selem_ask_capture_vol_dB)( snd_mixer_elem_t*, long, long*);
+int (*snd_mixer_selem_ask_playback_dB_vol)( snd_mixer_elem_t*, long, int, long*);
+int (*snd_mixer_selem_ask_capture_dB_vol)( snd_mixer_elem_t*, long, int, long*);
+int (*snd_mixer_selem_get_playback_volume)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, long*);
+int (*snd_mixer_selem_get_capture_volume)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, long*);
+int (*snd_mixer_selem_get_playback_dB)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, long*);
+int (*snd_mixer_selem_get_capture_dB)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, long*);
+int (*snd_mixer_selem_get_playback_switch)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, int*);
+int (*snd_mixer_selem_get_capture_switch)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, int*);
+int (*snd_mixer_selem_set_playback_volume)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, long);
+int (*snd_mixer_selem_set_capture_volume)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, long);
+int (*snd_mixer_selem_set_playback_dB)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, long, int);
+int (*snd_mixer_selem_set_capture_dB)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, long, int);
+int (*snd_mixer_selem_set_playback_volume_all)( snd_mixer_elem_t*, long);
+int (*snd_mixer_selem_set_capture_volume_all)( snd_mixer_elem_t*, long);
+int (*snd_mixer_selem_set_playback_dB_all)( snd_mixer_elem_t*, long, int);
+int (*snd_mixer_selem_set_capture_dB_all)( snd_mixer_elem_t*, long, int);
+int (*snd_mixer_selem_set_playback_switch)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, int);
+int (*snd_mixer_selem_set_capture_switch)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, int);
+int (*snd_mixer_selem_set_playback_switch_all)( snd_mixer_elem_t*, int);
+int (*snd_mixer_selem_set_capture_switch_all)( snd_mixer_elem_t*, int);
+int (*snd_mixer_selem_get_playback_volume_range)( snd_mixer_elem_t*, long*, long*);
+int (*snd_mixer_selem_get_playback_dB_range)( snd_mixer_elem_t*, long*, long*);
+int (*snd_mixer_selem_set_playback_volume_range)( snd_mixer_elem_t*, long, long);
+int (*snd_mixer_selem_get_capture_volume_range)( snd_mixer_elem_t*, long*, long*);
+int (*snd_mixer_selem_get_capture_dB_range)( snd_mixer_elem_t*, long*, long*);
+int (*snd_mixer_selem_set_capture_volume_range)( snd_mixer_elem_t*, long, long);
+int (*snd_mixer_selem_is_enumerated)( snd_mixer_elem_t*);
+int (*snd_mixer_selem_is_enum_playback)( snd_mixer_elem_t*);
+int (*snd_mixer_selem_is_enum_capture)( snd_mixer_elem_t*);
+int (*snd_mixer_selem_get_enum_items)( snd_mixer_elem_t*);
+int (*snd_mixer_selem_get_enum_item_name)( snd_mixer_elem_t*, unsigned int, size_t, char*);
+int (*snd_mixer_selem_get_enum_item)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, unsigned int*);
+int (*snd_mixer_selem_set_enum_item)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, unsigned int);
+size_t (*snd_mixer_selem_id_sizeof)( void);
+int (*snd_mixer_selem_id_malloc)( snd_mixer_selem_id_t**);
+void (*snd_mixer_selem_id_free)( snd_mixer_selem_id_t*);
+void (*snd_mixer_selem_id_copy)( snd_mixer_selem_id_t*,const snd_mixer_selem_id_t*);
+const char* (*snd_mixer_selem_id_get_name)(const snd_mixer_selem_id_t*);
+unsigned int (*snd_mixer_selem_id_get_index)(const snd_mixer_selem_id_t*);
+void (*snd_mixer_selem_id_set_name)( snd_mixer_selem_id_t*,const char*);
+void (*snd_mixer_selem_id_set_index)( snd_mixer_selem_id_t*, unsigned int);
+int (*snd_mixer_selem_id_parse)( snd_mixer_selem_id_t*,const char*);
+int (*snd_seq_open)( snd_seq_t**,const char*, int, int);
+int (*snd_seq_open_lconf)( snd_seq_t**,const char*, int, int, snd_config_t*);
+const char* (*snd_seq_name)( snd_seq_t*);
+snd_seq_type_t (*snd_seq_type)( snd_seq_t*);
+int (*snd_seq_close)( snd_seq_t*);
+int (*snd_seq_poll_descriptors_count)( snd_seq_t*, short);
+int (*snd_seq_poll_descriptors)( snd_seq_t*,struct pollfd*, unsigned int, short);
+int (*snd_seq_poll_descriptors_revents)( snd_seq_t*,struct pollfd*, unsigned int, unsigned short*);
+int (*snd_seq_nonblock)( snd_seq_t*, int);
+int (*snd_seq_client_id)( snd_seq_t*);
+size_t (*snd_seq_get_output_buffer_size)( snd_seq_t*);
+size_t (*snd_seq_get_input_buffer_size)( snd_seq_t*);
+int (*snd_seq_set_output_buffer_size)( snd_seq_t*, size_t);
+int (*snd_seq_set_input_buffer_size)( snd_seq_t*, size_t);
+size_t (*snd_seq_system_info_sizeof)( void);
+int (*snd_seq_system_info_malloc)( snd_seq_system_info_t**);
+void (*snd_seq_system_info_free)( snd_seq_system_info_t*);
+void (*snd_seq_system_info_copy)( snd_seq_system_info_t*,const snd_seq_system_info_t*);
+int (*snd_seq_system_info_get_queues)(const snd_seq_system_info_t*);
+int (*snd_seq_system_info_get_clients)(const snd_seq_system_info_t*);
+int (*snd_seq_system_info_get_ports)(const snd_seq_system_info_t*);
+int (*snd_seq_system_info_get_channels)(const snd_seq_system_info_t*);
+int (*snd_seq_system_info_get_cur_clients)(const snd_seq_system_info_t*);
+int (*snd_seq_system_info_get_cur_queues)(const snd_seq_system_info_t*);
+int (*snd_seq_system_info)( snd_seq_t*, snd_seq_system_info_t*);
+size_t (*snd_seq_client_info_sizeof)( void);
+int (*snd_seq_client_info_malloc)( snd_seq_client_info_t**);
+void (*snd_seq_client_info_free)( snd_seq_client_info_t*);
+void (*snd_seq_client_info_copy)( snd_seq_client_info_t*,const snd_seq_client_info_t*);
+int (*snd_seq_client_info_get_client)(const snd_seq_client_info_t*);
+snd_seq_client_type_t (*snd_seq_client_info_get_type)(const snd_seq_client_info_t*);
+const char* (*snd_seq_client_info_get_name)( snd_seq_client_info_t*);
+int (*snd_seq_client_info_get_broadcast_filter)(const snd_seq_client_info_t*);
+int (*snd_seq_client_info_get_error_bounce)(const snd_seq_client_info_t*);
+int (*snd_seq_client_info_get_card)(const snd_seq_client_info_t*);
+int (*snd_seq_client_info_get_pid)(const snd_seq_client_info_t*);
+const unsigned char* (*snd_seq_client_info_get_event_filter)(const snd_seq_client_info_t*);
+int (*snd_seq_client_info_get_num_ports)(const snd_seq_client_info_t*);
+int (*snd_seq_client_info_get_event_lost)(const snd_seq_client_info_t*);
+void (*snd_seq_client_info_set_client)( snd_seq_client_info_t*, int);
+void (*snd_seq_client_info_set_name)( snd_seq_client_info_t*,const char*);
+void (*snd_seq_client_info_set_broadcast_filter)( snd_seq_client_info_t*, int);
+void (*snd_seq_client_info_set_error_bounce)( snd_seq_client_info_t*, int);
+void (*snd_seq_client_info_set_event_filter)( snd_seq_client_info_t*, unsigned char*);
+void (*snd_seq_client_info_event_filter_clear)( snd_seq_client_info_t*);
+void (*snd_seq_client_info_event_filter_add)( snd_seq_client_info_t*, int);
+void (*snd_seq_client_info_event_filter_del)( snd_seq_client_info_t*, int);
+int (*snd_seq_client_info_event_filter_check)( snd_seq_client_info_t*, int);
+int (*snd_seq_get_client_info)( snd_seq_t*, snd_seq_client_info_t*);
+int (*snd_seq_get_any_client_info)( snd_seq_t*, int, snd_seq_client_info_t*);
+int (*snd_seq_set_client_info)( snd_seq_t*, snd_seq_client_info_t*);
+int (*snd_seq_query_next_client)( snd_seq_t*, snd_seq_client_info_t*);
+size_t (*snd_seq_client_pool_sizeof)( void);
+int (*snd_seq_client_pool_malloc)( snd_seq_client_pool_t**);
+void (*snd_seq_client_pool_free)( snd_seq_client_pool_t*);
+void (*snd_seq_client_pool_copy)( snd_seq_client_pool_t*,const snd_seq_client_pool_t*);
+int (*snd_seq_client_pool_get_client)(const snd_seq_client_pool_t*);
+size_t (*snd_seq_client_pool_get_output_pool)(const snd_seq_client_pool_t*);
+size_t (*snd_seq_client_pool_get_input_pool)(const snd_seq_client_pool_t*);
+size_t (*snd_seq_client_pool_get_output_room)(const snd_seq_client_pool_t*);
+size_t (*snd_seq_client_pool_get_output_free)(const snd_seq_client_pool_t*);
+size_t (*snd_seq_client_pool_get_input_free)(const snd_seq_client_pool_t*);
+void (*snd_seq_client_pool_set_output_pool)( snd_seq_client_pool_t*, size_t);
+void (*snd_seq_client_pool_set_input_pool)( snd_seq_client_pool_t*, size_t);
+void (*snd_seq_client_pool_set_output_room)( snd_seq_client_pool_t*, size_t);
+int (*snd_seq_get_client_pool)( snd_seq_t*, snd_seq_client_pool_t*);
+int (*snd_seq_set_client_pool)( snd_seq_t*, snd_seq_client_pool_t*);
+size_t (*snd_seq_port_info_sizeof)( void);
+int (*snd_seq_port_info_malloc)( snd_seq_port_info_t**);
+void (*snd_seq_port_info_free)( snd_seq_port_info_t*);
+void (*snd_seq_port_info_copy)( snd_seq_port_info_t*,const snd_seq_port_info_t*);
+int (*snd_seq_port_info_get_client)(const snd_seq_port_info_t*);
+int (*snd_seq_port_info_get_port)(const snd_seq_port_info_t*);
+const snd_seq_addr_t* (*snd_seq_port_info_get_addr)(const snd_seq_port_info_t*);
+const char* (*snd_seq_port_info_get_name)(const snd_seq_port_info_t*);
+unsigned int (*snd_seq_port_info_get_capability)(const snd_seq_port_info_t*);
+unsigned int (*snd_seq_port_info_get_type)(const snd_seq_port_info_t*);
+int (*snd_seq_port_info_get_midi_channels)(const snd_seq_port_info_t*);
+int (*snd_seq_port_info_get_midi_voices)(const snd_seq_port_info_t*);
+int (*snd_seq_port_info_get_synth_voices)(const snd_seq_port_info_t*);
+int (*snd_seq_port_info_get_read_use)(const snd_seq_port_info_t*);
+int (*snd_seq_port_info_get_write_use)(const snd_seq_port_info_t*);
+int (*snd_seq_port_info_get_port_specified)(const snd_seq_port_info_t*);
+int (*snd_seq_port_info_get_timestamping)(const snd_seq_port_info_t*);
+int (*snd_seq_port_info_get_timestamp_real)(const snd_seq_port_info_t*);
+int (*snd_seq_port_info_get_timestamp_queue)(const snd_seq_port_info_t*);
+void (*snd_seq_port_info_set_client)( snd_seq_port_info_t*, int);
+void (*snd_seq_port_info_set_port)( snd_seq_port_info_t*, int);
+void (*snd_seq_port_info_set_addr)( snd_seq_port_info_t*,const snd_seq_addr_t*);
+void (*snd_seq_port_info_set_name)( snd_seq_port_info_t*,const char*);
+void (*snd_seq_port_info_set_capability)( snd_seq_port_info_t*, unsigned int);
+void (*snd_seq_port_info_set_type)( snd_seq_port_info_t*, unsigned int);
+void (*snd_seq_port_info_set_midi_channels)( snd_seq_port_info_t*, int);
+void (*snd_seq_port_info_set_midi_voices)( snd_seq_port_info_t*, int);
+void (*snd_seq_port_info_set_synth_voices)( snd_seq_port_info_t*, int);
+void (*snd_seq_port_info_set_port_specified)( snd_seq_port_info_t*, int);
+void (*snd_seq_port_info_set_timestamping)( snd_seq_port_info_t*, int);
+void (*snd_seq_port_info_set_timestamp_real)( snd_seq_port_info_t*, int);
+void (*snd_seq_port_info_set_timestamp_queue)( snd_seq_port_info_t*, int);
+int (*snd_seq_create_port)( snd_seq_t*, snd_seq_port_info_t*);
+int (*snd_seq_delete_port)( snd_seq_t*, int);
+int (*snd_seq_get_port_info)( snd_seq_t*, int, snd_seq_port_info_t*);
+int (*snd_seq_get_any_port_info)( snd_seq_t*, int, int, snd_seq_port_info_t*);
+int (*snd_seq_set_port_info)( snd_seq_t*, int, snd_seq_port_info_t*);
+int (*snd_seq_query_next_port)( snd_seq_t*, snd_seq_port_info_t*);
+size_t (*snd_seq_port_subscribe_sizeof)( void);
+int (*snd_seq_port_subscribe_malloc)( snd_seq_port_subscribe_t**);
+void (*snd_seq_port_subscribe_free)( snd_seq_port_subscribe_t*);
+void (*snd_seq_port_subscribe_copy)( snd_seq_port_subscribe_t*,const snd_seq_port_subscribe_t*);
+const snd_seq_addr_t* (*snd_seq_port_subscribe_get_sender)(const snd_seq_port_subscribe_t*);
+const snd_seq_addr_t* (*snd_seq_port_subscribe_get_dest)(const snd_seq_port_subscribe_t*);
+int (*snd_seq_port_subscribe_get_queue)(const snd_seq_port_subscribe_t*);
+int (*snd_seq_port_subscribe_get_exclusive)(const snd_seq_port_subscribe_t*);
+int (*snd_seq_port_subscribe_get_time_update)(const snd_seq_port_subscribe_t*);
+int (*snd_seq_port_subscribe_get_time_real)(const snd_seq_port_subscribe_t*);
+void (*snd_seq_port_subscribe_set_sender)( snd_seq_port_subscribe_t*,const snd_seq_addr_t*);
+void (*snd_seq_port_subscribe_set_dest)( snd_seq_port_subscribe_t*,const snd_seq_addr_t*);
+void (*snd_seq_port_subscribe_set_queue)( snd_seq_port_subscribe_t*, int);
+void (*snd_seq_port_subscribe_set_exclusive)( snd_seq_port_subscribe_t*, int);
+void (*snd_seq_port_subscribe_set_time_update)( snd_seq_port_subscribe_t*, int);
+void (*snd_seq_port_subscribe_set_time_real)( snd_seq_port_subscribe_t*, int);
+int (*snd_seq_get_port_subscription)( snd_seq_t*, snd_seq_port_subscribe_t*);
+int (*snd_seq_subscribe_port)( snd_seq_t*, snd_seq_port_subscribe_t*);
+int (*snd_seq_unsubscribe_port)( snd_seq_t*, snd_seq_port_subscribe_t*);
+size_t (*snd_seq_query_subscribe_sizeof)( void);
+int (*snd_seq_query_subscribe_malloc)( snd_seq_query_subscribe_t**);
+void (*snd_seq_query_subscribe_free)( snd_seq_query_subscribe_t*);
+void (*snd_seq_query_subscribe_copy)( snd_seq_query_subscribe_t*,const snd_seq_query_subscribe_t*);
+int (*snd_seq_query_subscribe_get_client)(const snd_seq_query_subscribe_t*);
+int (*snd_seq_query_subscribe_get_port)(const snd_seq_query_subscribe_t*);
+const snd_seq_addr_t* (*snd_seq_query_subscribe_get_root)(const snd_seq_query_subscribe_t*);
+snd_seq_query_subs_type_t (*snd_seq_query_subscribe_get_type)(const snd_seq_query_subscribe_t*);
+int (*snd_seq_query_subscribe_get_index)(const snd_seq_query_subscribe_t*);
+int (*snd_seq_query_subscribe_get_num_subs)(const snd_seq_query_subscribe_t*);
+const snd_seq_addr_t* (*snd_seq_query_subscribe_get_addr)(const snd_seq_query_subscribe_t*);
+int (*snd_seq_query_subscribe_get_queue)(const snd_seq_query_subscribe_t*);
+int (*snd_seq_query_subscribe_get_exclusive)(const snd_seq_query_subscribe_t*);
+int (*snd_seq_query_subscribe_get_time_update)(const snd_seq_query_subscribe_t*);
+int (*snd_seq_query_subscribe_get_time_real)(const snd_seq_query_subscribe_t*);
+void (*snd_seq_query_subscribe_set_client)( snd_seq_query_subscribe_t*, int);
+void (*snd_seq_query_subscribe_set_port)( snd_seq_query_subscribe_t*, int);
+void (*snd_seq_query_subscribe_set_root)( snd_seq_query_subscribe_t*,const snd_seq_addr_t*);
+void (*snd_seq_query_subscribe_set_type)( snd_seq_query_subscribe_t*, snd_seq_query_subs_type_t);
+void (*snd_seq_query_subscribe_set_index)( snd_seq_query_subscribe_t*, int);
+int (*snd_seq_query_port_subscribers)( snd_seq_t*, snd_seq_query_subscribe_t*);
+size_t (*snd_seq_queue_info_sizeof)( void);
+int (*snd_seq_queue_info_malloc)( snd_seq_queue_info_t**);
+void (*snd_seq_queue_info_free)( snd_seq_queue_info_t*);
+void (*snd_seq_queue_info_copy)( snd_seq_queue_info_t*,const snd_seq_queue_info_t*);
+int (*snd_seq_queue_info_get_queue)(const snd_seq_queue_info_t*);
+const char* (*snd_seq_queue_info_get_name)(const snd_seq_queue_info_t*);
+int (*snd_seq_queue_info_get_owner)(const snd_seq_queue_info_t*);
+int (*snd_seq_queue_info_get_locked)(const snd_seq_queue_info_t*);
+unsigned int (*snd_seq_queue_info_get_flags)(const snd_seq_queue_info_t*);
+void (*snd_seq_queue_info_set_name)( snd_seq_queue_info_t*,const char*);
+void (*snd_seq_queue_info_set_owner)( snd_seq_queue_info_t*, int);
+void (*snd_seq_queue_info_set_locked)( snd_seq_queue_info_t*, int);
+void (*snd_seq_queue_info_set_flags)( snd_seq_queue_info_t*, unsigned int);
+int (*snd_seq_create_queue)( snd_seq_t*, snd_seq_queue_info_t*);
+int (*snd_seq_alloc_named_queue)( snd_seq_t*,const char*);
+int (*snd_seq_alloc_queue)( snd_seq_t*);
+int (*snd_seq_free_queue)( snd_seq_t*, int);
+int (*snd_seq_get_queue_info)( snd_seq_t*, int, snd_seq_queue_info_t*);
+int (*snd_seq_set_queue_info)( snd_seq_t*, int, snd_seq_queue_info_t*);
+int (*snd_seq_query_named_queue)( snd_seq_t*,const char*);
+int (*snd_seq_get_queue_usage)( snd_seq_t*, int);
+int (*snd_seq_set_queue_usage)( snd_seq_t*, int, int);
+size_t (*snd_seq_queue_status_sizeof)( void);
+int (*snd_seq_queue_status_malloc)( snd_seq_queue_status_t**);
+void (*snd_seq_queue_status_free)( snd_seq_queue_status_t*);
+void (*snd_seq_queue_status_copy)( snd_seq_queue_status_t*,const snd_seq_queue_status_t*);
+int (*snd_seq_queue_status_get_queue)(const snd_seq_queue_status_t*);
+int (*snd_seq_queue_status_get_events)(const snd_seq_queue_status_t*);
+snd_seq_tick_time_t (*snd_seq_queue_status_get_tick_time)(const snd_seq_queue_status_t*);
+const snd_seq_real_time_t* (*snd_seq_queue_status_get_real_time)(const snd_seq_queue_status_t*);
+unsigned int (*snd_seq_queue_status_get_status)(const snd_seq_queue_status_t*);
+int (*snd_seq_get_queue_status)( snd_seq_t*, int, snd_seq_queue_status_t*);
+size_t (*snd_seq_queue_tempo_sizeof)( void);
+int (*snd_seq_queue_tempo_malloc)( snd_seq_queue_tempo_t**);
+void (*snd_seq_queue_tempo_free)( snd_seq_queue_tempo_t*);
+void (*snd_seq_queue_tempo_copy)( snd_seq_queue_tempo_t*,const snd_seq_queue_tempo_t*);
+int (*snd_seq_queue_tempo_get_queue)(const snd_seq_queue_tempo_t*);
+unsigned int (*snd_seq_queue_tempo_get_tempo)(const snd_seq_queue_tempo_t*);
+int (*snd_seq_queue_tempo_get_ppq)(const snd_seq_queue_tempo_t*);
+unsigned int (*snd_seq_queue_tempo_get_skew)(const snd_seq_queue_tempo_t*);
+unsigned int (*snd_seq_queue_tempo_get_skew_base)(const snd_seq_queue_tempo_t*);
+void (*snd_seq_queue_tempo_set_tempo)( snd_seq_queue_tempo_t*, unsigned int);
+void (*snd_seq_queue_tempo_set_ppq)( snd_seq_queue_tempo_t*, int);
+void (*snd_seq_queue_tempo_set_skew)( snd_seq_queue_tempo_t*, unsigned int);
+void (*snd_seq_queue_tempo_set_skew_base)( snd_seq_queue_tempo_t*, unsigned int);
+int (*snd_seq_get_queue_tempo)( snd_seq_t*, int, snd_seq_queue_tempo_t*);
+int (*snd_seq_set_queue_tempo)( snd_seq_t*, int, snd_seq_queue_tempo_t*);
+size_t (*snd_seq_queue_timer_sizeof)( void);
+int (*snd_seq_queue_timer_malloc)( snd_seq_queue_timer_t**);
+void (*snd_seq_queue_timer_free)( snd_seq_queue_timer_t*);
+void (*snd_seq_queue_timer_copy)( snd_seq_queue_timer_t*,const snd_seq_queue_timer_t*);
+int (*snd_seq_queue_timer_get_queue)(const snd_seq_queue_timer_t*);
+snd_seq_queue_timer_type_t (*snd_seq_queue_timer_get_type)(const snd_seq_queue_timer_t*);
+const snd_timer_id_t* (*snd_seq_queue_timer_get_id)(const snd_seq_queue_timer_t*);
+unsigned int (*snd_seq_queue_timer_get_resolution)(const snd_seq_queue_timer_t*);
+void (*snd_seq_queue_timer_set_type)( snd_seq_queue_timer_t*, snd_seq_queue_timer_type_t);
+void (*snd_seq_queue_timer_set_id)( snd_seq_queue_timer_t*,const snd_timer_id_t*);
+void (*snd_seq_queue_timer_set_resolution)( snd_seq_queue_timer_t*, unsigned int);
+int (*snd_seq_get_queue_timer)( snd_seq_t*, int, snd_seq_queue_timer_t*);
+int (*snd_seq_set_queue_timer)( snd_seq_t*, int, snd_seq_queue_timer_t*);
+int (*snd_seq_free_event)( snd_seq_event_t*);
+ssize_t (*snd_seq_event_length)( snd_seq_event_t*);
+int (*snd_seq_event_output)( snd_seq_t*, snd_seq_event_t*);
+int (*snd_seq_event_output_buffer)( snd_seq_t*, snd_seq_event_t*);
+int (*snd_seq_event_output_direct)( snd_seq_t*, snd_seq_event_t*);
+int (*snd_seq_event_input)( snd_seq_t*, snd_seq_event_t**);
+int (*snd_seq_event_input_pending)( snd_seq_t*, int);
+int (*snd_seq_drain_output)( snd_seq_t*);
+int (*snd_seq_event_output_pending)( snd_seq_t*);
+int (*snd_seq_extract_output)( snd_seq_t*, snd_seq_event_t**);
+int (*snd_seq_drop_output)( snd_seq_t*);
+int (*snd_seq_drop_output_buffer)( snd_seq_t*);
+int (*snd_seq_drop_input)( snd_seq_t*);
+int (*snd_seq_drop_input_buffer)( snd_seq_t*);
+size_t (*snd_seq_remove_events_sizeof)( void);
+int (*snd_seq_remove_events_malloc)( snd_seq_remove_events_t**);
+void (*snd_seq_remove_events_free)( snd_seq_remove_events_t*);
+void (*snd_seq_remove_events_copy)( snd_seq_remove_events_t*,const snd_seq_remove_events_t*);
+unsigned int (*snd_seq_remove_events_get_condition)(const snd_seq_remove_events_t*);
+int (*snd_seq_remove_events_get_queue)(const snd_seq_remove_events_t*);
+const snd_seq_timestamp_t* (*snd_seq_remove_events_get_time)(const snd_seq_remove_events_t*);
+const snd_seq_addr_t* (*snd_seq_remove_events_get_dest)(const snd_seq_remove_events_t*);
+int (*snd_seq_remove_events_get_channel)(const snd_seq_remove_events_t*);
+int (*snd_seq_remove_events_get_event_type)(const snd_seq_remove_events_t*);
+int (*snd_seq_remove_events_get_tag)(const snd_seq_remove_events_t*);
+void (*snd_seq_remove_events_set_condition)( snd_seq_remove_events_t*, unsigned int);
+void (*snd_seq_remove_events_set_queue)( snd_seq_remove_events_t*, int);
+void (*snd_seq_remove_events_set_time)( snd_seq_remove_events_t*,const snd_seq_timestamp_t*);
+void (*snd_seq_remove_events_set_dest)( snd_seq_remove_events_t*,const snd_seq_addr_t*);
+void (*snd_seq_remove_events_set_channel)( snd_seq_remove_events_t*, int);
+void (*snd_seq_remove_events_set_event_type)( snd_seq_remove_events_t*, int);
+void (*snd_seq_remove_events_set_tag)( snd_seq_remove_events_t*, int);
+int (*snd_seq_remove_events)( snd_seq_t*, snd_seq_remove_events_t*);
+void (*snd_seq_set_bit)( int, void*);
+void (*snd_seq_unset_bit)( int, void*);
+int (*snd_seq_change_bit)( int, void*);
+int (*snd_seq_get_bit)( int, void*);
+int (*snd_seq_control_queue)( snd_seq_t*, int, int, int, snd_seq_event_t*);
+int (*snd_seq_create_simple_port)( snd_seq_t*,const char*, unsigned int, unsigned int);
+int (*snd_seq_delete_simple_port)( snd_seq_t*, int);
+int (*snd_seq_connect_from)( snd_seq_t*, int, int, int);
+int (*snd_seq_connect_to)( snd_seq_t*, int, int, int);
+int (*snd_seq_disconnect_from)( snd_seq_t*, int, int, int);
+int (*snd_seq_disconnect_to)( snd_seq_t*, int, int, int);
+int (*snd_seq_set_client_name)( snd_seq_t*,const char*);
+int (*snd_seq_set_client_event_filter)( snd_seq_t*, int);
+int (*snd_seq_set_client_pool_output)( snd_seq_t*, size_t);
+int (*snd_seq_set_client_pool_output_room)( snd_seq_t*, size_t);
+int (*snd_seq_set_client_pool_input)( snd_seq_t*, size_t);
+int (*snd_seq_sync_output_queue)( snd_seq_t*);
+int (*snd_seq_parse_address)( snd_seq_t*, snd_seq_addr_t*,const char*);
+int (*snd_seq_reset_pool_output)( snd_seq_t*);
+int (*snd_seq_reset_pool_input)( snd_seq_t*);
+int (*snd_midi_event_new)( size_t, snd_midi_event_t**);
+int (*snd_midi_event_resize_buffer)( snd_midi_event_t*, size_t);
+void (*snd_midi_event_free)( snd_midi_event_t*);
+void (*snd_midi_event_init)( snd_midi_event_t*);
+void (*snd_midi_event_reset_encode)( snd_midi_event_t*);
+void (*snd_midi_event_reset_decode)( snd_midi_event_t*);
+void (*snd_midi_event_no_status)( snd_midi_event_t*, int);
+long (*snd_midi_event_encode)( snd_midi_event_t*,const unsigned char*, long, snd_seq_event_t*);
+int (*snd_midi_event_encode_byte)( snd_midi_event_t*, int, snd_seq_event_t*);
+long (*snd_midi_event_decode)( snd_midi_event_t*, unsigned char*, long,const snd_seq_event_t*);int initialize_asound() {
+ void *handle;
+ char *error;
+ handle = dlopen("libasound.so.2", RTLD_NOW | RTLD_DEEPBIND);
+ if (!handle) {
+ fprintf(stderr, "%s\n", dlerror());
+ return(1);
+ }
+ dlerror();
+// snd_asoundlib_version
+ *(void **) (&snd_asoundlib_version) = dlsym(handle, "snd_asoundlib_version");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_dlpath
+ *(void **) (&snd_dlpath) = dlsym(handle, "snd_dlpath");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_dlopen
+ *(void **) (&snd_dlopen) = dlsym(handle, "snd_dlopen");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_dlsym
+ *(void **) (&snd_dlsym) = dlsym(handle, "snd_dlsym");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_dlclose
+ *(void **) (&snd_dlclose) = dlsym(handle, "snd_dlclose");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_async_add_handler
+ *(void **) (&snd_async_add_handler) = dlsym(handle, "snd_async_add_handler");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_async_del_handler
+ *(void **) (&snd_async_del_handler) = dlsym(handle, "snd_async_del_handler");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_async_handler_get_fd
+ *(void **) (&snd_async_handler_get_fd) = dlsym(handle, "snd_async_handler_get_fd");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_async_handler_get_signo
+ *(void **) (&snd_async_handler_get_signo) = dlsym(handle, "snd_async_handler_get_signo");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_async_handler_get_callback_private
+ *(void **) (&snd_async_handler_get_callback_private) = dlsym(handle, "snd_async_handler_get_callback_private");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_shm_area_create
+ *(void **) (&snd_shm_area_create) = dlsym(handle, "snd_shm_area_create");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_shm_area_share
+ *(void **) (&snd_shm_area_share) = dlsym(handle, "snd_shm_area_share");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_shm_area_destroy
+ *(void **) (&snd_shm_area_destroy) = dlsym(handle, "snd_shm_area_destroy");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_user_file
+ *(void **) (&snd_user_file) = dlsym(handle, "snd_user_file");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_input_stdio_open
+ *(void **) (&snd_input_stdio_open) = dlsym(handle, "snd_input_stdio_open");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_input_stdio_attach
+ *(void **) (&snd_input_stdio_attach) = dlsym(handle, "snd_input_stdio_attach");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_input_buffer_open
+ *(void **) (&snd_input_buffer_open) = dlsym(handle, "snd_input_buffer_open");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_input_close
+ *(void **) (&snd_input_close) = dlsym(handle, "snd_input_close");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_input_scanf
+ *(void **) (&snd_input_scanf) = dlsym(handle, "snd_input_scanf");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_input_gets
+ *(void **) (&snd_input_gets) = dlsym(handle, "snd_input_gets");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_input_getc
+ *(void **) (&snd_input_getc) = dlsym(handle, "snd_input_getc");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_input_ungetc
+ *(void **) (&snd_input_ungetc) = dlsym(handle, "snd_input_ungetc");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_output_stdio_open
+ *(void **) (&snd_output_stdio_open) = dlsym(handle, "snd_output_stdio_open");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_output_stdio_attach
+ *(void **) (&snd_output_stdio_attach) = dlsym(handle, "snd_output_stdio_attach");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_output_buffer_open
+ *(void **) (&snd_output_buffer_open) = dlsym(handle, "snd_output_buffer_open");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_output_buffer_string
+ *(void **) (&snd_output_buffer_string) = dlsym(handle, "snd_output_buffer_string");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_output_close
+ *(void **) (&snd_output_close) = dlsym(handle, "snd_output_close");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_output_printf
+ *(void **) (&snd_output_printf) = dlsym(handle, "snd_output_printf");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_output_vprintf
+ *(void **) (&snd_output_vprintf) = dlsym(handle, "snd_output_vprintf");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_output_puts
+ *(void **) (&snd_output_puts) = dlsym(handle, "snd_output_puts");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_output_putc
+ *(void **) (&snd_output_putc) = dlsym(handle, "snd_output_putc");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_output_flush
+ *(void **) (&snd_output_flush) = dlsym(handle, "snd_output_flush");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_strerror
+ *(void **) (&snd_strerror) = dlsym(handle, "snd_strerror");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_lib_error_set_handler
+ *(void **) (&snd_lib_error_set_handler) = dlsym(handle, "snd_lib_error_set_handler");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_lib_error_set_local
+ *(void **) (&snd_lib_error_set_local) = dlsym(handle, "snd_lib_error_set_local");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_topdir
+ *(void **) (&snd_config_topdir) = dlsym(handle, "snd_config_topdir");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_top
+ *(void **) (&snd_config_top) = dlsym(handle, "snd_config_top");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_load
+ *(void **) (&snd_config_load) = dlsym(handle, "snd_config_load");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_load_override
+ *(void **) (&snd_config_load_override) = dlsym(handle, "snd_config_load_override");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_save
+ *(void **) (&snd_config_save) = dlsym(handle, "snd_config_save");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_update
+ *(void **) (&snd_config_update) = dlsym(handle, "snd_config_update");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_update_r
+ *(void **) (&snd_config_update_r) = dlsym(handle, "snd_config_update_r");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_update_free
+ *(void **) (&snd_config_update_free) = dlsym(handle, "snd_config_update_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_update_free_global
+ *(void **) (&snd_config_update_free_global) = dlsym(handle, "snd_config_update_free_global");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_update_ref
+ *(void **) (&snd_config_update_ref) = dlsym(handle, "snd_config_update_ref");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_ref
+ *(void **) (&snd_config_ref) = dlsym(handle, "snd_config_ref");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_unref
+ *(void **) (&snd_config_unref) = dlsym(handle, "snd_config_unref");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_search
+ *(void **) (&snd_config_search) = dlsym(handle, "snd_config_search");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_searchv
+ *(void **) (&snd_config_searchv) = dlsym(handle, "snd_config_searchv");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_search_definition
+ *(void **) (&snd_config_search_definition) = dlsym(handle, "snd_config_search_definition");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_expand
+ *(void **) (&snd_config_expand) = dlsym(handle, "snd_config_expand");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_evaluate
+ *(void **) (&snd_config_evaluate) = dlsym(handle, "snd_config_evaluate");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_add
+ *(void **) (&snd_config_add) = dlsym(handle, "snd_config_add");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_add_before
+ *(void **) (&snd_config_add_before) = dlsym(handle, "snd_config_add_before");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_add_after
+ *(void **) (&snd_config_add_after) = dlsym(handle, "snd_config_add_after");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_remove
+ *(void **) (&snd_config_remove) = dlsym(handle, "snd_config_remove");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_delete
+ *(void **) (&snd_config_delete) = dlsym(handle, "snd_config_delete");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_delete_compound_members
+ *(void **) (&snd_config_delete_compound_members) = dlsym(handle, "snd_config_delete_compound_members");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_copy
+ *(void **) (&snd_config_copy) = dlsym(handle, "snd_config_copy");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_make
+ *(void **) (&snd_config_make) = dlsym(handle, "snd_config_make");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_make_integer
+ *(void **) (&snd_config_make_integer) = dlsym(handle, "snd_config_make_integer");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_make_integer64
+ *(void **) (&snd_config_make_integer64) = dlsym(handle, "snd_config_make_integer64");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_make_real
+ *(void **) (&snd_config_make_real) = dlsym(handle, "snd_config_make_real");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_make_string
+ *(void **) (&snd_config_make_string) = dlsym(handle, "snd_config_make_string");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_make_pointer
+ *(void **) (&snd_config_make_pointer) = dlsym(handle, "snd_config_make_pointer");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_make_compound
+ *(void **) (&snd_config_make_compound) = dlsym(handle, "snd_config_make_compound");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_imake_integer
+ *(void **) (&snd_config_imake_integer) = dlsym(handle, "snd_config_imake_integer");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_imake_integer64
+ *(void **) (&snd_config_imake_integer64) = dlsym(handle, "snd_config_imake_integer64");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_imake_real
+ *(void **) (&snd_config_imake_real) = dlsym(handle, "snd_config_imake_real");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_imake_string
+ *(void **) (&snd_config_imake_string) = dlsym(handle, "snd_config_imake_string");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_imake_safe_string
+ *(void **) (&snd_config_imake_safe_string) = dlsym(handle, "snd_config_imake_safe_string");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_imake_pointer
+ *(void **) (&snd_config_imake_pointer) = dlsym(handle, "snd_config_imake_pointer");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_get_type
+ *(void **) (&snd_config_get_type) = dlsym(handle, "snd_config_get_type");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_is_array
+ *(void **) (&snd_config_is_array) = dlsym(handle, "snd_config_is_array");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_set_id
+ *(void **) (&snd_config_set_id) = dlsym(handle, "snd_config_set_id");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_set_integer
+ *(void **) (&snd_config_set_integer) = dlsym(handle, "snd_config_set_integer");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_set_integer64
+ *(void **) (&snd_config_set_integer64) = dlsym(handle, "snd_config_set_integer64");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_set_real
+ *(void **) (&snd_config_set_real) = dlsym(handle, "snd_config_set_real");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_set_string
+ *(void **) (&snd_config_set_string) = dlsym(handle, "snd_config_set_string");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_set_ascii
+ *(void **) (&snd_config_set_ascii) = dlsym(handle, "snd_config_set_ascii");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_set_pointer
+ *(void **) (&snd_config_set_pointer) = dlsym(handle, "snd_config_set_pointer");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_get_id
+ *(void **) (&snd_config_get_id) = dlsym(handle, "snd_config_get_id");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_get_integer
+ *(void **) (&snd_config_get_integer) = dlsym(handle, "snd_config_get_integer");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_get_integer64
+ *(void **) (&snd_config_get_integer64) = dlsym(handle, "snd_config_get_integer64");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_get_real
+ *(void **) (&snd_config_get_real) = dlsym(handle, "snd_config_get_real");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_get_ireal
+ *(void **) (&snd_config_get_ireal) = dlsym(handle, "snd_config_get_ireal");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_get_string
+ *(void **) (&snd_config_get_string) = dlsym(handle, "snd_config_get_string");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_get_ascii
+ *(void **) (&snd_config_get_ascii) = dlsym(handle, "snd_config_get_ascii");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_get_pointer
+ *(void **) (&snd_config_get_pointer) = dlsym(handle, "snd_config_get_pointer");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_test_id
+ *(void **) (&snd_config_test_id) = dlsym(handle, "snd_config_test_id");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_iterator_first
+ *(void **) (&snd_config_iterator_first) = dlsym(handle, "snd_config_iterator_first");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_iterator_next
+ *(void **) (&snd_config_iterator_next) = dlsym(handle, "snd_config_iterator_next");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_iterator_end
+ *(void **) (&snd_config_iterator_end) = dlsym(handle, "snd_config_iterator_end");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_iterator_entry
+ *(void **) (&snd_config_iterator_entry) = dlsym(handle, "snd_config_iterator_entry");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_get_bool_ascii
+ *(void **) (&snd_config_get_bool_ascii) = dlsym(handle, "snd_config_get_bool_ascii");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_get_bool
+ *(void **) (&snd_config_get_bool) = dlsym(handle, "snd_config_get_bool");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_get_ctl_iface_ascii
+ *(void **) (&snd_config_get_ctl_iface_ascii) = dlsym(handle, "snd_config_get_ctl_iface_ascii");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_config_get_ctl_iface
+ *(void **) (&snd_config_get_ctl_iface) = dlsym(handle, "snd_config_get_ctl_iface");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_names_list
+ *(void **) (&snd_names_list) = dlsym(handle, "snd_names_list");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_names_list_free
+ *(void **) (&snd_names_list_free) = dlsym(handle, "snd_names_list_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_open
+ *(void **) (&snd_pcm_open) = dlsym(handle, "snd_pcm_open");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_open_lconf
+ *(void **) (&snd_pcm_open_lconf) = dlsym(handle, "snd_pcm_open_lconf");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_open_fallback
+ *(void **) (&snd_pcm_open_fallback) = dlsym(handle, "snd_pcm_open_fallback");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_close
+ *(void **) (&snd_pcm_close) = dlsym(handle, "snd_pcm_close");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_name
+ *(void **) (&snd_pcm_name) = dlsym(handle, "snd_pcm_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_type
+ *(void **) (&snd_pcm_type) = dlsym(handle, "snd_pcm_type");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_stream
+ *(void **) (&snd_pcm_stream) = dlsym(handle, "snd_pcm_stream");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_poll_descriptors_count
+ *(void **) (&snd_pcm_poll_descriptors_count) = dlsym(handle, "snd_pcm_poll_descriptors_count");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_poll_descriptors
+ *(void **) (&snd_pcm_poll_descriptors) = dlsym(handle, "snd_pcm_poll_descriptors");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_poll_descriptors_revents
+ *(void **) (&snd_pcm_poll_descriptors_revents) = dlsym(handle, "snd_pcm_poll_descriptors_revents");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_nonblock
+ *(void **) (&snd_pcm_nonblock) = dlsym(handle, "snd_pcm_nonblock");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_async_add_pcm_handler
+ *(void **) (&snd_async_add_pcm_handler) = dlsym(handle, "snd_async_add_pcm_handler");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_async_handler_get_pcm
+ *(void **) (&snd_async_handler_get_pcm) = dlsym(handle, "snd_async_handler_get_pcm");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_info
+ *(void **) (&snd_pcm_info) = dlsym(handle, "snd_pcm_info");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_current
+ *(void **) (&snd_pcm_hw_params_current) = dlsym(handle, "snd_pcm_hw_params_current");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params
+ *(void **) (&snd_pcm_hw_params) = dlsym(handle, "snd_pcm_hw_params");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_free
+ *(void **) (&snd_pcm_hw_free) = dlsym(handle, "snd_pcm_hw_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_sw_params_current
+ *(void **) (&snd_pcm_sw_params_current) = dlsym(handle, "snd_pcm_sw_params_current");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_sw_params
+ *(void **) (&snd_pcm_sw_params) = dlsym(handle, "snd_pcm_sw_params");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_prepare
+ *(void **) (&snd_pcm_prepare) = dlsym(handle, "snd_pcm_prepare");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_reset
+ *(void **) (&snd_pcm_reset) = dlsym(handle, "snd_pcm_reset");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_status
+ *(void **) (&snd_pcm_status) = dlsym(handle, "snd_pcm_status");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_start
+ *(void **) (&snd_pcm_start) = dlsym(handle, "snd_pcm_start");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_drop
+ *(void **) (&snd_pcm_drop) = dlsym(handle, "snd_pcm_drop");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_drain
+ *(void **) (&snd_pcm_drain) = dlsym(handle, "snd_pcm_drain");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_pause
+ *(void **) (&snd_pcm_pause) = dlsym(handle, "snd_pcm_pause");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_state
+ *(void **) (&snd_pcm_state) = dlsym(handle, "snd_pcm_state");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hwsync
+ *(void **) (&snd_pcm_hwsync) = dlsym(handle, "snd_pcm_hwsync");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_delay
+ *(void **) (&snd_pcm_delay) = dlsym(handle, "snd_pcm_delay");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_resume
+ *(void **) (&snd_pcm_resume) = dlsym(handle, "snd_pcm_resume");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_htimestamp
+ *(void **) (&snd_pcm_htimestamp) = dlsym(handle, "snd_pcm_htimestamp");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_avail
+ *(void **) (&snd_pcm_avail) = dlsym(handle, "snd_pcm_avail");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_avail_update
+ *(void **) (&snd_pcm_avail_update) = dlsym(handle, "snd_pcm_avail_update");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_avail_delay
+ *(void **) (&snd_pcm_avail_delay) = dlsym(handle, "snd_pcm_avail_delay");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_rewindable
+ *(void **) (&snd_pcm_rewindable) = dlsym(handle, "snd_pcm_rewindable");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_rewind
+ *(void **) (&snd_pcm_rewind) = dlsym(handle, "snd_pcm_rewind");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_forwardable
+ *(void **) (&snd_pcm_forwardable) = dlsym(handle, "snd_pcm_forwardable");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_forward
+ *(void **) (&snd_pcm_forward) = dlsym(handle, "snd_pcm_forward");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_writei
+ *(void **) (&snd_pcm_writei) = dlsym(handle, "snd_pcm_writei");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_readi
+ *(void **) (&snd_pcm_readi) = dlsym(handle, "snd_pcm_readi");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_writen
+ *(void **) (&snd_pcm_writen) = dlsym(handle, "snd_pcm_writen");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_readn
+ *(void **) (&snd_pcm_readn) = dlsym(handle, "snd_pcm_readn");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_wait
+ *(void **) (&snd_pcm_wait) = dlsym(handle, "snd_pcm_wait");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_link
+ *(void **) (&snd_pcm_link) = dlsym(handle, "snd_pcm_link");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_unlink
+ *(void **) (&snd_pcm_unlink) = dlsym(handle, "snd_pcm_unlink");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_query_chmaps
+ *(void **) (&snd_pcm_query_chmaps) = dlsym(handle, "snd_pcm_query_chmaps");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_query_chmaps_from_hw
+ *(void **) (&snd_pcm_query_chmaps_from_hw) = dlsym(handle, "snd_pcm_query_chmaps_from_hw");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_free_chmaps
+ *(void **) (&snd_pcm_free_chmaps) = dlsym(handle, "snd_pcm_free_chmaps");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_get_chmap
+ *(void **) (&snd_pcm_get_chmap) = dlsym(handle, "snd_pcm_get_chmap");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_set_chmap
+ *(void **) (&snd_pcm_set_chmap) = dlsym(handle, "snd_pcm_set_chmap");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_chmap_type_name
+ *(void **) (&snd_pcm_chmap_type_name) = dlsym(handle, "snd_pcm_chmap_type_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_chmap_name
+ *(void **) (&snd_pcm_chmap_name) = dlsym(handle, "snd_pcm_chmap_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_chmap_long_name
+ *(void **) (&snd_pcm_chmap_long_name) = dlsym(handle, "snd_pcm_chmap_long_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_chmap_print
+ *(void **) (&snd_pcm_chmap_print) = dlsym(handle, "snd_pcm_chmap_print");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_chmap_from_string
+ *(void **) (&snd_pcm_chmap_from_string) = dlsym(handle, "snd_pcm_chmap_from_string");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_chmap_parse_string
+ *(void **) (&snd_pcm_chmap_parse_string) = dlsym(handle, "snd_pcm_chmap_parse_string");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_recover
+ *(void **) (&snd_pcm_recover) = dlsym(handle, "snd_pcm_recover");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_set_params
+ *(void **) (&snd_pcm_set_params) = dlsym(handle, "snd_pcm_set_params");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_get_params
+ *(void **) (&snd_pcm_get_params) = dlsym(handle, "snd_pcm_get_params");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_info_sizeof
+ *(void **) (&snd_pcm_info_sizeof) = dlsym(handle, "snd_pcm_info_sizeof");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_info_malloc
+ *(void **) (&snd_pcm_info_malloc) = dlsym(handle, "snd_pcm_info_malloc");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_info_free
+ *(void **) (&snd_pcm_info_free) = dlsym(handle, "snd_pcm_info_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_info_copy
+ *(void **) (&snd_pcm_info_copy) = dlsym(handle, "snd_pcm_info_copy");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_info_get_device
+ *(void **) (&snd_pcm_info_get_device) = dlsym(handle, "snd_pcm_info_get_device");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_info_get_subdevice
+ *(void **) (&snd_pcm_info_get_subdevice) = dlsym(handle, "snd_pcm_info_get_subdevice");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_info_get_stream
+ *(void **) (&snd_pcm_info_get_stream) = dlsym(handle, "snd_pcm_info_get_stream");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_info_get_card
+ *(void **) (&snd_pcm_info_get_card) = dlsym(handle, "snd_pcm_info_get_card");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_info_get_id
+ *(void **) (&snd_pcm_info_get_id) = dlsym(handle, "snd_pcm_info_get_id");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_info_get_name
+ *(void **) (&snd_pcm_info_get_name) = dlsym(handle, "snd_pcm_info_get_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_info_get_subdevice_name
+ *(void **) (&snd_pcm_info_get_subdevice_name) = dlsym(handle, "snd_pcm_info_get_subdevice_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_info_get_class
+ *(void **) (&snd_pcm_info_get_class) = dlsym(handle, "snd_pcm_info_get_class");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_info_get_subclass
+ *(void **) (&snd_pcm_info_get_subclass) = dlsym(handle, "snd_pcm_info_get_subclass");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_info_get_subdevices_count
+ *(void **) (&snd_pcm_info_get_subdevices_count) = dlsym(handle, "snd_pcm_info_get_subdevices_count");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_info_get_subdevices_avail
+ *(void **) (&snd_pcm_info_get_subdevices_avail) = dlsym(handle, "snd_pcm_info_get_subdevices_avail");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_info_get_sync
+ *(void **) (&snd_pcm_info_get_sync) = dlsym(handle, "snd_pcm_info_get_sync");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_info_set_device
+ *(void **) (&snd_pcm_info_set_device) = dlsym(handle, "snd_pcm_info_set_device");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_info_set_subdevice
+ *(void **) (&snd_pcm_info_set_subdevice) = dlsym(handle, "snd_pcm_info_set_subdevice");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_info_set_stream
+ *(void **) (&snd_pcm_info_set_stream) = dlsym(handle, "snd_pcm_info_set_stream");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_any
+ *(void **) (&snd_pcm_hw_params_any) = dlsym(handle, "snd_pcm_hw_params_any");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_can_mmap_sample_resolution
+ *(void **) (&snd_pcm_hw_params_can_mmap_sample_resolution) = dlsym(handle, "snd_pcm_hw_params_can_mmap_sample_resolution");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_is_double
+ *(void **) (&snd_pcm_hw_params_is_double) = dlsym(handle, "snd_pcm_hw_params_is_double");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_is_batch
+ *(void **) (&snd_pcm_hw_params_is_batch) = dlsym(handle, "snd_pcm_hw_params_is_batch");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_is_block_transfer
+ *(void **) (&snd_pcm_hw_params_is_block_transfer) = dlsym(handle, "snd_pcm_hw_params_is_block_transfer");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_is_monotonic
+ *(void **) (&snd_pcm_hw_params_is_monotonic) = dlsym(handle, "snd_pcm_hw_params_is_monotonic");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_can_overrange
+ *(void **) (&snd_pcm_hw_params_can_overrange) = dlsym(handle, "snd_pcm_hw_params_can_overrange");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_can_pause
+ *(void **) (&snd_pcm_hw_params_can_pause) = dlsym(handle, "snd_pcm_hw_params_can_pause");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_can_resume
+ *(void **) (&snd_pcm_hw_params_can_resume) = dlsym(handle, "snd_pcm_hw_params_can_resume");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_is_half_duplex
+ *(void **) (&snd_pcm_hw_params_is_half_duplex) = dlsym(handle, "snd_pcm_hw_params_is_half_duplex");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_is_joint_duplex
+ *(void **) (&snd_pcm_hw_params_is_joint_duplex) = dlsym(handle, "snd_pcm_hw_params_is_joint_duplex");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_can_sync_start
+ *(void **) (&snd_pcm_hw_params_can_sync_start) = dlsym(handle, "snd_pcm_hw_params_can_sync_start");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_can_disable_period_wakeup
+ *(void **) (&snd_pcm_hw_params_can_disable_period_wakeup) = dlsym(handle, "snd_pcm_hw_params_can_disable_period_wakeup");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_supports_audio_wallclock_ts
+ *(void **) (&snd_pcm_hw_params_supports_audio_wallclock_ts) = dlsym(handle, "snd_pcm_hw_params_supports_audio_wallclock_ts");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_supports_audio_ts_type
+ *(void **) (&snd_pcm_hw_params_supports_audio_ts_type) = dlsym(handle, "snd_pcm_hw_params_supports_audio_ts_type");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_get_rate_numden
+ *(void **) (&snd_pcm_hw_params_get_rate_numden) = dlsym(handle, "snd_pcm_hw_params_get_rate_numden");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_get_sbits
+ *(void **) (&snd_pcm_hw_params_get_sbits) = dlsym(handle, "snd_pcm_hw_params_get_sbits");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_get_fifo_size
+ *(void **) (&snd_pcm_hw_params_get_fifo_size) = dlsym(handle, "snd_pcm_hw_params_get_fifo_size");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_sizeof
+ *(void **) (&snd_pcm_hw_params_sizeof) = dlsym(handle, "snd_pcm_hw_params_sizeof");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_malloc
+ *(void **) (&snd_pcm_hw_params_malloc) = dlsym(handle, "snd_pcm_hw_params_malloc");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_free
+ *(void **) (&snd_pcm_hw_params_free) = dlsym(handle, "snd_pcm_hw_params_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_copy
+ *(void **) (&snd_pcm_hw_params_copy) = dlsym(handle, "snd_pcm_hw_params_copy");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_get_access
+ *(void **) (&snd_pcm_hw_params_get_access) = dlsym(handle, "snd_pcm_hw_params_get_access");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_test_access
+ *(void **) (&snd_pcm_hw_params_test_access) = dlsym(handle, "snd_pcm_hw_params_test_access");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_access
+ *(void **) (&snd_pcm_hw_params_set_access) = dlsym(handle, "snd_pcm_hw_params_set_access");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_access_first
+ *(void **) (&snd_pcm_hw_params_set_access_first) = dlsym(handle, "snd_pcm_hw_params_set_access_first");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_access_last
+ *(void **) (&snd_pcm_hw_params_set_access_last) = dlsym(handle, "snd_pcm_hw_params_set_access_last");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_access_mask
+ *(void **) (&snd_pcm_hw_params_set_access_mask) = dlsym(handle, "snd_pcm_hw_params_set_access_mask");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_get_access_mask
+ *(void **) (&snd_pcm_hw_params_get_access_mask) = dlsym(handle, "snd_pcm_hw_params_get_access_mask");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_get_format
+ *(void **) (&snd_pcm_hw_params_get_format) = dlsym(handle, "snd_pcm_hw_params_get_format");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_test_format
+ *(void **) (&snd_pcm_hw_params_test_format) = dlsym(handle, "snd_pcm_hw_params_test_format");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_format
+ *(void **) (&snd_pcm_hw_params_set_format) = dlsym(handle, "snd_pcm_hw_params_set_format");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_format_first
+ *(void **) (&snd_pcm_hw_params_set_format_first) = dlsym(handle, "snd_pcm_hw_params_set_format_first");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_format_last
+ *(void **) (&snd_pcm_hw_params_set_format_last) = dlsym(handle, "snd_pcm_hw_params_set_format_last");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_format_mask
+ *(void **) (&snd_pcm_hw_params_set_format_mask) = dlsym(handle, "snd_pcm_hw_params_set_format_mask");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_get_format_mask
+ *(void **) (&snd_pcm_hw_params_get_format_mask) = dlsym(handle, "snd_pcm_hw_params_get_format_mask");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_get_subformat
+ *(void **) (&snd_pcm_hw_params_get_subformat) = dlsym(handle, "snd_pcm_hw_params_get_subformat");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_test_subformat
+ *(void **) (&snd_pcm_hw_params_test_subformat) = dlsym(handle, "snd_pcm_hw_params_test_subformat");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_subformat
+ *(void **) (&snd_pcm_hw_params_set_subformat) = dlsym(handle, "snd_pcm_hw_params_set_subformat");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_subformat_first
+ *(void **) (&snd_pcm_hw_params_set_subformat_first) = dlsym(handle, "snd_pcm_hw_params_set_subformat_first");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_subformat_last
+ *(void **) (&snd_pcm_hw_params_set_subformat_last) = dlsym(handle, "snd_pcm_hw_params_set_subformat_last");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_subformat_mask
+ *(void **) (&snd_pcm_hw_params_set_subformat_mask) = dlsym(handle, "snd_pcm_hw_params_set_subformat_mask");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_get_subformat_mask
+ *(void **) (&snd_pcm_hw_params_get_subformat_mask) = dlsym(handle, "snd_pcm_hw_params_get_subformat_mask");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_get_channels
+ *(void **) (&snd_pcm_hw_params_get_channels) = dlsym(handle, "snd_pcm_hw_params_get_channels");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_get_channels_min
+ *(void **) (&snd_pcm_hw_params_get_channels_min) = dlsym(handle, "snd_pcm_hw_params_get_channels_min");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_get_channels_max
+ *(void **) (&snd_pcm_hw_params_get_channels_max) = dlsym(handle, "snd_pcm_hw_params_get_channels_max");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_test_channels
+ *(void **) (&snd_pcm_hw_params_test_channels) = dlsym(handle, "snd_pcm_hw_params_test_channels");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_channels
+ *(void **) (&snd_pcm_hw_params_set_channels) = dlsym(handle, "snd_pcm_hw_params_set_channels");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_channels_min
+ *(void **) (&snd_pcm_hw_params_set_channels_min) = dlsym(handle, "snd_pcm_hw_params_set_channels_min");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_channels_max
+ *(void **) (&snd_pcm_hw_params_set_channels_max) = dlsym(handle, "snd_pcm_hw_params_set_channels_max");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_channels_minmax
+ *(void **) (&snd_pcm_hw_params_set_channels_minmax) = dlsym(handle, "snd_pcm_hw_params_set_channels_minmax");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_channels_near
+ *(void **) (&snd_pcm_hw_params_set_channels_near) = dlsym(handle, "snd_pcm_hw_params_set_channels_near");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_channels_first
+ *(void **) (&snd_pcm_hw_params_set_channels_first) = dlsym(handle, "snd_pcm_hw_params_set_channels_first");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_channels_last
+ *(void **) (&snd_pcm_hw_params_set_channels_last) = dlsym(handle, "snd_pcm_hw_params_set_channels_last");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_get_rate
+ *(void **) (&snd_pcm_hw_params_get_rate) = dlsym(handle, "snd_pcm_hw_params_get_rate");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_get_rate_min
+ *(void **) (&snd_pcm_hw_params_get_rate_min) = dlsym(handle, "snd_pcm_hw_params_get_rate_min");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_get_rate_max
+ *(void **) (&snd_pcm_hw_params_get_rate_max) = dlsym(handle, "snd_pcm_hw_params_get_rate_max");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_test_rate
+ *(void **) (&snd_pcm_hw_params_test_rate) = dlsym(handle, "snd_pcm_hw_params_test_rate");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_rate
+ *(void **) (&snd_pcm_hw_params_set_rate) = dlsym(handle, "snd_pcm_hw_params_set_rate");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_rate_min
+ *(void **) (&snd_pcm_hw_params_set_rate_min) = dlsym(handle, "snd_pcm_hw_params_set_rate_min");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_rate_max
+ *(void **) (&snd_pcm_hw_params_set_rate_max) = dlsym(handle, "snd_pcm_hw_params_set_rate_max");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_rate_minmax
+ *(void **) (&snd_pcm_hw_params_set_rate_minmax) = dlsym(handle, "snd_pcm_hw_params_set_rate_minmax");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_rate_near
+ *(void **) (&snd_pcm_hw_params_set_rate_near) = dlsym(handle, "snd_pcm_hw_params_set_rate_near");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_rate_first
+ *(void **) (&snd_pcm_hw_params_set_rate_first) = dlsym(handle, "snd_pcm_hw_params_set_rate_first");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_rate_last
+ *(void **) (&snd_pcm_hw_params_set_rate_last) = dlsym(handle, "snd_pcm_hw_params_set_rate_last");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_rate_resample
+ *(void **) (&snd_pcm_hw_params_set_rate_resample) = dlsym(handle, "snd_pcm_hw_params_set_rate_resample");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_get_rate_resample
+ *(void **) (&snd_pcm_hw_params_get_rate_resample) = dlsym(handle, "snd_pcm_hw_params_get_rate_resample");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_export_buffer
+ *(void **) (&snd_pcm_hw_params_set_export_buffer) = dlsym(handle, "snd_pcm_hw_params_set_export_buffer");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_get_export_buffer
+ *(void **) (&snd_pcm_hw_params_get_export_buffer) = dlsym(handle, "snd_pcm_hw_params_get_export_buffer");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_period_wakeup
+ *(void **) (&snd_pcm_hw_params_set_period_wakeup) = dlsym(handle, "snd_pcm_hw_params_set_period_wakeup");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_get_period_wakeup
+ *(void **) (&snd_pcm_hw_params_get_period_wakeup) = dlsym(handle, "snd_pcm_hw_params_get_period_wakeup");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_get_period_time
+ *(void **) (&snd_pcm_hw_params_get_period_time) = dlsym(handle, "snd_pcm_hw_params_get_period_time");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_get_period_time_min
+ *(void **) (&snd_pcm_hw_params_get_period_time_min) = dlsym(handle, "snd_pcm_hw_params_get_period_time_min");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_get_period_time_max
+ *(void **) (&snd_pcm_hw_params_get_period_time_max) = dlsym(handle, "snd_pcm_hw_params_get_period_time_max");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_test_period_time
+ *(void **) (&snd_pcm_hw_params_test_period_time) = dlsym(handle, "snd_pcm_hw_params_test_period_time");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_period_time
+ *(void **) (&snd_pcm_hw_params_set_period_time) = dlsym(handle, "snd_pcm_hw_params_set_period_time");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_period_time_min
+ *(void **) (&snd_pcm_hw_params_set_period_time_min) = dlsym(handle, "snd_pcm_hw_params_set_period_time_min");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_period_time_max
+ *(void **) (&snd_pcm_hw_params_set_period_time_max) = dlsym(handle, "snd_pcm_hw_params_set_period_time_max");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_period_time_minmax
+ *(void **) (&snd_pcm_hw_params_set_period_time_minmax) = dlsym(handle, "snd_pcm_hw_params_set_period_time_minmax");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_period_time_near
+ *(void **) (&snd_pcm_hw_params_set_period_time_near) = dlsym(handle, "snd_pcm_hw_params_set_period_time_near");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_period_time_first
+ *(void **) (&snd_pcm_hw_params_set_period_time_first) = dlsym(handle, "snd_pcm_hw_params_set_period_time_first");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_period_time_last
+ *(void **) (&snd_pcm_hw_params_set_period_time_last) = dlsym(handle, "snd_pcm_hw_params_set_period_time_last");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_get_period_size
+ *(void **) (&snd_pcm_hw_params_get_period_size) = dlsym(handle, "snd_pcm_hw_params_get_period_size");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_get_period_size_min
+ *(void **) (&snd_pcm_hw_params_get_period_size_min) = dlsym(handle, "snd_pcm_hw_params_get_period_size_min");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_get_period_size_max
+ *(void **) (&snd_pcm_hw_params_get_period_size_max) = dlsym(handle, "snd_pcm_hw_params_get_period_size_max");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_test_period_size
+ *(void **) (&snd_pcm_hw_params_test_period_size) = dlsym(handle, "snd_pcm_hw_params_test_period_size");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_period_size
+ *(void **) (&snd_pcm_hw_params_set_period_size) = dlsym(handle, "snd_pcm_hw_params_set_period_size");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_period_size_min
+ *(void **) (&snd_pcm_hw_params_set_period_size_min) = dlsym(handle, "snd_pcm_hw_params_set_period_size_min");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_period_size_max
+ *(void **) (&snd_pcm_hw_params_set_period_size_max) = dlsym(handle, "snd_pcm_hw_params_set_period_size_max");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_period_size_minmax
+ *(void **) (&snd_pcm_hw_params_set_period_size_minmax) = dlsym(handle, "snd_pcm_hw_params_set_period_size_minmax");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_period_size_near
+ *(void **) (&snd_pcm_hw_params_set_period_size_near) = dlsym(handle, "snd_pcm_hw_params_set_period_size_near");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_period_size_first
+ *(void **) (&snd_pcm_hw_params_set_period_size_first) = dlsym(handle, "snd_pcm_hw_params_set_period_size_first");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_period_size_last
+ *(void **) (&snd_pcm_hw_params_set_period_size_last) = dlsym(handle, "snd_pcm_hw_params_set_period_size_last");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_period_size_integer
+ *(void **) (&snd_pcm_hw_params_set_period_size_integer) = dlsym(handle, "snd_pcm_hw_params_set_period_size_integer");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_get_periods
+ *(void **) (&snd_pcm_hw_params_get_periods) = dlsym(handle, "snd_pcm_hw_params_get_periods");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_get_periods_min
+ *(void **) (&snd_pcm_hw_params_get_periods_min) = dlsym(handle, "snd_pcm_hw_params_get_periods_min");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_get_periods_max
+ *(void **) (&snd_pcm_hw_params_get_periods_max) = dlsym(handle, "snd_pcm_hw_params_get_periods_max");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_test_periods
+ *(void **) (&snd_pcm_hw_params_test_periods) = dlsym(handle, "snd_pcm_hw_params_test_periods");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_periods
+ *(void **) (&snd_pcm_hw_params_set_periods) = dlsym(handle, "snd_pcm_hw_params_set_periods");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_periods_min
+ *(void **) (&snd_pcm_hw_params_set_periods_min) = dlsym(handle, "snd_pcm_hw_params_set_periods_min");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_periods_max
+ *(void **) (&snd_pcm_hw_params_set_periods_max) = dlsym(handle, "snd_pcm_hw_params_set_periods_max");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_periods_minmax
+ *(void **) (&snd_pcm_hw_params_set_periods_minmax) = dlsym(handle, "snd_pcm_hw_params_set_periods_minmax");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_periods_near
+ *(void **) (&snd_pcm_hw_params_set_periods_near) = dlsym(handle, "snd_pcm_hw_params_set_periods_near");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_periods_first
+ *(void **) (&snd_pcm_hw_params_set_periods_first) = dlsym(handle, "snd_pcm_hw_params_set_periods_first");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_periods_last
+ *(void **) (&snd_pcm_hw_params_set_periods_last) = dlsym(handle, "snd_pcm_hw_params_set_periods_last");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_periods_integer
+ *(void **) (&snd_pcm_hw_params_set_periods_integer) = dlsym(handle, "snd_pcm_hw_params_set_periods_integer");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_get_buffer_time
+ *(void **) (&snd_pcm_hw_params_get_buffer_time) = dlsym(handle, "snd_pcm_hw_params_get_buffer_time");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_get_buffer_time_min
+ *(void **) (&snd_pcm_hw_params_get_buffer_time_min) = dlsym(handle, "snd_pcm_hw_params_get_buffer_time_min");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_get_buffer_time_max
+ *(void **) (&snd_pcm_hw_params_get_buffer_time_max) = dlsym(handle, "snd_pcm_hw_params_get_buffer_time_max");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_test_buffer_time
+ *(void **) (&snd_pcm_hw_params_test_buffer_time) = dlsym(handle, "snd_pcm_hw_params_test_buffer_time");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_buffer_time
+ *(void **) (&snd_pcm_hw_params_set_buffer_time) = dlsym(handle, "snd_pcm_hw_params_set_buffer_time");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_buffer_time_min
+ *(void **) (&snd_pcm_hw_params_set_buffer_time_min) = dlsym(handle, "snd_pcm_hw_params_set_buffer_time_min");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_buffer_time_max
+ *(void **) (&snd_pcm_hw_params_set_buffer_time_max) = dlsym(handle, "snd_pcm_hw_params_set_buffer_time_max");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_buffer_time_minmax
+ *(void **) (&snd_pcm_hw_params_set_buffer_time_minmax) = dlsym(handle, "snd_pcm_hw_params_set_buffer_time_minmax");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_buffer_time_near
+ *(void **) (&snd_pcm_hw_params_set_buffer_time_near) = dlsym(handle, "snd_pcm_hw_params_set_buffer_time_near");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_buffer_time_first
+ *(void **) (&snd_pcm_hw_params_set_buffer_time_first) = dlsym(handle, "snd_pcm_hw_params_set_buffer_time_first");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_buffer_time_last
+ *(void **) (&snd_pcm_hw_params_set_buffer_time_last) = dlsym(handle, "snd_pcm_hw_params_set_buffer_time_last");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_get_buffer_size
+ *(void **) (&snd_pcm_hw_params_get_buffer_size) = dlsym(handle, "snd_pcm_hw_params_get_buffer_size");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_get_buffer_size_min
+ *(void **) (&snd_pcm_hw_params_get_buffer_size_min) = dlsym(handle, "snd_pcm_hw_params_get_buffer_size_min");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_get_buffer_size_max
+ *(void **) (&snd_pcm_hw_params_get_buffer_size_max) = dlsym(handle, "snd_pcm_hw_params_get_buffer_size_max");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_test_buffer_size
+ *(void **) (&snd_pcm_hw_params_test_buffer_size) = dlsym(handle, "snd_pcm_hw_params_test_buffer_size");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_buffer_size
+ *(void **) (&snd_pcm_hw_params_set_buffer_size) = dlsym(handle, "snd_pcm_hw_params_set_buffer_size");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_buffer_size_min
+ *(void **) (&snd_pcm_hw_params_set_buffer_size_min) = dlsym(handle, "snd_pcm_hw_params_set_buffer_size_min");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_buffer_size_max
+ *(void **) (&snd_pcm_hw_params_set_buffer_size_max) = dlsym(handle, "snd_pcm_hw_params_set_buffer_size_max");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_buffer_size_minmax
+ *(void **) (&snd_pcm_hw_params_set_buffer_size_minmax) = dlsym(handle, "snd_pcm_hw_params_set_buffer_size_minmax");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_buffer_size_near
+ *(void **) (&snd_pcm_hw_params_set_buffer_size_near) = dlsym(handle, "snd_pcm_hw_params_set_buffer_size_near");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_buffer_size_first
+ *(void **) (&snd_pcm_hw_params_set_buffer_size_first) = dlsym(handle, "snd_pcm_hw_params_set_buffer_size_first");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_buffer_size_last
+ *(void **) (&snd_pcm_hw_params_set_buffer_size_last) = dlsym(handle, "snd_pcm_hw_params_set_buffer_size_last");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_get_min_align
+ *(void **) (&snd_pcm_hw_params_get_min_align) = dlsym(handle, "snd_pcm_hw_params_get_min_align");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_sw_params_sizeof
+ *(void **) (&snd_pcm_sw_params_sizeof) = dlsym(handle, "snd_pcm_sw_params_sizeof");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_sw_params_malloc
+ *(void **) (&snd_pcm_sw_params_malloc) = dlsym(handle, "snd_pcm_sw_params_malloc");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_sw_params_free
+ *(void **) (&snd_pcm_sw_params_free) = dlsym(handle, "snd_pcm_sw_params_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_sw_params_copy
+ *(void **) (&snd_pcm_sw_params_copy) = dlsym(handle, "snd_pcm_sw_params_copy");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_sw_params_get_boundary
+ *(void **) (&snd_pcm_sw_params_get_boundary) = dlsym(handle, "snd_pcm_sw_params_get_boundary");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_sw_params_set_tstamp_mode
+ *(void **) (&snd_pcm_sw_params_set_tstamp_mode) = dlsym(handle, "snd_pcm_sw_params_set_tstamp_mode");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_sw_params_get_tstamp_mode
+ *(void **) (&snd_pcm_sw_params_get_tstamp_mode) = dlsym(handle, "snd_pcm_sw_params_get_tstamp_mode");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_sw_params_set_tstamp_type
+ *(void **) (&snd_pcm_sw_params_set_tstamp_type) = dlsym(handle, "snd_pcm_sw_params_set_tstamp_type");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_sw_params_get_tstamp_type
+ *(void **) (&snd_pcm_sw_params_get_tstamp_type) = dlsym(handle, "snd_pcm_sw_params_get_tstamp_type");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_sw_params_set_avail_min
+ *(void **) (&snd_pcm_sw_params_set_avail_min) = dlsym(handle, "snd_pcm_sw_params_set_avail_min");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_sw_params_get_avail_min
+ *(void **) (&snd_pcm_sw_params_get_avail_min) = dlsym(handle, "snd_pcm_sw_params_get_avail_min");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_sw_params_set_period_event
+ *(void **) (&snd_pcm_sw_params_set_period_event) = dlsym(handle, "snd_pcm_sw_params_set_period_event");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_sw_params_get_period_event
+ *(void **) (&snd_pcm_sw_params_get_period_event) = dlsym(handle, "snd_pcm_sw_params_get_period_event");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_sw_params_set_start_threshold
+ *(void **) (&snd_pcm_sw_params_set_start_threshold) = dlsym(handle, "snd_pcm_sw_params_set_start_threshold");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_sw_params_get_start_threshold
+ *(void **) (&snd_pcm_sw_params_get_start_threshold) = dlsym(handle, "snd_pcm_sw_params_get_start_threshold");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_sw_params_set_stop_threshold
+ *(void **) (&snd_pcm_sw_params_set_stop_threshold) = dlsym(handle, "snd_pcm_sw_params_set_stop_threshold");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_sw_params_get_stop_threshold
+ *(void **) (&snd_pcm_sw_params_get_stop_threshold) = dlsym(handle, "snd_pcm_sw_params_get_stop_threshold");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_sw_params_set_silence_threshold
+ *(void **) (&snd_pcm_sw_params_set_silence_threshold) = dlsym(handle, "snd_pcm_sw_params_set_silence_threshold");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_sw_params_get_silence_threshold
+ *(void **) (&snd_pcm_sw_params_get_silence_threshold) = dlsym(handle, "snd_pcm_sw_params_get_silence_threshold");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_sw_params_set_silence_size
+ *(void **) (&snd_pcm_sw_params_set_silence_size) = dlsym(handle, "snd_pcm_sw_params_set_silence_size");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_sw_params_get_silence_size
+ *(void **) (&snd_pcm_sw_params_get_silence_size) = dlsym(handle, "snd_pcm_sw_params_get_silence_size");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_access_mask_sizeof
+ *(void **) (&snd_pcm_access_mask_sizeof) = dlsym(handle, "snd_pcm_access_mask_sizeof");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_access_mask_malloc
+ *(void **) (&snd_pcm_access_mask_malloc) = dlsym(handle, "snd_pcm_access_mask_malloc");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_access_mask_free
+ *(void **) (&snd_pcm_access_mask_free) = dlsym(handle, "snd_pcm_access_mask_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_access_mask_copy
+ *(void **) (&snd_pcm_access_mask_copy) = dlsym(handle, "snd_pcm_access_mask_copy");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_access_mask_none
+ *(void **) (&snd_pcm_access_mask_none) = dlsym(handle, "snd_pcm_access_mask_none");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_access_mask_any
+ *(void **) (&snd_pcm_access_mask_any) = dlsym(handle, "snd_pcm_access_mask_any");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_access_mask_test
+ *(void **) (&snd_pcm_access_mask_test) = dlsym(handle, "snd_pcm_access_mask_test");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_access_mask_empty
+ *(void **) (&snd_pcm_access_mask_empty) = dlsym(handle, "snd_pcm_access_mask_empty");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_access_mask_set
+ *(void **) (&snd_pcm_access_mask_set) = dlsym(handle, "snd_pcm_access_mask_set");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_access_mask_reset
+ *(void **) (&snd_pcm_access_mask_reset) = dlsym(handle, "snd_pcm_access_mask_reset");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_format_mask_sizeof
+ *(void **) (&snd_pcm_format_mask_sizeof) = dlsym(handle, "snd_pcm_format_mask_sizeof");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_format_mask_malloc
+ *(void **) (&snd_pcm_format_mask_malloc) = dlsym(handle, "snd_pcm_format_mask_malloc");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_format_mask_free
+ *(void **) (&snd_pcm_format_mask_free) = dlsym(handle, "snd_pcm_format_mask_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_format_mask_copy
+ *(void **) (&snd_pcm_format_mask_copy) = dlsym(handle, "snd_pcm_format_mask_copy");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_format_mask_none
+ *(void **) (&snd_pcm_format_mask_none) = dlsym(handle, "snd_pcm_format_mask_none");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_format_mask_any
+ *(void **) (&snd_pcm_format_mask_any) = dlsym(handle, "snd_pcm_format_mask_any");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_format_mask_test
+ *(void **) (&snd_pcm_format_mask_test) = dlsym(handle, "snd_pcm_format_mask_test");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_format_mask_empty
+ *(void **) (&snd_pcm_format_mask_empty) = dlsym(handle, "snd_pcm_format_mask_empty");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_format_mask_set
+ *(void **) (&snd_pcm_format_mask_set) = dlsym(handle, "snd_pcm_format_mask_set");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_format_mask_reset
+ *(void **) (&snd_pcm_format_mask_reset) = dlsym(handle, "snd_pcm_format_mask_reset");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_subformat_mask_sizeof
+ *(void **) (&snd_pcm_subformat_mask_sizeof) = dlsym(handle, "snd_pcm_subformat_mask_sizeof");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_subformat_mask_malloc
+ *(void **) (&snd_pcm_subformat_mask_malloc) = dlsym(handle, "snd_pcm_subformat_mask_malloc");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_subformat_mask_free
+ *(void **) (&snd_pcm_subformat_mask_free) = dlsym(handle, "snd_pcm_subformat_mask_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_subformat_mask_copy
+ *(void **) (&snd_pcm_subformat_mask_copy) = dlsym(handle, "snd_pcm_subformat_mask_copy");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_subformat_mask_none
+ *(void **) (&snd_pcm_subformat_mask_none) = dlsym(handle, "snd_pcm_subformat_mask_none");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_subformat_mask_any
+ *(void **) (&snd_pcm_subformat_mask_any) = dlsym(handle, "snd_pcm_subformat_mask_any");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_subformat_mask_test
+ *(void **) (&snd_pcm_subformat_mask_test) = dlsym(handle, "snd_pcm_subformat_mask_test");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_subformat_mask_empty
+ *(void **) (&snd_pcm_subformat_mask_empty) = dlsym(handle, "snd_pcm_subformat_mask_empty");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_subformat_mask_set
+ *(void **) (&snd_pcm_subformat_mask_set) = dlsym(handle, "snd_pcm_subformat_mask_set");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_subformat_mask_reset
+ *(void **) (&snd_pcm_subformat_mask_reset) = dlsym(handle, "snd_pcm_subformat_mask_reset");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_status_sizeof
+ *(void **) (&snd_pcm_status_sizeof) = dlsym(handle, "snd_pcm_status_sizeof");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_status_malloc
+ *(void **) (&snd_pcm_status_malloc) = dlsym(handle, "snd_pcm_status_malloc");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_status_free
+ *(void **) (&snd_pcm_status_free) = dlsym(handle, "snd_pcm_status_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_status_copy
+ *(void **) (&snd_pcm_status_copy) = dlsym(handle, "snd_pcm_status_copy");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_status_get_state
+ *(void **) (&snd_pcm_status_get_state) = dlsym(handle, "snd_pcm_status_get_state");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_status_get_trigger_tstamp
+ *(void **) (&snd_pcm_status_get_trigger_tstamp) = dlsym(handle, "snd_pcm_status_get_trigger_tstamp");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_status_get_trigger_htstamp
+ *(void **) (&snd_pcm_status_get_trigger_htstamp) = dlsym(handle, "snd_pcm_status_get_trigger_htstamp");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_status_get_tstamp
+ *(void **) (&snd_pcm_status_get_tstamp) = dlsym(handle, "snd_pcm_status_get_tstamp");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_status_get_htstamp
+ *(void **) (&snd_pcm_status_get_htstamp) = dlsym(handle, "snd_pcm_status_get_htstamp");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_status_get_audio_htstamp
+ *(void **) (&snd_pcm_status_get_audio_htstamp) = dlsym(handle, "snd_pcm_status_get_audio_htstamp");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_status_get_driver_htstamp
+ *(void **) (&snd_pcm_status_get_driver_htstamp) = dlsym(handle, "snd_pcm_status_get_driver_htstamp");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_status_get_audio_htstamp_report
+ *(void **) (&snd_pcm_status_get_audio_htstamp_report) = dlsym(handle, "snd_pcm_status_get_audio_htstamp_report");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_status_set_audio_htstamp_config
+ *(void **) (&snd_pcm_status_set_audio_htstamp_config) = dlsym(handle, "snd_pcm_status_set_audio_htstamp_config");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_status_get_delay
+ *(void **) (&snd_pcm_status_get_delay) = dlsym(handle, "snd_pcm_status_get_delay");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_status_get_avail
+ *(void **) (&snd_pcm_status_get_avail) = dlsym(handle, "snd_pcm_status_get_avail");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_status_get_avail_max
+ *(void **) (&snd_pcm_status_get_avail_max) = dlsym(handle, "snd_pcm_status_get_avail_max");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_status_get_overrange
+ *(void **) (&snd_pcm_status_get_overrange) = dlsym(handle, "snd_pcm_status_get_overrange");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_type_name
+ *(void **) (&snd_pcm_type_name) = dlsym(handle, "snd_pcm_type_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_stream_name
+ *(void **) (&snd_pcm_stream_name) = dlsym(handle, "snd_pcm_stream_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_access_name
+ *(void **) (&snd_pcm_access_name) = dlsym(handle, "snd_pcm_access_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_format_name
+ *(void **) (&snd_pcm_format_name) = dlsym(handle, "snd_pcm_format_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_format_description
+ *(void **) (&snd_pcm_format_description) = dlsym(handle, "snd_pcm_format_description");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_subformat_name
+ *(void **) (&snd_pcm_subformat_name) = dlsym(handle, "snd_pcm_subformat_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_subformat_description
+ *(void **) (&snd_pcm_subformat_description) = dlsym(handle, "snd_pcm_subformat_description");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_format_value
+ *(void **) (&snd_pcm_format_value) = dlsym(handle, "snd_pcm_format_value");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_tstamp_mode_name
+ *(void **) (&snd_pcm_tstamp_mode_name) = dlsym(handle, "snd_pcm_tstamp_mode_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_state_name
+ *(void **) (&snd_pcm_state_name) = dlsym(handle, "snd_pcm_state_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_dump
+ *(void **) (&snd_pcm_dump) = dlsym(handle, "snd_pcm_dump");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_dump_hw_setup
+ *(void **) (&snd_pcm_dump_hw_setup) = dlsym(handle, "snd_pcm_dump_hw_setup");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_dump_sw_setup
+ *(void **) (&snd_pcm_dump_sw_setup) = dlsym(handle, "snd_pcm_dump_sw_setup");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_dump_setup
+ *(void **) (&snd_pcm_dump_setup) = dlsym(handle, "snd_pcm_dump_setup");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_dump
+ *(void **) (&snd_pcm_hw_params_dump) = dlsym(handle, "snd_pcm_hw_params_dump");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_sw_params_dump
+ *(void **) (&snd_pcm_sw_params_dump) = dlsym(handle, "snd_pcm_sw_params_dump");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_status_dump
+ *(void **) (&snd_pcm_status_dump) = dlsym(handle, "snd_pcm_status_dump");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_mmap_begin
+ *(void **) (&snd_pcm_mmap_begin) = dlsym(handle, "snd_pcm_mmap_begin");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_mmap_commit
+ *(void **) (&snd_pcm_mmap_commit) = dlsym(handle, "snd_pcm_mmap_commit");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_mmap_writei
+ *(void **) (&snd_pcm_mmap_writei) = dlsym(handle, "snd_pcm_mmap_writei");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_mmap_readi
+ *(void **) (&snd_pcm_mmap_readi) = dlsym(handle, "snd_pcm_mmap_readi");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_mmap_writen
+ *(void **) (&snd_pcm_mmap_writen) = dlsym(handle, "snd_pcm_mmap_writen");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_mmap_readn
+ *(void **) (&snd_pcm_mmap_readn) = dlsym(handle, "snd_pcm_mmap_readn");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_format_signed
+ *(void **) (&snd_pcm_format_signed) = dlsym(handle, "snd_pcm_format_signed");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_format_unsigned
+ *(void **) (&snd_pcm_format_unsigned) = dlsym(handle, "snd_pcm_format_unsigned");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_format_linear
+ *(void **) (&snd_pcm_format_linear) = dlsym(handle, "snd_pcm_format_linear");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_format_float
+ *(void **) (&snd_pcm_format_float) = dlsym(handle, "snd_pcm_format_float");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_format_little_endian
+ *(void **) (&snd_pcm_format_little_endian) = dlsym(handle, "snd_pcm_format_little_endian");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_format_big_endian
+ *(void **) (&snd_pcm_format_big_endian) = dlsym(handle, "snd_pcm_format_big_endian");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_format_cpu_endian
+ *(void **) (&snd_pcm_format_cpu_endian) = dlsym(handle, "snd_pcm_format_cpu_endian");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_format_width
+ *(void **) (&snd_pcm_format_width) = dlsym(handle, "snd_pcm_format_width");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_format_physical_width
+ *(void **) (&snd_pcm_format_physical_width) = dlsym(handle, "snd_pcm_format_physical_width");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_build_linear_format
+ *(void **) (&snd_pcm_build_linear_format) = dlsym(handle, "snd_pcm_build_linear_format");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_format_size
+ *(void **) (&snd_pcm_format_size) = dlsym(handle, "snd_pcm_format_size");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_format_silence
+ *(void **) (&snd_pcm_format_silence) = dlsym(handle, "snd_pcm_format_silence");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_format_silence_16
+ *(void **) (&snd_pcm_format_silence_16) = dlsym(handle, "snd_pcm_format_silence_16");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_format_silence_32
+ *(void **) (&snd_pcm_format_silence_32) = dlsym(handle, "snd_pcm_format_silence_32");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_format_silence_64
+ *(void **) (&snd_pcm_format_silence_64) = dlsym(handle, "snd_pcm_format_silence_64");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_format_set_silence
+ *(void **) (&snd_pcm_format_set_silence) = dlsym(handle, "snd_pcm_format_set_silence");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_bytes_to_frames
+ *(void **) (&snd_pcm_bytes_to_frames) = dlsym(handle, "snd_pcm_bytes_to_frames");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_frames_to_bytes
+ *(void **) (&snd_pcm_frames_to_bytes) = dlsym(handle, "snd_pcm_frames_to_bytes");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_bytes_to_samples
+ *(void **) (&snd_pcm_bytes_to_samples) = dlsym(handle, "snd_pcm_bytes_to_samples");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_samples_to_bytes
+ *(void **) (&snd_pcm_samples_to_bytes) = dlsym(handle, "snd_pcm_samples_to_bytes");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_area_silence
+ *(void **) (&snd_pcm_area_silence) = dlsym(handle, "snd_pcm_area_silence");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_areas_silence
+ *(void **) (&snd_pcm_areas_silence) = dlsym(handle, "snd_pcm_areas_silence");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_area_copy
+ *(void **) (&snd_pcm_area_copy) = dlsym(handle, "snd_pcm_area_copy");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_areas_copy
+ *(void **) (&snd_pcm_areas_copy) = dlsym(handle, "snd_pcm_areas_copy");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_areas_copy_wrap
+ *(void **) (&snd_pcm_areas_copy_wrap) = dlsym(handle, "snd_pcm_areas_copy_wrap");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hook_get_pcm
+ *(void **) (&snd_pcm_hook_get_pcm) = dlsym(handle, "snd_pcm_hook_get_pcm");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hook_get_private
+ *(void **) (&snd_pcm_hook_get_private) = dlsym(handle, "snd_pcm_hook_get_private");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hook_set_private
+ *(void **) (&snd_pcm_hook_set_private) = dlsym(handle, "snd_pcm_hook_set_private");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hook_add
+ *(void **) (&snd_pcm_hook_add) = dlsym(handle, "snd_pcm_hook_add");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hook_remove
+ *(void **) (&snd_pcm_hook_remove) = dlsym(handle, "snd_pcm_hook_remove");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_meter_get_bufsize
+ *(void **) (&snd_pcm_meter_get_bufsize) = dlsym(handle, "snd_pcm_meter_get_bufsize");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_meter_get_channels
+ *(void **) (&snd_pcm_meter_get_channels) = dlsym(handle, "snd_pcm_meter_get_channels");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_meter_get_rate
+ *(void **) (&snd_pcm_meter_get_rate) = dlsym(handle, "snd_pcm_meter_get_rate");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_meter_get_now
+ *(void **) (&snd_pcm_meter_get_now) = dlsym(handle, "snd_pcm_meter_get_now");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_meter_get_boundary
+ *(void **) (&snd_pcm_meter_get_boundary) = dlsym(handle, "snd_pcm_meter_get_boundary");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_meter_add_scope
+ *(void **) (&snd_pcm_meter_add_scope) = dlsym(handle, "snd_pcm_meter_add_scope");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_meter_search_scope
+ *(void **) (&snd_pcm_meter_search_scope) = dlsym(handle, "snd_pcm_meter_search_scope");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_scope_malloc
+ *(void **) (&snd_pcm_scope_malloc) = dlsym(handle, "snd_pcm_scope_malloc");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_scope_set_ops
+ *(void **) (&snd_pcm_scope_set_ops) = dlsym(handle, "snd_pcm_scope_set_ops");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_scope_set_name
+ *(void **) (&snd_pcm_scope_set_name) = dlsym(handle, "snd_pcm_scope_set_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_scope_get_name
+ *(void **) (&snd_pcm_scope_get_name) = dlsym(handle, "snd_pcm_scope_get_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_scope_get_callback_private
+ *(void **) (&snd_pcm_scope_get_callback_private) = dlsym(handle, "snd_pcm_scope_get_callback_private");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_scope_set_callback_private
+ *(void **) (&snd_pcm_scope_set_callback_private) = dlsym(handle, "snd_pcm_scope_set_callback_private");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_scope_s16_open
+ *(void **) (&snd_pcm_scope_s16_open) = dlsym(handle, "snd_pcm_scope_s16_open");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_scope_s16_get_channel_buffer
+ *(void **) (&snd_pcm_scope_s16_get_channel_buffer) = dlsym(handle, "snd_pcm_scope_s16_get_channel_buffer");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_spcm_init
+ *(void **) (&snd_spcm_init) = dlsym(handle, "snd_spcm_init");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_spcm_init_duplex
+ *(void **) (&snd_spcm_init_duplex) = dlsym(handle, "snd_spcm_init_duplex");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_spcm_init_get_params
+ *(void **) (&snd_spcm_init_get_params) = dlsym(handle, "snd_spcm_init_get_params");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_start_mode_name
+ *(void **) (&snd_pcm_start_mode_name) = dlsym(handle, "snd_pcm_start_mode_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_xrun_mode_name
+ *(void **) (&snd_pcm_xrun_mode_name) = dlsym(handle, "snd_pcm_xrun_mode_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_sw_params_set_start_mode
+ *(void **) (&snd_pcm_sw_params_set_start_mode) = dlsym(handle, "snd_pcm_sw_params_set_start_mode");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_sw_params_get_start_mode
+ *(void **) (&snd_pcm_sw_params_get_start_mode) = dlsym(handle, "snd_pcm_sw_params_get_start_mode");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_sw_params_set_xrun_mode
+ *(void **) (&snd_pcm_sw_params_set_xrun_mode) = dlsym(handle, "snd_pcm_sw_params_set_xrun_mode");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_sw_params_get_xrun_mode
+ *(void **) (&snd_pcm_sw_params_get_xrun_mode) = dlsym(handle, "snd_pcm_sw_params_get_xrun_mode");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_sw_params_set_xfer_align
+ *(void **) (&snd_pcm_sw_params_set_xfer_align) = dlsym(handle, "snd_pcm_sw_params_set_xfer_align");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_sw_params_get_xfer_align
+ *(void **) (&snd_pcm_sw_params_get_xfer_align) = dlsym(handle, "snd_pcm_sw_params_get_xfer_align");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_sw_params_set_sleep_min
+ *(void **) (&snd_pcm_sw_params_set_sleep_min) = dlsym(handle, "snd_pcm_sw_params_set_sleep_min");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_sw_params_get_sleep_min
+ *(void **) (&snd_pcm_sw_params_get_sleep_min) = dlsym(handle, "snd_pcm_sw_params_get_sleep_min");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_get_tick_time
+ *(void **) (&snd_pcm_hw_params_get_tick_time) = dlsym(handle, "snd_pcm_hw_params_get_tick_time");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_get_tick_time_min
+ *(void **) (&snd_pcm_hw_params_get_tick_time_min) = dlsym(handle, "snd_pcm_hw_params_get_tick_time_min");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_get_tick_time_max
+ *(void **) (&snd_pcm_hw_params_get_tick_time_max) = dlsym(handle, "snd_pcm_hw_params_get_tick_time_max");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_test_tick_time
+ *(void **) (&snd_pcm_hw_params_test_tick_time) = dlsym(handle, "snd_pcm_hw_params_test_tick_time");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_tick_time
+ *(void **) (&snd_pcm_hw_params_set_tick_time) = dlsym(handle, "snd_pcm_hw_params_set_tick_time");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_tick_time_min
+ *(void **) (&snd_pcm_hw_params_set_tick_time_min) = dlsym(handle, "snd_pcm_hw_params_set_tick_time_min");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_tick_time_max
+ *(void **) (&snd_pcm_hw_params_set_tick_time_max) = dlsym(handle, "snd_pcm_hw_params_set_tick_time_max");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_tick_time_minmax
+ *(void **) (&snd_pcm_hw_params_set_tick_time_minmax) = dlsym(handle, "snd_pcm_hw_params_set_tick_time_minmax");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_tick_time_near
+ *(void **) (&snd_pcm_hw_params_set_tick_time_near) = dlsym(handle, "snd_pcm_hw_params_set_tick_time_near");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_tick_time_first
+ *(void **) (&snd_pcm_hw_params_set_tick_time_first) = dlsym(handle, "snd_pcm_hw_params_set_tick_time_first");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_pcm_hw_params_set_tick_time_last
+ *(void **) (&snd_pcm_hw_params_set_tick_time_last) = dlsym(handle, "snd_pcm_hw_params_set_tick_time_last");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_rawmidi_open
+ *(void **) (&snd_rawmidi_open) = dlsym(handle, "snd_rawmidi_open");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_rawmidi_open_lconf
+ *(void **) (&snd_rawmidi_open_lconf) = dlsym(handle, "snd_rawmidi_open_lconf");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_rawmidi_close
+ *(void **) (&snd_rawmidi_close) = dlsym(handle, "snd_rawmidi_close");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_rawmidi_poll_descriptors_count
+ *(void **) (&snd_rawmidi_poll_descriptors_count) = dlsym(handle, "snd_rawmidi_poll_descriptors_count");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_rawmidi_poll_descriptors
+ *(void **) (&snd_rawmidi_poll_descriptors) = dlsym(handle, "snd_rawmidi_poll_descriptors");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_rawmidi_poll_descriptors_revents
+ *(void **) (&snd_rawmidi_poll_descriptors_revents) = dlsym(handle, "snd_rawmidi_poll_descriptors_revents");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_rawmidi_nonblock
+ *(void **) (&snd_rawmidi_nonblock) = dlsym(handle, "snd_rawmidi_nonblock");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_rawmidi_info_sizeof
+ *(void **) (&snd_rawmidi_info_sizeof) = dlsym(handle, "snd_rawmidi_info_sizeof");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_rawmidi_info_malloc
+ *(void **) (&snd_rawmidi_info_malloc) = dlsym(handle, "snd_rawmidi_info_malloc");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_rawmidi_info_free
+ *(void **) (&snd_rawmidi_info_free) = dlsym(handle, "snd_rawmidi_info_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_rawmidi_info_copy
+ *(void **) (&snd_rawmidi_info_copy) = dlsym(handle, "snd_rawmidi_info_copy");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_rawmidi_info_get_device
+ *(void **) (&snd_rawmidi_info_get_device) = dlsym(handle, "snd_rawmidi_info_get_device");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_rawmidi_info_get_subdevice
+ *(void **) (&snd_rawmidi_info_get_subdevice) = dlsym(handle, "snd_rawmidi_info_get_subdevice");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_rawmidi_info_get_stream
+ *(void **) (&snd_rawmidi_info_get_stream) = dlsym(handle, "snd_rawmidi_info_get_stream");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_rawmidi_info_get_card
+ *(void **) (&snd_rawmidi_info_get_card) = dlsym(handle, "snd_rawmidi_info_get_card");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_rawmidi_info_get_flags
+ *(void **) (&snd_rawmidi_info_get_flags) = dlsym(handle, "snd_rawmidi_info_get_flags");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_rawmidi_info_get_id
+ *(void **) (&snd_rawmidi_info_get_id) = dlsym(handle, "snd_rawmidi_info_get_id");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_rawmidi_info_get_name
+ *(void **) (&snd_rawmidi_info_get_name) = dlsym(handle, "snd_rawmidi_info_get_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_rawmidi_info_get_subdevice_name
+ *(void **) (&snd_rawmidi_info_get_subdevice_name) = dlsym(handle, "snd_rawmidi_info_get_subdevice_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_rawmidi_info_get_subdevices_count
+ *(void **) (&snd_rawmidi_info_get_subdevices_count) = dlsym(handle, "snd_rawmidi_info_get_subdevices_count");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_rawmidi_info_get_subdevices_avail
+ *(void **) (&snd_rawmidi_info_get_subdevices_avail) = dlsym(handle, "snd_rawmidi_info_get_subdevices_avail");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_rawmidi_info_set_device
+ *(void **) (&snd_rawmidi_info_set_device) = dlsym(handle, "snd_rawmidi_info_set_device");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_rawmidi_info_set_subdevice
+ *(void **) (&snd_rawmidi_info_set_subdevice) = dlsym(handle, "snd_rawmidi_info_set_subdevice");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_rawmidi_info_set_stream
+ *(void **) (&snd_rawmidi_info_set_stream) = dlsym(handle, "snd_rawmidi_info_set_stream");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_rawmidi_info
+ *(void **) (&snd_rawmidi_info) = dlsym(handle, "snd_rawmidi_info");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_rawmidi_params_sizeof
+ *(void **) (&snd_rawmidi_params_sizeof) = dlsym(handle, "snd_rawmidi_params_sizeof");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_rawmidi_params_malloc
+ *(void **) (&snd_rawmidi_params_malloc) = dlsym(handle, "snd_rawmidi_params_malloc");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_rawmidi_params_free
+ *(void **) (&snd_rawmidi_params_free) = dlsym(handle, "snd_rawmidi_params_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_rawmidi_params_copy
+ *(void **) (&snd_rawmidi_params_copy) = dlsym(handle, "snd_rawmidi_params_copy");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_rawmidi_params_set_buffer_size
+ *(void **) (&snd_rawmidi_params_set_buffer_size) = dlsym(handle, "snd_rawmidi_params_set_buffer_size");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_rawmidi_params_get_buffer_size
+ *(void **) (&snd_rawmidi_params_get_buffer_size) = dlsym(handle, "snd_rawmidi_params_get_buffer_size");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_rawmidi_params_set_avail_min
+ *(void **) (&snd_rawmidi_params_set_avail_min) = dlsym(handle, "snd_rawmidi_params_set_avail_min");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_rawmidi_params_get_avail_min
+ *(void **) (&snd_rawmidi_params_get_avail_min) = dlsym(handle, "snd_rawmidi_params_get_avail_min");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_rawmidi_params_set_no_active_sensing
+ *(void **) (&snd_rawmidi_params_set_no_active_sensing) = dlsym(handle, "snd_rawmidi_params_set_no_active_sensing");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_rawmidi_params_get_no_active_sensing
+ *(void **) (&snd_rawmidi_params_get_no_active_sensing) = dlsym(handle, "snd_rawmidi_params_get_no_active_sensing");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_rawmidi_params
+ *(void **) (&snd_rawmidi_params) = dlsym(handle, "snd_rawmidi_params");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_rawmidi_params_current
+ *(void **) (&snd_rawmidi_params_current) = dlsym(handle, "snd_rawmidi_params_current");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_rawmidi_status_sizeof
+ *(void **) (&snd_rawmidi_status_sizeof) = dlsym(handle, "snd_rawmidi_status_sizeof");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_rawmidi_status_malloc
+ *(void **) (&snd_rawmidi_status_malloc) = dlsym(handle, "snd_rawmidi_status_malloc");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_rawmidi_status_free
+ *(void **) (&snd_rawmidi_status_free) = dlsym(handle, "snd_rawmidi_status_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_rawmidi_status_copy
+ *(void **) (&snd_rawmidi_status_copy) = dlsym(handle, "snd_rawmidi_status_copy");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_rawmidi_status_get_tstamp
+ *(void **) (&snd_rawmidi_status_get_tstamp) = dlsym(handle, "snd_rawmidi_status_get_tstamp");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_rawmidi_status_get_avail
+ *(void **) (&snd_rawmidi_status_get_avail) = dlsym(handle, "snd_rawmidi_status_get_avail");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_rawmidi_status_get_xruns
+ *(void **) (&snd_rawmidi_status_get_xruns) = dlsym(handle, "snd_rawmidi_status_get_xruns");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_rawmidi_status
+ *(void **) (&snd_rawmidi_status) = dlsym(handle, "snd_rawmidi_status");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_rawmidi_drain
+ *(void **) (&snd_rawmidi_drain) = dlsym(handle, "snd_rawmidi_drain");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_rawmidi_drop
+ *(void **) (&snd_rawmidi_drop) = dlsym(handle, "snd_rawmidi_drop");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_rawmidi_write
+ *(void **) (&snd_rawmidi_write) = dlsym(handle, "snd_rawmidi_write");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_rawmidi_read
+ *(void **) (&snd_rawmidi_read) = dlsym(handle, "snd_rawmidi_read");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_rawmidi_name
+ *(void **) (&snd_rawmidi_name) = dlsym(handle, "snd_rawmidi_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_rawmidi_type
+ *(void **) (&snd_rawmidi_type) = dlsym(handle, "snd_rawmidi_type");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_rawmidi_stream
+ *(void **) (&snd_rawmidi_stream) = dlsym(handle, "snd_rawmidi_stream");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_query_open
+ *(void **) (&snd_timer_query_open) = dlsym(handle, "snd_timer_query_open");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_query_open_lconf
+ *(void **) (&snd_timer_query_open_lconf) = dlsym(handle, "snd_timer_query_open_lconf");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_query_close
+ *(void **) (&snd_timer_query_close) = dlsym(handle, "snd_timer_query_close");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_query_next_device
+ *(void **) (&snd_timer_query_next_device) = dlsym(handle, "snd_timer_query_next_device");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_query_info
+ *(void **) (&snd_timer_query_info) = dlsym(handle, "snd_timer_query_info");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_query_params
+ *(void **) (&snd_timer_query_params) = dlsym(handle, "snd_timer_query_params");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_query_status
+ *(void **) (&snd_timer_query_status) = dlsym(handle, "snd_timer_query_status");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_open
+ *(void **) (&snd_timer_open) = dlsym(handle, "snd_timer_open");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_open_lconf
+ *(void **) (&snd_timer_open_lconf) = dlsym(handle, "snd_timer_open_lconf");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_close
+ *(void **) (&snd_timer_close) = dlsym(handle, "snd_timer_close");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_async_add_timer_handler
+ *(void **) (&snd_async_add_timer_handler) = dlsym(handle, "snd_async_add_timer_handler");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_async_handler_get_timer
+ *(void **) (&snd_async_handler_get_timer) = dlsym(handle, "snd_async_handler_get_timer");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_poll_descriptors_count
+ *(void **) (&snd_timer_poll_descriptors_count) = dlsym(handle, "snd_timer_poll_descriptors_count");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_poll_descriptors
+ *(void **) (&snd_timer_poll_descriptors) = dlsym(handle, "snd_timer_poll_descriptors");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_poll_descriptors_revents
+ *(void **) (&snd_timer_poll_descriptors_revents) = dlsym(handle, "snd_timer_poll_descriptors_revents");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_info
+ *(void **) (&snd_timer_info) = dlsym(handle, "snd_timer_info");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_params
+ *(void **) (&snd_timer_params) = dlsym(handle, "snd_timer_params");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_status
+ *(void **) (&snd_timer_status) = dlsym(handle, "snd_timer_status");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_start
+ *(void **) (&snd_timer_start) = dlsym(handle, "snd_timer_start");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_stop
+ *(void **) (&snd_timer_stop) = dlsym(handle, "snd_timer_stop");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_continue
+ *(void **) (&snd_timer_continue) = dlsym(handle, "snd_timer_continue");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_read
+ *(void **) (&snd_timer_read) = dlsym(handle, "snd_timer_read");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_id_sizeof
+ *(void **) (&snd_timer_id_sizeof) = dlsym(handle, "snd_timer_id_sizeof");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_id_malloc
+ *(void **) (&snd_timer_id_malloc) = dlsym(handle, "snd_timer_id_malloc");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_id_free
+ *(void **) (&snd_timer_id_free) = dlsym(handle, "snd_timer_id_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_id_copy
+ *(void **) (&snd_timer_id_copy) = dlsym(handle, "snd_timer_id_copy");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_id_set_class
+ *(void **) (&snd_timer_id_set_class) = dlsym(handle, "snd_timer_id_set_class");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_id_get_class
+ *(void **) (&snd_timer_id_get_class) = dlsym(handle, "snd_timer_id_get_class");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_id_set_sclass
+ *(void **) (&snd_timer_id_set_sclass) = dlsym(handle, "snd_timer_id_set_sclass");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_id_get_sclass
+ *(void **) (&snd_timer_id_get_sclass) = dlsym(handle, "snd_timer_id_get_sclass");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_id_set_card
+ *(void **) (&snd_timer_id_set_card) = dlsym(handle, "snd_timer_id_set_card");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_id_get_card
+ *(void **) (&snd_timer_id_get_card) = dlsym(handle, "snd_timer_id_get_card");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_id_set_device
+ *(void **) (&snd_timer_id_set_device) = dlsym(handle, "snd_timer_id_set_device");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_id_get_device
+ *(void **) (&snd_timer_id_get_device) = dlsym(handle, "snd_timer_id_get_device");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_id_set_subdevice
+ *(void **) (&snd_timer_id_set_subdevice) = dlsym(handle, "snd_timer_id_set_subdevice");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_id_get_subdevice
+ *(void **) (&snd_timer_id_get_subdevice) = dlsym(handle, "snd_timer_id_get_subdevice");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_ginfo_sizeof
+ *(void **) (&snd_timer_ginfo_sizeof) = dlsym(handle, "snd_timer_ginfo_sizeof");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_ginfo_malloc
+ *(void **) (&snd_timer_ginfo_malloc) = dlsym(handle, "snd_timer_ginfo_malloc");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_ginfo_free
+ *(void **) (&snd_timer_ginfo_free) = dlsym(handle, "snd_timer_ginfo_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_ginfo_copy
+ *(void **) (&snd_timer_ginfo_copy) = dlsym(handle, "snd_timer_ginfo_copy");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_ginfo_set_tid
+ *(void **) (&snd_timer_ginfo_set_tid) = dlsym(handle, "snd_timer_ginfo_set_tid");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_ginfo_get_tid
+ *(void **) (&snd_timer_ginfo_get_tid) = dlsym(handle, "snd_timer_ginfo_get_tid");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_ginfo_get_flags
+ *(void **) (&snd_timer_ginfo_get_flags) = dlsym(handle, "snd_timer_ginfo_get_flags");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_ginfo_get_card
+ *(void **) (&snd_timer_ginfo_get_card) = dlsym(handle, "snd_timer_ginfo_get_card");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_ginfo_get_id
+ *(void **) (&snd_timer_ginfo_get_id) = dlsym(handle, "snd_timer_ginfo_get_id");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_ginfo_get_name
+ *(void **) (&snd_timer_ginfo_get_name) = dlsym(handle, "snd_timer_ginfo_get_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_ginfo_get_resolution
+ *(void **) (&snd_timer_ginfo_get_resolution) = dlsym(handle, "snd_timer_ginfo_get_resolution");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_ginfo_get_resolution_min
+ *(void **) (&snd_timer_ginfo_get_resolution_min) = dlsym(handle, "snd_timer_ginfo_get_resolution_min");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_ginfo_get_resolution_max
+ *(void **) (&snd_timer_ginfo_get_resolution_max) = dlsym(handle, "snd_timer_ginfo_get_resolution_max");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_ginfo_get_clients
+ *(void **) (&snd_timer_ginfo_get_clients) = dlsym(handle, "snd_timer_ginfo_get_clients");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_info_sizeof
+ *(void **) (&snd_timer_info_sizeof) = dlsym(handle, "snd_timer_info_sizeof");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_info_malloc
+ *(void **) (&snd_timer_info_malloc) = dlsym(handle, "snd_timer_info_malloc");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_info_free
+ *(void **) (&snd_timer_info_free) = dlsym(handle, "snd_timer_info_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_info_copy
+ *(void **) (&snd_timer_info_copy) = dlsym(handle, "snd_timer_info_copy");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_info_is_slave
+ *(void **) (&snd_timer_info_is_slave) = dlsym(handle, "snd_timer_info_is_slave");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_info_get_card
+ *(void **) (&snd_timer_info_get_card) = dlsym(handle, "snd_timer_info_get_card");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_info_get_id
+ *(void **) (&snd_timer_info_get_id) = dlsym(handle, "snd_timer_info_get_id");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_info_get_name
+ *(void **) (&snd_timer_info_get_name) = dlsym(handle, "snd_timer_info_get_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_info_get_resolution
+ *(void **) (&snd_timer_info_get_resolution) = dlsym(handle, "snd_timer_info_get_resolution");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_params_sizeof
+ *(void **) (&snd_timer_params_sizeof) = dlsym(handle, "snd_timer_params_sizeof");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_params_malloc
+ *(void **) (&snd_timer_params_malloc) = dlsym(handle, "snd_timer_params_malloc");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_params_free
+ *(void **) (&snd_timer_params_free) = dlsym(handle, "snd_timer_params_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_params_copy
+ *(void **) (&snd_timer_params_copy) = dlsym(handle, "snd_timer_params_copy");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_params_set_auto_start
+ *(void **) (&snd_timer_params_set_auto_start) = dlsym(handle, "snd_timer_params_set_auto_start");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_params_get_auto_start
+ *(void **) (&snd_timer_params_get_auto_start) = dlsym(handle, "snd_timer_params_get_auto_start");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_params_set_exclusive
+ *(void **) (&snd_timer_params_set_exclusive) = dlsym(handle, "snd_timer_params_set_exclusive");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_params_get_exclusive
+ *(void **) (&snd_timer_params_get_exclusive) = dlsym(handle, "snd_timer_params_get_exclusive");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_params_set_early_event
+ *(void **) (&snd_timer_params_set_early_event) = dlsym(handle, "snd_timer_params_set_early_event");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_params_get_early_event
+ *(void **) (&snd_timer_params_get_early_event) = dlsym(handle, "snd_timer_params_get_early_event");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_params_set_ticks
+ *(void **) (&snd_timer_params_set_ticks) = dlsym(handle, "snd_timer_params_set_ticks");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_params_get_ticks
+ *(void **) (&snd_timer_params_get_ticks) = dlsym(handle, "snd_timer_params_get_ticks");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_params_set_queue_size
+ *(void **) (&snd_timer_params_set_queue_size) = dlsym(handle, "snd_timer_params_set_queue_size");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_params_get_queue_size
+ *(void **) (&snd_timer_params_get_queue_size) = dlsym(handle, "snd_timer_params_get_queue_size");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_params_set_filter
+ *(void **) (&snd_timer_params_set_filter) = dlsym(handle, "snd_timer_params_set_filter");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_params_get_filter
+ *(void **) (&snd_timer_params_get_filter) = dlsym(handle, "snd_timer_params_get_filter");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_status_sizeof
+ *(void **) (&snd_timer_status_sizeof) = dlsym(handle, "snd_timer_status_sizeof");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_status_malloc
+ *(void **) (&snd_timer_status_malloc) = dlsym(handle, "snd_timer_status_malloc");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_status_free
+ *(void **) (&snd_timer_status_free) = dlsym(handle, "snd_timer_status_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_status_copy
+ *(void **) (&snd_timer_status_copy) = dlsym(handle, "snd_timer_status_copy");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_status_get_timestamp
+ *(void **) (&snd_timer_status_get_timestamp) = dlsym(handle, "snd_timer_status_get_timestamp");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_status_get_resolution
+ *(void **) (&snd_timer_status_get_resolution) = dlsym(handle, "snd_timer_status_get_resolution");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_status_get_lost
+ *(void **) (&snd_timer_status_get_lost) = dlsym(handle, "snd_timer_status_get_lost");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_status_get_overrun
+ *(void **) (&snd_timer_status_get_overrun) = dlsym(handle, "snd_timer_status_get_overrun");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_status_get_queue
+ *(void **) (&snd_timer_status_get_queue) = dlsym(handle, "snd_timer_status_get_queue");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_timer_info_get_ticks
+ *(void **) (&snd_timer_info_get_ticks) = dlsym(handle, "snd_timer_info_get_ticks");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hwdep_open
+ *(void **) (&snd_hwdep_open) = dlsym(handle, "snd_hwdep_open");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hwdep_close
+ *(void **) (&snd_hwdep_close) = dlsym(handle, "snd_hwdep_close");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hwdep_poll_descriptors
+ *(void **) (&snd_hwdep_poll_descriptors) = dlsym(handle, "snd_hwdep_poll_descriptors");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hwdep_poll_descriptors_count
+ *(void **) (&snd_hwdep_poll_descriptors_count) = dlsym(handle, "snd_hwdep_poll_descriptors_count");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hwdep_poll_descriptors_revents
+ *(void **) (&snd_hwdep_poll_descriptors_revents) = dlsym(handle, "snd_hwdep_poll_descriptors_revents");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hwdep_nonblock
+ *(void **) (&snd_hwdep_nonblock) = dlsym(handle, "snd_hwdep_nonblock");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hwdep_info
+ *(void **) (&snd_hwdep_info) = dlsym(handle, "snd_hwdep_info");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hwdep_dsp_status
+ *(void **) (&snd_hwdep_dsp_status) = dlsym(handle, "snd_hwdep_dsp_status");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hwdep_dsp_load
+ *(void **) (&snd_hwdep_dsp_load) = dlsym(handle, "snd_hwdep_dsp_load");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hwdep_ioctl
+ *(void **) (&snd_hwdep_ioctl) = dlsym(handle, "snd_hwdep_ioctl");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hwdep_write
+ *(void **) (&snd_hwdep_write) = dlsym(handle, "snd_hwdep_write");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hwdep_read
+ *(void **) (&snd_hwdep_read) = dlsym(handle, "snd_hwdep_read");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hwdep_info_sizeof
+ *(void **) (&snd_hwdep_info_sizeof) = dlsym(handle, "snd_hwdep_info_sizeof");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hwdep_info_malloc
+ *(void **) (&snd_hwdep_info_malloc) = dlsym(handle, "snd_hwdep_info_malloc");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hwdep_info_free
+ *(void **) (&snd_hwdep_info_free) = dlsym(handle, "snd_hwdep_info_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hwdep_info_copy
+ *(void **) (&snd_hwdep_info_copy) = dlsym(handle, "snd_hwdep_info_copy");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hwdep_info_get_device
+ *(void **) (&snd_hwdep_info_get_device) = dlsym(handle, "snd_hwdep_info_get_device");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hwdep_info_get_card
+ *(void **) (&snd_hwdep_info_get_card) = dlsym(handle, "snd_hwdep_info_get_card");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hwdep_info_get_id
+ *(void **) (&snd_hwdep_info_get_id) = dlsym(handle, "snd_hwdep_info_get_id");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hwdep_info_get_name
+ *(void **) (&snd_hwdep_info_get_name) = dlsym(handle, "snd_hwdep_info_get_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hwdep_info_get_iface
+ *(void **) (&snd_hwdep_info_get_iface) = dlsym(handle, "snd_hwdep_info_get_iface");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hwdep_info_set_device
+ *(void **) (&snd_hwdep_info_set_device) = dlsym(handle, "snd_hwdep_info_set_device");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hwdep_dsp_status_sizeof
+ *(void **) (&snd_hwdep_dsp_status_sizeof) = dlsym(handle, "snd_hwdep_dsp_status_sizeof");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hwdep_dsp_status_malloc
+ *(void **) (&snd_hwdep_dsp_status_malloc) = dlsym(handle, "snd_hwdep_dsp_status_malloc");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hwdep_dsp_status_free
+ *(void **) (&snd_hwdep_dsp_status_free) = dlsym(handle, "snd_hwdep_dsp_status_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hwdep_dsp_status_copy
+ *(void **) (&snd_hwdep_dsp_status_copy) = dlsym(handle, "snd_hwdep_dsp_status_copy");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hwdep_dsp_status_get_version
+ *(void **) (&snd_hwdep_dsp_status_get_version) = dlsym(handle, "snd_hwdep_dsp_status_get_version");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hwdep_dsp_status_get_id
+ *(void **) (&snd_hwdep_dsp_status_get_id) = dlsym(handle, "snd_hwdep_dsp_status_get_id");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hwdep_dsp_status_get_num_dsps
+ *(void **) (&snd_hwdep_dsp_status_get_num_dsps) = dlsym(handle, "snd_hwdep_dsp_status_get_num_dsps");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hwdep_dsp_status_get_dsp_loaded
+ *(void **) (&snd_hwdep_dsp_status_get_dsp_loaded) = dlsym(handle, "snd_hwdep_dsp_status_get_dsp_loaded");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hwdep_dsp_status_get_chip_ready
+ *(void **) (&snd_hwdep_dsp_status_get_chip_ready) = dlsym(handle, "snd_hwdep_dsp_status_get_chip_ready");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hwdep_dsp_image_sizeof
+ *(void **) (&snd_hwdep_dsp_image_sizeof) = dlsym(handle, "snd_hwdep_dsp_image_sizeof");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hwdep_dsp_image_malloc
+ *(void **) (&snd_hwdep_dsp_image_malloc) = dlsym(handle, "snd_hwdep_dsp_image_malloc");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hwdep_dsp_image_free
+ *(void **) (&snd_hwdep_dsp_image_free) = dlsym(handle, "snd_hwdep_dsp_image_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hwdep_dsp_image_copy
+ *(void **) (&snd_hwdep_dsp_image_copy) = dlsym(handle, "snd_hwdep_dsp_image_copy");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hwdep_dsp_image_get_index
+ *(void **) (&snd_hwdep_dsp_image_get_index) = dlsym(handle, "snd_hwdep_dsp_image_get_index");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hwdep_dsp_image_get_name
+ *(void **) (&snd_hwdep_dsp_image_get_name) = dlsym(handle, "snd_hwdep_dsp_image_get_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hwdep_dsp_image_get_image
+ *(void **) (&snd_hwdep_dsp_image_get_image) = dlsym(handle, "snd_hwdep_dsp_image_get_image");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hwdep_dsp_image_get_length
+ *(void **) (&snd_hwdep_dsp_image_get_length) = dlsym(handle, "snd_hwdep_dsp_image_get_length");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hwdep_dsp_image_set_index
+ *(void **) (&snd_hwdep_dsp_image_set_index) = dlsym(handle, "snd_hwdep_dsp_image_set_index");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hwdep_dsp_image_set_name
+ *(void **) (&snd_hwdep_dsp_image_set_name) = dlsym(handle, "snd_hwdep_dsp_image_set_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hwdep_dsp_image_set_image
+ *(void **) (&snd_hwdep_dsp_image_set_image) = dlsym(handle, "snd_hwdep_dsp_image_set_image");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hwdep_dsp_image_set_length
+ *(void **) (&snd_hwdep_dsp_image_set_length) = dlsym(handle, "snd_hwdep_dsp_image_set_length");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_card_load
+ *(void **) (&snd_card_load) = dlsym(handle, "snd_card_load");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_card_next
+ *(void **) (&snd_card_next) = dlsym(handle, "snd_card_next");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_card_get_index
+ *(void **) (&snd_card_get_index) = dlsym(handle, "snd_card_get_index");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_card_get_name
+ *(void **) (&snd_card_get_name) = dlsym(handle, "snd_card_get_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_card_get_longname
+ *(void **) (&snd_card_get_longname) = dlsym(handle, "snd_card_get_longname");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_device_name_hint
+ *(void **) (&snd_device_name_hint) = dlsym(handle, "snd_device_name_hint");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_device_name_free_hint
+ *(void **) (&snd_device_name_free_hint) = dlsym(handle, "snd_device_name_free_hint");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_device_name_get_hint
+ *(void **) (&snd_device_name_get_hint) = dlsym(handle, "snd_device_name_get_hint");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_open
+ *(void **) (&snd_ctl_open) = dlsym(handle, "snd_ctl_open");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_open_lconf
+ *(void **) (&snd_ctl_open_lconf) = dlsym(handle, "snd_ctl_open_lconf");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_open_fallback
+ *(void **) (&snd_ctl_open_fallback) = dlsym(handle, "snd_ctl_open_fallback");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_close
+ *(void **) (&snd_ctl_close) = dlsym(handle, "snd_ctl_close");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_nonblock
+ *(void **) (&snd_ctl_nonblock) = dlsym(handle, "snd_ctl_nonblock");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_async_add_ctl_handler
+ *(void **) (&snd_async_add_ctl_handler) = dlsym(handle, "snd_async_add_ctl_handler");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_async_handler_get_ctl
+ *(void **) (&snd_async_handler_get_ctl) = dlsym(handle, "snd_async_handler_get_ctl");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_poll_descriptors_count
+ *(void **) (&snd_ctl_poll_descriptors_count) = dlsym(handle, "snd_ctl_poll_descriptors_count");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_poll_descriptors
+ *(void **) (&snd_ctl_poll_descriptors) = dlsym(handle, "snd_ctl_poll_descriptors");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_poll_descriptors_revents
+ *(void **) (&snd_ctl_poll_descriptors_revents) = dlsym(handle, "snd_ctl_poll_descriptors_revents");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_subscribe_events
+ *(void **) (&snd_ctl_subscribe_events) = dlsym(handle, "snd_ctl_subscribe_events");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_card_info
+ *(void **) (&snd_ctl_card_info) = dlsym(handle, "snd_ctl_card_info");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_list
+ *(void **) (&snd_ctl_elem_list) = dlsym(handle, "snd_ctl_elem_list");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_info
+ *(void **) (&snd_ctl_elem_info) = dlsym(handle, "snd_ctl_elem_info");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_read
+ *(void **) (&snd_ctl_elem_read) = dlsym(handle, "snd_ctl_elem_read");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_write
+ *(void **) (&snd_ctl_elem_write) = dlsym(handle, "snd_ctl_elem_write");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_lock
+ *(void **) (&snd_ctl_elem_lock) = dlsym(handle, "snd_ctl_elem_lock");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_unlock
+ *(void **) (&snd_ctl_elem_unlock) = dlsym(handle, "snd_ctl_elem_unlock");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_tlv_read
+ *(void **) (&snd_ctl_elem_tlv_read) = dlsym(handle, "snd_ctl_elem_tlv_read");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_tlv_write
+ *(void **) (&snd_ctl_elem_tlv_write) = dlsym(handle, "snd_ctl_elem_tlv_write");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_tlv_command
+ *(void **) (&snd_ctl_elem_tlv_command) = dlsym(handle, "snd_ctl_elem_tlv_command");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_hwdep_next_device
+ *(void **) (&snd_ctl_hwdep_next_device) = dlsym(handle, "snd_ctl_hwdep_next_device");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_hwdep_info
+ *(void **) (&snd_ctl_hwdep_info) = dlsym(handle, "snd_ctl_hwdep_info");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_pcm_next_device
+ *(void **) (&snd_ctl_pcm_next_device) = dlsym(handle, "snd_ctl_pcm_next_device");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_pcm_info
+ *(void **) (&snd_ctl_pcm_info) = dlsym(handle, "snd_ctl_pcm_info");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_pcm_prefer_subdevice
+ *(void **) (&snd_ctl_pcm_prefer_subdevice) = dlsym(handle, "snd_ctl_pcm_prefer_subdevice");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_rawmidi_next_device
+ *(void **) (&snd_ctl_rawmidi_next_device) = dlsym(handle, "snd_ctl_rawmidi_next_device");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_rawmidi_info
+ *(void **) (&snd_ctl_rawmidi_info) = dlsym(handle, "snd_ctl_rawmidi_info");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_rawmidi_prefer_subdevice
+ *(void **) (&snd_ctl_rawmidi_prefer_subdevice) = dlsym(handle, "snd_ctl_rawmidi_prefer_subdevice");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_set_power_state
+ *(void **) (&snd_ctl_set_power_state) = dlsym(handle, "snd_ctl_set_power_state");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_get_power_state
+ *(void **) (&snd_ctl_get_power_state) = dlsym(handle, "snd_ctl_get_power_state");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_read
+ *(void **) (&snd_ctl_read) = dlsym(handle, "snd_ctl_read");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_wait
+ *(void **) (&snd_ctl_wait) = dlsym(handle, "snd_ctl_wait");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_name
+ *(void **) (&snd_ctl_name) = dlsym(handle, "snd_ctl_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_type
+ *(void **) (&snd_ctl_type) = dlsym(handle, "snd_ctl_type");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_type_name
+ *(void **) (&snd_ctl_elem_type_name) = dlsym(handle, "snd_ctl_elem_type_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_iface_name
+ *(void **) (&snd_ctl_elem_iface_name) = dlsym(handle, "snd_ctl_elem_iface_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_event_type_name
+ *(void **) (&snd_ctl_event_type_name) = dlsym(handle, "snd_ctl_event_type_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_event_elem_get_mask
+ *(void **) (&snd_ctl_event_elem_get_mask) = dlsym(handle, "snd_ctl_event_elem_get_mask");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_event_elem_get_numid
+ *(void **) (&snd_ctl_event_elem_get_numid) = dlsym(handle, "snd_ctl_event_elem_get_numid");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_event_elem_get_id
+ *(void **) (&snd_ctl_event_elem_get_id) = dlsym(handle, "snd_ctl_event_elem_get_id");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_event_elem_get_interface
+ *(void **) (&snd_ctl_event_elem_get_interface) = dlsym(handle, "snd_ctl_event_elem_get_interface");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_event_elem_get_device
+ *(void **) (&snd_ctl_event_elem_get_device) = dlsym(handle, "snd_ctl_event_elem_get_device");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_event_elem_get_subdevice
+ *(void **) (&snd_ctl_event_elem_get_subdevice) = dlsym(handle, "snd_ctl_event_elem_get_subdevice");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_event_elem_get_name
+ *(void **) (&snd_ctl_event_elem_get_name) = dlsym(handle, "snd_ctl_event_elem_get_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_event_elem_get_index
+ *(void **) (&snd_ctl_event_elem_get_index) = dlsym(handle, "snd_ctl_event_elem_get_index");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_list_alloc_space
+ *(void **) (&snd_ctl_elem_list_alloc_space) = dlsym(handle, "snd_ctl_elem_list_alloc_space");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_list_free_space
+ *(void **) (&snd_ctl_elem_list_free_space) = dlsym(handle, "snd_ctl_elem_list_free_space");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_ascii_elem_id_get
+ *(void **) (&snd_ctl_ascii_elem_id_get) = dlsym(handle, "snd_ctl_ascii_elem_id_get");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_ascii_elem_id_parse
+ *(void **) (&snd_ctl_ascii_elem_id_parse) = dlsym(handle, "snd_ctl_ascii_elem_id_parse");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_ascii_value_parse
+ *(void **) (&snd_ctl_ascii_value_parse) = dlsym(handle, "snd_ctl_ascii_value_parse");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_id_sizeof
+ *(void **) (&snd_ctl_elem_id_sizeof) = dlsym(handle, "snd_ctl_elem_id_sizeof");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_id_malloc
+ *(void **) (&snd_ctl_elem_id_malloc) = dlsym(handle, "snd_ctl_elem_id_malloc");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_id_free
+ *(void **) (&snd_ctl_elem_id_free) = dlsym(handle, "snd_ctl_elem_id_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_id_clear
+ *(void **) (&snd_ctl_elem_id_clear) = dlsym(handle, "snd_ctl_elem_id_clear");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_id_copy
+ *(void **) (&snd_ctl_elem_id_copy) = dlsym(handle, "snd_ctl_elem_id_copy");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_id_get_numid
+ *(void **) (&snd_ctl_elem_id_get_numid) = dlsym(handle, "snd_ctl_elem_id_get_numid");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_id_get_interface
+ *(void **) (&snd_ctl_elem_id_get_interface) = dlsym(handle, "snd_ctl_elem_id_get_interface");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_id_get_device
+ *(void **) (&snd_ctl_elem_id_get_device) = dlsym(handle, "snd_ctl_elem_id_get_device");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_id_get_subdevice
+ *(void **) (&snd_ctl_elem_id_get_subdevice) = dlsym(handle, "snd_ctl_elem_id_get_subdevice");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_id_get_name
+ *(void **) (&snd_ctl_elem_id_get_name) = dlsym(handle, "snd_ctl_elem_id_get_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_id_get_index
+ *(void **) (&snd_ctl_elem_id_get_index) = dlsym(handle, "snd_ctl_elem_id_get_index");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_id_set_numid
+ *(void **) (&snd_ctl_elem_id_set_numid) = dlsym(handle, "snd_ctl_elem_id_set_numid");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_id_set_interface
+ *(void **) (&snd_ctl_elem_id_set_interface) = dlsym(handle, "snd_ctl_elem_id_set_interface");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_id_set_device
+ *(void **) (&snd_ctl_elem_id_set_device) = dlsym(handle, "snd_ctl_elem_id_set_device");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_id_set_subdevice
+ *(void **) (&snd_ctl_elem_id_set_subdevice) = dlsym(handle, "snd_ctl_elem_id_set_subdevice");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_id_set_name
+ *(void **) (&snd_ctl_elem_id_set_name) = dlsym(handle, "snd_ctl_elem_id_set_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_id_set_index
+ *(void **) (&snd_ctl_elem_id_set_index) = dlsym(handle, "snd_ctl_elem_id_set_index");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_card_info_sizeof
+ *(void **) (&snd_ctl_card_info_sizeof) = dlsym(handle, "snd_ctl_card_info_sizeof");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_card_info_malloc
+ *(void **) (&snd_ctl_card_info_malloc) = dlsym(handle, "snd_ctl_card_info_malloc");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_card_info_free
+ *(void **) (&snd_ctl_card_info_free) = dlsym(handle, "snd_ctl_card_info_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_card_info_clear
+ *(void **) (&snd_ctl_card_info_clear) = dlsym(handle, "snd_ctl_card_info_clear");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_card_info_copy
+ *(void **) (&snd_ctl_card_info_copy) = dlsym(handle, "snd_ctl_card_info_copy");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_card_info_get_card
+ *(void **) (&snd_ctl_card_info_get_card) = dlsym(handle, "snd_ctl_card_info_get_card");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_card_info_get_id
+ *(void **) (&snd_ctl_card_info_get_id) = dlsym(handle, "snd_ctl_card_info_get_id");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_card_info_get_driver
+ *(void **) (&snd_ctl_card_info_get_driver) = dlsym(handle, "snd_ctl_card_info_get_driver");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_card_info_get_name
+ *(void **) (&snd_ctl_card_info_get_name) = dlsym(handle, "snd_ctl_card_info_get_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_card_info_get_longname
+ *(void **) (&snd_ctl_card_info_get_longname) = dlsym(handle, "snd_ctl_card_info_get_longname");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_card_info_get_mixername
+ *(void **) (&snd_ctl_card_info_get_mixername) = dlsym(handle, "snd_ctl_card_info_get_mixername");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_card_info_get_components
+ *(void **) (&snd_ctl_card_info_get_components) = dlsym(handle, "snd_ctl_card_info_get_components");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_event_sizeof
+ *(void **) (&snd_ctl_event_sizeof) = dlsym(handle, "snd_ctl_event_sizeof");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_event_malloc
+ *(void **) (&snd_ctl_event_malloc) = dlsym(handle, "snd_ctl_event_malloc");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_event_free
+ *(void **) (&snd_ctl_event_free) = dlsym(handle, "snd_ctl_event_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_event_clear
+ *(void **) (&snd_ctl_event_clear) = dlsym(handle, "snd_ctl_event_clear");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_event_copy
+ *(void **) (&snd_ctl_event_copy) = dlsym(handle, "snd_ctl_event_copy");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_event_get_type
+ *(void **) (&snd_ctl_event_get_type) = dlsym(handle, "snd_ctl_event_get_type");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_list_sizeof
+ *(void **) (&snd_ctl_elem_list_sizeof) = dlsym(handle, "snd_ctl_elem_list_sizeof");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_list_malloc
+ *(void **) (&snd_ctl_elem_list_malloc) = dlsym(handle, "snd_ctl_elem_list_malloc");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_list_free
+ *(void **) (&snd_ctl_elem_list_free) = dlsym(handle, "snd_ctl_elem_list_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_list_clear
+ *(void **) (&snd_ctl_elem_list_clear) = dlsym(handle, "snd_ctl_elem_list_clear");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_list_copy
+ *(void **) (&snd_ctl_elem_list_copy) = dlsym(handle, "snd_ctl_elem_list_copy");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_list_set_offset
+ *(void **) (&snd_ctl_elem_list_set_offset) = dlsym(handle, "snd_ctl_elem_list_set_offset");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_list_get_used
+ *(void **) (&snd_ctl_elem_list_get_used) = dlsym(handle, "snd_ctl_elem_list_get_used");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_list_get_count
+ *(void **) (&snd_ctl_elem_list_get_count) = dlsym(handle, "snd_ctl_elem_list_get_count");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_list_get_id
+ *(void **) (&snd_ctl_elem_list_get_id) = dlsym(handle, "snd_ctl_elem_list_get_id");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_list_get_numid
+ *(void **) (&snd_ctl_elem_list_get_numid) = dlsym(handle, "snd_ctl_elem_list_get_numid");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_list_get_interface
+ *(void **) (&snd_ctl_elem_list_get_interface) = dlsym(handle, "snd_ctl_elem_list_get_interface");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_list_get_device
+ *(void **) (&snd_ctl_elem_list_get_device) = dlsym(handle, "snd_ctl_elem_list_get_device");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_list_get_subdevice
+ *(void **) (&snd_ctl_elem_list_get_subdevice) = dlsym(handle, "snd_ctl_elem_list_get_subdevice");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_list_get_name
+ *(void **) (&snd_ctl_elem_list_get_name) = dlsym(handle, "snd_ctl_elem_list_get_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_list_get_index
+ *(void **) (&snd_ctl_elem_list_get_index) = dlsym(handle, "snd_ctl_elem_list_get_index");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_info_sizeof
+ *(void **) (&snd_ctl_elem_info_sizeof) = dlsym(handle, "snd_ctl_elem_info_sizeof");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_info_malloc
+ *(void **) (&snd_ctl_elem_info_malloc) = dlsym(handle, "snd_ctl_elem_info_malloc");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_info_free
+ *(void **) (&snd_ctl_elem_info_free) = dlsym(handle, "snd_ctl_elem_info_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_info_clear
+ *(void **) (&snd_ctl_elem_info_clear) = dlsym(handle, "snd_ctl_elem_info_clear");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_info_copy
+ *(void **) (&snd_ctl_elem_info_copy) = dlsym(handle, "snd_ctl_elem_info_copy");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_info_get_type
+ *(void **) (&snd_ctl_elem_info_get_type) = dlsym(handle, "snd_ctl_elem_info_get_type");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_info_is_readable
+ *(void **) (&snd_ctl_elem_info_is_readable) = dlsym(handle, "snd_ctl_elem_info_is_readable");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_info_is_writable
+ *(void **) (&snd_ctl_elem_info_is_writable) = dlsym(handle, "snd_ctl_elem_info_is_writable");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_info_is_volatile
+ *(void **) (&snd_ctl_elem_info_is_volatile) = dlsym(handle, "snd_ctl_elem_info_is_volatile");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_info_is_inactive
+ *(void **) (&snd_ctl_elem_info_is_inactive) = dlsym(handle, "snd_ctl_elem_info_is_inactive");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_info_is_locked
+ *(void **) (&snd_ctl_elem_info_is_locked) = dlsym(handle, "snd_ctl_elem_info_is_locked");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_info_is_tlv_readable
+ *(void **) (&snd_ctl_elem_info_is_tlv_readable) = dlsym(handle, "snd_ctl_elem_info_is_tlv_readable");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_info_is_tlv_writable
+ *(void **) (&snd_ctl_elem_info_is_tlv_writable) = dlsym(handle, "snd_ctl_elem_info_is_tlv_writable");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_info_is_tlv_commandable
+ *(void **) (&snd_ctl_elem_info_is_tlv_commandable) = dlsym(handle, "snd_ctl_elem_info_is_tlv_commandable");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_info_is_owner
+ *(void **) (&snd_ctl_elem_info_is_owner) = dlsym(handle, "snd_ctl_elem_info_is_owner");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_info_is_user
+ *(void **) (&snd_ctl_elem_info_is_user) = dlsym(handle, "snd_ctl_elem_info_is_user");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_info_get_owner
+ *(void **) (&snd_ctl_elem_info_get_owner) = dlsym(handle, "snd_ctl_elem_info_get_owner");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_info_get_count
+ *(void **) (&snd_ctl_elem_info_get_count) = dlsym(handle, "snd_ctl_elem_info_get_count");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_info_get_min
+ *(void **) (&snd_ctl_elem_info_get_min) = dlsym(handle, "snd_ctl_elem_info_get_min");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_info_get_max
+ *(void **) (&snd_ctl_elem_info_get_max) = dlsym(handle, "snd_ctl_elem_info_get_max");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_info_get_step
+ *(void **) (&snd_ctl_elem_info_get_step) = dlsym(handle, "snd_ctl_elem_info_get_step");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_info_get_min64
+ *(void **) (&snd_ctl_elem_info_get_min64) = dlsym(handle, "snd_ctl_elem_info_get_min64");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_info_get_max64
+ *(void **) (&snd_ctl_elem_info_get_max64) = dlsym(handle, "snd_ctl_elem_info_get_max64");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_info_get_step64
+ *(void **) (&snd_ctl_elem_info_get_step64) = dlsym(handle, "snd_ctl_elem_info_get_step64");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_info_get_items
+ *(void **) (&snd_ctl_elem_info_get_items) = dlsym(handle, "snd_ctl_elem_info_get_items");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_info_set_item
+ *(void **) (&snd_ctl_elem_info_set_item) = dlsym(handle, "snd_ctl_elem_info_set_item");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_info_get_item_name
+ *(void **) (&snd_ctl_elem_info_get_item_name) = dlsym(handle, "snd_ctl_elem_info_get_item_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_info_get_dimensions
+ *(void **) (&snd_ctl_elem_info_get_dimensions) = dlsym(handle, "snd_ctl_elem_info_get_dimensions");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_info_get_dimension
+ *(void **) (&snd_ctl_elem_info_get_dimension) = dlsym(handle, "snd_ctl_elem_info_get_dimension");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_info_set_dimension
+ *(void **) (&snd_ctl_elem_info_set_dimension) = dlsym(handle, "snd_ctl_elem_info_set_dimension");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_info_get_id
+ *(void **) (&snd_ctl_elem_info_get_id) = dlsym(handle, "snd_ctl_elem_info_get_id");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_info_get_numid
+ *(void **) (&snd_ctl_elem_info_get_numid) = dlsym(handle, "snd_ctl_elem_info_get_numid");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_info_get_interface
+ *(void **) (&snd_ctl_elem_info_get_interface) = dlsym(handle, "snd_ctl_elem_info_get_interface");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_info_get_device
+ *(void **) (&snd_ctl_elem_info_get_device) = dlsym(handle, "snd_ctl_elem_info_get_device");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_info_get_subdevice
+ *(void **) (&snd_ctl_elem_info_get_subdevice) = dlsym(handle, "snd_ctl_elem_info_get_subdevice");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_info_get_name
+ *(void **) (&snd_ctl_elem_info_get_name) = dlsym(handle, "snd_ctl_elem_info_get_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_info_get_index
+ *(void **) (&snd_ctl_elem_info_get_index) = dlsym(handle, "snd_ctl_elem_info_get_index");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_info_set_id
+ *(void **) (&snd_ctl_elem_info_set_id) = dlsym(handle, "snd_ctl_elem_info_set_id");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_info_set_numid
+ *(void **) (&snd_ctl_elem_info_set_numid) = dlsym(handle, "snd_ctl_elem_info_set_numid");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_info_set_interface
+ *(void **) (&snd_ctl_elem_info_set_interface) = dlsym(handle, "snd_ctl_elem_info_set_interface");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_info_set_device
+ *(void **) (&snd_ctl_elem_info_set_device) = dlsym(handle, "snd_ctl_elem_info_set_device");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_info_set_subdevice
+ *(void **) (&snd_ctl_elem_info_set_subdevice) = dlsym(handle, "snd_ctl_elem_info_set_subdevice");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_info_set_name
+ *(void **) (&snd_ctl_elem_info_set_name) = dlsym(handle, "snd_ctl_elem_info_set_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_info_set_index
+ *(void **) (&snd_ctl_elem_info_set_index) = dlsym(handle, "snd_ctl_elem_info_set_index");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_add_integer_elem_set
+ *(void **) (&snd_ctl_add_integer_elem_set) = dlsym(handle, "snd_ctl_add_integer_elem_set");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_add_integer64_elem_set
+ *(void **) (&snd_ctl_add_integer64_elem_set) = dlsym(handle, "snd_ctl_add_integer64_elem_set");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_add_boolean_elem_set
+ *(void **) (&snd_ctl_add_boolean_elem_set) = dlsym(handle, "snd_ctl_add_boolean_elem_set");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_add_enumerated_elem_set
+ *(void **) (&snd_ctl_add_enumerated_elem_set) = dlsym(handle, "snd_ctl_add_enumerated_elem_set");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_add_bytes_elem_set
+ *(void **) (&snd_ctl_add_bytes_elem_set) = dlsym(handle, "snd_ctl_add_bytes_elem_set");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_add_integer
+ *(void **) (&snd_ctl_elem_add_integer) = dlsym(handle, "snd_ctl_elem_add_integer");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_add_integer64
+ *(void **) (&snd_ctl_elem_add_integer64) = dlsym(handle, "snd_ctl_elem_add_integer64");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_add_boolean
+ *(void **) (&snd_ctl_elem_add_boolean) = dlsym(handle, "snd_ctl_elem_add_boolean");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_add_enumerated
+ *(void **) (&snd_ctl_elem_add_enumerated) = dlsym(handle, "snd_ctl_elem_add_enumerated");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_add_iec958
+ *(void **) (&snd_ctl_elem_add_iec958) = dlsym(handle, "snd_ctl_elem_add_iec958");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_remove
+ *(void **) (&snd_ctl_elem_remove) = dlsym(handle, "snd_ctl_elem_remove");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_value_sizeof
+ *(void **) (&snd_ctl_elem_value_sizeof) = dlsym(handle, "snd_ctl_elem_value_sizeof");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_value_malloc
+ *(void **) (&snd_ctl_elem_value_malloc) = dlsym(handle, "snd_ctl_elem_value_malloc");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_value_free
+ *(void **) (&snd_ctl_elem_value_free) = dlsym(handle, "snd_ctl_elem_value_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_value_clear
+ *(void **) (&snd_ctl_elem_value_clear) = dlsym(handle, "snd_ctl_elem_value_clear");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_value_copy
+ *(void **) (&snd_ctl_elem_value_copy) = dlsym(handle, "snd_ctl_elem_value_copy");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_value_compare
+ *(void **) (&snd_ctl_elem_value_compare) = dlsym(handle, "snd_ctl_elem_value_compare");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_value_get_id
+ *(void **) (&snd_ctl_elem_value_get_id) = dlsym(handle, "snd_ctl_elem_value_get_id");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_value_get_numid
+ *(void **) (&snd_ctl_elem_value_get_numid) = dlsym(handle, "snd_ctl_elem_value_get_numid");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_value_get_interface
+ *(void **) (&snd_ctl_elem_value_get_interface) = dlsym(handle, "snd_ctl_elem_value_get_interface");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_value_get_device
+ *(void **) (&snd_ctl_elem_value_get_device) = dlsym(handle, "snd_ctl_elem_value_get_device");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_value_get_subdevice
+ *(void **) (&snd_ctl_elem_value_get_subdevice) = dlsym(handle, "snd_ctl_elem_value_get_subdevice");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_value_get_name
+ *(void **) (&snd_ctl_elem_value_get_name) = dlsym(handle, "snd_ctl_elem_value_get_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_value_get_index
+ *(void **) (&snd_ctl_elem_value_get_index) = dlsym(handle, "snd_ctl_elem_value_get_index");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_value_set_id
+ *(void **) (&snd_ctl_elem_value_set_id) = dlsym(handle, "snd_ctl_elem_value_set_id");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_value_set_numid
+ *(void **) (&snd_ctl_elem_value_set_numid) = dlsym(handle, "snd_ctl_elem_value_set_numid");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_value_set_interface
+ *(void **) (&snd_ctl_elem_value_set_interface) = dlsym(handle, "snd_ctl_elem_value_set_interface");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_value_set_device
+ *(void **) (&snd_ctl_elem_value_set_device) = dlsym(handle, "snd_ctl_elem_value_set_device");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_value_set_subdevice
+ *(void **) (&snd_ctl_elem_value_set_subdevice) = dlsym(handle, "snd_ctl_elem_value_set_subdevice");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_value_set_name
+ *(void **) (&snd_ctl_elem_value_set_name) = dlsym(handle, "snd_ctl_elem_value_set_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_value_set_index
+ *(void **) (&snd_ctl_elem_value_set_index) = dlsym(handle, "snd_ctl_elem_value_set_index");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_value_get_boolean
+ *(void **) (&snd_ctl_elem_value_get_boolean) = dlsym(handle, "snd_ctl_elem_value_get_boolean");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_value_get_integer
+ *(void **) (&snd_ctl_elem_value_get_integer) = dlsym(handle, "snd_ctl_elem_value_get_integer");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_value_get_integer64
+ *(void **) (&snd_ctl_elem_value_get_integer64) = dlsym(handle, "snd_ctl_elem_value_get_integer64");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_value_get_enumerated
+ *(void **) (&snd_ctl_elem_value_get_enumerated) = dlsym(handle, "snd_ctl_elem_value_get_enumerated");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_value_get_byte
+ *(void **) (&snd_ctl_elem_value_get_byte) = dlsym(handle, "snd_ctl_elem_value_get_byte");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_value_set_boolean
+ *(void **) (&snd_ctl_elem_value_set_boolean) = dlsym(handle, "snd_ctl_elem_value_set_boolean");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_value_set_integer
+ *(void **) (&snd_ctl_elem_value_set_integer) = dlsym(handle, "snd_ctl_elem_value_set_integer");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_value_set_integer64
+ *(void **) (&snd_ctl_elem_value_set_integer64) = dlsym(handle, "snd_ctl_elem_value_set_integer64");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_value_set_enumerated
+ *(void **) (&snd_ctl_elem_value_set_enumerated) = dlsym(handle, "snd_ctl_elem_value_set_enumerated");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_value_set_byte
+ *(void **) (&snd_ctl_elem_value_set_byte) = dlsym(handle, "snd_ctl_elem_value_set_byte");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_set_bytes
+ *(void **) (&snd_ctl_elem_set_bytes) = dlsym(handle, "snd_ctl_elem_set_bytes");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_value_get_bytes
+ *(void **) (&snd_ctl_elem_value_get_bytes) = dlsym(handle, "snd_ctl_elem_value_get_bytes");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_value_get_iec958
+ *(void **) (&snd_ctl_elem_value_get_iec958) = dlsym(handle, "snd_ctl_elem_value_get_iec958");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_elem_value_set_iec958
+ *(void **) (&snd_ctl_elem_value_set_iec958) = dlsym(handle, "snd_ctl_elem_value_set_iec958");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_tlv_parse_dB_info
+ *(void **) (&snd_tlv_parse_dB_info) = dlsym(handle, "snd_tlv_parse_dB_info");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_tlv_get_dB_range
+ *(void **) (&snd_tlv_get_dB_range) = dlsym(handle, "snd_tlv_get_dB_range");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_tlv_convert_to_dB
+ *(void **) (&snd_tlv_convert_to_dB) = dlsym(handle, "snd_tlv_convert_to_dB");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_tlv_convert_from_dB
+ *(void **) (&snd_tlv_convert_from_dB) = dlsym(handle, "snd_tlv_convert_from_dB");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_get_dB_range
+ *(void **) (&snd_ctl_get_dB_range) = dlsym(handle, "snd_ctl_get_dB_range");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_convert_to_dB
+ *(void **) (&snd_ctl_convert_to_dB) = dlsym(handle, "snd_ctl_convert_to_dB");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_ctl_convert_from_dB
+ *(void **) (&snd_ctl_convert_from_dB) = dlsym(handle, "snd_ctl_convert_from_dB");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hctl_compare_fast
+ *(void **) (&snd_hctl_compare_fast) = dlsym(handle, "snd_hctl_compare_fast");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hctl_open
+ *(void **) (&snd_hctl_open) = dlsym(handle, "snd_hctl_open");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hctl_open_ctl
+ *(void **) (&snd_hctl_open_ctl) = dlsym(handle, "snd_hctl_open_ctl");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hctl_close
+ *(void **) (&snd_hctl_close) = dlsym(handle, "snd_hctl_close");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hctl_nonblock
+ *(void **) (&snd_hctl_nonblock) = dlsym(handle, "snd_hctl_nonblock");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hctl_poll_descriptors_count
+ *(void **) (&snd_hctl_poll_descriptors_count) = dlsym(handle, "snd_hctl_poll_descriptors_count");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hctl_poll_descriptors
+ *(void **) (&snd_hctl_poll_descriptors) = dlsym(handle, "snd_hctl_poll_descriptors");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hctl_poll_descriptors_revents
+ *(void **) (&snd_hctl_poll_descriptors_revents) = dlsym(handle, "snd_hctl_poll_descriptors_revents");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hctl_get_count
+ *(void **) (&snd_hctl_get_count) = dlsym(handle, "snd_hctl_get_count");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hctl_set_compare
+ *(void **) (&snd_hctl_set_compare) = dlsym(handle, "snd_hctl_set_compare");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hctl_first_elem
+ *(void **) (&snd_hctl_first_elem) = dlsym(handle, "snd_hctl_first_elem");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hctl_last_elem
+ *(void **) (&snd_hctl_last_elem) = dlsym(handle, "snd_hctl_last_elem");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hctl_find_elem
+ *(void **) (&snd_hctl_find_elem) = dlsym(handle, "snd_hctl_find_elem");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hctl_set_callback
+ *(void **) (&snd_hctl_set_callback) = dlsym(handle, "snd_hctl_set_callback");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hctl_set_callback_private
+ *(void **) (&snd_hctl_set_callback_private) = dlsym(handle, "snd_hctl_set_callback_private");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hctl_get_callback_private
+ *(void **) (&snd_hctl_get_callback_private) = dlsym(handle, "snd_hctl_get_callback_private");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hctl_load
+ *(void **) (&snd_hctl_load) = dlsym(handle, "snd_hctl_load");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hctl_free
+ *(void **) (&snd_hctl_free) = dlsym(handle, "snd_hctl_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hctl_handle_events
+ *(void **) (&snd_hctl_handle_events) = dlsym(handle, "snd_hctl_handle_events");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hctl_name
+ *(void **) (&snd_hctl_name) = dlsym(handle, "snd_hctl_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hctl_wait
+ *(void **) (&snd_hctl_wait) = dlsym(handle, "snd_hctl_wait");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hctl_ctl
+ *(void **) (&snd_hctl_ctl) = dlsym(handle, "snd_hctl_ctl");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hctl_elem_next
+ *(void **) (&snd_hctl_elem_next) = dlsym(handle, "snd_hctl_elem_next");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hctl_elem_prev
+ *(void **) (&snd_hctl_elem_prev) = dlsym(handle, "snd_hctl_elem_prev");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hctl_elem_info
+ *(void **) (&snd_hctl_elem_info) = dlsym(handle, "snd_hctl_elem_info");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hctl_elem_read
+ *(void **) (&snd_hctl_elem_read) = dlsym(handle, "snd_hctl_elem_read");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hctl_elem_write
+ *(void **) (&snd_hctl_elem_write) = dlsym(handle, "snd_hctl_elem_write");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hctl_elem_tlv_read
+ *(void **) (&snd_hctl_elem_tlv_read) = dlsym(handle, "snd_hctl_elem_tlv_read");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hctl_elem_tlv_write
+ *(void **) (&snd_hctl_elem_tlv_write) = dlsym(handle, "snd_hctl_elem_tlv_write");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hctl_elem_tlv_command
+ *(void **) (&snd_hctl_elem_tlv_command) = dlsym(handle, "snd_hctl_elem_tlv_command");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hctl_elem_get_hctl
+ *(void **) (&snd_hctl_elem_get_hctl) = dlsym(handle, "snd_hctl_elem_get_hctl");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hctl_elem_get_id
+ *(void **) (&snd_hctl_elem_get_id) = dlsym(handle, "snd_hctl_elem_get_id");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hctl_elem_get_numid
+ *(void **) (&snd_hctl_elem_get_numid) = dlsym(handle, "snd_hctl_elem_get_numid");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hctl_elem_get_interface
+ *(void **) (&snd_hctl_elem_get_interface) = dlsym(handle, "snd_hctl_elem_get_interface");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hctl_elem_get_device
+ *(void **) (&snd_hctl_elem_get_device) = dlsym(handle, "snd_hctl_elem_get_device");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hctl_elem_get_subdevice
+ *(void **) (&snd_hctl_elem_get_subdevice) = dlsym(handle, "snd_hctl_elem_get_subdevice");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hctl_elem_get_name
+ *(void **) (&snd_hctl_elem_get_name) = dlsym(handle, "snd_hctl_elem_get_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hctl_elem_get_index
+ *(void **) (&snd_hctl_elem_get_index) = dlsym(handle, "snd_hctl_elem_get_index");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hctl_elem_set_callback
+ *(void **) (&snd_hctl_elem_set_callback) = dlsym(handle, "snd_hctl_elem_set_callback");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hctl_elem_get_callback_private
+ *(void **) (&snd_hctl_elem_get_callback_private) = dlsym(handle, "snd_hctl_elem_get_callback_private");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_hctl_elem_set_callback_private
+ *(void **) (&snd_hctl_elem_set_callback_private) = dlsym(handle, "snd_hctl_elem_set_callback_private");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_sctl_build
+ *(void **) (&snd_sctl_build) = dlsym(handle, "snd_sctl_build");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_sctl_free
+ *(void **) (&snd_sctl_free) = dlsym(handle, "snd_sctl_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_sctl_install
+ *(void **) (&snd_sctl_install) = dlsym(handle, "snd_sctl_install");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_sctl_remove
+ *(void **) (&snd_sctl_remove) = dlsym(handle, "snd_sctl_remove");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_open
+ *(void **) (&snd_mixer_open) = dlsym(handle, "snd_mixer_open");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_close
+ *(void **) (&snd_mixer_close) = dlsym(handle, "snd_mixer_close");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_first_elem
+ *(void **) (&snd_mixer_first_elem) = dlsym(handle, "snd_mixer_first_elem");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_last_elem
+ *(void **) (&snd_mixer_last_elem) = dlsym(handle, "snd_mixer_last_elem");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_handle_events
+ *(void **) (&snd_mixer_handle_events) = dlsym(handle, "snd_mixer_handle_events");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_attach
+ *(void **) (&snd_mixer_attach) = dlsym(handle, "snd_mixer_attach");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_attach_hctl
+ *(void **) (&snd_mixer_attach_hctl) = dlsym(handle, "snd_mixer_attach_hctl");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_detach
+ *(void **) (&snd_mixer_detach) = dlsym(handle, "snd_mixer_detach");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_detach_hctl
+ *(void **) (&snd_mixer_detach_hctl) = dlsym(handle, "snd_mixer_detach_hctl");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_get_hctl
+ *(void **) (&snd_mixer_get_hctl) = dlsym(handle, "snd_mixer_get_hctl");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_poll_descriptors_count
+ *(void **) (&snd_mixer_poll_descriptors_count) = dlsym(handle, "snd_mixer_poll_descriptors_count");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_poll_descriptors
+ *(void **) (&snd_mixer_poll_descriptors) = dlsym(handle, "snd_mixer_poll_descriptors");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_poll_descriptors_revents
+ *(void **) (&snd_mixer_poll_descriptors_revents) = dlsym(handle, "snd_mixer_poll_descriptors_revents");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_load
+ *(void **) (&snd_mixer_load) = dlsym(handle, "snd_mixer_load");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_free
+ *(void **) (&snd_mixer_free) = dlsym(handle, "snd_mixer_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_wait
+ *(void **) (&snd_mixer_wait) = dlsym(handle, "snd_mixer_wait");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_set_compare
+ *(void **) (&snd_mixer_set_compare) = dlsym(handle, "snd_mixer_set_compare");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_set_callback
+ *(void **) (&snd_mixer_set_callback) = dlsym(handle, "snd_mixer_set_callback");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_get_callback_private
+ *(void **) (&snd_mixer_get_callback_private) = dlsym(handle, "snd_mixer_get_callback_private");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_set_callback_private
+ *(void **) (&snd_mixer_set_callback_private) = dlsym(handle, "snd_mixer_set_callback_private");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_get_count
+ *(void **) (&snd_mixer_get_count) = dlsym(handle, "snd_mixer_get_count");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_class_unregister
+ *(void **) (&snd_mixer_class_unregister) = dlsym(handle, "snd_mixer_class_unregister");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_elem_next
+ *(void **) (&snd_mixer_elem_next) = dlsym(handle, "snd_mixer_elem_next");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_elem_prev
+ *(void **) (&snd_mixer_elem_prev) = dlsym(handle, "snd_mixer_elem_prev");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_elem_set_callback
+ *(void **) (&snd_mixer_elem_set_callback) = dlsym(handle, "snd_mixer_elem_set_callback");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_elem_get_callback_private
+ *(void **) (&snd_mixer_elem_get_callback_private) = dlsym(handle, "snd_mixer_elem_get_callback_private");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_elem_set_callback_private
+ *(void **) (&snd_mixer_elem_set_callback_private) = dlsym(handle, "snd_mixer_elem_set_callback_private");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_elem_get_type
+ *(void **) (&snd_mixer_elem_get_type) = dlsym(handle, "snd_mixer_elem_get_type");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_class_register
+ *(void **) (&snd_mixer_class_register) = dlsym(handle, "snd_mixer_class_register");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_elem_new
+ *(void **) (&snd_mixer_elem_new) = dlsym(handle, "snd_mixer_elem_new");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_elem_add
+ *(void **) (&snd_mixer_elem_add) = dlsym(handle, "snd_mixer_elem_add");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_elem_remove
+ *(void **) (&snd_mixer_elem_remove) = dlsym(handle, "snd_mixer_elem_remove");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_elem_free
+ *(void **) (&snd_mixer_elem_free) = dlsym(handle, "snd_mixer_elem_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_elem_info
+ *(void **) (&snd_mixer_elem_info) = dlsym(handle, "snd_mixer_elem_info");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_elem_value
+ *(void **) (&snd_mixer_elem_value) = dlsym(handle, "snd_mixer_elem_value");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_elem_attach
+ *(void **) (&snd_mixer_elem_attach) = dlsym(handle, "snd_mixer_elem_attach");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_elem_detach
+ *(void **) (&snd_mixer_elem_detach) = dlsym(handle, "snd_mixer_elem_detach");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_elem_empty
+ *(void **) (&snd_mixer_elem_empty) = dlsym(handle, "snd_mixer_elem_empty");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_elem_get_private
+ *(void **) (&snd_mixer_elem_get_private) = dlsym(handle, "snd_mixer_elem_get_private");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_class_sizeof
+ *(void **) (&snd_mixer_class_sizeof) = dlsym(handle, "snd_mixer_class_sizeof");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_class_malloc
+ *(void **) (&snd_mixer_class_malloc) = dlsym(handle, "snd_mixer_class_malloc");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_class_free
+ *(void **) (&snd_mixer_class_free) = dlsym(handle, "snd_mixer_class_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_class_copy
+ *(void **) (&snd_mixer_class_copy) = dlsym(handle, "snd_mixer_class_copy");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_class_get_mixer
+ *(void **) (&snd_mixer_class_get_mixer) = dlsym(handle, "snd_mixer_class_get_mixer");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_class_get_event
+ *(void **) (&snd_mixer_class_get_event) = dlsym(handle, "snd_mixer_class_get_event");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_class_get_private
+ *(void **) (&snd_mixer_class_get_private) = dlsym(handle, "snd_mixer_class_get_private");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_class_get_compare
+ *(void **) (&snd_mixer_class_get_compare) = dlsym(handle, "snd_mixer_class_get_compare");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_class_set_event
+ *(void **) (&snd_mixer_class_set_event) = dlsym(handle, "snd_mixer_class_set_event");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_class_set_private
+ *(void **) (&snd_mixer_class_set_private) = dlsym(handle, "snd_mixer_class_set_private");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_class_set_private_free
+ *(void **) (&snd_mixer_class_set_private_free) = dlsym(handle, "snd_mixer_class_set_private_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_class_set_compare
+ *(void **) (&snd_mixer_class_set_compare) = dlsym(handle, "snd_mixer_class_set_compare");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_channel_name
+ *(void **) (&snd_mixer_selem_channel_name) = dlsym(handle, "snd_mixer_selem_channel_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_register
+ *(void **) (&snd_mixer_selem_register) = dlsym(handle, "snd_mixer_selem_register");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_get_id
+ *(void **) (&snd_mixer_selem_get_id) = dlsym(handle, "snd_mixer_selem_get_id");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_get_name
+ *(void **) (&snd_mixer_selem_get_name) = dlsym(handle, "snd_mixer_selem_get_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_get_index
+ *(void **) (&snd_mixer_selem_get_index) = dlsym(handle, "snd_mixer_selem_get_index");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_find_selem
+ *(void **) (&snd_mixer_find_selem) = dlsym(handle, "snd_mixer_find_selem");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_is_active
+ *(void **) (&snd_mixer_selem_is_active) = dlsym(handle, "snd_mixer_selem_is_active");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_is_playback_mono
+ *(void **) (&snd_mixer_selem_is_playback_mono) = dlsym(handle, "snd_mixer_selem_is_playback_mono");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_has_playback_channel
+ *(void **) (&snd_mixer_selem_has_playback_channel) = dlsym(handle, "snd_mixer_selem_has_playback_channel");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_is_capture_mono
+ *(void **) (&snd_mixer_selem_is_capture_mono) = dlsym(handle, "snd_mixer_selem_is_capture_mono");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_has_capture_channel
+ *(void **) (&snd_mixer_selem_has_capture_channel) = dlsym(handle, "snd_mixer_selem_has_capture_channel");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_get_capture_group
+ *(void **) (&snd_mixer_selem_get_capture_group) = dlsym(handle, "snd_mixer_selem_get_capture_group");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_has_common_volume
+ *(void **) (&snd_mixer_selem_has_common_volume) = dlsym(handle, "snd_mixer_selem_has_common_volume");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_has_playback_volume
+ *(void **) (&snd_mixer_selem_has_playback_volume) = dlsym(handle, "snd_mixer_selem_has_playback_volume");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_has_playback_volume_joined
+ *(void **) (&snd_mixer_selem_has_playback_volume_joined) = dlsym(handle, "snd_mixer_selem_has_playback_volume_joined");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_has_capture_volume
+ *(void **) (&snd_mixer_selem_has_capture_volume) = dlsym(handle, "snd_mixer_selem_has_capture_volume");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_has_capture_volume_joined
+ *(void **) (&snd_mixer_selem_has_capture_volume_joined) = dlsym(handle, "snd_mixer_selem_has_capture_volume_joined");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_has_common_switch
+ *(void **) (&snd_mixer_selem_has_common_switch) = dlsym(handle, "snd_mixer_selem_has_common_switch");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_has_playback_switch
+ *(void **) (&snd_mixer_selem_has_playback_switch) = dlsym(handle, "snd_mixer_selem_has_playback_switch");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_has_playback_switch_joined
+ *(void **) (&snd_mixer_selem_has_playback_switch_joined) = dlsym(handle, "snd_mixer_selem_has_playback_switch_joined");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_has_capture_switch
+ *(void **) (&snd_mixer_selem_has_capture_switch) = dlsym(handle, "snd_mixer_selem_has_capture_switch");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_has_capture_switch_joined
+ *(void **) (&snd_mixer_selem_has_capture_switch_joined) = dlsym(handle, "snd_mixer_selem_has_capture_switch_joined");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_has_capture_switch_exclusive
+ *(void **) (&snd_mixer_selem_has_capture_switch_exclusive) = dlsym(handle, "snd_mixer_selem_has_capture_switch_exclusive");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_ask_playback_vol_dB
+ *(void **) (&snd_mixer_selem_ask_playback_vol_dB) = dlsym(handle, "snd_mixer_selem_ask_playback_vol_dB");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_ask_capture_vol_dB
+ *(void **) (&snd_mixer_selem_ask_capture_vol_dB) = dlsym(handle, "snd_mixer_selem_ask_capture_vol_dB");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_ask_playback_dB_vol
+ *(void **) (&snd_mixer_selem_ask_playback_dB_vol) = dlsym(handle, "snd_mixer_selem_ask_playback_dB_vol");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_ask_capture_dB_vol
+ *(void **) (&snd_mixer_selem_ask_capture_dB_vol) = dlsym(handle, "snd_mixer_selem_ask_capture_dB_vol");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_get_playback_volume
+ *(void **) (&snd_mixer_selem_get_playback_volume) = dlsym(handle, "snd_mixer_selem_get_playback_volume");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_get_capture_volume
+ *(void **) (&snd_mixer_selem_get_capture_volume) = dlsym(handle, "snd_mixer_selem_get_capture_volume");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_get_playback_dB
+ *(void **) (&snd_mixer_selem_get_playback_dB) = dlsym(handle, "snd_mixer_selem_get_playback_dB");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_get_capture_dB
+ *(void **) (&snd_mixer_selem_get_capture_dB) = dlsym(handle, "snd_mixer_selem_get_capture_dB");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_get_playback_switch
+ *(void **) (&snd_mixer_selem_get_playback_switch) = dlsym(handle, "snd_mixer_selem_get_playback_switch");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_get_capture_switch
+ *(void **) (&snd_mixer_selem_get_capture_switch) = dlsym(handle, "snd_mixer_selem_get_capture_switch");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_set_playback_volume
+ *(void **) (&snd_mixer_selem_set_playback_volume) = dlsym(handle, "snd_mixer_selem_set_playback_volume");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_set_capture_volume
+ *(void **) (&snd_mixer_selem_set_capture_volume) = dlsym(handle, "snd_mixer_selem_set_capture_volume");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_set_playback_dB
+ *(void **) (&snd_mixer_selem_set_playback_dB) = dlsym(handle, "snd_mixer_selem_set_playback_dB");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_set_capture_dB
+ *(void **) (&snd_mixer_selem_set_capture_dB) = dlsym(handle, "snd_mixer_selem_set_capture_dB");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_set_playback_volume_all
+ *(void **) (&snd_mixer_selem_set_playback_volume_all) = dlsym(handle, "snd_mixer_selem_set_playback_volume_all");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_set_capture_volume_all
+ *(void **) (&snd_mixer_selem_set_capture_volume_all) = dlsym(handle, "snd_mixer_selem_set_capture_volume_all");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_set_playback_dB_all
+ *(void **) (&snd_mixer_selem_set_playback_dB_all) = dlsym(handle, "snd_mixer_selem_set_playback_dB_all");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_set_capture_dB_all
+ *(void **) (&snd_mixer_selem_set_capture_dB_all) = dlsym(handle, "snd_mixer_selem_set_capture_dB_all");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_set_playback_switch
+ *(void **) (&snd_mixer_selem_set_playback_switch) = dlsym(handle, "snd_mixer_selem_set_playback_switch");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_set_capture_switch
+ *(void **) (&snd_mixer_selem_set_capture_switch) = dlsym(handle, "snd_mixer_selem_set_capture_switch");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_set_playback_switch_all
+ *(void **) (&snd_mixer_selem_set_playback_switch_all) = dlsym(handle, "snd_mixer_selem_set_playback_switch_all");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_set_capture_switch_all
+ *(void **) (&snd_mixer_selem_set_capture_switch_all) = dlsym(handle, "snd_mixer_selem_set_capture_switch_all");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_get_playback_volume_range
+ *(void **) (&snd_mixer_selem_get_playback_volume_range) = dlsym(handle, "snd_mixer_selem_get_playback_volume_range");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_get_playback_dB_range
+ *(void **) (&snd_mixer_selem_get_playback_dB_range) = dlsym(handle, "snd_mixer_selem_get_playback_dB_range");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_set_playback_volume_range
+ *(void **) (&snd_mixer_selem_set_playback_volume_range) = dlsym(handle, "snd_mixer_selem_set_playback_volume_range");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_get_capture_volume_range
+ *(void **) (&snd_mixer_selem_get_capture_volume_range) = dlsym(handle, "snd_mixer_selem_get_capture_volume_range");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_get_capture_dB_range
+ *(void **) (&snd_mixer_selem_get_capture_dB_range) = dlsym(handle, "snd_mixer_selem_get_capture_dB_range");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_set_capture_volume_range
+ *(void **) (&snd_mixer_selem_set_capture_volume_range) = dlsym(handle, "snd_mixer_selem_set_capture_volume_range");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_is_enumerated
+ *(void **) (&snd_mixer_selem_is_enumerated) = dlsym(handle, "snd_mixer_selem_is_enumerated");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_is_enum_playback
+ *(void **) (&snd_mixer_selem_is_enum_playback) = dlsym(handle, "snd_mixer_selem_is_enum_playback");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_is_enum_capture
+ *(void **) (&snd_mixer_selem_is_enum_capture) = dlsym(handle, "snd_mixer_selem_is_enum_capture");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_get_enum_items
+ *(void **) (&snd_mixer_selem_get_enum_items) = dlsym(handle, "snd_mixer_selem_get_enum_items");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_get_enum_item_name
+ *(void **) (&snd_mixer_selem_get_enum_item_name) = dlsym(handle, "snd_mixer_selem_get_enum_item_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_get_enum_item
+ *(void **) (&snd_mixer_selem_get_enum_item) = dlsym(handle, "snd_mixer_selem_get_enum_item");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_set_enum_item
+ *(void **) (&snd_mixer_selem_set_enum_item) = dlsym(handle, "snd_mixer_selem_set_enum_item");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_id_sizeof
+ *(void **) (&snd_mixer_selem_id_sizeof) = dlsym(handle, "snd_mixer_selem_id_sizeof");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_id_malloc
+ *(void **) (&snd_mixer_selem_id_malloc) = dlsym(handle, "snd_mixer_selem_id_malloc");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_id_free
+ *(void **) (&snd_mixer_selem_id_free) = dlsym(handle, "snd_mixer_selem_id_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_id_copy
+ *(void **) (&snd_mixer_selem_id_copy) = dlsym(handle, "snd_mixer_selem_id_copy");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_id_get_name
+ *(void **) (&snd_mixer_selem_id_get_name) = dlsym(handle, "snd_mixer_selem_id_get_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_id_get_index
+ *(void **) (&snd_mixer_selem_id_get_index) = dlsym(handle, "snd_mixer_selem_id_get_index");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_id_set_name
+ *(void **) (&snd_mixer_selem_id_set_name) = dlsym(handle, "snd_mixer_selem_id_set_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_id_set_index
+ *(void **) (&snd_mixer_selem_id_set_index) = dlsym(handle, "snd_mixer_selem_id_set_index");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_mixer_selem_id_parse
+ *(void **) (&snd_mixer_selem_id_parse) = dlsym(handle, "snd_mixer_selem_id_parse");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_open
+ *(void **) (&snd_seq_open) = dlsym(handle, "snd_seq_open");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_open_lconf
+ *(void **) (&snd_seq_open_lconf) = dlsym(handle, "snd_seq_open_lconf");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_name
+ *(void **) (&snd_seq_name) = dlsym(handle, "snd_seq_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_type
+ *(void **) (&snd_seq_type) = dlsym(handle, "snd_seq_type");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_close
+ *(void **) (&snd_seq_close) = dlsym(handle, "snd_seq_close");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_poll_descriptors_count
+ *(void **) (&snd_seq_poll_descriptors_count) = dlsym(handle, "snd_seq_poll_descriptors_count");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_poll_descriptors
+ *(void **) (&snd_seq_poll_descriptors) = dlsym(handle, "snd_seq_poll_descriptors");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_poll_descriptors_revents
+ *(void **) (&snd_seq_poll_descriptors_revents) = dlsym(handle, "snd_seq_poll_descriptors_revents");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_nonblock
+ *(void **) (&snd_seq_nonblock) = dlsym(handle, "snd_seq_nonblock");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_client_id
+ *(void **) (&snd_seq_client_id) = dlsym(handle, "snd_seq_client_id");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_get_output_buffer_size
+ *(void **) (&snd_seq_get_output_buffer_size) = dlsym(handle, "snd_seq_get_output_buffer_size");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_get_input_buffer_size
+ *(void **) (&snd_seq_get_input_buffer_size) = dlsym(handle, "snd_seq_get_input_buffer_size");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_set_output_buffer_size
+ *(void **) (&snd_seq_set_output_buffer_size) = dlsym(handle, "snd_seq_set_output_buffer_size");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_set_input_buffer_size
+ *(void **) (&snd_seq_set_input_buffer_size) = dlsym(handle, "snd_seq_set_input_buffer_size");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_system_info_sizeof
+ *(void **) (&snd_seq_system_info_sizeof) = dlsym(handle, "snd_seq_system_info_sizeof");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_system_info_malloc
+ *(void **) (&snd_seq_system_info_malloc) = dlsym(handle, "snd_seq_system_info_malloc");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_system_info_free
+ *(void **) (&snd_seq_system_info_free) = dlsym(handle, "snd_seq_system_info_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_system_info_copy
+ *(void **) (&snd_seq_system_info_copy) = dlsym(handle, "snd_seq_system_info_copy");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_system_info_get_queues
+ *(void **) (&snd_seq_system_info_get_queues) = dlsym(handle, "snd_seq_system_info_get_queues");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_system_info_get_clients
+ *(void **) (&snd_seq_system_info_get_clients) = dlsym(handle, "snd_seq_system_info_get_clients");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_system_info_get_ports
+ *(void **) (&snd_seq_system_info_get_ports) = dlsym(handle, "snd_seq_system_info_get_ports");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_system_info_get_channels
+ *(void **) (&snd_seq_system_info_get_channels) = dlsym(handle, "snd_seq_system_info_get_channels");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_system_info_get_cur_clients
+ *(void **) (&snd_seq_system_info_get_cur_clients) = dlsym(handle, "snd_seq_system_info_get_cur_clients");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_system_info_get_cur_queues
+ *(void **) (&snd_seq_system_info_get_cur_queues) = dlsym(handle, "snd_seq_system_info_get_cur_queues");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_system_info
+ *(void **) (&snd_seq_system_info) = dlsym(handle, "snd_seq_system_info");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_client_info_sizeof
+ *(void **) (&snd_seq_client_info_sizeof) = dlsym(handle, "snd_seq_client_info_sizeof");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_client_info_malloc
+ *(void **) (&snd_seq_client_info_malloc) = dlsym(handle, "snd_seq_client_info_malloc");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_client_info_free
+ *(void **) (&snd_seq_client_info_free) = dlsym(handle, "snd_seq_client_info_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_client_info_copy
+ *(void **) (&snd_seq_client_info_copy) = dlsym(handle, "snd_seq_client_info_copy");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_client_info_get_client
+ *(void **) (&snd_seq_client_info_get_client) = dlsym(handle, "snd_seq_client_info_get_client");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_client_info_get_type
+ *(void **) (&snd_seq_client_info_get_type) = dlsym(handle, "snd_seq_client_info_get_type");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_client_info_get_name
+ *(void **) (&snd_seq_client_info_get_name) = dlsym(handle, "snd_seq_client_info_get_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_client_info_get_broadcast_filter
+ *(void **) (&snd_seq_client_info_get_broadcast_filter) = dlsym(handle, "snd_seq_client_info_get_broadcast_filter");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_client_info_get_error_bounce
+ *(void **) (&snd_seq_client_info_get_error_bounce) = dlsym(handle, "snd_seq_client_info_get_error_bounce");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_client_info_get_card
+ *(void **) (&snd_seq_client_info_get_card) = dlsym(handle, "snd_seq_client_info_get_card");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_client_info_get_pid
+ *(void **) (&snd_seq_client_info_get_pid) = dlsym(handle, "snd_seq_client_info_get_pid");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_client_info_get_event_filter
+ *(void **) (&snd_seq_client_info_get_event_filter) = dlsym(handle, "snd_seq_client_info_get_event_filter");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_client_info_get_num_ports
+ *(void **) (&snd_seq_client_info_get_num_ports) = dlsym(handle, "snd_seq_client_info_get_num_ports");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_client_info_get_event_lost
+ *(void **) (&snd_seq_client_info_get_event_lost) = dlsym(handle, "snd_seq_client_info_get_event_lost");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_client_info_set_client
+ *(void **) (&snd_seq_client_info_set_client) = dlsym(handle, "snd_seq_client_info_set_client");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_client_info_set_name
+ *(void **) (&snd_seq_client_info_set_name) = dlsym(handle, "snd_seq_client_info_set_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_client_info_set_broadcast_filter
+ *(void **) (&snd_seq_client_info_set_broadcast_filter) = dlsym(handle, "snd_seq_client_info_set_broadcast_filter");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_client_info_set_error_bounce
+ *(void **) (&snd_seq_client_info_set_error_bounce) = dlsym(handle, "snd_seq_client_info_set_error_bounce");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_client_info_set_event_filter
+ *(void **) (&snd_seq_client_info_set_event_filter) = dlsym(handle, "snd_seq_client_info_set_event_filter");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_client_info_event_filter_clear
+ *(void **) (&snd_seq_client_info_event_filter_clear) = dlsym(handle, "snd_seq_client_info_event_filter_clear");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_client_info_event_filter_add
+ *(void **) (&snd_seq_client_info_event_filter_add) = dlsym(handle, "snd_seq_client_info_event_filter_add");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_client_info_event_filter_del
+ *(void **) (&snd_seq_client_info_event_filter_del) = dlsym(handle, "snd_seq_client_info_event_filter_del");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_client_info_event_filter_check
+ *(void **) (&snd_seq_client_info_event_filter_check) = dlsym(handle, "snd_seq_client_info_event_filter_check");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_get_client_info
+ *(void **) (&snd_seq_get_client_info) = dlsym(handle, "snd_seq_get_client_info");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_get_any_client_info
+ *(void **) (&snd_seq_get_any_client_info) = dlsym(handle, "snd_seq_get_any_client_info");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_set_client_info
+ *(void **) (&snd_seq_set_client_info) = dlsym(handle, "snd_seq_set_client_info");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_query_next_client
+ *(void **) (&snd_seq_query_next_client) = dlsym(handle, "snd_seq_query_next_client");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_client_pool_sizeof
+ *(void **) (&snd_seq_client_pool_sizeof) = dlsym(handle, "snd_seq_client_pool_sizeof");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_client_pool_malloc
+ *(void **) (&snd_seq_client_pool_malloc) = dlsym(handle, "snd_seq_client_pool_malloc");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_client_pool_free
+ *(void **) (&snd_seq_client_pool_free) = dlsym(handle, "snd_seq_client_pool_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_client_pool_copy
+ *(void **) (&snd_seq_client_pool_copy) = dlsym(handle, "snd_seq_client_pool_copy");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_client_pool_get_client
+ *(void **) (&snd_seq_client_pool_get_client) = dlsym(handle, "snd_seq_client_pool_get_client");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_client_pool_get_output_pool
+ *(void **) (&snd_seq_client_pool_get_output_pool) = dlsym(handle, "snd_seq_client_pool_get_output_pool");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_client_pool_get_input_pool
+ *(void **) (&snd_seq_client_pool_get_input_pool) = dlsym(handle, "snd_seq_client_pool_get_input_pool");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_client_pool_get_output_room
+ *(void **) (&snd_seq_client_pool_get_output_room) = dlsym(handle, "snd_seq_client_pool_get_output_room");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_client_pool_get_output_free
+ *(void **) (&snd_seq_client_pool_get_output_free) = dlsym(handle, "snd_seq_client_pool_get_output_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_client_pool_get_input_free
+ *(void **) (&snd_seq_client_pool_get_input_free) = dlsym(handle, "snd_seq_client_pool_get_input_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_client_pool_set_output_pool
+ *(void **) (&snd_seq_client_pool_set_output_pool) = dlsym(handle, "snd_seq_client_pool_set_output_pool");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_client_pool_set_input_pool
+ *(void **) (&snd_seq_client_pool_set_input_pool) = dlsym(handle, "snd_seq_client_pool_set_input_pool");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_client_pool_set_output_room
+ *(void **) (&snd_seq_client_pool_set_output_room) = dlsym(handle, "snd_seq_client_pool_set_output_room");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_get_client_pool
+ *(void **) (&snd_seq_get_client_pool) = dlsym(handle, "snd_seq_get_client_pool");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_set_client_pool
+ *(void **) (&snd_seq_set_client_pool) = dlsym(handle, "snd_seq_set_client_pool");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_port_info_sizeof
+ *(void **) (&snd_seq_port_info_sizeof) = dlsym(handle, "snd_seq_port_info_sizeof");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_port_info_malloc
+ *(void **) (&snd_seq_port_info_malloc) = dlsym(handle, "snd_seq_port_info_malloc");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_port_info_free
+ *(void **) (&snd_seq_port_info_free) = dlsym(handle, "snd_seq_port_info_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_port_info_copy
+ *(void **) (&snd_seq_port_info_copy) = dlsym(handle, "snd_seq_port_info_copy");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_port_info_get_client
+ *(void **) (&snd_seq_port_info_get_client) = dlsym(handle, "snd_seq_port_info_get_client");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_port_info_get_port
+ *(void **) (&snd_seq_port_info_get_port) = dlsym(handle, "snd_seq_port_info_get_port");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_port_info_get_addr
+ *(void **) (&snd_seq_port_info_get_addr) = dlsym(handle, "snd_seq_port_info_get_addr");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_port_info_get_name
+ *(void **) (&snd_seq_port_info_get_name) = dlsym(handle, "snd_seq_port_info_get_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_port_info_get_capability
+ *(void **) (&snd_seq_port_info_get_capability) = dlsym(handle, "snd_seq_port_info_get_capability");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_port_info_get_type
+ *(void **) (&snd_seq_port_info_get_type) = dlsym(handle, "snd_seq_port_info_get_type");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_port_info_get_midi_channels
+ *(void **) (&snd_seq_port_info_get_midi_channels) = dlsym(handle, "snd_seq_port_info_get_midi_channels");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_port_info_get_midi_voices
+ *(void **) (&snd_seq_port_info_get_midi_voices) = dlsym(handle, "snd_seq_port_info_get_midi_voices");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_port_info_get_synth_voices
+ *(void **) (&snd_seq_port_info_get_synth_voices) = dlsym(handle, "snd_seq_port_info_get_synth_voices");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_port_info_get_read_use
+ *(void **) (&snd_seq_port_info_get_read_use) = dlsym(handle, "snd_seq_port_info_get_read_use");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_port_info_get_write_use
+ *(void **) (&snd_seq_port_info_get_write_use) = dlsym(handle, "snd_seq_port_info_get_write_use");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_port_info_get_port_specified
+ *(void **) (&snd_seq_port_info_get_port_specified) = dlsym(handle, "snd_seq_port_info_get_port_specified");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_port_info_get_timestamping
+ *(void **) (&snd_seq_port_info_get_timestamping) = dlsym(handle, "snd_seq_port_info_get_timestamping");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_port_info_get_timestamp_real
+ *(void **) (&snd_seq_port_info_get_timestamp_real) = dlsym(handle, "snd_seq_port_info_get_timestamp_real");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_port_info_get_timestamp_queue
+ *(void **) (&snd_seq_port_info_get_timestamp_queue) = dlsym(handle, "snd_seq_port_info_get_timestamp_queue");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_port_info_set_client
+ *(void **) (&snd_seq_port_info_set_client) = dlsym(handle, "snd_seq_port_info_set_client");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_port_info_set_port
+ *(void **) (&snd_seq_port_info_set_port) = dlsym(handle, "snd_seq_port_info_set_port");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_port_info_set_addr
+ *(void **) (&snd_seq_port_info_set_addr) = dlsym(handle, "snd_seq_port_info_set_addr");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_port_info_set_name
+ *(void **) (&snd_seq_port_info_set_name) = dlsym(handle, "snd_seq_port_info_set_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_port_info_set_capability
+ *(void **) (&snd_seq_port_info_set_capability) = dlsym(handle, "snd_seq_port_info_set_capability");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_port_info_set_type
+ *(void **) (&snd_seq_port_info_set_type) = dlsym(handle, "snd_seq_port_info_set_type");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_port_info_set_midi_channels
+ *(void **) (&snd_seq_port_info_set_midi_channels) = dlsym(handle, "snd_seq_port_info_set_midi_channels");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_port_info_set_midi_voices
+ *(void **) (&snd_seq_port_info_set_midi_voices) = dlsym(handle, "snd_seq_port_info_set_midi_voices");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_port_info_set_synth_voices
+ *(void **) (&snd_seq_port_info_set_synth_voices) = dlsym(handle, "snd_seq_port_info_set_synth_voices");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_port_info_set_port_specified
+ *(void **) (&snd_seq_port_info_set_port_specified) = dlsym(handle, "snd_seq_port_info_set_port_specified");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_port_info_set_timestamping
+ *(void **) (&snd_seq_port_info_set_timestamping) = dlsym(handle, "snd_seq_port_info_set_timestamping");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_port_info_set_timestamp_real
+ *(void **) (&snd_seq_port_info_set_timestamp_real) = dlsym(handle, "snd_seq_port_info_set_timestamp_real");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_port_info_set_timestamp_queue
+ *(void **) (&snd_seq_port_info_set_timestamp_queue) = dlsym(handle, "snd_seq_port_info_set_timestamp_queue");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_create_port
+ *(void **) (&snd_seq_create_port) = dlsym(handle, "snd_seq_create_port");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_delete_port
+ *(void **) (&snd_seq_delete_port) = dlsym(handle, "snd_seq_delete_port");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_get_port_info
+ *(void **) (&snd_seq_get_port_info) = dlsym(handle, "snd_seq_get_port_info");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_get_any_port_info
+ *(void **) (&snd_seq_get_any_port_info) = dlsym(handle, "snd_seq_get_any_port_info");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_set_port_info
+ *(void **) (&snd_seq_set_port_info) = dlsym(handle, "snd_seq_set_port_info");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_query_next_port
+ *(void **) (&snd_seq_query_next_port) = dlsym(handle, "snd_seq_query_next_port");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_port_subscribe_sizeof
+ *(void **) (&snd_seq_port_subscribe_sizeof) = dlsym(handle, "snd_seq_port_subscribe_sizeof");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_port_subscribe_malloc
+ *(void **) (&snd_seq_port_subscribe_malloc) = dlsym(handle, "snd_seq_port_subscribe_malloc");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_port_subscribe_free
+ *(void **) (&snd_seq_port_subscribe_free) = dlsym(handle, "snd_seq_port_subscribe_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_port_subscribe_copy
+ *(void **) (&snd_seq_port_subscribe_copy) = dlsym(handle, "snd_seq_port_subscribe_copy");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_port_subscribe_get_sender
+ *(void **) (&snd_seq_port_subscribe_get_sender) = dlsym(handle, "snd_seq_port_subscribe_get_sender");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_port_subscribe_get_dest
+ *(void **) (&snd_seq_port_subscribe_get_dest) = dlsym(handle, "snd_seq_port_subscribe_get_dest");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_port_subscribe_get_queue
+ *(void **) (&snd_seq_port_subscribe_get_queue) = dlsym(handle, "snd_seq_port_subscribe_get_queue");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_port_subscribe_get_exclusive
+ *(void **) (&snd_seq_port_subscribe_get_exclusive) = dlsym(handle, "snd_seq_port_subscribe_get_exclusive");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_port_subscribe_get_time_update
+ *(void **) (&snd_seq_port_subscribe_get_time_update) = dlsym(handle, "snd_seq_port_subscribe_get_time_update");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_port_subscribe_get_time_real
+ *(void **) (&snd_seq_port_subscribe_get_time_real) = dlsym(handle, "snd_seq_port_subscribe_get_time_real");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_port_subscribe_set_sender
+ *(void **) (&snd_seq_port_subscribe_set_sender) = dlsym(handle, "snd_seq_port_subscribe_set_sender");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_port_subscribe_set_dest
+ *(void **) (&snd_seq_port_subscribe_set_dest) = dlsym(handle, "snd_seq_port_subscribe_set_dest");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_port_subscribe_set_queue
+ *(void **) (&snd_seq_port_subscribe_set_queue) = dlsym(handle, "snd_seq_port_subscribe_set_queue");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_port_subscribe_set_exclusive
+ *(void **) (&snd_seq_port_subscribe_set_exclusive) = dlsym(handle, "snd_seq_port_subscribe_set_exclusive");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_port_subscribe_set_time_update
+ *(void **) (&snd_seq_port_subscribe_set_time_update) = dlsym(handle, "snd_seq_port_subscribe_set_time_update");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_port_subscribe_set_time_real
+ *(void **) (&snd_seq_port_subscribe_set_time_real) = dlsym(handle, "snd_seq_port_subscribe_set_time_real");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_get_port_subscription
+ *(void **) (&snd_seq_get_port_subscription) = dlsym(handle, "snd_seq_get_port_subscription");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_subscribe_port
+ *(void **) (&snd_seq_subscribe_port) = dlsym(handle, "snd_seq_subscribe_port");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_unsubscribe_port
+ *(void **) (&snd_seq_unsubscribe_port) = dlsym(handle, "snd_seq_unsubscribe_port");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_query_subscribe_sizeof
+ *(void **) (&snd_seq_query_subscribe_sizeof) = dlsym(handle, "snd_seq_query_subscribe_sizeof");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_query_subscribe_malloc
+ *(void **) (&snd_seq_query_subscribe_malloc) = dlsym(handle, "snd_seq_query_subscribe_malloc");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_query_subscribe_free
+ *(void **) (&snd_seq_query_subscribe_free) = dlsym(handle, "snd_seq_query_subscribe_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_query_subscribe_copy
+ *(void **) (&snd_seq_query_subscribe_copy) = dlsym(handle, "snd_seq_query_subscribe_copy");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_query_subscribe_get_client
+ *(void **) (&snd_seq_query_subscribe_get_client) = dlsym(handle, "snd_seq_query_subscribe_get_client");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_query_subscribe_get_port
+ *(void **) (&snd_seq_query_subscribe_get_port) = dlsym(handle, "snd_seq_query_subscribe_get_port");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_query_subscribe_get_root
+ *(void **) (&snd_seq_query_subscribe_get_root) = dlsym(handle, "snd_seq_query_subscribe_get_root");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_query_subscribe_get_type
+ *(void **) (&snd_seq_query_subscribe_get_type) = dlsym(handle, "snd_seq_query_subscribe_get_type");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_query_subscribe_get_index
+ *(void **) (&snd_seq_query_subscribe_get_index) = dlsym(handle, "snd_seq_query_subscribe_get_index");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_query_subscribe_get_num_subs
+ *(void **) (&snd_seq_query_subscribe_get_num_subs) = dlsym(handle, "snd_seq_query_subscribe_get_num_subs");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_query_subscribe_get_addr
+ *(void **) (&snd_seq_query_subscribe_get_addr) = dlsym(handle, "snd_seq_query_subscribe_get_addr");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_query_subscribe_get_queue
+ *(void **) (&snd_seq_query_subscribe_get_queue) = dlsym(handle, "snd_seq_query_subscribe_get_queue");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_query_subscribe_get_exclusive
+ *(void **) (&snd_seq_query_subscribe_get_exclusive) = dlsym(handle, "snd_seq_query_subscribe_get_exclusive");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_query_subscribe_get_time_update
+ *(void **) (&snd_seq_query_subscribe_get_time_update) = dlsym(handle, "snd_seq_query_subscribe_get_time_update");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_query_subscribe_get_time_real
+ *(void **) (&snd_seq_query_subscribe_get_time_real) = dlsym(handle, "snd_seq_query_subscribe_get_time_real");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_query_subscribe_set_client
+ *(void **) (&snd_seq_query_subscribe_set_client) = dlsym(handle, "snd_seq_query_subscribe_set_client");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_query_subscribe_set_port
+ *(void **) (&snd_seq_query_subscribe_set_port) = dlsym(handle, "snd_seq_query_subscribe_set_port");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_query_subscribe_set_root
+ *(void **) (&snd_seq_query_subscribe_set_root) = dlsym(handle, "snd_seq_query_subscribe_set_root");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_query_subscribe_set_type
+ *(void **) (&snd_seq_query_subscribe_set_type) = dlsym(handle, "snd_seq_query_subscribe_set_type");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_query_subscribe_set_index
+ *(void **) (&snd_seq_query_subscribe_set_index) = dlsym(handle, "snd_seq_query_subscribe_set_index");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_query_port_subscribers
+ *(void **) (&snd_seq_query_port_subscribers) = dlsym(handle, "snd_seq_query_port_subscribers");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_queue_info_sizeof
+ *(void **) (&snd_seq_queue_info_sizeof) = dlsym(handle, "snd_seq_queue_info_sizeof");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_queue_info_malloc
+ *(void **) (&snd_seq_queue_info_malloc) = dlsym(handle, "snd_seq_queue_info_malloc");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_queue_info_free
+ *(void **) (&snd_seq_queue_info_free) = dlsym(handle, "snd_seq_queue_info_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_queue_info_copy
+ *(void **) (&snd_seq_queue_info_copy) = dlsym(handle, "snd_seq_queue_info_copy");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_queue_info_get_queue
+ *(void **) (&snd_seq_queue_info_get_queue) = dlsym(handle, "snd_seq_queue_info_get_queue");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_queue_info_get_name
+ *(void **) (&snd_seq_queue_info_get_name) = dlsym(handle, "snd_seq_queue_info_get_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_queue_info_get_owner
+ *(void **) (&snd_seq_queue_info_get_owner) = dlsym(handle, "snd_seq_queue_info_get_owner");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_queue_info_get_locked
+ *(void **) (&snd_seq_queue_info_get_locked) = dlsym(handle, "snd_seq_queue_info_get_locked");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_queue_info_get_flags
+ *(void **) (&snd_seq_queue_info_get_flags) = dlsym(handle, "snd_seq_queue_info_get_flags");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_queue_info_set_name
+ *(void **) (&snd_seq_queue_info_set_name) = dlsym(handle, "snd_seq_queue_info_set_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_queue_info_set_owner
+ *(void **) (&snd_seq_queue_info_set_owner) = dlsym(handle, "snd_seq_queue_info_set_owner");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_queue_info_set_locked
+ *(void **) (&snd_seq_queue_info_set_locked) = dlsym(handle, "snd_seq_queue_info_set_locked");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_queue_info_set_flags
+ *(void **) (&snd_seq_queue_info_set_flags) = dlsym(handle, "snd_seq_queue_info_set_flags");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_create_queue
+ *(void **) (&snd_seq_create_queue) = dlsym(handle, "snd_seq_create_queue");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_alloc_named_queue
+ *(void **) (&snd_seq_alloc_named_queue) = dlsym(handle, "snd_seq_alloc_named_queue");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_alloc_queue
+ *(void **) (&snd_seq_alloc_queue) = dlsym(handle, "snd_seq_alloc_queue");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_free_queue
+ *(void **) (&snd_seq_free_queue) = dlsym(handle, "snd_seq_free_queue");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_get_queue_info
+ *(void **) (&snd_seq_get_queue_info) = dlsym(handle, "snd_seq_get_queue_info");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_set_queue_info
+ *(void **) (&snd_seq_set_queue_info) = dlsym(handle, "snd_seq_set_queue_info");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_query_named_queue
+ *(void **) (&snd_seq_query_named_queue) = dlsym(handle, "snd_seq_query_named_queue");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_get_queue_usage
+ *(void **) (&snd_seq_get_queue_usage) = dlsym(handle, "snd_seq_get_queue_usage");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_set_queue_usage
+ *(void **) (&snd_seq_set_queue_usage) = dlsym(handle, "snd_seq_set_queue_usage");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_queue_status_sizeof
+ *(void **) (&snd_seq_queue_status_sizeof) = dlsym(handle, "snd_seq_queue_status_sizeof");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_queue_status_malloc
+ *(void **) (&snd_seq_queue_status_malloc) = dlsym(handle, "snd_seq_queue_status_malloc");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_queue_status_free
+ *(void **) (&snd_seq_queue_status_free) = dlsym(handle, "snd_seq_queue_status_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_queue_status_copy
+ *(void **) (&snd_seq_queue_status_copy) = dlsym(handle, "snd_seq_queue_status_copy");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_queue_status_get_queue
+ *(void **) (&snd_seq_queue_status_get_queue) = dlsym(handle, "snd_seq_queue_status_get_queue");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_queue_status_get_events
+ *(void **) (&snd_seq_queue_status_get_events) = dlsym(handle, "snd_seq_queue_status_get_events");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_queue_status_get_tick_time
+ *(void **) (&snd_seq_queue_status_get_tick_time) = dlsym(handle, "snd_seq_queue_status_get_tick_time");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_queue_status_get_real_time
+ *(void **) (&snd_seq_queue_status_get_real_time) = dlsym(handle, "snd_seq_queue_status_get_real_time");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_queue_status_get_status
+ *(void **) (&snd_seq_queue_status_get_status) = dlsym(handle, "snd_seq_queue_status_get_status");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_get_queue_status
+ *(void **) (&snd_seq_get_queue_status) = dlsym(handle, "snd_seq_get_queue_status");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_queue_tempo_sizeof
+ *(void **) (&snd_seq_queue_tempo_sizeof) = dlsym(handle, "snd_seq_queue_tempo_sizeof");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_queue_tempo_malloc
+ *(void **) (&snd_seq_queue_tempo_malloc) = dlsym(handle, "snd_seq_queue_tempo_malloc");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_queue_tempo_free
+ *(void **) (&snd_seq_queue_tempo_free) = dlsym(handle, "snd_seq_queue_tempo_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_queue_tempo_copy
+ *(void **) (&snd_seq_queue_tempo_copy) = dlsym(handle, "snd_seq_queue_tempo_copy");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_queue_tempo_get_queue
+ *(void **) (&snd_seq_queue_tempo_get_queue) = dlsym(handle, "snd_seq_queue_tempo_get_queue");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_queue_tempo_get_tempo
+ *(void **) (&snd_seq_queue_tempo_get_tempo) = dlsym(handle, "snd_seq_queue_tempo_get_tempo");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_queue_tempo_get_ppq
+ *(void **) (&snd_seq_queue_tempo_get_ppq) = dlsym(handle, "snd_seq_queue_tempo_get_ppq");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_queue_tempo_get_skew
+ *(void **) (&snd_seq_queue_tempo_get_skew) = dlsym(handle, "snd_seq_queue_tempo_get_skew");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_queue_tempo_get_skew_base
+ *(void **) (&snd_seq_queue_tempo_get_skew_base) = dlsym(handle, "snd_seq_queue_tempo_get_skew_base");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_queue_tempo_set_tempo
+ *(void **) (&snd_seq_queue_tempo_set_tempo) = dlsym(handle, "snd_seq_queue_tempo_set_tempo");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_queue_tempo_set_ppq
+ *(void **) (&snd_seq_queue_tempo_set_ppq) = dlsym(handle, "snd_seq_queue_tempo_set_ppq");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_queue_tempo_set_skew
+ *(void **) (&snd_seq_queue_tempo_set_skew) = dlsym(handle, "snd_seq_queue_tempo_set_skew");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_queue_tempo_set_skew_base
+ *(void **) (&snd_seq_queue_tempo_set_skew_base) = dlsym(handle, "snd_seq_queue_tempo_set_skew_base");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_get_queue_tempo
+ *(void **) (&snd_seq_get_queue_tempo) = dlsym(handle, "snd_seq_get_queue_tempo");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_set_queue_tempo
+ *(void **) (&snd_seq_set_queue_tempo) = dlsym(handle, "snd_seq_set_queue_tempo");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_queue_timer_sizeof
+ *(void **) (&snd_seq_queue_timer_sizeof) = dlsym(handle, "snd_seq_queue_timer_sizeof");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_queue_timer_malloc
+ *(void **) (&snd_seq_queue_timer_malloc) = dlsym(handle, "snd_seq_queue_timer_malloc");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_queue_timer_free
+ *(void **) (&snd_seq_queue_timer_free) = dlsym(handle, "snd_seq_queue_timer_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_queue_timer_copy
+ *(void **) (&snd_seq_queue_timer_copy) = dlsym(handle, "snd_seq_queue_timer_copy");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_queue_timer_get_queue
+ *(void **) (&snd_seq_queue_timer_get_queue) = dlsym(handle, "snd_seq_queue_timer_get_queue");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_queue_timer_get_type
+ *(void **) (&snd_seq_queue_timer_get_type) = dlsym(handle, "snd_seq_queue_timer_get_type");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_queue_timer_get_id
+ *(void **) (&snd_seq_queue_timer_get_id) = dlsym(handle, "snd_seq_queue_timer_get_id");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_queue_timer_get_resolution
+ *(void **) (&snd_seq_queue_timer_get_resolution) = dlsym(handle, "snd_seq_queue_timer_get_resolution");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_queue_timer_set_type
+ *(void **) (&snd_seq_queue_timer_set_type) = dlsym(handle, "snd_seq_queue_timer_set_type");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_queue_timer_set_id
+ *(void **) (&snd_seq_queue_timer_set_id) = dlsym(handle, "snd_seq_queue_timer_set_id");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_queue_timer_set_resolution
+ *(void **) (&snd_seq_queue_timer_set_resolution) = dlsym(handle, "snd_seq_queue_timer_set_resolution");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_get_queue_timer
+ *(void **) (&snd_seq_get_queue_timer) = dlsym(handle, "snd_seq_get_queue_timer");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_set_queue_timer
+ *(void **) (&snd_seq_set_queue_timer) = dlsym(handle, "snd_seq_set_queue_timer");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_free_event
+ *(void **) (&snd_seq_free_event) = dlsym(handle, "snd_seq_free_event");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_event_length
+ *(void **) (&snd_seq_event_length) = dlsym(handle, "snd_seq_event_length");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_event_output
+ *(void **) (&snd_seq_event_output) = dlsym(handle, "snd_seq_event_output");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_event_output_buffer
+ *(void **) (&snd_seq_event_output_buffer) = dlsym(handle, "snd_seq_event_output_buffer");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_event_output_direct
+ *(void **) (&snd_seq_event_output_direct) = dlsym(handle, "snd_seq_event_output_direct");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_event_input
+ *(void **) (&snd_seq_event_input) = dlsym(handle, "snd_seq_event_input");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_event_input_pending
+ *(void **) (&snd_seq_event_input_pending) = dlsym(handle, "snd_seq_event_input_pending");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_drain_output
+ *(void **) (&snd_seq_drain_output) = dlsym(handle, "snd_seq_drain_output");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_event_output_pending
+ *(void **) (&snd_seq_event_output_pending) = dlsym(handle, "snd_seq_event_output_pending");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_extract_output
+ *(void **) (&snd_seq_extract_output) = dlsym(handle, "snd_seq_extract_output");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_drop_output
+ *(void **) (&snd_seq_drop_output) = dlsym(handle, "snd_seq_drop_output");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_drop_output_buffer
+ *(void **) (&snd_seq_drop_output_buffer) = dlsym(handle, "snd_seq_drop_output_buffer");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_drop_input
+ *(void **) (&snd_seq_drop_input) = dlsym(handle, "snd_seq_drop_input");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_drop_input_buffer
+ *(void **) (&snd_seq_drop_input_buffer) = dlsym(handle, "snd_seq_drop_input_buffer");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_remove_events_sizeof
+ *(void **) (&snd_seq_remove_events_sizeof) = dlsym(handle, "snd_seq_remove_events_sizeof");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_remove_events_malloc
+ *(void **) (&snd_seq_remove_events_malloc) = dlsym(handle, "snd_seq_remove_events_malloc");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_remove_events_free
+ *(void **) (&snd_seq_remove_events_free) = dlsym(handle, "snd_seq_remove_events_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_remove_events_copy
+ *(void **) (&snd_seq_remove_events_copy) = dlsym(handle, "snd_seq_remove_events_copy");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_remove_events_get_condition
+ *(void **) (&snd_seq_remove_events_get_condition) = dlsym(handle, "snd_seq_remove_events_get_condition");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_remove_events_get_queue
+ *(void **) (&snd_seq_remove_events_get_queue) = dlsym(handle, "snd_seq_remove_events_get_queue");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_remove_events_get_time
+ *(void **) (&snd_seq_remove_events_get_time) = dlsym(handle, "snd_seq_remove_events_get_time");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_remove_events_get_dest
+ *(void **) (&snd_seq_remove_events_get_dest) = dlsym(handle, "snd_seq_remove_events_get_dest");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_remove_events_get_channel
+ *(void **) (&snd_seq_remove_events_get_channel) = dlsym(handle, "snd_seq_remove_events_get_channel");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_remove_events_get_event_type
+ *(void **) (&snd_seq_remove_events_get_event_type) = dlsym(handle, "snd_seq_remove_events_get_event_type");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_remove_events_get_tag
+ *(void **) (&snd_seq_remove_events_get_tag) = dlsym(handle, "snd_seq_remove_events_get_tag");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_remove_events_set_condition
+ *(void **) (&snd_seq_remove_events_set_condition) = dlsym(handle, "snd_seq_remove_events_set_condition");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_remove_events_set_queue
+ *(void **) (&snd_seq_remove_events_set_queue) = dlsym(handle, "snd_seq_remove_events_set_queue");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_remove_events_set_time
+ *(void **) (&snd_seq_remove_events_set_time) = dlsym(handle, "snd_seq_remove_events_set_time");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_remove_events_set_dest
+ *(void **) (&snd_seq_remove_events_set_dest) = dlsym(handle, "snd_seq_remove_events_set_dest");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_remove_events_set_channel
+ *(void **) (&snd_seq_remove_events_set_channel) = dlsym(handle, "snd_seq_remove_events_set_channel");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_remove_events_set_event_type
+ *(void **) (&snd_seq_remove_events_set_event_type) = dlsym(handle, "snd_seq_remove_events_set_event_type");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_remove_events_set_tag
+ *(void **) (&snd_seq_remove_events_set_tag) = dlsym(handle, "snd_seq_remove_events_set_tag");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_remove_events
+ *(void **) (&snd_seq_remove_events) = dlsym(handle, "snd_seq_remove_events");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_set_bit
+ *(void **) (&snd_seq_set_bit) = dlsym(handle, "snd_seq_set_bit");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_unset_bit
+ *(void **) (&snd_seq_unset_bit) = dlsym(handle, "snd_seq_unset_bit");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_change_bit
+ *(void **) (&snd_seq_change_bit) = dlsym(handle, "snd_seq_change_bit");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_get_bit
+ *(void **) (&snd_seq_get_bit) = dlsym(handle, "snd_seq_get_bit");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_control_queue
+ *(void **) (&snd_seq_control_queue) = dlsym(handle, "snd_seq_control_queue");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_create_simple_port
+ *(void **) (&snd_seq_create_simple_port) = dlsym(handle, "snd_seq_create_simple_port");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_delete_simple_port
+ *(void **) (&snd_seq_delete_simple_port) = dlsym(handle, "snd_seq_delete_simple_port");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_connect_from
+ *(void **) (&snd_seq_connect_from) = dlsym(handle, "snd_seq_connect_from");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_connect_to
+ *(void **) (&snd_seq_connect_to) = dlsym(handle, "snd_seq_connect_to");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_disconnect_from
+ *(void **) (&snd_seq_disconnect_from) = dlsym(handle, "snd_seq_disconnect_from");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_disconnect_to
+ *(void **) (&snd_seq_disconnect_to) = dlsym(handle, "snd_seq_disconnect_to");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_set_client_name
+ *(void **) (&snd_seq_set_client_name) = dlsym(handle, "snd_seq_set_client_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_set_client_event_filter
+ *(void **) (&snd_seq_set_client_event_filter) = dlsym(handle, "snd_seq_set_client_event_filter");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_set_client_pool_output
+ *(void **) (&snd_seq_set_client_pool_output) = dlsym(handle, "snd_seq_set_client_pool_output");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_set_client_pool_output_room
+ *(void **) (&snd_seq_set_client_pool_output_room) = dlsym(handle, "snd_seq_set_client_pool_output_room");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_set_client_pool_input
+ *(void **) (&snd_seq_set_client_pool_input) = dlsym(handle, "snd_seq_set_client_pool_input");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_sync_output_queue
+ *(void **) (&snd_seq_sync_output_queue) = dlsym(handle, "snd_seq_sync_output_queue");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_parse_address
+ *(void **) (&snd_seq_parse_address) = dlsym(handle, "snd_seq_parse_address");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_reset_pool_output
+ *(void **) (&snd_seq_reset_pool_output) = dlsym(handle, "snd_seq_reset_pool_output");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_seq_reset_pool_input
+ *(void **) (&snd_seq_reset_pool_input) = dlsym(handle, "snd_seq_reset_pool_input");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_midi_event_new
+ *(void **) (&snd_midi_event_new) = dlsym(handle, "snd_midi_event_new");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_midi_event_resize_buffer
+ *(void **) (&snd_midi_event_resize_buffer) = dlsym(handle, "snd_midi_event_resize_buffer");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_midi_event_free
+ *(void **) (&snd_midi_event_free) = dlsym(handle, "snd_midi_event_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_midi_event_init
+ *(void **) (&snd_midi_event_init) = dlsym(handle, "snd_midi_event_init");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_midi_event_reset_encode
+ *(void **) (&snd_midi_event_reset_encode) = dlsym(handle, "snd_midi_event_reset_encode");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_midi_event_reset_decode
+ *(void **) (&snd_midi_event_reset_decode) = dlsym(handle, "snd_midi_event_reset_decode");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_midi_event_no_status
+ *(void **) (&snd_midi_event_no_status) = dlsym(handle, "snd_midi_event_no_status");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_midi_event_encode
+ *(void **) (&snd_midi_event_encode) = dlsym(handle, "snd_midi_event_encode");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_midi_event_encode_byte
+ *(void **) (&snd_midi_event_encode_byte) = dlsym(handle, "snd_midi_event_encode_byte");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// snd_midi_event_decode
+ *(void **) (&snd_midi_event_decode) = dlsym(handle, "snd_midi_event_decode");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+return 0;
+}
diff --git a/drivers/alsa/asound-so_wrap.h b/drivers/alsa/asound-so_wrap.h
new file mode 100644
index 0000000000..965da2f1a9
--- /dev/null
+++ b/drivers/alsa/asound-so_wrap.h
@@ -0,0 +1,3864 @@
+// This file is generated. Do not edit!
+// see https://github.com/hpvb/dynload-wrapper for details
+// generated by /home/hp/Projects/godot/pulse/generate-wrapper.py 0.1 on 2021-02-16 20:26:29
+// flags: /home/hp/Projects/godot/pulse/generate-wrapper.py --include /usr/include/alsa/asoundlib.h --sys-include <alsa/asoundlib.h> --soname libasound.so.2 --init-name asound --output-header asound-so_wrap.h --output-implementation asound-so_wrap.c
+//
+#include <dlfcn.h>
+#include <stdio.h>
+#define snd_asoundlib_version snd_asoundlib_version_orig
+#define snd_dlpath snd_dlpath_orig
+#define snd_dlopen snd_dlopen_orig
+#define snd_dlsym snd_dlsym_orig
+#define snd_dlclose snd_dlclose_orig
+#define snd_async_add_handler snd_async_add_handler_orig
+#define snd_async_del_handler snd_async_del_handler_orig
+#define snd_async_handler_get_fd snd_async_handler_get_fd_orig
+#define snd_async_handler_get_signo snd_async_handler_get_signo_orig
+#define snd_async_handler_get_callback_private snd_async_handler_get_callback_private_orig
+#define snd_shm_area_create snd_shm_area_create_orig
+#define snd_shm_area_share snd_shm_area_share_orig
+#define snd_shm_area_destroy snd_shm_area_destroy_orig
+#define snd_user_file snd_user_file_orig
+#define snd_input_stdio_open snd_input_stdio_open_orig
+#define snd_input_stdio_attach snd_input_stdio_attach_orig
+#define snd_input_buffer_open snd_input_buffer_open_orig
+#define snd_input_close snd_input_close_orig
+#define snd_input_scanf snd_input_scanf_orig
+#define snd_input_gets snd_input_gets_orig
+#define snd_input_getc snd_input_getc_orig
+#define snd_input_ungetc snd_input_ungetc_orig
+#define snd_output_stdio_open snd_output_stdio_open_orig
+#define snd_output_stdio_attach snd_output_stdio_attach_orig
+#define snd_output_buffer_open snd_output_buffer_open_orig
+#define snd_output_buffer_string snd_output_buffer_string_orig
+#define snd_output_close snd_output_close_orig
+#define snd_output_printf snd_output_printf_orig
+#define snd_output_vprintf snd_output_vprintf_orig
+#define snd_output_puts snd_output_puts_orig
+#define snd_output_putc snd_output_putc_orig
+#define snd_output_flush snd_output_flush_orig
+#define snd_strerror snd_strerror_orig
+#define snd_lib_error_set_handler snd_lib_error_set_handler_orig
+#define snd_lib_error_set_local snd_lib_error_set_local_orig
+#define snd_config_topdir snd_config_topdir_orig
+#define snd_config_top snd_config_top_orig
+#define snd_config_load snd_config_load_orig
+#define snd_config_load_override snd_config_load_override_orig
+#define snd_config_save snd_config_save_orig
+#define snd_config_update snd_config_update_orig
+#define snd_config_update_r snd_config_update_r_orig
+#define snd_config_update_free snd_config_update_free_orig
+#define snd_config_update_free_global snd_config_update_free_global_orig
+#define snd_config_update_ref snd_config_update_ref_orig
+#define snd_config_ref snd_config_ref_orig
+#define snd_config_unref snd_config_unref_orig
+#define snd_config_search snd_config_search_orig
+#define snd_config_searchv snd_config_searchv_orig
+#define snd_config_search_definition snd_config_search_definition_orig
+#define snd_config_expand snd_config_expand_orig
+#define snd_config_evaluate snd_config_evaluate_orig
+#define snd_config_add snd_config_add_orig
+#define snd_config_add_before snd_config_add_before_orig
+#define snd_config_add_after snd_config_add_after_orig
+#define snd_config_remove snd_config_remove_orig
+#define snd_config_delete snd_config_delete_orig
+#define snd_config_delete_compound_members snd_config_delete_compound_members_orig
+#define snd_config_copy snd_config_copy_orig
+#define snd_config_make snd_config_make_orig
+#define snd_config_make_integer snd_config_make_integer_orig
+#define snd_config_make_integer64 snd_config_make_integer64_orig
+#define snd_config_make_real snd_config_make_real_orig
+#define snd_config_make_string snd_config_make_string_orig
+#define snd_config_make_pointer snd_config_make_pointer_orig
+#define snd_config_make_compound snd_config_make_compound_orig
+#define snd_config_imake_integer snd_config_imake_integer_orig
+#define snd_config_imake_integer64 snd_config_imake_integer64_orig
+#define snd_config_imake_real snd_config_imake_real_orig
+#define snd_config_imake_string snd_config_imake_string_orig
+#define snd_config_imake_safe_string snd_config_imake_safe_string_orig
+#define snd_config_imake_pointer snd_config_imake_pointer_orig
+#define snd_config_get_type snd_config_get_type_orig
+#define snd_config_is_array snd_config_is_array_orig
+#define snd_config_set_id snd_config_set_id_orig
+#define snd_config_set_integer snd_config_set_integer_orig
+#define snd_config_set_integer64 snd_config_set_integer64_orig
+#define snd_config_set_real snd_config_set_real_orig
+#define snd_config_set_string snd_config_set_string_orig
+#define snd_config_set_ascii snd_config_set_ascii_orig
+#define snd_config_set_pointer snd_config_set_pointer_orig
+#define snd_config_get_id snd_config_get_id_orig
+#define snd_config_get_integer snd_config_get_integer_orig
+#define snd_config_get_integer64 snd_config_get_integer64_orig
+#define snd_config_get_real snd_config_get_real_orig
+#define snd_config_get_ireal snd_config_get_ireal_orig
+#define snd_config_get_string snd_config_get_string_orig
+#define snd_config_get_ascii snd_config_get_ascii_orig
+#define snd_config_get_pointer snd_config_get_pointer_orig
+#define snd_config_test_id snd_config_test_id_orig
+#define snd_config_iterator_first snd_config_iterator_first_orig
+#define snd_config_iterator_next snd_config_iterator_next_orig
+#define snd_config_iterator_end snd_config_iterator_end_orig
+#define snd_config_iterator_entry snd_config_iterator_entry_orig
+#define snd_config_get_bool_ascii snd_config_get_bool_ascii_orig
+#define snd_config_get_bool snd_config_get_bool_orig
+#define snd_config_get_ctl_iface_ascii snd_config_get_ctl_iface_ascii_orig
+#define snd_config_get_ctl_iface snd_config_get_ctl_iface_orig
+#define snd_names_list snd_names_list_orig
+#define snd_names_list_free snd_names_list_free_orig
+#define snd_pcm_open snd_pcm_open_orig
+#define snd_pcm_open_lconf snd_pcm_open_lconf_orig
+#define snd_pcm_open_fallback snd_pcm_open_fallback_orig
+#define snd_pcm_close snd_pcm_close_orig
+#define snd_pcm_name snd_pcm_name_orig
+#define snd_pcm_type snd_pcm_type_orig
+#define snd_pcm_stream snd_pcm_stream_orig
+#define snd_pcm_poll_descriptors_count snd_pcm_poll_descriptors_count_orig
+#define snd_pcm_poll_descriptors snd_pcm_poll_descriptors_orig
+#define snd_pcm_poll_descriptors_revents snd_pcm_poll_descriptors_revents_orig
+#define snd_pcm_nonblock snd_pcm_nonblock_orig
+#define snd_async_add_pcm_handler snd_async_add_pcm_handler_orig
+#define snd_async_handler_get_pcm snd_async_handler_get_pcm_orig
+#define snd_pcm_info snd_pcm_info_orig
+#define snd_pcm_hw_params_current snd_pcm_hw_params_current_orig
+#define snd_pcm_hw_params snd_pcm_hw_params_orig
+#define snd_pcm_hw_free snd_pcm_hw_free_orig
+#define snd_pcm_sw_params_current snd_pcm_sw_params_current_orig
+#define snd_pcm_sw_params snd_pcm_sw_params_orig
+#define snd_pcm_prepare snd_pcm_prepare_orig
+#define snd_pcm_reset snd_pcm_reset_orig
+#define snd_pcm_status snd_pcm_status_orig
+#define snd_pcm_start snd_pcm_start_orig
+#define snd_pcm_drop snd_pcm_drop_orig
+#define snd_pcm_drain snd_pcm_drain_orig
+#define snd_pcm_pause snd_pcm_pause_orig
+#define snd_pcm_state snd_pcm_state_orig
+#define snd_pcm_hwsync snd_pcm_hwsync_orig
+#define snd_pcm_delay snd_pcm_delay_orig
+#define snd_pcm_resume snd_pcm_resume_orig
+#define snd_pcm_htimestamp snd_pcm_htimestamp_orig
+#define snd_pcm_avail snd_pcm_avail_orig
+#define snd_pcm_avail_update snd_pcm_avail_update_orig
+#define snd_pcm_avail_delay snd_pcm_avail_delay_orig
+#define snd_pcm_rewindable snd_pcm_rewindable_orig
+#define snd_pcm_rewind snd_pcm_rewind_orig
+#define snd_pcm_forwardable snd_pcm_forwardable_orig
+#define snd_pcm_forward snd_pcm_forward_orig
+#define snd_pcm_writei snd_pcm_writei_orig
+#define snd_pcm_readi snd_pcm_readi_orig
+#define snd_pcm_writen snd_pcm_writen_orig
+#define snd_pcm_readn snd_pcm_readn_orig
+#define snd_pcm_wait snd_pcm_wait_orig
+#define snd_pcm_link snd_pcm_link_orig
+#define snd_pcm_unlink snd_pcm_unlink_orig
+#define snd_pcm_query_chmaps snd_pcm_query_chmaps_orig
+#define snd_pcm_query_chmaps_from_hw snd_pcm_query_chmaps_from_hw_orig
+#define snd_pcm_free_chmaps snd_pcm_free_chmaps_orig
+#define snd_pcm_get_chmap snd_pcm_get_chmap_orig
+#define snd_pcm_set_chmap snd_pcm_set_chmap_orig
+#define snd_pcm_chmap_type_name snd_pcm_chmap_type_name_orig
+#define snd_pcm_chmap_name snd_pcm_chmap_name_orig
+#define snd_pcm_chmap_long_name snd_pcm_chmap_long_name_orig
+#define snd_pcm_chmap_print snd_pcm_chmap_print_orig
+#define snd_pcm_chmap_from_string snd_pcm_chmap_from_string_orig
+#define snd_pcm_chmap_parse_string snd_pcm_chmap_parse_string_orig
+#define snd_pcm_recover snd_pcm_recover_orig
+#define snd_pcm_set_params snd_pcm_set_params_orig
+#define snd_pcm_get_params snd_pcm_get_params_orig
+#define snd_pcm_info_sizeof snd_pcm_info_sizeof_orig
+#define snd_pcm_info_malloc snd_pcm_info_malloc_orig
+#define snd_pcm_info_free snd_pcm_info_free_orig
+#define snd_pcm_info_copy snd_pcm_info_copy_orig
+#define snd_pcm_info_get_device snd_pcm_info_get_device_orig
+#define snd_pcm_info_get_subdevice snd_pcm_info_get_subdevice_orig
+#define snd_pcm_info_get_stream snd_pcm_info_get_stream_orig
+#define snd_pcm_info_get_card snd_pcm_info_get_card_orig
+#define snd_pcm_info_get_id snd_pcm_info_get_id_orig
+#define snd_pcm_info_get_name snd_pcm_info_get_name_orig
+#define snd_pcm_info_get_subdevice_name snd_pcm_info_get_subdevice_name_orig
+#define snd_pcm_info_get_class snd_pcm_info_get_class_orig
+#define snd_pcm_info_get_subclass snd_pcm_info_get_subclass_orig
+#define snd_pcm_info_get_subdevices_count snd_pcm_info_get_subdevices_count_orig
+#define snd_pcm_info_get_subdevices_avail snd_pcm_info_get_subdevices_avail_orig
+#define snd_pcm_info_get_sync snd_pcm_info_get_sync_orig
+#define snd_pcm_info_set_device snd_pcm_info_set_device_orig
+#define snd_pcm_info_set_subdevice snd_pcm_info_set_subdevice_orig
+#define snd_pcm_info_set_stream snd_pcm_info_set_stream_orig
+#define snd_pcm_hw_params_any snd_pcm_hw_params_any_orig
+#define snd_pcm_hw_params_can_mmap_sample_resolution snd_pcm_hw_params_can_mmap_sample_resolution_orig
+#define snd_pcm_hw_params_is_double snd_pcm_hw_params_is_double_orig
+#define snd_pcm_hw_params_is_batch snd_pcm_hw_params_is_batch_orig
+#define snd_pcm_hw_params_is_block_transfer snd_pcm_hw_params_is_block_transfer_orig
+#define snd_pcm_hw_params_is_monotonic snd_pcm_hw_params_is_monotonic_orig
+#define snd_pcm_hw_params_can_overrange snd_pcm_hw_params_can_overrange_orig
+#define snd_pcm_hw_params_can_pause snd_pcm_hw_params_can_pause_orig
+#define snd_pcm_hw_params_can_resume snd_pcm_hw_params_can_resume_orig
+#define snd_pcm_hw_params_is_half_duplex snd_pcm_hw_params_is_half_duplex_orig
+#define snd_pcm_hw_params_is_joint_duplex snd_pcm_hw_params_is_joint_duplex_orig
+#define snd_pcm_hw_params_can_sync_start snd_pcm_hw_params_can_sync_start_orig
+#define snd_pcm_hw_params_can_disable_period_wakeup snd_pcm_hw_params_can_disable_period_wakeup_orig
+#define snd_pcm_hw_params_supports_audio_wallclock_ts snd_pcm_hw_params_supports_audio_wallclock_ts_orig
+#define snd_pcm_hw_params_supports_audio_ts_type snd_pcm_hw_params_supports_audio_ts_type_orig
+#define snd_pcm_hw_params_get_rate_numden snd_pcm_hw_params_get_rate_numden_orig
+#define snd_pcm_hw_params_get_sbits snd_pcm_hw_params_get_sbits_orig
+#define snd_pcm_hw_params_get_fifo_size snd_pcm_hw_params_get_fifo_size_orig
+#define snd_pcm_hw_params_sizeof snd_pcm_hw_params_sizeof_orig
+#define snd_pcm_hw_params_malloc snd_pcm_hw_params_malloc_orig
+#define snd_pcm_hw_params_free snd_pcm_hw_params_free_orig
+#define snd_pcm_hw_params_copy snd_pcm_hw_params_copy_orig
+#define snd_pcm_hw_params_get_access snd_pcm_hw_params_get_access_orig
+#define snd_pcm_hw_params_test_access snd_pcm_hw_params_test_access_orig
+#define snd_pcm_hw_params_set_access snd_pcm_hw_params_set_access_orig
+#define snd_pcm_hw_params_set_access_first snd_pcm_hw_params_set_access_first_orig
+#define snd_pcm_hw_params_set_access_last snd_pcm_hw_params_set_access_last_orig
+#define snd_pcm_hw_params_set_access_mask snd_pcm_hw_params_set_access_mask_orig
+#define snd_pcm_hw_params_get_access_mask snd_pcm_hw_params_get_access_mask_orig
+#define snd_pcm_hw_params_get_format snd_pcm_hw_params_get_format_orig
+#define snd_pcm_hw_params_test_format snd_pcm_hw_params_test_format_orig
+#define snd_pcm_hw_params_set_format snd_pcm_hw_params_set_format_orig
+#define snd_pcm_hw_params_set_format_first snd_pcm_hw_params_set_format_first_orig
+#define snd_pcm_hw_params_set_format_last snd_pcm_hw_params_set_format_last_orig
+#define snd_pcm_hw_params_set_format_mask snd_pcm_hw_params_set_format_mask_orig
+#define snd_pcm_hw_params_get_format_mask snd_pcm_hw_params_get_format_mask_orig
+#define snd_pcm_hw_params_get_subformat snd_pcm_hw_params_get_subformat_orig
+#define snd_pcm_hw_params_test_subformat snd_pcm_hw_params_test_subformat_orig
+#define snd_pcm_hw_params_set_subformat snd_pcm_hw_params_set_subformat_orig
+#define snd_pcm_hw_params_set_subformat_first snd_pcm_hw_params_set_subformat_first_orig
+#define snd_pcm_hw_params_set_subformat_last snd_pcm_hw_params_set_subformat_last_orig
+#define snd_pcm_hw_params_set_subformat_mask snd_pcm_hw_params_set_subformat_mask_orig
+#define snd_pcm_hw_params_get_subformat_mask snd_pcm_hw_params_get_subformat_mask_orig
+#define snd_pcm_hw_params_get_channels snd_pcm_hw_params_get_channels_orig
+#define snd_pcm_hw_params_get_channels_min snd_pcm_hw_params_get_channels_min_orig
+#define snd_pcm_hw_params_get_channels_max snd_pcm_hw_params_get_channels_max_orig
+#define snd_pcm_hw_params_test_channels snd_pcm_hw_params_test_channels_orig
+#define snd_pcm_hw_params_set_channels snd_pcm_hw_params_set_channels_orig
+#define snd_pcm_hw_params_set_channels_min snd_pcm_hw_params_set_channels_min_orig
+#define snd_pcm_hw_params_set_channels_max snd_pcm_hw_params_set_channels_max_orig
+#define snd_pcm_hw_params_set_channels_minmax snd_pcm_hw_params_set_channels_minmax_orig
+#define snd_pcm_hw_params_set_channels_near snd_pcm_hw_params_set_channels_near_orig
+#define snd_pcm_hw_params_set_channels_first snd_pcm_hw_params_set_channels_first_orig
+#define snd_pcm_hw_params_set_channels_last snd_pcm_hw_params_set_channels_last_orig
+#define snd_pcm_hw_params_get_rate snd_pcm_hw_params_get_rate_orig
+#define snd_pcm_hw_params_get_rate_min snd_pcm_hw_params_get_rate_min_orig
+#define snd_pcm_hw_params_get_rate_max snd_pcm_hw_params_get_rate_max_orig
+#define snd_pcm_hw_params_test_rate snd_pcm_hw_params_test_rate_orig
+#define snd_pcm_hw_params_set_rate snd_pcm_hw_params_set_rate_orig
+#define snd_pcm_hw_params_set_rate_min snd_pcm_hw_params_set_rate_min_orig
+#define snd_pcm_hw_params_set_rate_max snd_pcm_hw_params_set_rate_max_orig
+#define snd_pcm_hw_params_set_rate_minmax snd_pcm_hw_params_set_rate_minmax_orig
+#define snd_pcm_hw_params_set_rate_near snd_pcm_hw_params_set_rate_near_orig
+#define snd_pcm_hw_params_set_rate_first snd_pcm_hw_params_set_rate_first_orig
+#define snd_pcm_hw_params_set_rate_last snd_pcm_hw_params_set_rate_last_orig
+#define snd_pcm_hw_params_set_rate_resample snd_pcm_hw_params_set_rate_resample_orig
+#define snd_pcm_hw_params_get_rate_resample snd_pcm_hw_params_get_rate_resample_orig
+#define snd_pcm_hw_params_set_export_buffer snd_pcm_hw_params_set_export_buffer_orig
+#define snd_pcm_hw_params_get_export_buffer snd_pcm_hw_params_get_export_buffer_orig
+#define snd_pcm_hw_params_set_period_wakeup snd_pcm_hw_params_set_period_wakeup_orig
+#define snd_pcm_hw_params_get_period_wakeup snd_pcm_hw_params_get_period_wakeup_orig
+#define snd_pcm_hw_params_get_period_time snd_pcm_hw_params_get_period_time_orig
+#define snd_pcm_hw_params_get_period_time_min snd_pcm_hw_params_get_period_time_min_orig
+#define snd_pcm_hw_params_get_period_time_max snd_pcm_hw_params_get_period_time_max_orig
+#define snd_pcm_hw_params_test_period_time snd_pcm_hw_params_test_period_time_orig
+#define snd_pcm_hw_params_set_period_time snd_pcm_hw_params_set_period_time_orig
+#define snd_pcm_hw_params_set_period_time_min snd_pcm_hw_params_set_period_time_min_orig
+#define snd_pcm_hw_params_set_period_time_max snd_pcm_hw_params_set_period_time_max_orig
+#define snd_pcm_hw_params_set_period_time_minmax snd_pcm_hw_params_set_period_time_minmax_orig
+#define snd_pcm_hw_params_set_period_time_near snd_pcm_hw_params_set_period_time_near_orig
+#define snd_pcm_hw_params_set_period_time_first snd_pcm_hw_params_set_period_time_first_orig
+#define snd_pcm_hw_params_set_period_time_last snd_pcm_hw_params_set_period_time_last_orig
+#define snd_pcm_hw_params_get_period_size snd_pcm_hw_params_get_period_size_orig
+#define snd_pcm_hw_params_get_period_size_min snd_pcm_hw_params_get_period_size_min_orig
+#define snd_pcm_hw_params_get_period_size_max snd_pcm_hw_params_get_period_size_max_orig
+#define snd_pcm_hw_params_test_period_size snd_pcm_hw_params_test_period_size_orig
+#define snd_pcm_hw_params_set_period_size snd_pcm_hw_params_set_period_size_orig
+#define snd_pcm_hw_params_set_period_size_min snd_pcm_hw_params_set_period_size_min_orig
+#define snd_pcm_hw_params_set_period_size_max snd_pcm_hw_params_set_period_size_max_orig
+#define snd_pcm_hw_params_set_period_size_minmax snd_pcm_hw_params_set_period_size_minmax_orig
+#define snd_pcm_hw_params_set_period_size_near snd_pcm_hw_params_set_period_size_near_orig
+#define snd_pcm_hw_params_set_period_size_first snd_pcm_hw_params_set_period_size_first_orig
+#define snd_pcm_hw_params_set_period_size_last snd_pcm_hw_params_set_period_size_last_orig
+#define snd_pcm_hw_params_set_period_size_integer snd_pcm_hw_params_set_period_size_integer_orig
+#define snd_pcm_hw_params_get_periods snd_pcm_hw_params_get_periods_orig
+#define snd_pcm_hw_params_get_periods_min snd_pcm_hw_params_get_periods_min_orig
+#define snd_pcm_hw_params_get_periods_max snd_pcm_hw_params_get_periods_max_orig
+#define snd_pcm_hw_params_test_periods snd_pcm_hw_params_test_periods_orig
+#define snd_pcm_hw_params_set_periods snd_pcm_hw_params_set_periods_orig
+#define snd_pcm_hw_params_set_periods_min snd_pcm_hw_params_set_periods_min_orig
+#define snd_pcm_hw_params_set_periods_max snd_pcm_hw_params_set_periods_max_orig
+#define snd_pcm_hw_params_set_periods_minmax snd_pcm_hw_params_set_periods_minmax_orig
+#define snd_pcm_hw_params_set_periods_near snd_pcm_hw_params_set_periods_near_orig
+#define snd_pcm_hw_params_set_periods_first snd_pcm_hw_params_set_periods_first_orig
+#define snd_pcm_hw_params_set_periods_last snd_pcm_hw_params_set_periods_last_orig
+#define snd_pcm_hw_params_set_periods_integer snd_pcm_hw_params_set_periods_integer_orig
+#define snd_pcm_hw_params_get_buffer_time snd_pcm_hw_params_get_buffer_time_orig
+#define snd_pcm_hw_params_get_buffer_time_min snd_pcm_hw_params_get_buffer_time_min_orig
+#define snd_pcm_hw_params_get_buffer_time_max snd_pcm_hw_params_get_buffer_time_max_orig
+#define snd_pcm_hw_params_test_buffer_time snd_pcm_hw_params_test_buffer_time_orig
+#define snd_pcm_hw_params_set_buffer_time snd_pcm_hw_params_set_buffer_time_orig
+#define snd_pcm_hw_params_set_buffer_time_min snd_pcm_hw_params_set_buffer_time_min_orig
+#define snd_pcm_hw_params_set_buffer_time_max snd_pcm_hw_params_set_buffer_time_max_orig
+#define snd_pcm_hw_params_set_buffer_time_minmax snd_pcm_hw_params_set_buffer_time_minmax_orig
+#define snd_pcm_hw_params_set_buffer_time_near snd_pcm_hw_params_set_buffer_time_near_orig
+#define snd_pcm_hw_params_set_buffer_time_first snd_pcm_hw_params_set_buffer_time_first_orig
+#define snd_pcm_hw_params_set_buffer_time_last snd_pcm_hw_params_set_buffer_time_last_orig
+#define snd_pcm_hw_params_get_buffer_size snd_pcm_hw_params_get_buffer_size_orig
+#define snd_pcm_hw_params_get_buffer_size_min snd_pcm_hw_params_get_buffer_size_min_orig
+#define snd_pcm_hw_params_get_buffer_size_max snd_pcm_hw_params_get_buffer_size_max_orig
+#define snd_pcm_hw_params_test_buffer_size snd_pcm_hw_params_test_buffer_size_orig
+#define snd_pcm_hw_params_set_buffer_size snd_pcm_hw_params_set_buffer_size_orig
+#define snd_pcm_hw_params_set_buffer_size_min snd_pcm_hw_params_set_buffer_size_min_orig
+#define snd_pcm_hw_params_set_buffer_size_max snd_pcm_hw_params_set_buffer_size_max_orig
+#define snd_pcm_hw_params_set_buffer_size_minmax snd_pcm_hw_params_set_buffer_size_minmax_orig
+#define snd_pcm_hw_params_set_buffer_size_near snd_pcm_hw_params_set_buffer_size_near_orig
+#define snd_pcm_hw_params_set_buffer_size_first snd_pcm_hw_params_set_buffer_size_first_orig
+#define snd_pcm_hw_params_set_buffer_size_last snd_pcm_hw_params_set_buffer_size_last_orig
+#define snd_pcm_hw_params_get_min_align snd_pcm_hw_params_get_min_align_orig
+#define snd_pcm_sw_params_sizeof snd_pcm_sw_params_sizeof_orig
+#define snd_pcm_sw_params_malloc snd_pcm_sw_params_malloc_orig
+#define snd_pcm_sw_params_free snd_pcm_sw_params_free_orig
+#define snd_pcm_sw_params_copy snd_pcm_sw_params_copy_orig
+#define snd_pcm_sw_params_get_boundary snd_pcm_sw_params_get_boundary_orig
+#define snd_pcm_sw_params_set_tstamp_mode snd_pcm_sw_params_set_tstamp_mode_orig
+#define snd_pcm_sw_params_get_tstamp_mode snd_pcm_sw_params_get_tstamp_mode_orig
+#define snd_pcm_sw_params_set_tstamp_type snd_pcm_sw_params_set_tstamp_type_orig
+#define snd_pcm_sw_params_get_tstamp_type snd_pcm_sw_params_get_tstamp_type_orig
+#define snd_pcm_sw_params_set_avail_min snd_pcm_sw_params_set_avail_min_orig
+#define snd_pcm_sw_params_get_avail_min snd_pcm_sw_params_get_avail_min_orig
+#define snd_pcm_sw_params_set_period_event snd_pcm_sw_params_set_period_event_orig
+#define snd_pcm_sw_params_get_period_event snd_pcm_sw_params_get_period_event_orig
+#define snd_pcm_sw_params_set_start_threshold snd_pcm_sw_params_set_start_threshold_orig
+#define snd_pcm_sw_params_get_start_threshold snd_pcm_sw_params_get_start_threshold_orig
+#define snd_pcm_sw_params_set_stop_threshold snd_pcm_sw_params_set_stop_threshold_orig
+#define snd_pcm_sw_params_get_stop_threshold snd_pcm_sw_params_get_stop_threshold_orig
+#define snd_pcm_sw_params_set_silence_threshold snd_pcm_sw_params_set_silence_threshold_orig
+#define snd_pcm_sw_params_get_silence_threshold snd_pcm_sw_params_get_silence_threshold_orig
+#define snd_pcm_sw_params_set_silence_size snd_pcm_sw_params_set_silence_size_orig
+#define snd_pcm_sw_params_get_silence_size snd_pcm_sw_params_get_silence_size_orig
+#define snd_pcm_access_mask_sizeof snd_pcm_access_mask_sizeof_orig
+#define snd_pcm_access_mask_malloc snd_pcm_access_mask_malloc_orig
+#define snd_pcm_access_mask_free snd_pcm_access_mask_free_orig
+#define snd_pcm_access_mask_copy snd_pcm_access_mask_copy_orig
+#define snd_pcm_access_mask_none snd_pcm_access_mask_none_orig
+#define snd_pcm_access_mask_any snd_pcm_access_mask_any_orig
+#define snd_pcm_access_mask_test snd_pcm_access_mask_test_orig
+#define snd_pcm_access_mask_empty snd_pcm_access_mask_empty_orig
+#define snd_pcm_access_mask_set snd_pcm_access_mask_set_orig
+#define snd_pcm_access_mask_reset snd_pcm_access_mask_reset_orig
+#define snd_pcm_format_mask_sizeof snd_pcm_format_mask_sizeof_orig
+#define snd_pcm_format_mask_malloc snd_pcm_format_mask_malloc_orig
+#define snd_pcm_format_mask_free snd_pcm_format_mask_free_orig
+#define snd_pcm_format_mask_copy snd_pcm_format_mask_copy_orig
+#define snd_pcm_format_mask_none snd_pcm_format_mask_none_orig
+#define snd_pcm_format_mask_any snd_pcm_format_mask_any_orig
+#define snd_pcm_format_mask_test snd_pcm_format_mask_test_orig
+#define snd_pcm_format_mask_empty snd_pcm_format_mask_empty_orig
+#define snd_pcm_format_mask_set snd_pcm_format_mask_set_orig
+#define snd_pcm_format_mask_reset snd_pcm_format_mask_reset_orig
+#define snd_pcm_subformat_mask_sizeof snd_pcm_subformat_mask_sizeof_orig
+#define snd_pcm_subformat_mask_malloc snd_pcm_subformat_mask_malloc_orig
+#define snd_pcm_subformat_mask_free snd_pcm_subformat_mask_free_orig
+#define snd_pcm_subformat_mask_copy snd_pcm_subformat_mask_copy_orig
+#define snd_pcm_subformat_mask_none snd_pcm_subformat_mask_none_orig
+#define snd_pcm_subformat_mask_any snd_pcm_subformat_mask_any_orig
+#define snd_pcm_subformat_mask_test snd_pcm_subformat_mask_test_orig
+#define snd_pcm_subformat_mask_empty snd_pcm_subformat_mask_empty_orig
+#define snd_pcm_subformat_mask_set snd_pcm_subformat_mask_set_orig
+#define snd_pcm_subformat_mask_reset snd_pcm_subformat_mask_reset_orig
+#define snd_pcm_status_sizeof snd_pcm_status_sizeof_orig
+#define snd_pcm_status_malloc snd_pcm_status_malloc_orig
+#define snd_pcm_status_free snd_pcm_status_free_orig
+#define snd_pcm_status_copy snd_pcm_status_copy_orig
+#define snd_pcm_status_get_state snd_pcm_status_get_state_orig
+#define snd_pcm_status_get_trigger_tstamp snd_pcm_status_get_trigger_tstamp_orig
+#define snd_pcm_status_get_trigger_htstamp snd_pcm_status_get_trigger_htstamp_orig
+#define snd_pcm_status_get_tstamp snd_pcm_status_get_tstamp_orig
+#define snd_pcm_status_get_htstamp snd_pcm_status_get_htstamp_orig
+#define snd_pcm_status_get_audio_htstamp snd_pcm_status_get_audio_htstamp_orig
+#define snd_pcm_status_get_driver_htstamp snd_pcm_status_get_driver_htstamp_orig
+#define snd_pcm_status_get_audio_htstamp_report snd_pcm_status_get_audio_htstamp_report_orig
+#define snd_pcm_status_set_audio_htstamp_config snd_pcm_status_set_audio_htstamp_config_orig
+#define snd_pcm_status_get_delay snd_pcm_status_get_delay_orig
+#define snd_pcm_status_get_avail snd_pcm_status_get_avail_orig
+#define snd_pcm_status_get_avail_max snd_pcm_status_get_avail_max_orig
+#define snd_pcm_status_get_overrange snd_pcm_status_get_overrange_orig
+#define snd_pcm_type_name snd_pcm_type_name_orig
+#define snd_pcm_stream_name snd_pcm_stream_name_orig
+#define snd_pcm_access_name snd_pcm_access_name_orig
+#define snd_pcm_format_name snd_pcm_format_name_orig
+#define snd_pcm_format_description snd_pcm_format_description_orig
+#define snd_pcm_subformat_name snd_pcm_subformat_name_orig
+#define snd_pcm_subformat_description snd_pcm_subformat_description_orig
+#define snd_pcm_format_value snd_pcm_format_value_orig
+#define snd_pcm_tstamp_mode_name snd_pcm_tstamp_mode_name_orig
+#define snd_pcm_state_name snd_pcm_state_name_orig
+#define snd_pcm_dump snd_pcm_dump_orig
+#define snd_pcm_dump_hw_setup snd_pcm_dump_hw_setup_orig
+#define snd_pcm_dump_sw_setup snd_pcm_dump_sw_setup_orig
+#define snd_pcm_dump_setup snd_pcm_dump_setup_orig
+#define snd_pcm_hw_params_dump snd_pcm_hw_params_dump_orig
+#define snd_pcm_sw_params_dump snd_pcm_sw_params_dump_orig
+#define snd_pcm_status_dump snd_pcm_status_dump_orig
+#define snd_pcm_mmap_begin snd_pcm_mmap_begin_orig
+#define snd_pcm_mmap_commit snd_pcm_mmap_commit_orig
+#define snd_pcm_mmap_writei snd_pcm_mmap_writei_orig
+#define snd_pcm_mmap_readi snd_pcm_mmap_readi_orig
+#define snd_pcm_mmap_writen snd_pcm_mmap_writen_orig
+#define snd_pcm_mmap_readn snd_pcm_mmap_readn_orig
+#define snd_pcm_format_signed snd_pcm_format_signed_orig
+#define snd_pcm_format_unsigned snd_pcm_format_unsigned_orig
+#define snd_pcm_format_linear snd_pcm_format_linear_orig
+#define snd_pcm_format_float snd_pcm_format_float_orig
+#define snd_pcm_format_little_endian snd_pcm_format_little_endian_orig
+#define snd_pcm_format_big_endian snd_pcm_format_big_endian_orig
+#define snd_pcm_format_cpu_endian snd_pcm_format_cpu_endian_orig
+#define snd_pcm_format_width snd_pcm_format_width_orig
+#define snd_pcm_format_physical_width snd_pcm_format_physical_width_orig
+#define snd_pcm_build_linear_format snd_pcm_build_linear_format_orig
+#define snd_pcm_format_size snd_pcm_format_size_orig
+#define snd_pcm_format_silence snd_pcm_format_silence_orig
+#define snd_pcm_format_silence_16 snd_pcm_format_silence_16_orig
+#define snd_pcm_format_silence_32 snd_pcm_format_silence_32_orig
+#define snd_pcm_format_silence_64 snd_pcm_format_silence_64_orig
+#define snd_pcm_format_set_silence snd_pcm_format_set_silence_orig
+#define snd_pcm_bytes_to_frames snd_pcm_bytes_to_frames_orig
+#define snd_pcm_frames_to_bytes snd_pcm_frames_to_bytes_orig
+#define snd_pcm_bytes_to_samples snd_pcm_bytes_to_samples_orig
+#define snd_pcm_samples_to_bytes snd_pcm_samples_to_bytes_orig
+#define snd_pcm_area_silence snd_pcm_area_silence_orig
+#define snd_pcm_areas_silence snd_pcm_areas_silence_orig
+#define snd_pcm_area_copy snd_pcm_area_copy_orig
+#define snd_pcm_areas_copy snd_pcm_areas_copy_orig
+#define snd_pcm_areas_copy_wrap snd_pcm_areas_copy_wrap_orig
+#define snd_pcm_hook_get_pcm snd_pcm_hook_get_pcm_orig
+#define snd_pcm_hook_get_private snd_pcm_hook_get_private_orig
+#define snd_pcm_hook_set_private snd_pcm_hook_set_private_orig
+#define snd_pcm_hook_add snd_pcm_hook_add_orig
+#define snd_pcm_hook_remove snd_pcm_hook_remove_orig
+#define snd_pcm_meter_get_bufsize snd_pcm_meter_get_bufsize_orig
+#define snd_pcm_meter_get_channels snd_pcm_meter_get_channels_orig
+#define snd_pcm_meter_get_rate snd_pcm_meter_get_rate_orig
+#define snd_pcm_meter_get_now snd_pcm_meter_get_now_orig
+#define snd_pcm_meter_get_boundary snd_pcm_meter_get_boundary_orig
+#define snd_pcm_meter_add_scope snd_pcm_meter_add_scope_orig
+#define snd_pcm_meter_search_scope snd_pcm_meter_search_scope_orig
+#define snd_pcm_scope_malloc snd_pcm_scope_malloc_orig
+#define snd_pcm_scope_set_ops snd_pcm_scope_set_ops_orig
+#define snd_pcm_scope_set_name snd_pcm_scope_set_name_orig
+#define snd_pcm_scope_get_name snd_pcm_scope_get_name_orig
+#define snd_pcm_scope_get_callback_private snd_pcm_scope_get_callback_private_orig
+#define snd_pcm_scope_set_callback_private snd_pcm_scope_set_callback_private_orig
+#define snd_pcm_scope_s16_open snd_pcm_scope_s16_open_orig
+#define snd_pcm_scope_s16_get_channel_buffer snd_pcm_scope_s16_get_channel_buffer_orig
+#define snd_spcm_init snd_spcm_init_orig
+#define snd_spcm_init_duplex snd_spcm_init_duplex_orig
+#define snd_spcm_init_get_params snd_spcm_init_get_params_orig
+#define snd_pcm_start_mode_name snd_pcm_start_mode_name_orig
+#define snd_pcm_xrun_mode_name snd_pcm_xrun_mode_name_orig
+#define snd_pcm_sw_params_set_start_mode snd_pcm_sw_params_set_start_mode_orig
+#define snd_pcm_sw_params_get_start_mode snd_pcm_sw_params_get_start_mode_orig
+#define snd_pcm_sw_params_set_xrun_mode snd_pcm_sw_params_set_xrun_mode_orig
+#define snd_pcm_sw_params_get_xrun_mode snd_pcm_sw_params_get_xrun_mode_orig
+#define snd_pcm_sw_params_set_xfer_align snd_pcm_sw_params_set_xfer_align_orig
+#define snd_pcm_sw_params_get_xfer_align snd_pcm_sw_params_get_xfer_align_orig
+#define snd_pcm_sw_params_set_sleep_min snd_pcm_sw_params_set_sleep_min_orig
+#define snd_pcm_sw_params_get_sleep_min snd_pcm_sw_params_get_sleep_min_orig
+#define snd_pcm_hw_params_get_tick_time snd_pcm_hw_params_get_tick_time_orig
+#define snd_pcm_hw_params_get_tick_time_min snd_pcm_hw_params_get_tick_time_min_orig
+#define snd_pcm_hw_params_get_tick_time_max snd_pcm_hw_params_get_tick_time_max_orig
+#define snd_pcm_hw_params_test_tick_time snd_pcm_hw_params_test_tick_time_orig
+#define snd_pcm_hw_params_set_tick_time snd_pcm_hw_params_set_tick_time_orig
+#define snd_pcm_hw_params_set_tick_time_min snd_pcm_hw_params_set_tick_time_min_orig
+#define snd_pcm_hw_params_set_tick_time_max snd_pcm_hw_params_set_tick_time_max_orig
+#define snd_pcm_hw_params_set_tick_time_minmax snd_pcm_hw_params_set_tick_time_minmax_orig
+#define snd_pcm_hw_params_set_tick_time_near snd_pcm_hw_params_set_tick_time_near_orig
+#define snd_pcm_hw_params_set_tick_time_first snd_pcm_hw_params_set_tick_time_first_orig
+#define snd_pcm_hw_params_set_tick_time_last snd_pcm_hw_params_set_tick_time_last_orig
+#define snd_rawmidi_open snd_rawmidi_open_orig
+#define snd_rawmidi_open_lconf snd_rawmidi_open_lconf_orig
+#define snd_rawmidi_close snd_rawmidi_close_orig
+#define snd_rawmidi_poll_descriptors_count snd_rawmidi_poll_descriptors_count_orig
+#define snd_rawmidi_poll_descriptors snd_rawmidi_poll_descriptors_orig
+#define snd_rawmidi_poll_descriptors_revents snd_rawmidi_poll_descriptors_revents_orig
+#define snd_rawmidi_nonblock snd_rawmidi_nonblock_orig
+#define snd_rawmidi_info_sizeof snd_rawmidi_info_sizeof_orig
+#define snd_rawmidi_info_malloc snd_rawmidi_info_malloc_orig
+#define snd_rawmidi_info_free snd_rawmidi_info_free_orig
+#define snd_rawmidi_info_copy snd_rawmidi_info_copy_orig
+#define snd_rawmidi_info_get_device snd_rawmidi_info_get_device_orig
+#define snd_rawmidi_info_get_subdevice snd_rawmidi_info_get_subdevice_orig
+#define snd_rawmidi_info_get_stream snd_rawmidi_info_get_stream_orig
+#define snd_rawmidi_info_get_card snd_rawmidi_info_get_card_orig
+#define snd_rawmidi_info_get_flags snd_rawmidi_info_get_flags_orig
+#define snd_rawmidi_info_get_id snd_rawmidi_info_get_id_orig
+#define snd_rawmidi_info_get_name snd_rawmidi_info_get_name_orig
+#define snd_rawmidi_info_get_subdevice_name snd_rawmidi_info_get_subdevice_name_orig
+#define snd_rawmidi_info_get_subdevices_count snd_rawmidi_info_get_subdevices_count_orig
+#define snd_rawmidi_info_get_subdevices_avail snd_rawmidi_info_get_subdevices_avail_orig
+#define snd_rawmidi_info_set_device snd_rawmidi_info_set_device_orig
+#define snd_rawmidi_info_set_subdevice snd_rawmidi_info_set_subdevice_orig
+#define snd_rawmidi_info_set_stream snd_rawmidi_info_set_stream_orig
+#define snd_rawmidi_info snd_rawmidi_info_orig
+#define snd_rawmidi_params_sizeof snd_rawmidi_params_sizeof_orig
+#define snd_rawmidi_params_malloc snd_rawmidi_params_malloc_orig
+#define snd_rawmidi_params_free snd_rawmidi_params_free_orig
+#define snd_rawmidi_params_copy snd_rawmidi_params_copy_orig
+#define snd_rawmidi_params_set_buffer_size snd_rawmidi_params_set_buffer_size_orig
+#define snd_rawmidi_params_get_buffer_size snd_rawmidi_params_get_buffer_size_orig
+#define snd_rawmidi_params_set_avail_min snd_rawmidi_params_set_avail_min_orig
+#define snd_rawmidi_params_get_avail_min snd_rawmidi_params_get_avail_min_orig
+#define snd_rawmidi_params_set_no_active_sensing snd_rawmidi_params_set_no_active_sensing_orig
+#define snd_rawmidi_params_get_no_active_sensing snd_rawmidi_params_get_no_active_sensing_orig
+#define snd_rawmidi_params snd_rawmidi_params_orig
+#define snd_rawmidi_params_current snd_rawmidi_params_current_orig
+#define snd_rawmidi_status_sizeof snd_rawmidi_status_sizeof_orig
+#define snd_rawmidi_status_malloc snd_rawmidi_status_malloc_orig
+#define snd_rawmidi_status_free snd_rawmidi_status_free_orig
+#define snd_rawmidi_status_copy snd_rawmidi_status_copy_orig
+#define snd_rawmidi_status_get_tstamp snd_rawmidi_status_get_tstamp_orig
+#define snd_rawmidi_status_get_avail snd_rawmidi_status_get_avail_orig
+#define snd_rawmidi_status_get_xruns snd_rawmidi_status_get_xruns_orig
+#define snd_rawmidi_status snd_rawmidi_status_orig
+#define snd_rawmidi_drain snd_rawmidi_drain_orig
+#define snd_rawmidi_drop snd_rawmidi_drop_orig
+#define snd_rawmidi_write snd_rawmidi_write_orig
+#define snd_rawmidi_read snd_rawmidi_read_orig
+#define snd_rawmidi_name snd_rawmidi_name_orig
+#define snd_rawmidi_type snd_rawmidi_type_orig
+#define snd_rawmidi_stream snd_rawmidi_stream_orig
+#define snd_timer_query_open snd_timer_query_open_orig
+#define snd_timer_query_open_lconf snd_timer_query_open_lconf_orig
+#define snd_timer_query_close snd_timer_query_close_orig
+#define snd_timer_query_next_device snd_timer_query_next_device_orig
+#define snd_timer_query_info snd_timer_query_info_orig
+#define snd_timer_query_params snd_timer_query_params_orig
+#define snd_timer_query_status snd_timer_query_status_orig
+#define snd_timer_open snd_timer_open_orig
+#define snd_timer_open_lconf snd_timer_open_lconf_orig
+#define snd_timer_close snd_timer_close_orig
+#define snd_async_add_timer_handler snd_async_add_timer_handler_orig
+#define snd_async_handler_get_timer snd_async_handler_get_timer_orig
+#define snd_timer_poll_descriptors_count snd_timer_poll_descriptors_count_orig
+#define snd_timer_poll_descriptors snd_timer_poll_descriptors_orig
+#define snd_timer_poll_descriptors_revents snd_timer_poll_descriptors_revents_orig
+#define snd_timer_info snd_timer_info_orig
+#define snd_timer_params snd_timer_params_orig
+#define snd_timer_status snd_timer_status_orig
+#define snd_timer_start snd_timer_start_orig
+#define snd_timer_stop snd_timer_stop_orig
+#define snd_timer_continue snd_timer_continue_orig
+#define snd_timer_read snd_timer_read_orig
+#define snd_timer_id_sizeof snd_timer_id_sizeof_orig
+#define snd_timer_id_malloc snd_timer_id_malloc_orig
+#define snd_timer_id_free snd_timer_id_free_orig
+#define snd_timer_id_copy snd_timer_id_copy_orig
+#define snd_timer_id_set_class snd_timer_id_set_class_orig
+#define snd_timer_id_get_class snd_timer_id_get_class_orig
+#define snd_timer_id_set_sclass snd_timer_id_set_sclass_orig
+#define snd_timer_id_get_sclass snd_timer_id_get_sclass_orig
+#define snd_timer_id_set_card snd_timer_id_set_card_orig
+#define snd_timer_id_get_card snd_timer_id_get_card_orig
+#define snd_timer_id_set_device snd_timer_id_set_device_orig
+#define snd_timer_id_get_device snd_timer_id_get_device_orig
+#define snd_timer_id_set_subdevice snd_timer_id_set_subdevice_orig
+#define snd_timer_id_get_subdevice snd_timer_id_get_subdevice_orig
+#define snd_timer_ginfo_sizeof snd_timer_ginfo_sizeof_orig
+#define snd_timer_ginfo_malloc snd_timer_ginfo_malloc_orig
+#define snd_timer_ginfo_free snd_timer_ginfo_free_orig
+#define snd_timer_ginfo_copy snd_timer_ginfo_copy_orig
+#define snd_timer_ginfo_set_tid snd_timer_ginfo_set_tid_orig
+#define snd_timer_ginfo_get_tid snd_timer_ginfo_get_tid_orig
+#define snd_timer_ginfo_get_flags snd_timer_ginfo_get_flags_orig
+#define snd_timer_ginfo_get_card snd_timer_ginfo_get_card_orig
+#define snd_timer_ginfo_get_id snd_timer_ginfo_get_id_orig
+#define snd_timer_ginfo_get_name snd_timer_ginfo_get_name_orig
+#define snd_timer_ginfo_get_resolution snd_timer_ginfo_get_resolution_orig
+#define snd_timer_ginfo_get_resolution_min snd_timer_ginfo_get_resolution_min_orig
+#define snd_timer_ginfo_get_resolution_max snd_timer_ginfo_get_resolution_max_orig
+#define snd_timer_ginfo_get_clients snd_timer_ginfo_get_clients_orig
+#define snd_timer_info_sizeof snd_timer_info_sizeof_orig
+#define snd_timer_info_malloc snd_timer_info_malloc_orig
+#define snd_timer_info_free snd_timer_info_free_orig
+#define snd_timer_info_copy snd_timer_info_copy_orig
+#define snd_timer_info_is_slave snd_timer_info_is_slave_orig
+#define snd_timer_info_get_card snd_timer_info_get_card_orig
+#define snd_timer_info_get_id snd_timer_info_get_id_orig
+#define snd_timer_info_get_name snd_timer_info_get_name_orig
+#define snd_timer_info_get_resolution snd_timer_info_get_resolution_orig
+#define snd_timer_params_sizeof snd_timer_params_sizeof_orig
+#define snd_timer_params_malloc snd_timer_params_malloc_orig
+#define snd_timer_params_free snd_timer_params_free_orig
+#define snd_timer_params_copy snd_timer_params_copy_orig
+#define snd_timer_params_set_auto_start snd_timer_params_set_auto_start_orig
+#define snd_timer_params_get_auto_start snd_timer_params_get_auto_start_orig
+#define snd_timer_params_set_exclusive snd_timer_params_set_exclusive_orig
+#define snd_timer_params_get_exclusive snd_timer_params_get_exclusive_orig
+#define snd_timer_params_set_early_event snd_timer_params_set_early_event_orig
+#define snd_timer_params_get_early_event snd_timer_params_get_early_event_orig
+#define snd_timer_params_set_ticks snd_timer_params_set_ticks_orig
+#define snd_timer_params_get_ticks snd_timer_params_get_ticks_orig
+#define snd_timer_params_set_queue_size snd_timer_params_set_queue_size_orig
+#define snd_timer_params_get_queue_size snd_timer_params_get_queue_size_orig
+#define snd_timer_params_set_filter snd_timer_params_set_filter_orig
+#define snd_timer_params_get_filter snd_timer_params_get_filter_orig
+#define snd_timer_status_sizeof snd_timer_status_sizeof_orig
+#define snd_timer_status_malloc snd_timer_status_malloc_orig
+#define snd_timer_status_free snd_timer_status_free_orig
+#define snd_timer_status_copy snd_timer_status_copy_orig
+#define snd_timer_status_get_timestamp snd_timer_status_get_timestamp_orig
+#define snd_timer_status_get_resolution snd_timer_status_get_resolution_orig
+#define snd_timer_status_get_lost snd_timer_status_get_lost_orig
+#define snd_timer_status_get_overrun snd_timer_status_get_overrun_orig
+#define snd_timer_status_get_queue snd_timer_status_get_queue_orig
+#define snd_timer_info_get_ticks snd_timer_info_get_ticks_orig
+#define snd_hwdep_open snd_hwdep_open_orig
+#define snd_hwdep_close snd_hwdep_close_orig
+#define snd_hwdep_poll_descriptors snd_hwdep_poll_descriptors_orig
+#define snd_hwdep_poll_descriptors_count snd_hwdep_poll_descriptors_count_orig
+#define snd_hwdep_poll_descriptors_revents snd_hwdep_poll_descriptors_revents_orig
+#define snd_hwdep_nonblock snd_hwdep_nonblock_orig
+#define snd_hwdep_info snd_hwdep_info_orig
+#define snd_hwdep_dsp_status snd_hwdep_dsp_status_orig
+#define snd_hwdep_dsp_load snd_hwdep_dsp_load_orig
+#define snd_hwdep_ioctl snd_hwdep_ioctl_orig
+#define snd_hwdep_write snd_hwdep_write_orig
+#define snd_hwdep_read snd_hwdep_read_orig
+#define snd_hwdep_info_sizeof snd_hwdep_info_sizeof_orig
+#define snd_hwdep_info_malloc snd_hwdep_info_malloc_orig
+#define snd_hwdep_info_free snd_hwdep_info_free_orig
+#define snd_hwdep_info_copy snd_hwdep_info_copy_orig
+#define snd_hwdep_info_get_device snd_hwdep_info_get_device_orig
+#define snd_hwdep_info_get_card snd_hwdep_info_get_card_orig
+#define snd_hwdep_info_get_id snd_hwdep_info_get_id_orig
+#define snd_hwdep_info_get_name snd_hwdep_info_get_name_orig
+#define snd_hwdep_info_get_iface snd_hwdep_info_get_iface_orig
+#define snd_hwdep_info_set_device snd_hwdep_info_set_device_orig
+#define snd_hwdep_dsp_status_sizeof snd_hwdep_dsp_status_sizeof_orig
+#define snd_hwdep_dsp_status_malloc snd_hwdep_dsp_status_malloc_orig
+#define snd_hwdep_dsp_status_free snd_hwdep_dsp_status_free_orig
+#define snd_hwdep_dsp_status_copy snd_hwdep_dsp_status_copy_orig
+#define snd_hwdep_dsp_status_get_version snd_hwdep_dsp_status_get_version_orig
+#define snd_hwdep_dsp_status_get_id snd_hwdep_dsp_status_get_id_orig
+#define snd_hwdep_dsp_status_get_num_dsps snd_hwdep_dsp_status_get_num_dsps_orig
+#define snd_hwdep_dsp_status_get_dsp_loaded snd_hwdep_dsp_status_get_dsp_loaded_orig
+#define snd_hwdep_dsp_status_get_chip_ready snd_hwdep_dsp_status_get_chip_ready_orig
+#define snd_hwdep_dsp_image_sizeof snd_hwdep_dsp_image_sizeof_orig
+#define snd_hwdep_dsp_image_malloc snd_hwdep_dsp_image_malloc_orig
+#define snd_hwdep_dsp_image_free snd_hwdep_dsp_image_free_orig
+#define snd_hwdep_dsp_image_copy snd_hwdep_dsp_image_copy_orig
+#define snd_hwdep_dsp_image_get_index snd_hwdep_dsp_image_get_index_orig
+#define snd_hwdep_dsp_image_get_name snd_hwdep_dsp_image_get_name_orig
+#define snd_hwdep_dsp_image_get_image snd_hwdep_dsp_image_get_image_orig
+#define snd_hwdep_dsp_image_get_length snd_hwdep_dsp_image_get_length_orig
+#define snd_hwdep_dsp_image_set_index snd_hwdep_dsp_image_set_index_orig
+#define snd_hwdep_dsp_image_set_name snd_hwdep_dsp_image_set_name_orig
+#define snd_hwdep_dsp_image_set_image snd_hwdep_dsp_image_set_image_orig
+#define snd_hwdep_dsp_image_set_length snd_hwdep_dsp_image_set_length_orig
+#define snd_card_load snd_card_load_orig
+#define snd_card_next snd_card_next_orig
+#define snd_card_get_index snd_card_get_index_orig
+#define snd_card_get_name snd_card_get_name_orig
+#define snd_card_get_longname snd_card_get_longname_orig
+#define snd_device_name_hint snd_device_name_hint_orig
+#define snd_device_name_free_hint snd_device_name_free_hint_orig
+#define snd_device_name_get_hint snd_device_name_get_hint_orig
+#define snd_ctl_open snd_ctl_open_orig
+#define snd_ctl_open_lconf snd_ctl_open_lconf_orig
+#define snd_ctl_open_fallback snd_ctl_open_fallback_orig
+#define snd_ctl_close snd_ctl_close_orig
+#define snd_ctl_nonblock snd_ctl_nonblock_orig
+#define snd_async_add_ctl_handler snd_async_add_ctl_handler_orig
+#define snd_async_handler_get_ctl snd_async_handler_get_ctl_orig
+#define snd_ctl_poll_descriptors_count snd_ctl_poll_descriptors_count_orig
+#define snd_ctl_poll_descriptors snd_ctl_poll_descriptors_orig
+#define snd_ctl_poll_descriptors_revents snd_ctl_poll_descriptors_revents_orig
+#define snd_ctl_subscribe_events snd_ctl_subscribe_events_orig
+#define snd_ctl_card_info snd_ctl_card_info_orig
+#define snd_ctl_elem_list snd_ctl_elem_list_orig
+#define snd_ctl_elem_info snd_ctl_elem_info_orig
+#define snd_ctl_elem_read snd_ctl_elem_read_orig
+#define snd_ctl_elem_write snd_ctl_elem_write_orig
+#define snd_ctl_elem_lock snd_ctl_elem_lock_orig
+#define snd_ctl_elem_unlock snd_ctl_elem_unlock_orig
+#define snd_ctl_elem_tlv_read snd_ctl_elem_tlv_read_orig
+#define snd_ctl_elem_tlv_write snd_ctl_elem_tlv_write_orig
+#define snd_ctl_elem_tlv_command snd_ctl_elem_tlv_command_orig
+#define snd_ctl_hwdep_next_device snd_ctl_hwdep_next_device_orig
+#define snd_ctl_hwdep_info snd_ctl_hwdep_info_orig
+#define snd_ctl_pcm_next_device snd_ctl_pcm_next_device_orig
+#define snd_ctl_pcm_info snd_ctl_pcm_info_orig
+#define snd_ctl_pcm_prefer_subdevice snd_ctl_pcm_prefer_subdevice_orig
+#define snd_ctl_rawmidi_next_device snd_ctl_rawmidi_next_device_orig
+#define snd_ctl_rawmidi_info snd_ctl_rawmidi_info_orig
+#define snd_ctl_rawmidi_prefer_subdevice snd_ctl_rawmidi_prefer_subdevice_orig
+#define snd_ctl_set_power_state snd_ctl_set_power_state_orig
+#define snd_ctl_get_power_state snd_ctl_get_power_state_orig
+#define snd_ctl_read snd_ctl_read_orig
+#define snd_ctl_wait snd_ctl_wait_orig
+#define snd_ctl_name snd_ctl_name_orig
+#define snd_ctl_type snd_ctl_type_orig
+#define snd_ctl_elem_type_name snd_ctl_elem_type_name_orig
+#define snd_ctl_elem_iface_name snd_ctl_elem_iface_name_orig
+#define snd_ctl_event_type_name snd_ctl_event_type_name_orig
+#define snd_ctl_event_elem_get_mask snd_ctl_event_elem_get_mask_orig
+#define snd_ctl_event_elem_get_numid snd_ctl_event_elem_get_numid_orig
+#define snd_ctl_event_elem_get_id snd_ctl_event_elem_get_id_orig
+#define snd_ctl_event_elem_get_interface snd_ctl_event_elem_get_interface_orig
+#define snd_ctl_event_elem_get_device snd_ctl_event_elem_get_device_orig
+#define snd_ctl_event_elem_get_subdevice snd_ctl_event_elem_get_subdevice_orig
+#define snd_ctl_event_elem_get_name snd_ctl_event_elem_get_name_orig
+#define snd_ctl_event_elem_get_index snd_ctl_event_elem_get_index_orig
+#define snd_ctl_elem_list_alloc_space snd_ctl_elem_list_alloc_space_orig
+#define snd_ctl_elem_list_free_space snd_ctl_elem_list_free_space_orig
+#define snd_ctl_ascii_elem_id_get snd_ctl_ascii_elem_id_get_orig
+#define snd_ctl_ascii_elem_id_parse snd_ctl_ascii_elem_id_parse_orig
+#define snd_ctl_ascii_value_parse snd_ctl_ascii_value_parse_orig
+#define snd_ctl_elem_id_sizeof snd_ctl_elem_id_sizeof_orig
+#define snd_ctl_elem_id_malloc snd_ctl_elem_id_malloc_orig
+#define snd_ctl_elem_id_free snd_ctl_elem_id_free_orig
+#define snd_ctl_elem_id_clear snd_ctl_elem_id_clear_orig
+#define snd_ctl_elem_id_copy snd_ctl_elem_id_copy_orig
+#define snd_ctl_elem_id_get_numid snd_ctl_elem_id_get_numid_orig
+#define snd_ctl_elem_id_get_interface snd_ctl_elem_id_get_interface_orig
+#define snd_ctl_elem_id_get_device snd_ctl_elem_id_get_device_orig
+#define snd_ctl_elem_id_get_subdevice snd_ctl_elem_id_get_subdevice_orig
+#define snd_ctl_elem_id_get_name snd_ctl_elem_id_get_name_orig
+#define snd_ctl_elem_id_get_index snd_ctl_elem_id_get_index_orig
+#define snd_ctl_elem_id_set_numid snd_ctl_elem_id_set_numid_orig
+#define snd_ctl_elem_id_set_interface snd_ctl_elem_id_set_interface_orig
+#define snd_ctl_elem_id_set_device snd_ctl_elem_id_set_device_orig
+#define snd_ctl_elem_id_set_subdevice snd_ctl_elem_id_set_subdevice_orig
+#define snd_ctl_elem_id_set_name snd_ctl_elem_id_set_name_orig
+#define snd_ctl_elem_id_set_index snd_ctl_elem_id_set_index_orig
+#define snd_ctl_card_info_sizeof snd_ctl_card_info_sizeof_orig
+#define snd_ctl_card_info_malloc snd_ctl_card_info_malloc_orig
+#define snd_ctl_card_info_free snd_ctl_card_info_free_orig
+#define snd_ctl_card_info_clear snd_ctl_card_info_clear_orig
+#define snd_ctl_card_info_copy snd_ctl_card_info_copy_orig
+#define snd_ctl_card_info_get_card snd_ctl_card_info_get_card_orig
+#define snd_ctl_card_info_get_id snd_ctl_card_info_get_id_orig
+#define snd_ctl_card_info_get_driver snd_ctl_card_info_get_driver_orig
+#define snd_ctl_card_info_get_name snd_ctl_card_info_get_name_orig
+#define snd_ctl_card_info_get_longname snd_ctl_card_info_get_longname_orig
+#define snd_ctl_card_info_get_mixername snd_ctl_card_info_get_mixername_orig
+#define snd_ctl_card_info_get_components snd_ctl_card_info_get_components_orig
+#define snd_ctl_event_sizeof snd_ctl_event_sizeof_orig
+#define snd_ctl_event_malloc snd_ctl_event_malloc_orig
+#define snd_ctl_event_free snd_ctl_event_free_orig
+#define snd_ctl_event_clear snd_ctl_event_clear_orig
+#define snd_ctl_event_copy snd_ctl_event_copy_orig
+#define snd_ctl_event_get_type snd_ctl_event_get_type_orig
+#define snd_ctl_elem_list_sizeof snd_ctl_elem_list_sizeof_orig
+#define snd_ctl_elem_list_malloc snd_ctl_elem_list_malloc_orig
+#define snd_ctl_elem_list_free snd_ctl_elem_list_free_orig
+#define snd_ctl_elem_list_clear snd_ctl_elem_list_clear_orig
+#define snd_ctl_elem_list_copy snd_ctl_elem_list_copy_orig
+#define snd_ctl_elem_list_set_offset snd_ctl_elem_list_set_offset_orig
+#define snd_ctl_elem_list_get_used snd_ctl_elem_list_get_used_orig
+#define snd_ctl_elem_list_get_count snd_ctl_elem_list_get_count_orig
+#define snd_ctl_elem_list_get_id snd_ctl_elem_list_get_id_orig
+#define snd_ctl_elem_list_get_numid snd_ctl_elem_list_get_numid_orig
+#define snd_ctl_elem_list_get_interface snd_ctl_elem_list_get_interface_orig
+#define snd_ctl_elem_list_get_device snd_ctl_elem_list_get_device_orig
+#define snd_ctl_elem_list_get_subdevice snd_ctl_elem_list_get_subdevice_orig
+#define snd_ctl_elem_list_get_name snd_ctl_elem_list_get_name_orig
+#define snd_ctl_elem_list_get_index snd_ctl_elem_list_get_index_orig
+#define snd_ctl_elem_info_sizeof snd_ctl_elem_info_sizeof_orig
+#define snd_ctl_elem_info_malloc snd_ctl_elem_info_malloc_orig
+#define snd_ctl_elem_info_free snd_ctl_elem_info_free_orig
+#define snd_ctl_elem_info_clear snd_ctl_elem_info_clear_orig
+#define snd_ctl_elem_info_copy snd_ctl_elem_info_copy_orig
+#define snd_ctl_elem_info_get_type snd_ctl_elem_info_get_type_orig
+#define snd_ctl_elem_info_is_readable snd_ctl_elem_info_is_readable_orig
+#define snd_ctl_elem_info_is_writable snd_ctl_elem_info_is_writable_orig
+#define snd_ctl_elem_info_is_volatile snd_ctl_elem_info_is_volatile_orig
+#define snd_ctl_elem_info_is_inactive snd_ctl_elem_info_is_inactive_orig
+#define snd_ctl_elem_info_is_locked snd_ctl_elem_info_is_locked_orig
+#define snd_ctl_elem_info_is_tlv_readable snd_ctl_elem_info_is_tlv_readable_orig
+#define snd_ctl_elem_info_is_tlv_writable snd_ctl_elem_info_is_tlv_writable_orig
+#define snd_ctl_elem_info_is_tlv_commandable snd_ctl_elem_info_is_tlv_commandable_orig
+#define snd_ctl_elem_info_is_owner snd_ctl_elem_info_is_owner_orig
+#define snd_ctl_elem_info_is_user snd_ctl_elem_info_is_user_orig
+#define snd_ctl_elem_info_get_owner snd_ctl_elem_info_get_owner_orig
+#define snd_ctl_elem_info_get_count snd_ctl_elem_info_get_count_orig
+#define snd_ctl_elem_info_get_min snd_ctl_elem_info_get_min_orig
+#define snd_ctl_elem_info_get_max snd_ctl_elem_info_get_max_orig
+#define snd_ctl_elem_info_get_step snd_ctl_elem_info_get_step_orig
+#define snd_ctl_elem_info_get_min64 snd_ctl_elem_info_get_min64_orig
+#define snd_ctl_elem_info_get_max64 snd_ctl_elem_info_get_max64_orig
+#define snd_ctl_elem_info_get_step64 snd_ctl_elem_info_get_step64_orig
+#define snd_ctl_elem_info_get_items snd_ctl_elem_info_get_items_orig
+#define snd_ctl_elem_info_set_item snd_ctl_elem_info_set_item_orig
+#define snd_ctl_elem_info_get_item_name snd_ctl_elem_info_get_item_name_orig
+#define snd_ctl_elem_info_get_dimensions snd_ctl_elem_info_get_dimensions_orig
+#define snd_ctl_elem_info_get_dimension snd_ctl_elem_info_get_dimension_orig
+#define snd_ctl_elem_info_set_dimension snd_ctl_elem_info_set_dimension_orig
+#define snd_ctl_elem_info_get_id snd_ctl_elem_info_get_id_orig
+#define snd_ctl_elem_info_get_numid snd_ctl_elem_info_get_numid_orig
+#define snd_ctl_elem_info_get_interface snd_ctl_elem_info_get_interface_orig
+#define snd_ctl_elem_info_get_device snd_ctl_elem_info_get_device_orig
+#define snd_ctl_elem_info_get_subdevice snd_ctl_elem_info_get_subdevice_orig
+#define snd_ctl_elem_info_get_name snd_ctl_elem_info_get_name_orig
+#define snd_ctl_elem_info_get_index snd_ctl_elem_info_get_index_orig
+#define snd_ctl_elem_info_set_id snd_ctl_elem_info_set_id_orig
+#define snd_ctl_elem_info_set_numid snd_ctl_elem_info_set_numid_orig
+#define snd_ctl_elem_info_set_interface snd_ctl_elem_info_set_interface_orig
+#define snd_ctl_elem_info_set_device snd_ctl_elem_info_set_device_orig
+#define snd_ctl_elem_info_set_subdevice snd_ctl_elem_info_set_subdevice_orig
+#define snd_ctl_elem_info_set_name snd_ctl_elem_info_set_name_orig
+#define snd_ctl_elem_info_set_index snd_ctl_elem_info_set_index_orig
+#define snd_ctl_add_integer_elem_set snd_ctl_add_integer_elem_set_orig
+#define snd_ctl_add_integer64_elem_set snd_ctl_add_integer64_elem_set_orig
+#define snd_ctl_add_boolean_elem_set snd_ctl_add_boolean_elem_set_orig
+#define snd_ctl_add_enumerated_elem_set snd_ctl_add_enumerated_elem_set_orig
+#define snd_ctl_add_bytes_elem_set snd_ctl_add_bytes_elem_set_orig
+#define snd_ctl_elem_add_integer snd_ctl_elem_add_integer_orig
+#define snd_ctl_elem_add_integer64 snd_ctl_elem_add_integer64_orig
+#define snd_ctl_elem_add_boolean snd_ctl_elem_add_boolean_orig
+#define snd_ctl_elem_add_enumerated snd_ctl_elem_add_enumerated_orig
+#define snd_ctl_elem_add_iec958 snd_ctl_elem_add_iec958_orig
+#define snd_ctl_elem_remove snd_ctl_elem_remove_orig
+#define snd_ctl_elem_value_sizeof snd_ctl_elem_value_sizeof_orig
+#define snd_ctl_elem_value_malloc snd_ctl_elem_value_malloc_orig
+#define snd_ctl_elem_value_free snd_ctl_elem_value_free_orig
+#define snd_ctl_elem_value_clear snd_ctl_elem_value_clear_orig
+#define snd_ctl_elem_value_copy snd_ctl_elem_value_copy_orig
+#define snd_ctl_elem_value_compare snd_ctl_elem_value_compare_orig
+#define snd_ctl_elem_value_get_id snd_ctl_elem_value_get_id_orig
+#define snd_ctl_elem_value_get_numid snd_ctl_elem_value_get_numid_orig
+#define snd_ctl_elem_value_get_interface snd_ctl_elem_value_get_interface_orig
+#define snd_ctl_elem_value_get_device snd_ctl_elem_value_get_device_orig
+#define snd_ctl_elem_value_get_subdevice snd_ctl_elem_value_get_subdevice_orig
+#define snd_ctl_elem_value_get_name snd_ctl_elem_value_get_name_orig
+#define snd_ctl_elem_value_get_index snd_ctl_elem_value_get_index_orig
+#define snd_ctl_elem_value_set_id snd_ctl_elem_value_set_id_orig
+#define snd_ctl_elem_value_set_numid snd_ctl_elem_value_set_numid_orig
+#define snd_ctl_elem_value_set_interface snd_ctl_elem_value_set_interface_orig
+#define snd_ctl_elem_value_set_device snd_ctl_elem_value_set_device_orig
+#define snd_ctl_elem_value_set_subdevice snd_ctl_elem_value_set_subdevice_orig
+#define snd_ctl_elem_value_set_name snd_ctl_elem_value_set_name_orig
+#define snd_ctl_elem_value_set_index snd_ctl_elem_value_set_index_orig
+#define snd_ctl_elem_value_get_boolean snd_ctl_elem_value_get_boolean_orig
+#define snd_ctl_elem_value_get_integer snd_ctl_elem_value_get_integer_orig
+#define snd_ctl_elem_value_get_integer64 snd_ctl_elem_value_get_integer64_orig
+#define snd_ctl_elem_value_get_enumerated snd_ctl_elem_value_get_enumerated_orig
+#define snd_ctl_elem_value_get_byte snd_ctl_elem_value_get_byte_orig
+#define snd_ctl_elem_value_set_boolean snd_ctl_elem_value_set_boolean_orig
+#define snd_ctl_elem_value_set_integer snd_ctl_elem_value_set_integer_orig
+#define snd_ctl_elem_value_set_integer64 snd_ctl_elem_value_set_integer64_orig
+#define snd_ctl_elem_value_set_enumerated snd_ctl_elem_value_set_enumerated_orig
+#define snd_ctl_elem_value_set_byte snd_ctl_elem_value_set_byte_orig
+#define snd_ctl_elem_set_bytes snd_ctl_elem_set_bytes_orig
+#define snd_ctl_elem_value_get_bytes snd_ctl_elem_value_get_bytes_orig
+#define snd_ctl_elem_value_get_iec958 snd_ctl_elem_value_get_iec958_orig
+#define snd_ctl_elem_value_set_iec958 snd_ctl_elem_value_set_iec958_orig
+#define snd_tlv_parse_dB_info snd_tlv_parse_dB_info_orig
+#define snd_tlv_get_dB_range snd_tlv_get_dB_range_orig
+#define snd_tlv_convert_to_dB snd_tlv_convert_to_dB_orig
+#define snd_tlv_convert_from_dB snd_tlv_convert_from_dB_orig
+#define snd_ctl_get_dB_range snd_ctl_get_dB_range_orig
+#define snd_ctl_convert_to_dB snd_ctl_convert_to_dB_orig
+#define snd_ctl_convert_from_dB snd_ctl_convert_from_dB_orig
+#define snd_hctl_compare_fast snd_hctl_compare_fast_orig
+#define snd_hctl_open snd_hctl_open_orig
+#define snd_hctl_open_ctl snd_hctl_open_ctl_orig
+#define snd_hctl_close snd_hctl_close_orig
+#define snd_hctl_nonblock snd_hctl_nonblock_orig
+#define snd_hctl_poll_descriptors_count snd_hctl_poll_descriptors_count_orig
+#define snd_hctl_poll_descriptors snd_hctl_poll_descriptors_orig
+#define snd_hctl_poll_descriptors_revents snd_hctl_poll_descriptors_revents_orig
+#define snd_hctl_get_count snd_hctl_get_count_orig
+#define snd_hctl_set_compare snd_hctl_set_compare_orig
+#define snd_hctl_first_elem snd_hctl_first_elem_orig
+#define snd_hctl_last_elem snd_hctl_last_elem_orig
+#define snd_hctl_find_elem snd_hctl_find_elem_orig
+#define snd_hctl_set_callback snd_hctl_set_callback_orig
+#define snd_hctl_set_callback_private snd_hctl_set_callback_private_orig
+#define snd_hctl_get_callback_private snd_hctl_get_callback_private_orig
+#define snd_hctl_load snd_hctl_load_orig
+#define snd_hctl_free snd_hctl_free_orig
+#define snd_hctl_handle_events snd_hctl_handle_events_orig
+#define snd_hctl_name snd_hctl_name_orig
+#define snd_hctl_wait snd_hctl_wait_orig
+#define snd_hctl_ctl snd_hctl_ctl_orig
+#define snd_hctl_elem_next snd_hctl_elem_next_orig
+#define snd_hctl_elem_prev snd_hctl_elem_prev_orig
+#define snd_hctl_elem_info snd_hctl_elem_info_orig
+#define snd_hctl_elem_read snd_hctl_elem_read_orig
+#define snd_hctl_elem_write snd_hctl_elem_write_orig
+#define snd_hctl_elem_tlv_read snd_hctl_elem_tlv_read_orig
+#define snd_hctl_elem_tlv_write snd_hctl_elem_tlv_write_orig
+#define snd_hctl_elem_tlv_command snd_hctl_elem_tlv_command_orig
+#define snd_hctl_elem_get_hctl snd_hctl_elem_get_hctl_orig
+#define snd_hctl_elem_get_id snd_hctl_elem_get_id_orig
+#define snd_hctl_elem_get_numid snd_hctl_elem_get_numid_orig
+#define snd_hctl_elem_get_interface snd_hctl_elem_get_interface_orig
+#define snd_hctl_elem_get_device snd_hctl_elem_get_device_orig
+#define snd_hctl_elem_get_subdevice snd_hctl_elem_get_subdevice_orig
+#define snd_hctl_elem_get_name snd_hctl_elem_get_name_orig
+#define snd_hctl_elem_get_index snd_hctl_elem_get_index_orig
+#define snd_hctl_elem_set_callback snd_hctl_elem_set_callback_orig
+#define snd_hctl_elem_get_callback_private snd_hctl_elem_get_callback_private_orig
+#define snd_hctl_elem_set_callback_private snd_hctl_elem_set_callback_private_orig
+#define snd_sctl_build snd_sctl_build_orig
+#define snd_sctl_free snd_sctl_free_orig
+#define snd_sctl_install snd_sctl_install_orig
+#define snd_sctl_remove snd_sctl_remove_orig
+#define snd_mixer_open snd_mixer_open_orig
+#define snd_mixer_close snd_mixer_close_orig
+#define snd_mixer_first_elem snd_mixer_first_elem_orig
+#define snd_mixer_last_elem snd_mixer_last_elem_orig
+#define snd_mixer_handle_events snd_mixer_handle_events_orig
+#define snd_mixer_attach snd_mixer_attach_orig
+#define snd_mixer_attach_hctl snd_mixer_attach_hctl_orig
+#define snd_mixer_detach snd_mixer_detach_orig
+#define snd_mixer_detach_hctl snd_mixer_detach_hctl_orig
+#define snd_mixer_get_hctl snd_mixer_get_hctl_orig
+#define snd_mixer_poll_descriptors_count snd_mixer_poll_descriptors_count_orig
+#define snd_mixer_poll_descriptors snd_mixer_poll_descriptors_orig
+#define snd_mixer_poll_descriptors_revents snd_mixer_poll_descriptors_revents_orig
+#define snd_mixer_load snd_mixer_load_orig
+#define snd_mixer_free snd_mixer_free_orig
+#define snd_mixer_wait snd_mixer_wait_orig
+#define snd_mixer_set_compare snd_mixer_set_compare_orig
+#define snd_mixer_set_callback snd_mixer_set_callback_orig
+#define snd_mixer_get_callback_private snd_mixer_get_callback_private_orig
+#define snd_mixer_set_callback_private snd_mixer_set_callback_private_orig
+#define snd_mixer_get_count snd_mixer_get_count_orig
+#define snd_mixer_class_unregister snd_mixer_class_unregister_orig
+#define snd_mixer_elem_next snd_mixer_elem_next_orig
+#define snd_mixer_elem_prev snd_mixer_elem_prev_orig
+#define snd_mixer_elem_set_callback snd_mixer_elem_set_callback_orig
+#define snd_mixer_elem_get_callback_private snd_mixer_elem_get_callback_private_orig
+#define snd_mixer_elem_set_callback_private snd_mixer_elem_set_callback_private_orig
+#define snd_mixer_elem_get_type snd_mixer_elem_get_type_orig
+#define snd_mixer_class_register snd_mixer_class_register_orig
+#define snd_mixer_elem_new snd_mixer_elem_new_orig
+#define snd_mixer_elem_add snd_mixer_elem_add_orig
+#define snd_mixer_elem_remove snd_mixer_elem_remove_orig
+#define snd_mixer_elem_free snd_mixer_elem_free_orig
+#define snd_mixer_elem_info snd_mixer_elem_info_orig
+#define snd_mixer_elem_value snd_mixer_elem_value_orig
+#define snd_mixer_elem_attach snd_mixer_elem_attach_orig
+#define snd_mixer_elem_detach snd_mixer_elem_detach_orig
+#define snd_mixer_elem_empty snd_mixer_elem_empty_orig
+#define snd_mixer_elem_get_private snd_mixer_elem_get_private_orig
+#define snd_mixer_class_sizeof snd_mixer_class_sizeof_orig
+#define snd_mixer_class_malloc snd_mixer_class_malloc_orig
+#define snd_mixer_class_free snd_mixer_class_free_orig
+#define snd_mixer_class_copy snd_mixer_class_copy_orig
+#define snd_mixer_class_get_mixer snd_mixer_class_get_mixer_orig
+#define snd_mixer_class_get_event snd_mixer_class_get_event_orig
+#define snd_mixer_class_get_private snd_mixer_class_get_private_orig
+#define snd_mixer_class_get_compare snd_mixer_class_get_compare_orig
+#define snd_mixer_class_set_event snd_mixer_class_set_event_orig
+#define snd_mixer_class_set_private snd_mixer_class_set_private_orig
+#define snd_mixer_class_set_private_free snd_mixer_class_set_private_free_orig
+#define snd_mixer_class_set_compare snd_mixer_class_set_compare_orig
+#define snd_mixer_selem_channel_name snd_mixer_selem_channel_name_orig
+#define snd_mixer_selem_register snd_mixer_selem_register_orig
+#define snd_mixer_selem_get_id snd_mixer_selem_get_id_orig
+#define snd_mixer_selem_get_name snd_mixer_selem_get_name_orig
+#define snd_mixer_selem_get_index snd_mixer_selem_get_index_orig
+#define snd_mixer_find_selem snd_mixer_find_selem_orig
+#define snd_mixer_selem_is_active snd_mixer_selem_is_active_orig
+#define snd_mixer_selem_is_playback_mono snd_mixer_selem_is_playback_mono_orig
+#define snd_mixer_selem_has_playback_channel snd_mixer_selem_has_playback_channel_orig
+#define snd_mixer_selem_is_capture_mono snd_mixer_selem_is_capture_mono_orig
+#define snd_mixer_selem_has_capture_channel snd_mixer_selem_has_capture_channel_orig
+#define snd_mixer_selem_get_capture_group snd_mixer_selem_get_capture_group_orig
+#define snd_mixer_selem_has_common_volume snd_mixer_selem_has_common_volume_orig
+#define snd_mixer_selem_has_playback_volume snd_mixer_selem_has_playback_volume_orig
+#define snd_mixer_selem_has_playback_volume_joined snd_mixer_selem_has_playback_volume_joined_orig
+#define snd_mixer_selem_has_capture_volume snd_mixer_selem_has_capture_volume_orig
+#define snd_mixer_selem_has_capture_volume_joined snd_mixer_selem_has_capture_volume_joined_orig
+#define snd_mixer_selem_has_common_switch snd_mixer_selem_has_common_switch_orig
+#define snd_mixer_selem_has_playback_switch snd_mixer_selem_has_playback_switch_orig
+#define snd_mixer_selem_has_playback_switch_joined snd_mixer_selem_has_playback_switch_joined_orig
+#define snd_mixer_selem_has_capture_switch snd_mixer_selem_has_capture_switch_orig
+#define snd_mixer_selem_has_capture_switch_joined snd_mixer_selem_has_capture_switch_joined_orig
+#define snd_mixer_selem_has_capture_switch_exclusive snd_mixer_selem_has_capture_switch_exclusive_orig
+#define snd_mixer_selem_ask_playback_vol_dB snd_mixer_selem_ask_playback_vol_dB_orig
+#define snd_mixer_selem_ask_capture_vol_dB snd_mixer_selem_ask_capture_vol_dB_orig
+#define snd_mixer_selem_ask_playback_dB_vol snd_mixer_selem_ask_playback_dB_vol_orig
+#define snd_mixer_selem_ask_capture_dB_vol snd_mixer_selem_ask_capture_dB_vol_orig
+#define snd_mixer_selem_get_playback_volume snd_mixer_selem_get_playback_volume_orig
+#define snd_mixer_selem_get_capture_volume snd_mixer_selem_get_capture_volume_orig
+#define snd_mixer_selem_get_playback_dB snd_mixer_selem_get_playback_dB_orig
+#define snd_mixer_selem_get_capture_dB snd_mixer_selem_get_capture_dB_orig
+#define snd_mixer_selem_get_playback_switch snd_mixer_selem_get_playback_switch_orig
+#define snd_mixer_selem_get_capture_switch snd_mixer_selem_get_capture_switch_orig
+#define snd_mixer_selem_set_playback_volume snd_mixer_selem_set_playback_volume_orig
+#define snd_mixer_selem_set_capture_volume snd_mixer_selem_set_capture_volume_orig
+#define snd_mixer_selem_set_playback_dB snd_mixer_selem_set_playback_dB_orig
+#define snd_mixer_selem_set_capture_dB snd_mixer_selem_set_capture_dB_orig
+#define snd_mixer_selem_set_playback_volume_all snd_mixer_selem_set_playback_volume_all_orig
+#define snd_mixer_selem_set_capture_volume_all snd_mixer_selem_set_capture_volume_all_orig
+#define snd_mixer_selem_set_playback_dB_all snd_mixer_selem_set_playback_dB_all_orig
+#define snd_mixer_selem_set_capture_dB_all snd_mixer_selem_set_capture_dB_all_orig
+#define snd_mixer_selem_set_playback_switch snd_mixer_selem_set_playback_switch_orig
+#define snd_mixer_selem_set_capture_switch snd_mixer_selem_set_capture_switch_orig
+#define snd_mixer_selem_set_playback_switch_all snd_mixer_selem_set_playback_switch_all_orig
+#define snd_mixer_selem_set_capture_switch_all snd_mixer_selem_set_capture_switch_all_orig
+#define snd_mixer_selem_get_playback_volume_range snd_mixer_selem_get_playback_volume_range_orig
+#define snd_mixer_selem_get_playback_dB_range snd_mixer_selem_get_playback_dB_range_orig
+#define snd_mixer_selem_set_playback_volume_range snd_mixer_selem_set_playback_volume_range_orig
+#define snd_mixer_selem_get_capture_volume_range snd_mixer_selem_get_capture_volume_range_orig
+#define snd_mixer_selem_get_capture_dB_range snd_mixer_selem_get_capture_dB_range_orig
+#define snd_mixer_selem_set_capture_volume_range snd_mixer_selem_set_capture_volume_range_orig
+#define snd_mixer_selem_is_enumerated snd_mixer_selem_is_enumerated_orig
+#define snd_mixer_selem_is_enum_playback snd_mixer_selem_is_enum_playback_orig
+#define snd_mixer_selem_is_enum_capture snd_mixer_selem_is_enum_capture_orig
+#define snd_mixer_selem_get_enum_items snd_mixer_selem_get_enum_items_orig
+#define snd_mixer_selem_get_enum_item_name snd_mixer_selem_get_enum_item_name_orig
+#define snd_mixer_selem_get_enum_item snd_mixer_selem_get_enum_item_orig
+#define snd_mixer_selem_set_enum_item snd_mixer_selem_set_enum_item_orig
+#define snd_mixer_selem_id_sizeof snd_mixer_selem_id_sizeof_orig
+#define snd_mixer_selem_id_malloc snd_mixer_selem_id_malloc_orig
+#define snd_mixer_selem_id_free snd_mixer_selem_id_free_orig
+#define snd_mixer_selem_id_copy snd_mixer_selem_id_copy_orig
+#define snd_mixer_selem_id_get_name snd_mixer_selem_id_get_name_orig
+#define snd_mixer_selem_id_get_index snd_mixer_selem_id_get_index_orig
+#define snd_mixer_selem_id_set_name snd_mixer_selem_id_set_name_orig
+#define snd_mixer_selem_id_set_index snd_mixer_selem_id_set_index_orig
+#define snd_mixer_selem_id_parse snd_mixer_selem_id_parse_orig
+#define snd_seq_open snd_seq_open_orig
+#define snd_seq_open_lconf snd_seq_open_lconf_orig
+#define snd_seq_name snd_seq_name_orig
+#define snd_seq_type snd_seq_type_orig
+#define snd_seq_close snd_seq_close_orig
+#define snd_seq_poll_descriptors_count snd_seq_poll_descriptors_count_orig
+#define snd_seq_poll_descriptors snd_seq_poll_descriptors_orig
+#define snd_seq_poll_descriptors_revents snd_seq_poll_descriptors_revents_orig
+#define snd_seq_nonblock snd_seq_nonblock_orig
+#define snd_seq_client_id snd_seq_client_id_orig
+#define snd_seq_get_output_buffer_size snd_seq_get_output_buffer_size_orig
+#define snd_seq_get_input_buffer_size snd_seq_get_input_buffer_size_orig
+#define snd_seq_set_output_buffer_size snd_seq_set_output_buffer_size_orig
+#define snd_seq_set_input_buffer_size snd_seq_set_input_buffer_size_orig
+#define snd_seq_system_info_sizeof snd_seq_system_info_sizeof_orig
+#define snd_seq_system_info_malloc snd_seq_system_info_malloc_orig
+#define snd_seq_system_info_free snd_seq_system_info_free_orig
+#define snd_seq_system_info_copy snd_seq_system_info_copy_orig
+#define snd_seq_system_info_get_queues snd_seq_system_info_get_queues_orig
+#define snd_seq_system_info_get_clients snd_seq_system_info_get_clients_orig
+#define snd_seq_system_info_get_ports snd_seq_system_info_get_ports_orig
+#define snd_seq_system_info_get_channels snd_seq_system_info_get_channels_orig
+#define snd_seq_system_info_get_cur_clients snd_seq_system_info_get_cur_clients_orig
+#define snd_seq_system_info_get_cur_queues snd_seq_system_info_get_cur_queues_orig
+#define snd_seq_system_info snd_seq_system_info_orig
+#define snd_seq_client_info_sizeof snd_seq_client_info_sizeof_orig
+#define snd_seq_client_info_malloc snd_seq_client_info_malloc_orig
+#define snd_seq_client_info_free snd_seq_client_info_free_orig
+#define snd_seq_client_info_copy snd_seq_client_info_copy_orig
+#define snd_seq_client_info_get_client snd_seq_client_info_get_client_orig
+#define snd_seq_client_info_get_type snd_seq_client_info_get_type_orig
+#define snd_seq_client_info_get_name snd_seq_client_info_get_name_orig
+#define snd_seq_client_info_get_broadcast_filter snd_seq_client_info_get_broadcast_filter_orig
+#define snd_seq_client_info_get_error_bounce snd_seq_client_info_get_error_bounce_orig
+#define snd_seq_client_info_get_card snd_seq_client_info_get_card_orig
+#define snd_seq_client_info_get_pid snd_seq_client_info_get_pid_orig
+#define snd_seq_client_info_get_event_filter snd_seq_client_info_get_event_filter_orig
+#define snd_seq_client_info_get_num_ports snd_seq_client_info_get_num_ports_orig
+#define snd_seq_client_info_get_event_lost snd_seq_client_info_get_event_lost_orig
+#define snd_seq_client_info_set_client snd_seq_client_info_set_client_orig
+#define snd_seq_client_info_set_name snd_seq_client_info_set_name_orig
+#define snd_seq_client_info_set_broadcast_filter snd_seq_client_info_set_broadcast_filter_orig
+#define snd_seq_client_info_set_error_bounce snd_seq_client_info_set_error_bounce_orig
+#define snd_seq_client_info_set_event_filter snd_seq_client_info_set_event_filter_orig
+#define snd_seq_client_info_event_filter_clear snd_seq_client_info_event_filter_clear_orig
+#define snd_seq_client_info_event_filter_add snd_seq_client_info_event_filter_add_orig
+#define snd_seq_client_info_event_filter_del snd_seq_client_info_event_filter_del_orig
+#define snd_seq_client_info_event_filter_check snd_seq_client_info_event_filter_check_orig
+#define snd_seq_get_client_info snd_seq_get_client_info_orig
+#define snd_seq_get_any_client_info snd_seq_get_any_client_info_orig
+#define snd_seq_set_client_info snd_seq_set_client_info_orig
+#define snd_seq_query_next_client snd_seq_query_next_client_orig
+#define snd_seq_client_pool_sizeof snd_seq_client_pool_sizeof_orig
+#define snd_seq_client_pool_malloc snd_seq_client_pool_malloc_orig
+#define snd_seq_client_pool_free snd_seq_client_pool_free_orig
+#define snd_seq_client_pool_copy snd_seq_client_pool_copy_orig
+#define snd_seq_client_pool_get_client snd_seq_client_pool_get_client_orig
+#define snd_seq_client_pool_get_output_pool snd_seq_client_pool_get_output_pool_orig
+#define snd_seq_client_pool_get_input_pool snd_seq_client_pool_get_input_pool_orig
+#define snd_seq_client_pool_get_output_room snd_seq_client_pool_get_output_room_orig
+#define snd_seq_client_pool_get_output_free snd_seq_client_pool_get_output_free_orig
+#define snd_seq_client_pool_get_input_free snd_seq_client_pool_get_input_free_orig
+#define snd_seq_client_pool_set_output_pool snd_seq_client_pool_set_output_pool_orig
+#define snd_seq_client_pool_set_input_pool snd_seq_client_pool_set_input_pool_orig
+#define snd_seq_client_pool_set_output_room snd_seq_client_pool_set_output_room_orig
+#define snd_seq_get_client_pool snd_seq_get_client_pool_orig
+#define snd_seq_set_client_pool snd_seq_set_client_pool_orig
+#define snd_seq_port_info_sizeof snd_seq_port_info_sizeof_orig
+#define snd_seq_port_info_malloc snd_seq_port_info_malloc_orig
+#define snd_seq_port_info_free snd_seq_port_info_free_orig
+#define snd_seq_port_info_copy snd_seq_port_info_copy_orig
+#define snd_seq_port_info_get_client snd_seq_port_info_get_client_orig
+#define snd_seq_port_info_get_port snd_seq_port_info_get_port_orig
+#define snd_seq_port_info_get_addr snd_seq_port_info_get_addr_orig
+#define snd_seq_port_info_get_name snd_seq_port_info_get_name_orig
+#define snd_seq_port_info_get_capability snd_seq_port_info_get_capability_orig
+#define snd_seq_port_info_get_type snd_seq_port_info_get_type_orig
+#define snd_seq_port_info_get_midi_channels snd_seq_port_info_get_midi_channels_orig
+#define snd_seq_port_info_get_midi_voices snd_seq_port_info_get_midi_voices_orig
+#define snd_seq_port_info_get_synth_voices snd_seq_port_info_get_synth_voices_orig
+#define snd_seq_port_info_get_read_use snd_seq_port_info_get_read_use_orig
+#define snd_seq_port_info_get_write_use snd_seq_port_info_get_write_use_orig
+#define snd_seq_port_info_get_port_specified snd_seq_port_info_get_port_specified_orig
+#define snd_seq_port_info_get_timestamping snd_seq_port_info_get_timestamping_orig
+#define snd_seq_port_info_get_timestamp_real snd_seq_port_info_get_timestamp_real_orig
+#define snd_seq_port_info_get_timestamp_queue snd_seq_port_info_get_timestamp_queue_orig
+#define snd_seq_port_info_set_client snd_seq_port_info_set_client_orig
+#define snd_seq_port_info_set_port snd_seq_port_info_set_port_orig
+#define snd_seq_port_info_set_addr snd_seq_port_info_set_addr_orig
+#define snd_seq_port_info_set_name snd_seq_port_info_set_name_orig
+#define snd_seq_port_info_set_capability snd_seq_port_info_set_capability_orig
+#define snd_seq_port_info_set_type snd_seq_port_info_set_type_orig
+#define snd_seq_port_info_set_midi_channels snd_seq_port_info_set_midi_channels_orig
+#define snd_seq_port_info_set_midi_voices snd_seq_port_info_set_midi_voices_orig
+#define snd_seq_port_info_set_synth_voices snd_seq_port_info_set_synth_voices_orig
+#define snd_seq_port_info_set_port_specified snd_seq_port_info_set_port_specified_orig
+#define snd_seq_port_info_set_timestamping snd_seq_port_info_set_timestamping_orig
+#define snd_seq_port_info_set_timestamp_real snd_seq_port_info_set_timestamp_real_orig
+#define snd_seq_port_info_set_timestamp_queue snd_seq_port_info_set_timestamp_queue_orig
+#define snd_seq_create_port snd_seq_create_port_orig
+#define snd_seq_delete_port snd_seq_delete_port_orig
+#define snd_seq_get_port_info snd_seq_get_port_info_orig
+#define snd_seq_get_any_port_info snd_seq_get_any_port_info_orig
+#define snd_seq_set_port_info snd_seq_set_port_info_orig
+#define snd_seq_query_next_port snd_seq_query_next_port_orig
+#define snd_seq_port_subscribe_sizeof snd_seq_port_subscribe_sizeof_orig
+#define snd_seq_port_subscribe_malloc snd_seq_port_subscribe_malloc_orig
+#define snd_seq_port_subscribe_free snd_seq_port_subscribe_free_orig
+#define snd_seq_port_subscribe_copy snd_seq_port_subscribe_copy_orig
+#define snd_seq_port_subscribe_get_sender snd_seq_port_subscribe_get_sender_orig
+#define snd_seq_port_subscribe_get_dest snd_seq_port_subscribe_get_dest_orig
+#define snd_seq_port_subscribe_get_queue snd_seq_port_subscribe_get_queue_orig
+#define snd_seq_port_subscribe_get_exclusive snd_seq_port_subscribe_get_exclusive_orig
+#define snd_seq_port_subscribe_get_time_update snd_seq_port_subscribe_get_time_update_orig
+#define snd_seq_port_subscribe_get_time_real snd_seq_port_subscribe_get_time_real_orig
+#define snd_seq_port_subscribe_set_sender snd_seq_port_subscribe_set_sender_orig
+#define snd_seq_port_subscribe_set_dest snd_seq_port_subscribe_set_dest_orig
+#define snd_seq_port_subscribe_set_queue snd_seq_port_subscribe_set_queue_orig
+#define snd_seq_port_subscribe_set_exclusive snd_seq_port_subscribe_set_exclusive_orig
+#define snd_seq_port_subscribe_set_time_update snd_seq_port_subscribe_set_time_update_orig
+#define snd_seq_port_subscribe_set_time_real snd_seq_port_subscribe_set_time_real_orig
+#define snd_seq_get_port_subscription snd_seq_get_port_subscription_orig
+#define snd_seq_subscribe_port snd_seq_subscribe_port_orig
+#define snd_seq_unsubscribe_port snd_seq_unsubscribe_port_orig
+#define snd_seq_query_subscribe_sizeof snd_seq_query_subscribe_sizeof_orig
+#define snd_seq_query_subscribe_malloc snd_seq_query_subscribe_malloc_orig
+#define snd_seq_query_subscribe_free snd_seq_query_subscribe_free_orig
+#define snd_seq_query_subscribe_copy snd_seq_query_subscribe_copy_orig
+#define snd_seq_query_subscribe_get_client snd_seq_query_subscribe_get_client_orig
+#define snd_seq_query_subscribe_get_port snd_seq_query_subscribe_get_port_orig
+#define snd_seq_query_subscribe_get_root snd_seq_query_subscribe_get_root_orig
+#define snd_seq_query_subscribe_get_type snd_seq_query_subscribe_get_type_orig
+#define snd_seq_query_subscribe_get_index snd_seq_query_subscribe_get_index_orig
+#define snd_seq_query_subscribe_get_num_subs snd_seq_query_subscribe_get_num_subs_orig
+#define snd_seq_query_subscribe_get_addr snd_seq_query_subscribe_get_addr_orig
+#define snd_seq_query_subscribe_get_queue snd_seq_query_subscribe_get_queue_orig
+#define snd_seq_query_subscribe_get_exclusive snd_seq_query_subscribe_get_exclusive_orig
+#define snd_seq_query_subscribe_get_time_update snd_seq_query_subscribe_get_time_update_orig
+#define snd_seq_query_subscribe_get_time_real snd_seq_query_subscribe_get_time_real_orig
+#define snd_seq_query_subscribe_set_client snd_seq_query_subscribe_set_client_orig
+#define snd_seq_query_subscribe_set_port snd_seq_query_subscribe_set_port_orig
+#define snd_seq_query_subscribe_set_root snd_seq_query_subscribe_set_root_orig
+#define snd_seq_query_subscribe_set_type snd_seq_query_subscribe_set_type_orig
+#define snd_seq_query_subscribe_set_index snd_seq_query_subscribe_set_index_orig
+#define snd_seq_query_port_subscribers snd_seq_query_port_subscribers_orig
+#define snd_seq_queue_info_sizeof snd_seq_queue_info_sizeof_orig
+#define snd_seq_queue_info_malloc snd_seq_queue_info_malloc_orig
+#define snd_seq_queue_info_free snd_seq_queue_info_free_orig
+#define snd_seq_queue_info_copy snd_seq_queue_info_copy_orig
+#define snd_seq_queue_info_get_queue snd_seq_queue_info_get_queue_orig
+#define snd_seq_queue_info_get_name snd_seq_queue_info_get_name_orig
+#define snd_seq_queue_info_get_owner snd_seq_queue_info_get_owner_orig
+#define snd_seq_queue_info_get_locked snd_seq_queue_info_get_locked_orig
+#define snd_seq_queue_info_get_flags snd_seq_queue_info_get_flags_orig
+#define snd_seq_queue_info_set_name snd_seq_queue_info_set_name_orig
+#define snd_seq_queue_info_set_owner snd_seq_queue_info_set_owner_orig
+#define snd_seq_queue_info_set_locked snd_seq_queue_info_set_locked_orig
+#define snd_seq_queue_info_set_flags snd_seq_queue_info_set_flags_orig
+#define snd_seq_create_queue snd_seq_create_queue_orig
+#define snd_seq_alloc_named_queue snd_seq_alloc_named_queue_orig
+#define snd_seq_alloc_queue snd_seq_alloc_queue_orig
+#define snd_seq_free_queue snd_seq_free_queue_orig
+#define snd_seq_get_queue_info snd_seq_get_queue_info_orig
+#define snd_seq_set_queue_info snd_seq_set_queue_info_orig
+#define snd_seq_query_named_queue snd_seq_query_named_queue_orig
+#define snd_seq_get_queue_usage snd_seq_get_queue_usage_orig
+#define snd_seq_set_queue_usage snd_seq_set_queue_usage_orig
+#define snd_seq_queue_status_sizeof snd_seq_queue_status_sizeof_orig
+#define snd_seq_queue_status_malloc snd_seq_queue_status_malloc_orig
+#define snd_seq_queue_status_free snd_seq_queue_status_free_orig
+#define snd_seq_queue_status_copy snd_seq_queue_status_copy_orig
+#define snd_seq_queue_status_get_queue snd_seq_queue_status_get_queue_orig
+#define snd_seq_queue_status_get_events snd_seq_queue_status_get_events_orig
+#define snd_seq_queue_status_get_tick_time snd_seq_queue_status_get_tick_time_orig
+#define snd_seq_queue_status_get_real_time snd_seq_queue_status_get_real_time_orig
+#define snd_seq_queue_status_get_status snd_seq_queue_status_get_status_orig
+#define snd_seq_get_queue_status snd_seq_get_queue_status_orig
+#define snd_seq_queue_tempo_sizeof snd_seq_queue_tempo_sizeof_orig
+#define snd_seq_queue_tempo_malloc snd_seq_queue_tempo_malloc_orig
+#define snd_seq_queue_tempo_free snd_seq_queue_tempo_free_orig
+#define snd_seq_queue_tempo_copy snd_seq_queue_tempo_copy_orig
+#define snd_seq_queue_tempo_get_queue snd_seq_queue_tempo_get_queue_orig
+#define snd_seq_queue_tempo_get_tempo snd_seq_queue_tempo_get_tempo_orig
+#define snd_seq_queue_tempo_get_ppq snd_seq_queue_tempo_get_ppq_orig
+#define snd_seq_queue_tempo_get_skew snd_seq_queue_tempo_get_skew_orig
+#define snd_seq_queue_tempo_get_skew_base snd_seq_queue_tempo_get_skew_base_orig
+#define snd_seq_queue_tempo_set_tempo snd_seq_queue_tempo_set_tempo_orig
+#define snd_seq_queue_tempo_set_ppq snd_seq_queue_tempo_set_ppq_orig
+#define snd_seq_queue_tempo_set_skew snd_seq_queue_tempo_set_skew_orig
+#define snd_seq_queue_tempo_set_skew_base snd_seq_queue_tempo_set_skew_base_orig
+#define snd_seq_get_queue_tempo snd_seq_get_queue_tempo_orig
+#define snd_seq_set_queue_tempo snd_seq_set_queue_tempo_orig
+#define snd_seq_queue_timer_sizeof snd_seq_queue_timer_sizeof_orig
+#define snd_seq_queue_timer_malloc snd_seq_queue_timer_malloc_orig
+#define snd_seq_queue_timer_free snd_seq_queue_timer_free_orig
+#define snd_seq_queue_timer_copy snd_seq_queue_timer_copy_orig
+#define snd_seq_queue_timer_get_queue snd_seq_queue_timer_get_queue_orig
+#define snd_seq_queue_timer_get_type snd_seq_queue_timer_get_type_orig
+#define snd_seq_queue_timer_get_id snd_seq_queue_timer_get_id_orig
+#define snd_seq_queue_timer_get_resolution snd_seq_queue_timer_get_resolution_orig
+#define snd_seq_queue_timer_set_type snd_seq_queue_timer_set_type_orig
+#define snd_seq_queue_timer_set_id snd_seq_queue_timer_set_id_orig
+#define snd_seq_queue_timer_set_resolution snd_seq_queue_timer_set_resolution_orig
+#define snd_seq_get_queue_timer snd_seq_get_queue_timer_orig
+#define snd_seq_set_queue_timer snd_seq_set_queue_timer_orig
+#define snd_seq_free_event snd_seq_free_event_orig
+#define snd_seq_event_length snd_seq_event_length_orig
+#define snd_seq_event_output snd_seq_event_output_orig
+#define snd_seq_event_output_buffer snd_seq_event_output_buffer_orig
+#define snd_seq_event_output_direct snd_seq_event_output_direct_orig
+#define snd_seq_event_input snd_seq_event_input_orig
+#define snd_seq_event_input_pending snd_seq_event_input_pending_orig
+#define snd_seq_drain_output snd_seq_drain_output_orig
+#define snd_seq_event_output_pending snd_seq_event_output_pending_orig
+#define snd_seq_extract_output snd_seq_extract_output_orig
+#define snd_seq_drop_output snd_seq_drop_output_orig
+#define snd_seq_drop_output_buffer snd_seq_drop_output_buffer_orig
+#define snd_seq_drop_input snd_seq_drop_input_orig
+#define snd_seq_drop_input_buffer snd_seq_drop_input_buffer_orig
+#define snd_seq_remove_events_sizeof snd_seq_remove_events_sizeof_orig
+#define snd_seq_remove_events_malloc snd_seq_remove_events_malloc_orig
+#define snd_seq_remove_events_free snd_seq_remove_events_free_orig
+#define snd_seq_remove_events_copy snd_seq_remove_events_copy_orig
+#define snd_seq_remove_events_get_condition snd_seq_remove_events_get_condition_orig
+#define snd_seq_remove_events_get_queue snd_seq_remove_events_get_queue_orig
+#define snd_seq_remove_events_get_time snd_seq_remove_events_get_time_orig
+#define snd_seq_remove_events_get_dest snd_seq_remove_events_get_dest_orig
+#define snd_seq_remove_events_get_channel snd_seq_remove_events_get_channel_orig
+#define snd_seq_remove_events_get_event_type snd_seq_remove_events_get_event_type_orig
+#define snd_seq_remove_events_get_tag snd_seq_remove_events_get_tag_orig
+#define snd_seq_remove_events_set_condition snd_seq_remove_events_set_condition_orig
+#define snd_seq_remove_events_set_queue snd_seq_remove_events_set_queue_orig
+#define snd_seq_remove_events_set_time snd_seq_remove_events_set_time_orig
+#define snd_seq_remove_events_set_dest snd_seq_remove_events_set_dest_orig
+#define snd_seq_remove_events_set_channel snd_seq_remove_events_set_channel_orig
+#define snd_seq_remove_events_set_event_type snd_seq_remove_events_set_event_type_orig
+#define snd_seq_remove_events_set_tag snd_seq_remove_events_set_tag_orig
+#define snd_seq_remove_events snd_seq_remove_events_orig
+#define snd_seq_set_bit snd_seq_set_bit_orig
+#define snd_seq_unset_bit snd_seq_unset_bit_orig
+#define snd_seq_change_bit snd_seq_change_bit_orig
+#define snd_seq_get_bit snd_seq_get_bit_orig
+#define snd_seq_control_queue snd_seq_control_queue_orig
+#define snd_seq_create_simple_port snd_seq_create_simple_port_orig
+#define snd_seq_delete_simple_port snd_seq_delete_simple_port_orig
+#define snd_seq_connect_from snd_seq_connect_from_orig
+#define snd_seq_connect_to snd_seq_connect_to_orig
+#define snd_seq_disconnect_from snd_seq_disconnect_from_orig
+#define snd_seq_disconnect_to snd_seq_disconnect_to_orig
+#define snd_seq_set_client_name snd_seq_set_client_name_orig
+#define snd_seq_set_client_event_filter snd_seq_set_client_event_filter_orig
+#define snd_seq_set_client_pool_output snd_seq_set_client_pool_output_orig
+#define snd_seq_set_client_pool_output_room snd_seq_set_client_pool_output_room_orig
+#define snd_seq_set_client_pool_input snd_seq_set_client_pool_input_orig
+#define snd_seq_sync_output_queue snd_seq_sync_output_queue_orig
+#define snd_seq_parse_address snd_seq_parse_address_orig
+#define snd_seq_reset_pool_output snd_seq_reset_pool_output_orig
+#define snd_seq_reset_pool_input snd_seq_reset_pool_input_orig
+#define snd_midi_event_new snd_midi_event_new_orig
+#define snd_midi_event_resize_buffer snd_midi_event_resize_buffer_orig
+#define snd_midi_event_free snd_midi_event_free_orig
+#define snd_midi_event_init snd_midi_event_init_orig
+#define snd_midi_event_reset_encode snd_midi_event_reset_encode_orig
+#define snd_midi_event_reset_decode snd_midi_event_reset_decode_orig
+#define snd_midi_event_no_status snd_midi_event_no_status_orig
+#define snd_midi_event_encode snd_midi_event_encode_orig
+#define snd_midi_event_encode_byte snd_midi_event_encode_byte_orig
+#define snd_midi_event_decode snd_midi_event_decode_orig
+#include <alsa/asoundlib.h>
+#undef snd_asoundlib_version
+#undef snd_dlpath
+#undef snd_dlopen
+#undef snd_dlsym
+#undef snd_dlclose
+#undef snd_async_add_handler
+#undef snd_async_del_handler
+#undef snd_async_handler_get_fd
+#undef snd_async_handler_get_signo
+#undef snd_async_handler_get_callback_private
+#undef snd_shm_area_create
+#undef snd_shm_area_share
+#undef snd_shm_area_destroy
+#undef snd_user_file
+#undef snd_input_stdio_open
+#undef snd_input_stdio_attach
+#undef snd_input_buffer_open
+#undef snd_input_close
+#undef snd_input_scanf
+#undef snd_input_gets
+#undef snd_input_getc
+#undef snd_input_ungetc
+#undef snd_output_stdio_open
+#undef snd_output_stdio_attach
+#undef snd_output_buffer_open
+#undef snd_output_buffer_string
+#undef snd_output_close
+#undef snd_output_printf
+#undef snd_output_vprintf
+#undef snd_output_puts
+#undef snd_output_putc
+#undef snd_output_flush
+#undef snd_strerror
+#undef snd_lib_error_set_handler
+#undef snd_lib_error_set_local
+#undef snd_config_topdir
+#undef snd_config_top
+#undef snd_config_load
+#undef snd_config_load_override
+#undef snd_config_save
+#undef snd_config_update
+#undef snd_config_update_r
+#undef snd_config_update_free
+#undef snd_config_update_free_global
+#undef snd_config_update_ref
+#undef snd_config_ref
+#undef snd_config_unref
+#undef snd_config_search
+#undef snd_config_searchv
+#undef snd_config_search_definition
+#undef snd_config_expand
+#undef snd_config_evaluate
+#undef snd_config_add
+#undef snd_config_add_before
+#undef snd_config_add_after
+#undef snd_config_remove
+#undef snd_config_delete
+#undef snd_config_delete_compound_members
+#undef snd_config_copy
+#undef snd_config_make
+#undef snd_config_make_integer
+#undef snd_config_make_integer64
+#undef snd_config_make_real
+#undef snd_config_make_string
+#undef snd_config_make_pointer
+#undef snd_config_make_compound
+#undef snd_config_imake_integer
+#undef snd_config_imake_integer64
+#undef snd_config_imake_real
+#undef snd_config_imake_string
+#undef snd_config_imake_safe_string
+#undef snd_config_imake_pointer
+#undef snd_config_get_type
+#undef snd_config_is_array
+#undef snd_config_set_id
+#undef snd_config_set_integer
+#undef snd_config_set_integer64
+#undef snd_config_set_real
+#undef snd_config_set_string
+#undef snd_config_set_ascii
+#undef snd_config_set_pointer
+#undef snd_config_get_id
+#undef snd_config_get_integer
+#undef snd_config_get_integer64
+#undef snd_config_get_real
+#undef snd_config_get_ireal
+#undef snd_config_get_string
+#undef snd_config_get_ascii
+#undef snd_config_get_pointer
+#undef snd_config_test_id
+#undef snd_config_iterator_first
+#undef snd_config_iterator_next
+#undef snd_config_iterator_end
+#undef snd_config_iterator_entry
+#undef snd_config_get_bool_ascii
+#undef snd_config_get_bool
+#undef snd_config_get_ctl_iface_ascii
+#undef snd_config_get_ctl_iface
+#undef snd_names_list
+#undef snd_names_list_free
+#undef snd_pcm_open
+#undef snd_pcm_open_lconf
+#undef snd_pcm_open_fallback
+#undef snd_pcm_close
+#undef snd_pcm_name
+#undef snd_pcm_type
+#undef snd_pcm_stream
+#undef snd_pcm_poll_descriptors_count
+#undef snd_pcm_poll_descriptors
+#undef snd_pcm_poll_descriptors_revents
+#undef snd_pcm_nonblock
+#undef snd_async_add_pcm_handler
+#undef snd_async_handler_get_pcm
+#undef snd_pcm_info
+#undef snd_pcm_hw_params_current
+#undef snd_pcm_hw_params
+#undef snd_pcm_hw_free
+#undef snd_pcm_sw_params_current
+#undef snd_pcm_sw_params
+#undef snd_pcm_prepare
+#undef snd_pcm_reset
+#undef snd_pcm_status
+#undef snd_pcm_start
+#undef snd_pcm_drop
+#undef snd_pcm_drain
+#undef snd_pcm_pause
+#undef snd_pcm_state
+#undef snd_pcm_hwsync
+#undef snd_pcm_delay
+#undef snd_pcm_resume
+#undef snd_pcm_htimestamp
+#undef snd_pcm_avail
+#undef snd_pcm_avail_update
+#undef snd_pcm_avail_delay
+#undef snd_pcm_rewindable
+#undef snd_pcm_rewind
+#undef snd_pcm_forwardable
+#undef snd_pcm_forward
+#undef snd_pcm_writei
+#undef snd_pcm_readi
+#undef snd_pcm_writen
+#undef snd_pcm_readn
+#undef snd_pcm_wait
+#undef snd_pcm_link
+#undef snd_pcm_unlink
+#undef snd_pcm_query_chmaps
+#undef snd_pcm_query_chmaps_from_hw
+#undef snd_pcm_free_chmaps
+#undef snd_pcm_get_chmap
+#undef snd_pcm_set_chmap
+#undef snd_pcm_chmap_type_name
+#undef snd_pcm_chmap_name
+#undef snd_pcm_chmap_long_name
+#undef snd_pcm_chmap_print
+#undef snd_pcm_chmap_from_string
+#undef snd_pcm_chmap_parse_string
+#undef snd_pcm_recover
+#undef snd_pcm_set_params
+#undef snd_pcm_get_params
+#undef snd_pcm_info_sizeof
+#undef snd_pcm_info_malloc
+#undef snd_pcm_info_free
+#undef snd_pcm_info_copy
+#undef snd_pcm_info_get_device
+#undef snd_pcm_info_get_subdevice
+#undef snd_pcm_info_get_stream
+#undef snd_pcm_info_get_card
+#undef snd_pcm_info_get_id
+#undef snd_pcm_info_get_name
+#undef snd_pcm_info_get_subdevice_name
+#undef snd_pcm_info_get_class
+#undef snd_pcm_info_get_subclass
+#undef snd_pcm_info_get_subdevices_count
+#undef snd_pcm_info_get_subdevices_avail
+#undef snd_pcm_info_get_sync
+#undef snd_pcm_info_set_device
+#undef snd_pcm_info_set_subdevice
+#undef snd_pcm_info_set_stream
+#undef snd_pcm_hw_params_any
+#undef snd_pcm_hw_params_can_mmap_sample_resolution
+#undef snd_pcm_hw_params_is_double
+#undef snd_pcm_hw_params_is_batch
+#undef snd_pcm_hw_params_is_block_transfer
+#undef snd_pcm_hw_params_is_monotonic
+#undef snd_pcm_hw_params_can_overrange
+#undef snd_pcm_hw_params_can_pause
+#undef snd_pcm_hw_params_can_resume
+#undef snd_pcm_hw_params_is_half_duplex
+#undef snd_pcm_hw_params_is_joint_duplex
+#undef snd_pcm_hw_params_can_sync_start
+#undef snd_pcm_hw_params_can_disable_period_wakeup
+#undef snd_pcm_hw_params_supports_audio_wallclock_ts
+#undef snd_pcm_hw_params_supports_audio_ts_type
+#undef snd_pcm_hw_params_get_rate_numden
+#undef snd_pcm_hw_params_get_sbits
+#undef snd_pcm_hw_params_get_fifo_size
+#undef snd_pcm_hw_params_sizeof
+#undef snd_pcm_hw_params_malloc
+#undef snd_pcm_hw_params_free
+#undef snd_pcm_hw_params_copy
+#undef snd_pcm_hw_params_get_access
+#undef snd_pcm_hw_params_test_access
+#undef snd_pcm_hw_params_set_access
+#undef snd_pcm_hw_params_set_access_first
+#undef snd_pcm_hw_params_set_access_last
+#undef snd_pcm_hw_params_set_access_mask
+#undef snd_pcm_hw_params_get_access_mask
+#undef snd_pcm_hw_params_get_format
+#undef snd_pcm_hw_params_test_format
+#undef snd_pcm_hw_params_set_format
+#undef snd_pcm_hw_params_set_format_first
+#undef snd_pcm_hw_params_set_format_last
+#undef snd_pcm_hw_params_set_format_mask
+#undef snd_pcm_hw_params_get_format_mask
+#undef snd_pcm_hw_params_get_subformat
+#undef snd_pcm_hw_params_test_subformat
+#undef snd_pcm_hw_params_set_subformat
+#undef snd_pcm_hw_params_set_subformat_first
+#undef snd_pcm_hw_params_set_subformat_last
+#undef snd_pcm_hw_params_set_subformat_mask
+#undef snd_pcm_hw_params_get_subformat_mask
+#undef snd_pcm_hw_params_get_channels
+#undef snd_pcm_hw_params_get_channels_min
+#undef snd_pcm_hw_params_get_channels_max
+#undef snd_pcm_hw_params_test_channels
+#undef snd_pcm_hw_params_set_channels
+#undef snd_pcm_hw_params_set_channels_min
+#undef snd_pcm_hw_params_set_channels_max
+#undef snd_pcm_hw_params_set_channels_minmax
+#undef snd_pcm_hw_params_set_channels_near
+#undef snd_pcm_hw_params_set_channels_first
+#undef snd_pcm_hw_params_set_channels_last
+#undef snd_pcm_hw_params_get_rate
+#undef snd_pcm_hw_params_get_rate_min
+#undef snd_pcm_hw_params_get_rate_max
+#undef snd_pcm_hw_params_test_rate
+#undef snd_pcm_hw_params_set_rate
+#undef snd_pcm_hw_params_set_rate_min
+#undef snd_pcm_hw_params_set_rate_max
+#undef snd_pcm_hw_params_set_rate_minmax
+#undef snd_pcm_hw_params_set_rate_near
+#undef snd_pcm_hw_params_set_rate_first
+#undef snd_pcm_hw_params_set_rate_last
+#undef snd_pcm_hw_params_set_rate_resample
+#undef snd_pcm_hw_params_get_rate_resample
+#undef snd_pcm_hw_params_set_export_buffer
+#undef snd_pcm_hw_params_get_export_buffer
+#undef snd_pcm_hw_params_set_period_wakeup
+#undef snd_pcm_hw_params_get_period_wakeup
+#undef snd_pcm_hw_params_get_period_time
+#undef snd_pcm_hw_params_get_period_time_min
+#undef snd_pcm_hw_params_get_period_time_max
+#undef snd_pcm_hw_params_test_period_time
+#undef snd_pcm_hw_params_set_period_time
+#undef snd_pcm_hw_params_set_period_time_min
+#undef snd_pcm_hw_params_set_period_time_max
+#undef snd_pcm_hw_params_set_period_time_minmax
+#undef snd_pcm_hw_params_set_period_time_near
+#undef snd_pcm_hw_params_set_period_time_first
+#undef snd_pcm_hw_params_set_period_time_last
+#undef snd_pcm_hw_params_get_period_size
+#undef snd_pcm_hw_params_get_period_size_min
+#undef snd_pcm_hw_params_get_period_size_max
+#undef snd_pcm_hw_params_test_period_size
+#undef snd_pcm_hw_params_set_period_size
+#undef snd_pcm_hw_params_set_period_size_min
+#undef snd_pcm_hw_params_set_period_size_max
+#undef snd_pcm_hw_params_set_period_size_minmax
+#undef snd_pcm_hw_params_set_period_size_near
+#undef snd_pcm_hw_params_set_period_size_first
+#undef snd_pcm_hw_params_set_period_size_last
+#undef snd_pcm_hw_params_set_period_size_integer
+#undef snd_pcm_hw_params_get_periods
+#undef snd_pcm_hw_params_get_periods_min
+#undef snd_pcm_hw_params_get_periods_max
+#undef snd_pcm_hw_params_test_periods
+#undef snd_pcm_hw_params_set_periods
+#undef snd_pcm_hw_params_set_periods_min
+#undef snd_pcm_hw_params_set_periods_max
+#undef snd_pcm_hw_params_set_periods_minmax
+#undef snd_pcm_hw_params_set_periods_near
+#undef snd_pcm_hw_params_set_periods_first
+#undef snd_pcm_hw_params_set_periods_last
+#undef snd_pcm_hw_params_set_periods_integer
+#undef snd_pcm_hw_params_get_buffer_time
+#undef snd_pcm_hw_params_get_buffer_time_min
+#undef snd_pcm_hw_params_get_buffer_time_max
+#undef snd_pcm_hw_params_test_buffer_time
+#undef snd_pcm_hw_params_set_buffer_time
+#undef snd_pcm_hw_params_set_buffer_time_min
+#undef snd_pcm_hw_params_set_buffer_time_max
+#undef snd_pcm_hw_params_set_buffer_time_minmax
+#undef snd_pcm_hw_params_set_buffer_time_near
+#undef snd_pcm_hw_params_set_buffer_time_first
+#undef snd_pcm_hw_params_set_buffer_time_last
+#undef snd_pcm_hw_params_get_buffer_size
+#undef snd_pcm_hw_params_get_buffer_size_min
+#undef snd_pcm_hw_params_get_buffer_size_max
+#undef snd_pcm_hw_params_test_buffer_size
+#undef snd_pcm_hw_params_set_buffer_size
+#undef snd_pcm_hw_params_set_buffer_size_min
+#undef snd_pcm_hw_params_set_buffer_size_max
+#undef snd_pcm_hw_params_set_buffer_size_minmax
+#undef snd_pcm_hw_params_set_buffer_size_near
+#undef snd_pcm_hw_params_set_buffer_size_first
+#undef snd_pcm_hw_params_set_buffer_size_last
+#undef snd_pcm_hw_params_get_min_align
+#undef snd_pcm_sw_params_sizeof
+#undef snd_pcm_sw_params_malloc
+#undef snd_pcm_sw_params_free
+#undef snd_pcm_sw_params_copy
+#undef snd_pcm_sw_params_get_boundary
+#undef snd_pcm_sw_params_set_tstamp_mode
+#undef snd_pcm_sw_params_get_tstamp_mode
+#undef snd_pcm_sw_params_set_tstamp_type
+#undef snd_pcm_sw_params_get_tstamp_type
+#undef snd_pcm_sw_params_set_avail_min
+#undef snd_pcm_sw_params_get_avail_min
+#undef snd_pcm_sw_params_set_period_event
+#undef snd_pcm_sw_params_get_period_event
+#undef snd_pcm_sw_params_set_start_threshold
+#undef snd_pcm_sw_params_get_start_threshold
+#undef snd_pcm_sw_params_set_stop_threshold
+#undef snd_pcm_sw_params_get_stop_threshold
+#undef snd_pcm_sw_params_set_silence_threshold
+#undef snd_pcm_sw_params_get_silence_threshold
+#undef snd_pcm_sw_params_set_silence_size
+#undef snd_pcm_sw_params_get_silence_size
+#undef snd_pcm_access_mask_sizeof
+#undef snd_pcm_access_mask_malloc
+#undef snd_pcm_access_mask_free
+#undef snd_pcm_access_mask_copy
+#undef snd_pcm_access_mask_none
+#undef snd_pcm_access_mask_any
+#undef snd_pcm_access_mask_test
+#undef snd_pcm_access_mask_empty
+#undef snd_pcm_access_mask_set
+#undef snd_pcm_access_mask_reset
+#undef snd_pcm_format_mask_sizeof
+#undef snd_pcm_format_mask_malloc
+#undef snd_pcm_format_mask_free
+#undef snd_pcm_format_mask_copy
+#undef snd_pcm_format_mask_none
+#undef snd_pcm_format_mask_any
+#undef snd_pcm_format_mask_test
+#undef snd_pcm_format_mask_empty
+#undef snd_pcm_format_mask_set
+#undef snd_pcm_format_mask_reset
+#undef snd_pcm_subformat_mask_sizeof
+#undef snd_pcm_subformat_mask_malloc
+#undef snd_pcm_subformat_mask_free
+#undef snd_pcm_subformat_mask_copy
+#undef snd_pcm_subformat_mask_none
+#undef snd_pcm_subformat_mask_any
+#undef snd_pcm_subformat_mask_test
+#undef snd_pcm_subformat_mask_empty
+#undef snd_pcm_subformat_mask_set
+#undef snd_pcm_subformat_mask_reset
+#undef snd_pcm_status_sizeof
+#undef snd_pcm_status_malloc
+#undef snd_pcm_status_free
+#undef snd_pcm_status_copy
+#undef snd_pcm_status_get_state
+#undef snd_pcm_status_get_trigger_tstamp
+#undef snd_pcm_status_get_trigger_htstamp
+#undef snd_pcm_status_get_tstamp
+#undef snd_pcm_status_get_htstamp
+#undef snd_pcm_status_get_audio_htstamp
+#undef snd_pcm_status_get_driver_htstamp
+#undef snd_pcm_status_get_audio_htstamp_report
+#undef snd_pcm_status_set_audio_htstamp_config
+#undef snd_pcm_status_get_delay
+#undef snd_pcm_status_get_avail
+#undef snd_pcm_status_get_avail_max
+#undef snd_pcm_status_get_overrange
+#undef snd_pcm_type_name
+#undef snd_pcm_stream_name
+#undef snd_pcm_access_name
+#undef snd_pcm_format_name
+#undef snd_pcm_format_description
+#undef snd_pcm_subformat_name
+#undef snd_pcm_subformat_description
+#undef snd_pcm_format_value
+#undef snd_pcm_tstamp_mode_name
+#undef snd_pcm_state_name
+#undef snd_pcm_dump
+#undef snd_pcm_dump_hw_setup
+#undef snd_pcm_dump_sw_setup
+#undef snd_pcm_dump_setup
+#undef snd_pcm_hw_params_dump
+#undef snd_pcm_sw_params_dump
+#undef snd_pcm_status_dump
+#undef snd_pcm_mmap_begin
+#undef snd_pcm_mmap_commit
+#undef snd_pcm_mmap_writei
+#undef snd_pcm_mmap_readi
+#undef snd_pcm_mmap_writen
+#undef snd_pcm_mmap_readn
+#undef snd_pcm_format_signed
+#undef snd_pcm_format_unsigned
+#undef snd_pcm_format_linear
+#undef snd_pcm_format_float
+#undef snd_pcm_format_little_endian
+#undef snd_pcm_format_big_endian
+#undef snd_pcm_format_cpu_endian
+#undef snd_pcm_format_width
+#undef snd_pcm_format_physical_width
+#undef snd_pcm_build_linear_format
+#undef snd_pcm_format_size
+#undef snd_pcm_format_silence
+#undef snd_pcm_format_silence_16
+#undef snd_pcm_format_silence_32
+#undef snd_pcm_format_silence_64
+#undef snd_pcm_format_set_silence
+#undef snd_pcm_bytes_to_frames
+#undef snd_pcm_frames_to_bytes
+#undef snd_pcm_bytes_to_samples
+#undef snd_pcm_samples_to_bytes
+#undef snd_pcm_area_silence
+#undef snd_pcm_areas_silence
+#undef snd_pcm_area_copy
+#undef snd_pcm_areas_copy
+#undef snd_pcm_areas_copy_wrap
+#undef snd_pcm_hook_get_pcm
+#undef snd_pcm_hook_get_private
+#undef snd_pcm_hook_set_private
+#undef snd_pcm_hook_add
+#undef snd_pcm_hook_remove
+#undef snd_pcm_meter_get_bufsize
+#undef snd_pcm_meter_get_channels
+#undef snd_pcm_meter_get_rate
+#undef snd_pcm_meter_get_now
+#undef snd_pcm_meter_get_boundary
+#undef snd_pcm_meter_add_scope
+#undef snd_pcm_meter_search_scope
+#undef snd_pcm_scope_malloc
+#undef snd_pcm_scope_set_ops
+#undef snd_pcm_scope_set_name
+#undef snd_pcm_scope_get_name
+#undef snd_pcm_scope_get_callback_private
+#undef snd_pcm_scope_set_callback_private
+#undef snd_pcm_scope_s16_open
+#undef snd_pcm_scope_s16_get_channel_buffer
+#undef snd_spcm_init
+#undef snd_spcm_init_duplex
+#undef snd_spcm_init_get_params
+#undef snd_pcm_start_mode_name
+#undef snd_pcm_xrun_mode_name
+#undef snd_pcm_sw_params_set_start_mode
+#undef snd_pcm_sw_params_get_start_mode
+#undef snd_pcm_sw_params_set_xrun_mode
+#undef snd_pcm_sw_params_get_xrun_mode
+#undef snd_pcm_sw_params_set_xfer_align
+#undef snd_pcm_sw_params_get_xfer_align
+#undef snd_pcm_sw_params_set_sleep_min
+#undef snd_pcm_sw_params_get_sleep_min
+#undef snd_pcm_hw_params_get_tick_time
+#undef snd_pcm_hw_params_get_tick_time_min
+#undef snd_pcm_hw_params_get_tick_time_max
+#undef snd_pcm_hw_params_test_tick_time
+#undef snd_pcm_hw_params_set_tick_time
+#undef snd_pcm_hw_params_set_tick_time_min
+#undef snd_pcm_hw_params_set_tick_time_max
+#undef snd_pcm_hw_params_set_tick_time_minmax
+#undef snd_pcm_hw_params_set_tick_time_near
+#undef snd_pcm_hw_params_set_tick_time_first
+#undef snd_pcm_hw_params_set_tick_time_last
+#undef snd_rawmidi_open
+#undef snd_rawmidi_open_lconf
+#undef snd_rawmidi_close
+#undef snd_rawmidi_poll_descriptors_count
+#undef snd_rawmidi_poll_descriptors
+#undef snd_rawmidi_poll_descriptors_revents
+#undef snd_rawmidi_nonblock
+#undef snd_rawmidi_info_sizeof
+#undef snd_rawmidi_info_malloc
+#undef snd_rawmidi_info_free
+#undef snd_rawmidi_info_copy
+#undef snd_rawmidi_info_get_device
+#undef snd_rawmidi_info_get_subdevice
+#undef snd_rawmidi_info_get_stream
+#undef snd_rawmidi_info_get_card
+#undef snd_rawmidi_info_get_flags
+#undef snd_rawmidi_info_get_id
+#undef snd_rawmidi_info_get_name
+#undef snd_rawmidi_info_get_subdevice_name
+#undef snd_rawmidi_info_get_subdevices_count
+#undef snd_rawmidi_info_get_subdevices_avail
+#undef snd_rawmidi_info_set_device
+#undef snd_rawmidi_info_set_subdevice
+#undef snd_rawmidi_info_set_stream
+#undef snd_rawmidi_info
+#undef snd_rawmidi_params_sizeof
+#undef snd_rawmidi_params_malloc
+#undef snd_rawmidi_params_free
+#undef snd_rawmidi_params_copy
+#undef snd_rawmidi_params_set_buffer_size
+#undef snd_rawmidi_params_get_buffer_size
+#undef snd_rawmidi_params_set_avail_min
+#undef snd_rawmidi_params_get_avail_min
+#undef snd_rawmidi_params_set_no_active_sensing
+#undef snd_rawmidi_params_get_no_active_sensing
+#undef snd_rawmidi_params
+#undef snd_rawmidi_params_current
+#undef snd_rawmidi_status_sizeof
+#undef snd_rawmidi_status_malloc
+#undef snd_rawmidi_status_free
+#undef snd_rawmidi_status_copy
+#undef snd_rawmidi_status_get_tstamp
+#undef snd_rawmidi_status_get_avail
+#undef snd_rawmidi_status_get_xruns
+#undef snd_rawmidi_status
+#undef snd_rawmidi_drain
+#undef snd_rawmidi_drop
+#undef snd_rawmidi_write
+#undef snd_rawmidi_read
+#undef snd_rawmidi_name
+#undef snd_rawmidi_type
+#undef snd_rawmidi_stream
+#undef snd_timer_query_open
+#undef snd_timer_query_open_lconf
+#undef snd_timer_query_close
+#undef snd_timer_query_next_device
+#undef snd_timer_query_info
+#undef snd_timer_query_params
+#undef snd_timer_query_status
+#undef snd_timer_open
+#undef snd_timer_open_lconf
+#undef snd_timer_close
+#undef snd_async_add_timer_handler
+#undef snd_async_handler_get_timer
+#undef snd_timer_poll_descriptors_count
+#undef snd_timer_poll_descriptors
+#undef snd_timer_poll_descriptors_revents
+#undef snd_timer_info
+#undef snd_timer_params
+#undef snd_timer_status
+#undef snd_timer_start
+#undef snd_timer_stop
+#undef snd_timer_continue
+#undef snd_timer_read
+#undef snd_timer_id_sizeof
+#undef snd_timer_id_malloc
+#undef snd_timer_id_free
+#undef snd_timer_id_copy
+#undef snd_timer_id_set_class
+#undef snd_timer_id_get_class
+#undef snd_timer_id_set_sclass
+#undef snd_timer_id_get_sclass
+#undef snd_timer_id_set_card
+#undef snd_timer_id_get_card
+#undef snd_timer_id_set_device
+#undef snd_timer_id_get_device
+#undef snd_timer_id_set_subdevice
+#undef snd_timer_id_get_subdevice
+#undef snd_timer_ginfo_sizeof
+#undef snd_timer_ginfo_malloc
+#undef snd_timer_ginfo_free
+#undef snd_timer_ginfo_copy
+#undef snd_timer_ginfo_set_tid
+#undef snd_timer_ginfo_get_tid
+#undef snd_timer_ginfo_get_flags
+#undef snd_timer_ginfo_get_card
+#undef snd_timer_ginfo_get_id
+#undef snd_timer_ginfo_get_name
+#undef snd_timer_ginfo_get_resolution
+#undef snd_timer_ginfo_get_resolution_min
+#undef snd_timer_ginfo_get_resolution_max
+#undef snd_timer_ginfo_get_clients
+#undef snd_timer_info_sizeof
+#undef snd_timer_info_malloc
+#undef snd_timer_info_free
+#undef snd_timer_info_copy
+#undef snd_timer_info_is_slave
+#undef snd_timer_info_get_card
+#undef snd_timer_info_get_id
+#undef snd_timer_info_get_name
+#undef snd_timer_info_get_resolution
+#undef snd_timer_params_sizeof
+#undef snd_timer_params_malloc
+#undef snd_timer_params_free
+#undef snd_timer_params_copy
+#undef snd_timer_params_set_auto_start
+#undef snd_timer_params_get_auto_start
+#undef snd_timer_params_set_exclusive
+#undef snd_timer_params_get_exclusive
+#undef snd_timer_params_set_early_event
+#undef snd_timer_params_get_early_event
+#undef snd_timer_params_set_ticks
+#undef snd_timer_params_get_ticks
+#undef snd_timer_params_set_queue_size
+#undef snd_timer_params_get_queue_size
+#undef snd_timer_params_set_filter
+#undef snd_timer_params_get_filter
+#undef snd_timer_status_sizeof
+#undef snd_timer_status_malloc
+#undef snd_timer_status_free
+#undef snd_timer_status_copy
+#undef snd_timer_status_get_timestamp
+#undef snd_timer_status_get_resolution
+#undef snd_timer_status_get_lost
+#undef snd_timer_status_get_overrun
+#undef snd_timer_status_get_queue
+#undef snd_timer_info_get_ticks
+#undef snd_hwdep_open
+#undef snd_hwdep_close
+#undef snd_hwdep_poll_descriptors
+#undef snd_hwdep_poll_descriptors_count
+#undef snd_hwdep_poll_descriptors_revents
+#undef snd_hwdep_nonblock
+#undef snd_hwdep_info
+#undef snd_hwdep_dsp_status
+#undef snd_hwdep_dsp_load
+#undef snd_hwdep_ioctl
+#undef snd_hwdep_write
+#undef snd_hwdep_read
+#undef snd_hwdep_info_sizeof
+#undef snd_hwdep_info_malloc
+#undef snd_hwdep_info_free
+#undef snd_hwdep_info_copy
+#undef snd_hwdep_info_get_device
+#undef snd_hwdep_info_get_card
+#undef snd_hwdep_info_get_id
+#undef snd_hwdep_info_get_name
+#undef snd_hwdep_info_get_iface
+#undef snd_hwdep_info_set_device
+#undef snd_hwdep_dsp_status_sizeof
+#undef snd_hwdep_dsp_status_malloc
+#undef snd_hwdep_dsp_status_free
+#undef snd_hwdep_dsp_status_copy
+#undef snd_hwdep_dsp_status_get_version
+#undef snd_hwdep_dsp_status_get_id
+#undef snd_hwdep_dsp_status_get_num_dsps
+#undef snd_hwdep_dsp_status_get_dsp_loaded
+#undef snd_hwdep_dsp_status_get_chip_ready
+#undef snd_hwdep_dsp_image_sizeof
+#undef snd_hwdep_dsp_image_malloc
+#undef snd_hwdep_dsp_image_free
+#undef snd_hwdep_dsp_image_copy
+#undef snd_hwdep_dsp_image_get_index
+#undef snd_hwdep_dsp_image_get_name
+#undef snd_hwdep_dsp_image_get_image
+#undef snd_hwdep_dsp_image_get_length
+#undef snd_hwdep_dsp_image_set_index
+#undef snd_hwdep_dsp_image_set_name
+#undef snd_hwdep_dsp_image_set_image
+#undef snd_hwdep_dsp_image_set_length
+#undef snd_card_load
+#undef snd_card_next
+#undef snd_card_get_index
+#undef snd_card_get_name
+#undef snd_card_get_longname
+#undef snd_device_name_hint
+#undef snd_device_name_free_hint
+#undef snd_device_name_get_hint
+#undef snd_ctl_open
+#undef snd_ctl_open_lconf
+#undef snd_ctl_open_fallback
+#undef snd_ctl_close
+#undef snd_ctl_nonblock
+#undef snd_async_add_ctl_handler
+#undef snd_async_handler_get_ctl
+#undef snd_ctl_poll_descriptors_count
+#undef snd_ctl_poll_descriptors
+#undef snd_ctl_poll_descriptors_revents
+#undef snd_ctl_subscribe_events
+#undef snd_ctl_card_info
+#undef snd_ctl_elem_list
+#undef snd_ctl_elem_info
+#undef snd_ctl_elem_read
+#undef snd_ctl_elem_write
+#undef snd_ctl_elem_lock
+#undef snd_ctl_elem_unlock
+#undef snd_ctl_elem_tlv_read
+#undef snd_ctl_elem_tlv_write
+#undef snd_ctl_elem_tlv_command
+#undef snd_ctl_hwdep_next_device
+#undef snd_ctl_hwdep_info
+#undef snd_ctl_pcm_next_device
+#undef snd_ctl_pcm_info
+#undef snd_ctl_pcm_prefer_subdevice
+#undef snd_ctl_rawmidi_next_device
+#undef snd_ctl_rawmidi_info
+#undef snd_ctl_rawmidi_prefer_subdevice
+#undef snd_ctl_set_power_state
+#undef snd_ctl_get_power_state
+#undef snd_ctl_read
+#undef snd_ctl_wait
+#undef snd_ctl_name
+#undef snd_ctl_type
+#undef snd_ctl_elem_type_name
+#undef snd_ctl_elem_iface_name
+#undef snd_ctl_event_type_name
+#undef snd_ctl_event_elem_get_mask
+#undef snd_ctl_event_elem_get_numid
+#undef snd_ctl_event_elem_get_id
+#undef snd_ctl_event_elem_get_interface
+#undef snd_ctl_event_elem_get_device
+#undef snd_ctl_event_elem_get_subdevice
+#undef snd_ctl_event_elem_get_name
+#undef snd_ctl_event_elem_get_index
+#undef snd_ctl_elem_list_alloc_space
+#undef snd_ctl_elem_list_free_space
+#undef snd_ctl_ascii_elem_id_get
+#undef snd_ctl_ascii_elem_id_parse
+#undef snd_ctl_ascii_value_parse
+#undef snd_ctl_elem_id_sizeof
+#undef snd_ctl_elem_id_malloc
+#undef snd_ctl_elem_id_free
+#undef snd_ctl_elem_id_clear
+#undef snd_ctl_elem_id_copy
+#undef snd_ctl_elem_id_get_numid
+#undef snd_ctl_elem_id_get_interface
+#undef snd_ctl_elem_id_get_device
+#undef snd_ctl_elem_id_get_subdevice
+#undef snd_ctl_elem_id_get_name
+#undef snd_ctl_elem_id_get_index
+#undef snd_ctl_elem_id_set_numid
+#undef snd_ctl_elem_id_set_interface
+#undef snd_ctl_elem_id_set_device
+#undef snd_ctl_elem_id_set_subdevice
+#undef snd_ctl_elem_id_set_name
+#undef snd_ctl_elem_id_set_index
+#undef snd_ctl_card_info_sizeof
+#undef snd_ctl_card_info_malloc
+#undef snd_ctl_card_info_free
+#undef snd_ctl_card_info_clear
+#undef snd_ctl_card_info_copy
+#undef snd_ctl_card_info_get_card
+#undef snd_ctl_card_info_get_id
+#undef snd_ctl_card_info_get_driver
+#undef snd_ctl_card_info_get_name
+#undef snd_ctl_card_info_get_longname
+#undef snd_ctl_card_info_get_mixername
+#undef snd_ctl_card_info_get_components
+#undef snd_ctl_event_sizeof
+#undef snd_ctl_event_malloc
+#undef snd_ctl_event_free
+#undef snd_ctl_event_clear
+#undef snd_ctl_event_copy
+#undef snd_ctl_event_get_type
+#undef snd_ctl_elem_list_sizeof
+#undef snd_ctl_elem_list_malloc
+#undef snd_ctl_elem_list_free
+#undef snd_ctl_elem_list_clear
+#undef snd_ctl_elem_list_copy
+#undef snd_ctl_elem_list_set_offset
+#undef snd_ctl_elem_list_get_used
+#undef snd_ctl_elem_list_get_count
+#undef snd_ctl_elem_list_get_id
+#undef snd_ctl_elem_list_get_numid
+#undef snd_ctl_elem_list_get_interface
+#undef snd_ctl_elem_list_get_device
+#undef snd_ctl_elem_list_get_subdevice
+#undef snd_ctl_elem_list_get_name
+#undef snd_ctl_elem_list_get_index
+#undef snd_ctl_elem_info_sizeof
+#undef snd_ctl_elem_info_malloc
+#undef snd_ctl_elem_info_free
+#undef snd_ctl_elem_info_clear
+#undef snd_ctl_elem_info_copy
+#undef snd_ctl_elem_info_get_type
+#undef snd_ctl_elem_info_is_readable
+#undef snd_ctl_elem_info_is_writable
+#undef snd_ctl_elem_info_is_volatile
+#undef snd_ctl_elem_info_is_inactive
+#undef snd_ctl_elem_info_is_locked
+#undef snd_ctl_elem_info_is_tlv_readable
+#undef snd_ctl_elem_info_is_tlv_writable
+#undef snd_ctl_elem_info_is_tlv_commandable
+#undef snd_ctl_elem_info_is_owner
+#undef snd_ctl_elem_info_is_user
+#undef snd_ctl_elem_info_get_owner
+#undef snd_ctl_elem_info_get_count
+#undef snd_ctl_elem_info_get_min
+#undef snd_ctl_elem_info_get_max
+#undef snd_ctl_elem_info_get_step
+#undef snd_ctl_elem_info_get_min64
+#undef snd_ctl_elem_info_get_max64
+#undef snd_ctl_elem_info_get_step64
+#undef snd_ctl_elem_info_get_items
+#undef snd_ctl_elem_info_set_item
+#undef snd_ctl_elem_info_get_item_name
+#undef snd_ctl_elem_info_get_dimensions
+#undef snd_ctl_elem_info_get_dimension
+#undef snd_ctl_elem_info_set_dimension
+#undef snd_ctl_elem_info_get_id
+#undef snd_ctl_elem_info_get_numid
+#undef snd_ctl_elem_info_get_interface
+#undef snd_ctl_elem_info_get_device
+#undef snd_ctl_elem_info_get_subdevice
+#undef snd_ctl_elem_info_get_name
+#undef snd_ctl_elem_info_get_index
+#undef snd_ctl_elem_info_set_id
+#undef snd_ctl_elem_info_set_numid
+#undef snd_ctl_elem_info_set_interface
+#undef snd_ctl_elem_info_set_device
+#undef snd_ctl_elem_info_set_subdevice
+#undef snd_ctl_elem_info_set_name
+#undef snd_ctl_elem_info_set_index
+#undef snd_ctl_add_integer_elem_set
+#undef snd_ctl_add_integer64_elem_set
+#undef snd_ctl_add_boolean_elem_set
+#undef snd_ctl_add_enumerated_elem_set
+#undef snd_ctl_add_bytes_elem_set
+#undef snd_ctl_elem_add_integer
+#undef snd_ctl_elem_add_integer64
+#undef snd_ctl_elem_add_boolean
+#undef snd_ctl_elem_add_enumerated
+#undef snd_ctl_elem_add_iec958
+#undef snd_ctl_elem_remove
+#undef snd_ctl_elem_value_sizeof
+#undef snd_ctl_elem_value_malloc
+#undef snd_ctl_elem_value_free
+#undef snd_ctl_elem_value_clear
+#undef snd_ctl_elem_value_copy
+#undef snd_ctl_elem_value_compare
+#undef snd_ctl_elem_value_get_id
+#undef snd_ctl_elem_value_get_numid
+#undef snd_ctl_elem_value_get_interface
+#undef snd_ctl_elem_value_get_device
+#undef snd_ctl_elem_value_get_subdevice
+#undef snd_ctl_elem_value_get_name
+#undef snd_ctl_elem_value_get_index
+#undef snd_ctl_elem_value_set_id
+#undef snd_ctl_elem_value_set_numid
+#undef snd_ctl_elem_value_set_interface
+#undef snd_ctl_elem_value_set_device
+#undef snd_ctl_elem_value_set_subdevice
+#undef snd_ctl_elem_value_set_name
+#undef snd_ctl_elem_value_set_index
+#undef snd_ctl_elem_value_get_boolean
+#undef snd_ctl_elem_value_get_integer
+#undef snd_ctl_elem_value_get_integer64
+#undef snd_ctl_elem_value_get_enumerated
+#undef snd_ctl_elem_value_get_byte
+#undef snd_ctl_elem_value_set_boolean
+#undef snd_ctl_elem_value_set_integer
+#undef snd_ctl_elem_value_set_integer64
+#undef snd_ctl_elem_value_set_enumerated
+#undef snd_ctl_elem_value_set_byte
+#undef snd_ctl_elem_set_bytes
+#undef snd_ctl_elem_value_get_bytes
+#undef snd_ctl_elem_value_get_iec958
+#undef snd_ctl_elem_value_set_iec958
+#undef snd_tlv_parse_dB_info
+#undef snd_tlv_get_dB_range
+#undef snd_tlv_convert_to_dB
+#undef snd_tlv_convert_from_dB
+#undef snd_ctl_get_dB_range
+#undef snd_ctl_convert_to_dB
+#undef snd_ctl_convert_from_dB
+#undef snd_hctl_compare_fast
+#undef snd_hctl_open
+#undef snd_hctl_open_ctl
+#undef snd_hctl_close
+#undef snd_hctl_nonblock
+#undef snd_hctl_poll_descriptors_count
+#undef snd_hctl_poll_descriptors
+#undef snd_hctl_poll_descriptors_revents
+#undef snd_hctl_get_count
+#undef snd_hctl_set_compare
+#undef snd_hctl_first_elem
+#undef snd_hctl_last_elem
+#undef snd_hctl_find_elem
+#undef snd_hctl_set_callback
+#undef snd_hctl_set_callback_private
+#undef snd_hctl_get_callback_private
+#undef snd_hctl_load
+#undef snd_hctl_free
+#undef snd_hctl_handle_events
+#undef snd_hctl_name
+#undef snd_hctl_wait
+#undef snd_hctl_ctl
+#undef snd_hctl_elem_next
+#undef snd_hctl_elem_prev
+#undef snd_hctl_elem_info
+#undef snd_hctl_elem_read
+#undef snd_hctl_elem_write
+#undef snd_hctl_elem_tlv_read
+#undef snd_hctl_elem_tlv_write
+#undef snd_hctl_elem_tlv_command
+#undef snd_hctl_elem_get_hctl
+#undef snd_hctl_elem_get_id
+#undef snd_hctl_elem_get_numid
+#undef snd_hctl_elem_get_interface
+#undef snd_hctl_elem_get_device
+#undef snd_hctl_elem_get_subdevice
+#undef snd_hctl_elem_get_name
+#undef snd_hctl_elem_get_index
+#undef snd_hctl_elem_set_callback
+#undef snd_hctl_elem_get_callback_private
+#undef snd_hctl_elem_set_callback_private
+#undef snd_sctl_build
+#undef snd_sctl_free
+#undef snd_sctl_install
+#undef snd_sctl_remove
+#undef snd_mixer_open
+#undef snd_mixer_close
+#undef snd_mixer_first_elem
+#undef snd_mixer_last_elem
+#undef snd_mixer_handle_events
+#undef snd_mixer_attach
+#undef snd_mixer_attach_hctl
+#undef snd_mixer_detach
+#undef snd_mixer_detach_hctl
+#undef snd_mixer_get_hctl
+#undef snd_mixer_poll_descriptors_count
+#undef snd_mixer_poll_descriptors
+#undef snd_mixer_poll_descriptors_revents
+#undef snd_mixer_load
+#undef snd_mixer_free
+#undef snd_mixer_wait
+#undef snd_mixer_set_compare
+#undef snd_mixer_set_callback
+#undef snd_mixer_get_callback_private
+#undef snd_mixer_set_callback_private
+#undef snd_mixer_get_count
+#undef snd_mixer_class_unregister
+#undef snd_mixer_elem_next
+#undef snd_mixer_elem_prev
+#undef snd_mixer_elem_set_callback
+#undef snd_mixer_elem_get_callback_private
+#undef snd_mixer_elem_set_callback_private
+#undef snd_mixer_elem_get_type
+#undef snd_mixer_class_register
+#undef snd_mixer_elem_new
+#undef snd_mixer_elem_add
+#undef snd_mixer_elem_remove
+#undef snd_mixer_elem_free
+#undef snd_mixer_elem_info
+#undef snd_mixer_elem_value
+#undef snd_mixer_elem_attach
+#undef snd_mixer_elem_detach
+#undef snd_mixer_elem_empty
+#undef snd_mixer_elem_get_private
+#undef snd_mixer_class_sizeof
+#undef snd_mixer_class_malloc
+#undef snd_mixer_class_free
+#undef snd_mixer_class_copy
+#undef snd_mixer_class_get_mixer
+#undef snd_mixer_class_get_event
+#undef snd_mixer_class_get_private
+#undef snd_mixer_class_get_compare
+#undef snd_mixer_class_set_event
+#undef snd_mixer_class_set_private
+#undef snd_mixer_class_set_private_free
+#undef snd_mixer_class_set_compare
+#undef snd_mixer_selem_channel_name
+#undef snd_mixer_selem_register
+#undef snd_mixer_selem_get_id
+#undef snd_mixer_selem_get_name
+#undef snd_mixer_selem_get_index
+#undef snd_mixer_find_selem
+#undef snd_mixer_selem_is_active
+#undef snd_mixer_selem_is_playback_mono
+#undef snd_mixer_selem_has_playback_channel
+#undef snd_mixer_selem_is_capture_mono
+#undef snd_mixer_selem_has_capture_channel
+#undef snd_mixer_selem_get_capture_group
+#undef snd_mixer_selem_has_common_volume
+#undef snd_mixer_selem_has_playback_volume
+#undef snd_mixer_selem_has_playback_volume_joined
+#undef snd_mixer_selem_has_capture_volume
+#undef snd_mixer_selem_has_capture_volume_joined
+#undef snd_mixer_selem_has_common_switch
+#undef snd_mixer_selem_has_playback_switch
+#undef snd_mixer_selem_has_playback_switch_joined
+#undef snd_mixer_selem_has_capture_switch
+#undef snd_mixer_selem_has_capture_switch_joined
+#undef snd_mixer_selem_has_capture_switch_exclusive
+#undef snd_mixer_selem_ask_playback_vol_dB
+#undef snd_mixer_selem_ask_capture_vol_dB
+#undef snd_mixer_selem_ask_playback_dB_vol
+#undef snd_mixer_selem_ask_capture_dB_vol
+#undef snd_mixer_selem_get_playback_volume
+#undef snd_mixer_selem_get_capture_volume
+#undef snd_mixer_selem_get_playback_dB
+#undef snd_mixer_selem_get_capture_dB
+#undef snd_mixer_selem_get_playback_switch
+#undef snd_mixer_selem_get_capture_switch
+#undef snd_mixer_selem_set_playback_volume
+#undef snd_mixer_selem_set_capture_volume
+#undef snd_mixer_selem_set_playback_dB
+#undef snd_mixer_selem_set_capture_dB
+#undef snd_mixer_selem_set_playback_volume_all
+#undef snd_mixer_selem_set_capture_volume_all
+#undef snd_mixer_selem_set_playback_dB_all
+#undef snd_mixer_selem_set_capture_dB_all
+#undef snd_mixer_selem_set_playback_switch
+#undef snd_mixer_selem_set_capture_switch
+#undef snd_mixer_selem_set_playback_switch_all
+#undef snd_mixer_selem_set_capture_switch_all
+#undef snd_mixer_selem_get_playback_volume_range
+#undef snd_mixer_selem_get_playback_dB_range
+#undef snd_mixer_selem_set_playback_volume_range
+#undef snd_mixer_selem_get_capture_volume_range
+#undef snd_mixer_selem_get_capture_dB_range
+#undef snd_mixer_selem_set_capture_volume_range
+#undef snd_mixer_selem_is_enumerated
+#undef snd_mixer_selem_is_enum_playback
+#undef snd_mixer_selem_is_enum_capture
+#undef snd_mixer_selem_get_enum_items
+#undef snd_mixer_selem_get_enum_item_name
+#undef snd_mixer_selem_get_enum_item
+#undef snd_mixer_selem_set_enum_item
+#undef snd_mixer_selem_id_sizeof
+#undef snd_mixer_selem_id_malloc
+#undef snd_mixer_selem_id_free
+#undef snd_mixer_selem_id_copy
+#undef snd_mixer_selem_id_get_name
+#undef snd_mixer_selem_id_get_index
+#undef snd_mixer_selem_id_set_name
+#undef snd_mixer_selem_id_set_index
+#undef snd_mixer_selem_id_parse
+#undef snd_seq_open
+#undef snd_seq_open_lconf
+#undef snd_seq_name
+#undef snd_seq_type
+#undef snd_seq_close
+#undef snd_seq_poll_descriptors_count
+#undef snd_seq_poll_descriptors
+#undef snd_seq_poll_descriptors_revents
+#undef snd_seq_nonblock
+#undef snd_seq_client_id
+#undef snd_seq_get_output_buffer_size
+#undef snd_seq_get_input_buffer_size
+#undef snd_seq_set_output_buffer_size
+#undef snd_seq_set_input_buffer_size
+#undef snd_seq_system_info_sizeof
+#undef snd_seq_system_info_malloc
+#undef snd_seq_system_info_free
+#undef snd_seq_system_info_copy
+#undef snd_seq_system_info_get_queues
+#undef snd_seq_system_info_get_clients
+#undef snd_seq_system_info_get_ports
+#undef snd_seq_system_info_get_channels
+#undef snd_seq_system_info_get_cur_clients
+#undef snd_seq_system_info_get_cur_queues
+#undef snd_seq_system_info
+#undef snd_seq_client_info_sizeof
+#undef snd_seq_client_info_malloc
+#undef snd_seq_client_info_free
+#undef snd_seq_client_info_copy
+#undef snd_seq_client_info_get_client
+#undef snd_seq_client_info_get_type
+#undef snd_seq_client_info_get_name
+#undef snd_seq_client_info_get_broadcast_filter
+#undef snd_seq_client_info_get_error_bounce
+#undef snd_seq_client_info_get_card
+#undef snd_seq_client_info_get_pid
+#undef snd_seq_client_info_get_event_filter
+#undef snd_seq_client_info_get_num_ports
+#undef snd_seq_client_info_get_event_lost
+#undef snd_seq_client_info_set_client
+#undef snd_seq_client_info_set_name
+#undef snd_seq_client_info_set_broadcast_filter
+#undef snd_seq_client_info_set_error_bounce
+#undef snd_seq_client_info_set_event_filter
+#undef snd_seq_client_info_event_filter_clear
+#undef snd_seq_client_info_event_filter_add
+#undef snd_seq_client_info_event_filter_del
+#undef snd_seq_client_info_event_filter_check
+#undef snd_seq_get_client_info
+#undef snd_seq_get_any_client_info
+#undef snd_seq_set_client_info
+#undef snd_seq_query_next_client
+#undef snd_seq_client_pool_sizeof
+#undef snd_seq_client_pool_malloc
+#undef snd_seq_client_pool_free
+#undef snd_seq_client_pool_copy
+#undef snd_seq_client_pool_get_client
+#undef snd_seq_client_pool_get_output_pool
+#undef snd_seq_client_pool_get_input_pool
+#undef snd_seq_client_pool_get_output_room
+#undef snd_seq_client_pool_get_output_free
+#undef snd_seq_client_pool_get_input_free
+#undef snd_seq_client_pool_set_output_pool
+#undef snd_seq_client_pool_set_input_pool
+#undef snd_seq_client_pool_set_output_room
+#undef snd_seq_get_client_pool
+#undef snd_seq_set_client_pool
+#undef snd_seq_port_info_sizeof
+#undef snd_seq_port_info_malloc
+#undef snd_seq_port_info_free
+#undef snd_seq_port_info_copy
+#undef snd_seq_port_info_get_client
+#undef snd_seq_port_info_get_port
+#undef snd_seq_port_info_get_addr
+#undef snd_seq_port_info_get_name
+#undef snd_seq_port_info_get_capability
+#undef snd_seq_port_info_get_type
+#undef snd_seq_port_info_get_midi_channels
+#undef snd_seq_port_info_get_midi_voices
+#undef snd_seq_port_info_get_synth_voices
+#undef snd_seq_port_info_get_read_use
+#undef snd_seq_port_info_get_write_use
+#undef snd_seq_port_info_get_port_specified
+#undef snd_seq_port_info_get_timestamping
+#undef snd_seq_port_info_get_timestamp_real
+#undef snd_seq_port_info_get_timestamp_queue
+#undef snd_seq_port_info_set_client
+#undef snd_seq_port_info_set_port
+#undef snd_seq_port_info_set_addr
+#undef snd_seq_port_info_set_name
+#undef snd_seq_port_info_set_capability
+#undef snd_seq_port_info_set_type
+#undef snd_seq_port_info_set_midi_channels
+#undef snd_seq_port_info_set_midi_voices
+#undef snd_seq_port_info_set_synth_voices
+#undef snd_seq_port_info_set_port_specified
+#undef snd_seq_port_info_set_timestamping
+#undef snd_seq_port_info_set_timestamp_real
+#undef snd_seq_port_info_set_timestamp_queue
+#undef snd_seq_create_port
+#undef snd_seq_delete_port
+#undef snd_seq_get_port_info
+#undef snd_seq_get_any_port_info
+#undef snd_seq_set_port_info
+#undef snd_seq_query_next_port
+#undef snd_seq_port_subscribe_sizeof
+#undef snd_seq_port_subscribe_malloc
+#undef snd_seq_port_subscribe_free
+#undef snd_seq_port_subscribe_copy
+#undef snd_seq_port_subscribe_get_sender
+#undef snd_seq_port_subscribe_get_dest
+#undef snd_seq_port_subscribe_get_queue
+#undef snd_seq_port_subscribe_get_exclusive
+#undef snd_seq_port_subscribe_get_time_update
+#undef snd_seq_port_subscribe_get_time_real
+#undef snd_seq_port_subscribe_set_sender
+#undef snd_seq_port_subscribe_set_dest
+#undef snd_seq_port_subscribe_set_queue
+#undef snd_seq_port_subscribe_set_exclusive
+#undef snd_seq_port_subscribe_set_time_update
+#undef snd_seq_port_subscribe_set_time_real
+#undef snd_seq_get_port_subscription
+#undef snd_seq_subscribe_port
+#undef snd_seq_unsubscribe_port
+#undef snd_seq_query_subscribe_sizeof
+#undef snd_seq_query_subscribe_malloc
+#undef snd_seq_query_subscribe_free
+#undef snd_seq_query_subscribe_copy
+#undef snd_seq_query_subscribe_get_client
+#undef snd_seq_query_subscribe_get_port
+#undef snd_seq_query_subscribe_get_root
+#undef snd_seq_query_subscribe_get_type
+#undef snd_seq_query_subscribe_get_index
+#undef snd_seq_query_subscribe_get_num_subs
+#undef snd_seq_query_subscribe_get_addr
+#undef snd_seq_query_subscribe_get_queue
+#undef snd_seq_query_subscribe_get_exclusive
+#undef snd_seq_query_subscribe_get_time_update
+#undef snd_seq_query_subscribe_get_time_real
+#undef snd_seq_query_subscribe_set_client
+#undef snd_seq_query_subscribe_set_port
+#undef snd_seq_query_subscribe_set_root
+#undef snd_seq_query_subscribe_set_type
+#undef snd_seq_query_subscribe_set_index
+#undef snd_seq_query_port_subscribers
+#undef snd_seq_queue_info_sizeof
+#undef snd_seq_queue_info_malloc
+#undef snd_seq_queue_info_free
+#undef snd_seq_queue_info_copy
+#undef snd_seq_queue_info_get_queue
+#undef snd_seq_queue_info_get_name
+#undef snd_seq_queue_info_get_owner
+#undef snd_seq_queue_info_get_locked
+#undef snd_seq_queue_info_get_flags
+#undef snd_seq_queue_info_set_name
+#undef snd_seq_queue_info_set_owner
+#undef snd_seq_queue_info_set_locked
+#undef snd_seq_queue_info_set_flags
+#undef snd_seq_create_queue
+#undef snd_seq_alloc_named_queue
+#undef snd_seq_alloc_queue
+#undef snd_seq_free_queue
+#undef snd_seq_get_queue_info
+#undef snd_seq_set_queue_info
+#undef snd_seq_query_named_queue
+#undef snd_seq_get_queue_usage
+#undef snd_seq_set_queue_usage
+#undef snd_seq_queue_status_sizeof
+#undef snd_seq_queue_status_malloc
+#undef snd_seq_queue_status_free
+#undef snd_seq_queue_status_copy
+#undef snd_seq_queue_status_get_queue
+#undef snd_seq_queue_status_get_events
+#undef snd_seq_queue_status_get_tick_time
+#undef snd_seq_queue_status_get_real_time
+#undef snd_seq_queue_status_get_status
+#undef snd_seq_get_queue_status
+#undef snd_seq_queue_tempo_sizeof
+#undef snd_seq_queue_tempo_malloc
+#undef snd_seq_queue_tempo_free
+#undef snd_seq_queue_tempo_copy
+#undef snd_seq_queue_tempo_get_queue
+#undef snd_seq_queue_tempo_get_tempo
+#undef snd_seq_queue_tempo_get_ppq
+#undef snd_seq_queue_tempo_get_skew
+#undef snd_seq_queue_tempo_get_skew_base
+#undef snd_seq_queue_tempo_set_tempo
+#undef snd_seq_queue_tempo_set_ppq
+#undef snd_seq_queue_tempo_set_skew
+#undef snd_seq_queue_tempo_set_skew_base
+#undef snd_seq_get_queue_tempo
+#undef snd_seq_set_queue_tempo
+#undef snd_seq_queue_timer_sizeof
+#undef snd_seq_queue_timer_malloc
+#undef snd_seq_queue_timer_free
+#undef snd_seq_queue_timer_copy
+#undef snd_seq_queue_timer_get_queue
+#undef snd_seq_queue_timer_get_type
+#undef snd_seq_queue_timer_get_id
+#undef snd_seq_queue_timer_get_resolution
+#undef snd_seq_queue_timer_set_type
+#undef snd_seq_queue_timer_set_id
+#undef snd_seq_queue_timer_set_resolution
+#undef snd_seq_get_queue_timer
+#undef snd_seq_set_queue_timer
+#undef snd_seq_free_event
+#undef snd_seq_event_length
+#undef snd_seq_event_output
+#undef snd_seq_event_output_buffer
+#undef snd_seq_event_output_direct
+#undef snd_seq_event_input
+#undef snd_seq_event_input_pending
+#undef snd_seq_drain_output
+#undef snd_seq_event_output_pending
+#undef snd_seq_extract_output
+#undef snd_seq_drop_output
+#undef snd_seq_drop_output_buffer
+#undef snd_seq_drop_input
+#undef snd_seq_drop_input_buffer
+#undef snd_seq_remove_events_sizeof
+#undef snd_seq_remove_events_malloc
+#undef snd_seq_remove_events_free
+#undef snd_seq_remove_events_copy
+#undef snd_seq_remove_events_get_condition
+#undef snd_seq_remove_events_get_queue
+#undef snd_seq_remove_events_get_time
+#undef snd_seq_remove_events_get_dest
+#undef snd_seq_remove_events_get_channel
+#undef snd_seq_remove_events_get_event_type
+#undef snd_seq_remove_events_get_tag
+#undef snd_seq_remove_events_set_condition
+#undef snd_seq_remove_events_set_queue
+#undef snd_seq_remove_events_set_time
+#undef snd_seq_remove_events_set_dest
+#undef snd_seq_remove_events_set_channel
+#undef snd_seq_remove_events_set_event_type
+#undef snd_seq_remove_events_set_tag
+#undef snd_seq_remove_events
+#undef snd_seq_set_bit
+#undef snd_seq_unset_bit
+#undef snd_seq_change_bit
+#undef snd_seq_get_bit
+#undef snd_seq_control_queue
+#undef snd_seq_create_simple_port
+#undef snd_seq_delete_simple_port
+#undef snd_seq_connect_from
+#undef snd_seq_connect_to
+#undef snd_seq_disconnect_from
+#undef snd_seq_disconnect_to
+#undef snd_seq_set_client_name
+#undef snd_seq_set_client_event_filter
+#undef snd_seq_set_client_pool_output
+#undef snd_seq_set_client_pool_output_room
+#undef snd_seq_set_client_pool_input
+#undef snd_seq_sync_output_queue
+#undef snd_seq_parse_address
+#undef snd_seq_reset_pool_output
+#undef snd_seq_reset_pool_input
+#undef snd_midi_event_new
+#undef snd_midi_event_resize_buffer
+#undef snd_midi_event_free
+#undef snd_midi_event_init
+#undef snd_midi_event_reset_encode
+#undef snd_midi_event_reset_decode
+#undef snd_midi_event_no_status
+#undef snd_midi_event_encode
+#undef snd_midi_event_encode_byte
+#undef snd_midi_event_decode
+#ifdef __cplusplus
+extern "C" {
+#endif
+extern const char* (*snd_asoundlib_version)( void);
+extern int (*snd_dlpath)( char*, size_t,const char*);
+extern void* (*snd_dlopen)(const char*, int, char*, size_t);
+extern void* (*snd_dlsym)( void*,const char*,const char*);
+extern int (*snd_dlclose)( void*);
+extern int (*snd_async_add_handler)( snd_async_handler_t**, int, snd_async_callback_t, void*);
+extern int (*snd_async_del_handler)( snd_async_handler_t*);
+extern int (*snd_async_handler_get_fd)( snd_async_handler_t*);
+extern int (*snd_async_handler_get_signo)( snd_async_handler_t*);
+extern void* (*snd_async_handler_get_callback_private)( snd_async_handler_t*);
+extern struct snd_shm_area* (*snd_shm_area_create)( int, void*);
+extern struct snd_shm_area* (*snd_shm_area_share)(struct snd_shm_area*);
+extern int (*snd_shm_area_destroy)(struct snd_shm_area*);
+extern int (*snd_user_file)(const char*, char**);
+extern int (*snd_input_stdio_open)( snd_input_t**,const char*,const char*);
+extern int (*snd_input_stdio_attach)( snd_input_t**, FILE*, int);
+extern int (*snd_input_buffer_open)( snd_input_t**,const char*, ssize_t);
+extern int (*snd_input_close)( snd_input_t*);
+extern int (*snd_input_scanf)( snd_input_t*,const char*,...);
+extern char* (*snd_input_gets)( snd_input_t*, char*, size_t);
+extern int (*snd_input_getc)( snd_input_t*);
+extern int (*snd_input_ungetc)( snd_input_t*, int);
+extern int (*snd_output_stdio_open)( snd_output_t**,const char*,const char*);
+extern int (*snd_output_stdio_attach)( snd_output_t**, FILE*, int);
+extern int (*snd_output_buffer_open)( snd_output_t**);
+extern size_t (*snd_output_buffer_string)( snd_output_t*, char**);
+extern int (*snd_output_close)( snd_output_t*);
+extern int (*snd_output_printf)( snd_output_t*,const char*,...);
+extern int (*snd_output_vprintf)( snd_output_t*,const char*, va_list);
+extern int (*snd_output_puts)( snd_output_t*,const char*);
+extern int (*snd_output_putc)( snd_output_t*, int);
+extern int (*snd_output_flush)( snd_output_t*);
+extern const char* (*snd_strerror)( int);
+extern int (*snd_lib_error_set_handler)( snd_lib_error_handler_t);
+extern snd_local_error_handler_t (*snd_lib_error_set_local)( snd_local_error_handler_t);
+extern const char* (*snd_config_topdir)( void);
+extern int (*snd_config_top)( snd_config_t**);
+extern int (*snd_config_load)( snd_config_t*, snd_input_t*);
+extern int (*snd_config_load_override)( snd_config_t*, snd_input_t*);
+extern int (*snd_config_save)( snd_config_t*, snd_output_t*);
+extern int (*snd_config_update)( void);
+extern int (*snd_config_update_r)( snd_config_t**, snd_config_update_t**,const char*);
+extern int (*snd_config_update_free)( snd_config_update_t*);
+extern int (*snd_config_update_free_global)( void);
+extern int (*snd_config_update_ref)( snd_config_t**);
+extern void (*snd_config_ref)( snd_config_t*);
+extern void (*snd_config_unref)( snd_config_t*);
+extern int (*snd_config_search)( snd_config_t*,const char*, snd_config_t**);
+extern int (*snd_config_searchv)( snd_config_t*, snd_config_t**,...);
+extern int (*snd_config_search_definition)( snd_config_t*,const char*,const char*, snd_config_t**);
+extern int (*snd_config_expand)( snd_config_t*, snd_config_t*,const char*, snd_config_t*, snd_config_t**);
+extern int (*snd_config_evaluate)( snd_config_t*, snd_config_t*, snd_config_t*, snd_config_t**);
+extern int (*snd_config_add)( snd_config_t*, snd_config_t*);
+extern int (*snd_config_add_before)( snd_config_t*, snd_config_t*);
+extern int (*snd_config_add_after)( snd_config_t*, snd_config_t*);
+extern int (*snd_config_remove)( snd_config_t*);
+extern int (*snd_config_delete)( snd_config_t*);
+extern int (*snd_config_delete_compound_members)(const snd_config_t*);
+extern int (*snd_config_copy)( snd_config_t**, snd_config_t*);
+extern int (*snd_config_make)( snd_config_t**,const char*, snd_config_type_t);
+extern int (*snd_config_make_integer)( snd_config_t**,const char*);
+extern int (*snd_config_make_integer64)( snd_config_t**,const char*);
+extern int (*snd_config_make_real)( snd_config_t**,const char*);
+extern int (*snd_config_make_string)( snd_config_t**,const char*);
+extern int (*snd_config_make_pointer)( snd_config_t**,const char*);
+extern int (*snd_config_make_compound)( snd_config_t**,const char*, int);
+extern int (*snd_config_imake_integer)( snd_config_t**,const char*,const long);
+extern int (*snd_config_imake_integer64)( snd_config_t**,const char*,const long long);
+extern int (*snd_config_imake_real)( snd_config_t**,const char*,const double);
+extern int (*snd_config_imake_string)( snd_config_t**,const char*,const char*);
+extern int (*snd_config_imake_safe_string)( snd_config_t**,const char*,const char*);
+extern int (*snd_config_imake_pointer)( snd_config_t**,const char*,const void*);
+extern snd_config_type_t (*snd_config_get_type)(const snd_config_t*);
+extern int (*snd_config_is_array)(const snd_config_t*);
+extern int (*snd_config_set_id)( snd_config_t*,const char*);
+extern int (*snd_config_set_integer)( snd_config_t*, long);
+extern int (*snd_config_set_integer64)( snd_config_t*, long long);
+extern int (*snd_config_set_real)( snd_config_t*, double);
+extern int (*snd_config_set_string)( snd_config_t*,const char*);
+extern int (*snd_config_set_ascii)( snd_config_t*,const char*);
+extern int (*snd_config_set_pointer)( snd_config_t*,const void*);
+extern int (*snd_config_get_id)(const snd_config_t*,const char**);
+extern int (*snd_config_get_integer)(const snd_config_t*, long*);
+extern int (*snd_config_get_integer64)(const snd_config_t*, long long*);
+extern int (*snd_config_get_real)(const snd_config_t*, double*);
+extern int (*snd_config_get_ireal)(const snd_config_t*, double*);
+extern int (*snd_config_get_string)(const snd_config_t*,const char**);
+extern int (*snd_config_get_ascii)(const snd_config_t*, char**);
+extern int (*snd_config_get_pointer)(const snd_config_t*,const void**);
+extern int (*snd_config_test_id)(const snd_config_t*,const char*);
+extern snd_config_iterator_t (*snd_config_iterator_first)(const snd_config_t*);
+extern snd_config_iterator_t (*snd_config_iterator_next)(const snd_config_iterator_t);
+extern snd_config_iterator_t (*snd_config_iterator_end)(const snd_config_t*);
+extern snd_config_t* (*snd_config_iterator_entry)(const snd_config_iterator_t);
+extern int (*snd_config_get_bool_ascii)(const char*);
+extern int (*snd_config_get_bool)(const snd_config_t*);
+extern int (*snd_config_get_ctl_iface_ascii)(const char*);
+extern int (*snd_config_get_ctl_iface)(const snd_config_t*);
+extern int (*snd_names_list)(const char*, snd_devname_t**);
+extern void (*snd_names_list_free)( snd_devname_t*);
+extern int (*snd_pcm_open)( snd_pcm_t**,const char*, snd_pcm_stream_t, int);
+extern int (*snd_pcm_open_lconf)( snd_pcm_t**,const char*, snd_pcm_stream_t, int, snd_config_t*);
+extern int (*snd_pcm_open_fallback)( snd_pcm_t**, snd_config_t*,const char*,const char*, snd_pcm_stream_t, int);
+extern int (*snd_pcm_close)( snd_pcm_t*);
+extern const char* (*snd_pcm_name)( snd_pcm_t*);
+extern snd_pcm_type_t (*snd_pcm_type)( snd_pcm_t*);
+extern snd_pcm_stream_t (*snd_pcm_stream)( snd_pcm_t*);
+extern int (*snd_pcm_poll_descriptors_count)( snd_pcm_t*);
+extern int (*snd_pcm_poll_descriptors)( snd_pcm_t*,struct pollfd*, unsigned int);
+extern int (*snd_pcm_poll_descriptors_revents)( snd_pcm_t*,struct pollfd*, unsigned int, unsigned short*);
+extern int (*snd_pcm_nonblock)( snd_pcm_t*, int);
+extern int (*snd_async_add_pcm_handler)( snd_async_handler_t**, snd_pcm_t*, snd_async_callback_t, void*);
+extern snd_pcm_t* (*snd_async_handler_get_pcm)( snd_async_handler_t*);
+extern int (*snd_pcm_info)( snd_pcm_t*, snd_pcm_info_t*);
+extern int (*snd_pcm_hw_params_current)( snd_pcm_t*, snd_pcm_hw_params_t*);
+extern int (*snd_pcm_hw_params)( snd_pcm_t*, snd_pcm_hw_params_t*);
+extern int (*snd_pcm_hw_free)( snd_pcm_t*);
+extern int (*snd_pcm_sw_params_current)( snd_pcm_t*, snd_pcm_sw_params_t*);
+extern int (*snd_pcm_sw_params)( snd_pcm_t*, snd_pcm_sw_params_t*);
+extern int (*snd_pcm_prepare)( snd_pcm_t*);
+extern int (*snd_pcm_reset)( snd_pcm_t*);
+extern int (*snd_pcm_status)( snd_pcm_t*, snd_pcm_status_t*);
+extern int (*snd_pcm_start)( snd_pcm_t*);
+extern int (*snd_pcm_drop)( snd_pcm_t*);
+extern int (*snd_pcm_drain)( snd_pcm_t*);
+extern int (*snd_pcm_pause)( snd_pcm_t*, int);
+extern snd_pcm_state_t (*snd_pcm_state)( snd_pcm_t*);
+extern int (*snd_pcm_hwsync)( snd_pcm_t*);
+extern int (*snd_pcm_delay)( snd_pcm_t*, snd_pcm_sframes_t*);
+extern int (*snd_pcm_resume)( snd_pcm_t*);
+extern int (*snd_pcm_htimestamp)( snd_pcm_t*, snd_pcm_uframes_t*, snd_htimestamp_t*);
+extern snd_pcm_sframes_t (*snd_pcm_avail)( snd_pcm_t*);
+extern snd_pcm_sframes_t (*snd_pcm_avail_update)( snd_pcm_t*);
+extern int (*snd_pcm_avail_delay)( snd_pcm_t*, snd_pcm_sframes_t*, snd_pcm_sframes_t*);
+extern snd_pcm_sframes_t (*snd_pcm_rewindable)( snd_pcm_t*);
+extern snd_pcm_sframes_t (*snd_pcm_rewind)( snd_pcm_t*, snd_pcm_uframes_t);
+extern snd_pcm_sframes_t (*snd_pcm_forwardable)( snd_pcm_t*);
+extern snd_pcm_sframes_t (*snd_pcm_forward)( snd_pcm_t*, snd_pcm_uframes_t);
+extern snd_pcm_sframes_t (*snd_pcm_writei)( snd_pcm_t*,const void*, snd_pcm_uframes_t);
+extern snd_pcm_sframes_t (*snd_pcm_readi)( snd_pcm_t*, void*, snd_pcm_uframes_t);
+extern snd_pcm_sframes_t (*snd_pcm_writen)( snd_pcm_t*, void**, snd_pcm_uframes_t);
+extern snd_pcm_sframes_t (*snd_pcm_readn)( snd_pcm_t*, void**, snd_pcm_uframes_t);
+extern int (*snd_pcm_wait)( snd_pcm_t*, int);
+extern int (*snd_pcm_link)( snd_pcm_t*, snd_pcm_t*);
+extern int (*snd_pcm_unlink)( snd_pcm_t*);
+extern snd_pcm_chmap_query_t** (*snd_pcm_query_chmaps)( snd_pcm_t*);
+extern snd_pcm_chmap_query_t** (*snd_pcm_query_chmaps_from_hw)( int, int, int, snd_pcm_stream_t);
+extern void (*snd_pcm_free_chmaps)( snd_pcm_chmap_query_t**);
+extern snd_pcm_chmap_t* (*snd_pcm_get_chmap)( snd_pcm_t*);
+extern int (*snd_pcm_set_chmap)( snd_pcm_t*,const snd_pcm_chmap_t*);
+extern const char* (*snd_pcm_chmap_type_name)(enum snd_pcm_chmap_type);
+extern const char* (*snd_pcm_chmap_name)(enum snd_pcm_chmap_position);
+extern const char* (*snd_pcm_chmap_long_name)(enum snd_pcm_chmap_position);
+extern int (*snd_pcm_chmap_print)(const snd_pcm_chmap_t*, size_t, char*);
+extern unsigned int (*snd_pcm_chmap_from_string)(const char*);
+extern snd_pcm_chmap_t* (*snd_pcm_chmap_parse_string)(const char*);
+extern int (*snd_pcm_recover)( snd_pcm_t*, int, int);
+extern int (*snd_pcm_set_params)( snd_pcm_t*, snd_pcm_format_t, snd_pcm_access_t, unsigned int, unsigned int, int, unsigned int);
+extern int (*snd_pcm_get_params)( snd_pcm_t*, snd_pcm_uframes_t*, snd_pcm_uframes_t*);
+extern size_t (*snd_pcm_info_sizeof)( void);
+extern int (*snd_pcm_info_malloc)( snd_pcm_info_t**);
+extern void (*snd_pcm_info_free)( snd_pcm_info_t*);
+extern void (*snd_pcm_info_copy)( snd_pcm_info_t*,const snd_pcm_info_t*);
+extern unsigned int (*snd_pcm_info_get_device)(const snd_pcm_info_t*);
+extern unsigned int (*snd_pcm_info_get_subdevice)(const snd_pcm_info_t*);
+extern snd_pcm_stream_t (*snd_pcm_info_get_stream)(const snd_pcm_info_t*);
+extern int (*snd_pcm_info_get_card)(const snd_pcm_info_t*);
+extern const char* (*snd_pcm_info_get_id)(const snd_pcm_info_t*);
+extern const char* (*snd_pcm_info_get_name)(const snd_pcm_info_t*);
+extern const char* (*snd_pcm_info_get_subdevice_name)(const snd_pcm_info_t*);
+extern snd_pcm_class_t (*snd_pcm_info_get_class)(const snd_pcm_info_t*);
+extern snd_pcm_subclass_t (*snd_pcm_info_get_subclass)(const snd_pcm_info_t*);
+extern unsigned int (*snd_pcm_info_get_subdevices_count)(const snd_pcm_info_t*);
+extern unsigned int (*snd_pcm_info_get_subdevices_avail)(const snd_pcm_info_t*);
+extern snd_pcm_sync_id_t (*snd_pcm_info_get_sync)(const snd_pcm_info_t*);
+extern void (*snd_pcm_info_set_device)( snd_pcm_info_t*, unsigned int);
+extern void (*snd_pcm_info_set_subdevice)( snd_pcm_info_t*, unsigned int);
+extern void (*snd_pcm_info_set_stream)( snd_pcm_info_t*, snd_pcm_stream_t);
+extern int (*snd_pcm_hw_params_any)( snd_pcm_t*, snd_pcm_hw_params_t*);
+extern int (*snd_pcm_hw_params_can_mmap_sample_resolution)(const snd_pcm_hw_params_t*);
+extern int (*snd_pcm_hw_params_is_double)(const snd_pcm_hw_params_t*);
+extern int (*snd_pcm_hw_params_is_batch)(const snd_pcm_hw_params_t*);
+extern int (*snd_pcm_hw_params_is_block_transfer)(const snd_pcm_hw_params_t*);
+extern int (*snd_pcm_hw_params_is_monotonic)(const snd_pcm_hw_params_t*);
+extern int (*snd_pcm_hw_params_can_overrange)(const snd_pcm_hw_params_t*);
+extern int (*snd_pcm_hw_params_can_pause)(const snd_pcm_hw_params_t*);
+extern int (*snd_pcm_hw_params_can_resume)(const snd_pcm_hw_params_t*);
+extern int (*snd_pcm_hw_params_is_half_duplex)(const snd_pcm_hw_params_t*);
+extern int (*snd_pcm_hw_params_is_joint_duplex)(const snd_pcm_hw_params_t*);
+extern int (*snd_pcm_hw_params_can_sync_start)(const snd_pcm_hw_params_t*);
+extern int (*snd_pcm_hw_params_can_disable_period_wakeup)(const snd_pcm_hw_params_t*);
+extern int (*snd_pcm_hw_params_supports_audio_wallclock_ts)(const snd_pcm_hw_params_t*);
+extern int (*snd_pcm_hw_params_supports_audio_ts_type)(const snd_pcm_hw_params_t*, int);
+extern int (*snd_pcm_hw_params_get_rate_numden)(const snd_pcm_hw_params_t*, unsigned int*, unsigned int*);
+extern int (*snd_pcm_hw_params_get_sbits)(const snd_pcm_hw_params_t*);
+extern int (*snd_pcm_hw_params_get_fifo_size)(const snd_pcm_hw_params_t*);
+extern size_t (*snd_pcm_hw_params_sizeof)( void);
+extern int (*snd_pcm_hw_params_malloc)( snd_pcm_hw_params_t**);
+extern void (*snd_pcm_hw_params_free)( snd_pcm_hw_params_t*);
+extern void (*snd_pcm_hw_params_copy)( snd_pcm_hw_params_t*,const snd_pcm_hw_params_t*);
+extern int (*snd_pcm_hw_params_get_access)(const snd_pcm_hw_params_t*, snd_pcm_access_t*);
+extern int (*snd_pcm_hw_params_test_access)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_access_t);
+extern int (*snd_pcm_hw_params_set_access)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_access_t);
+extern int (*snd_pcm_hw_params_set_access_first)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_access_t*);
+extern int (*snd_pcm_hw_params_set_access_last)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_access_t*);
+extern int (*snd_pcm_hw_params_set_access_mask)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_access_mask_t*);
+extern int (*snd_pcm_hw_params_get_access_mask)( snd_pcm_hw_params_t*, snd_pcm_access_mask_t*);
+extern int (*snd_pcm_hw_params_get_format)(const snd_pcm_hw_params_t*, snd_pcm_format_t*);
+extern int (*snd_pcm_hw_params_test_format)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_format_t);
+extern int (*snd_pcm_hw_params_set_format)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_format_t);
+extern int (*snd_pcm_hw_params_set_format_first)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_format_t*);
+extern int (*snd_pcm_hw_params_set_format_last)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_format_t*);
+extern int (*snd_pcm_hw_params_set_format_mask)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_format_mask_t*);
+extern void (*snd_pcm_hw_params_get_format_mask)( snd_pcm_hw_params_t*, snd_pcm_format_mask_t*);
+extern int (*snd_pcm_hw_params_get_subformat)(const snd_pcm_hw_params_t*, snd_pcm_subformat_t*);
+extern int (*snd_pcm_hw_params_test_subformat)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_subformat_t);
+extern int (*snd_pcm_hw_params_set_subformat)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_subformat_t);
+extern int (*snd_pcm_hw_params_set_subformat_first)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_subformat_t*);
+extern int (*snd_pcm_hw_params_set_subformat_last)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_subformat_t*);
+extern int (*snd_pcm_hw_params_set_subformat_mask)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_subformat_mask_t*);
+extern void (*snd_pcm_hw_params_get_subformat_mask)( snd_pcm_hw_params_t*, snd_pcm_subformat_mask_t*);
+extern int (*snd_pcm_hw_params_get_channels)(const snd_pcm_hw_params_t*, unsigned int*);
+extern int (*snd_pcm_hw_params_get_channels_min)(const snd_pcm_hw_params_t*, unsigned int*);
+extern int (*snd_pcm_hw_params_get_channels_max)(const snd_pcm_hw_params_t*, unsigned int*);
+extern int (*snd_pcm_hw_params_test_channels)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int);
+extern int (*snd_pcm_hw_params_set_channels)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int);
+extern int (*snd_pcm_hw_params_set_channels_min)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*);
+extern int (*snd_pcm_hw_params_set_channels_max)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*);
+extern int (*snd_pcm_hw_params_set_channels_minmax)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, unsigned int*);
+extern int (*snd_pcm_hw_params_set_channels_near)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*);
+extern int (*snd_pcm_hw_params_set_channels_first)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*);
+extern int (*snd_pcm_hw_params_set_channels_last)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*);
+extern int (*snd_pcm_hw_params_get_rate)(const snd_pcm_hw_params_t*, unsigned int*, int*);
+extern int (*snd_pcm_hw_params_get_rate_min)(const snd_pcm_hw_params_t*, unsigned int*, int*);
+extern int (*snd_pcm_hw_params_get_rate_max)(const snd_pcm_hw_params_t*, unsigned int*, int*);
+extern int (*snd_pcm_hw_params_test_rate)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int, int);
+extern int (*snd_pcm_hw_params_set_rate)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int, int);
+extern int (*snd_pcm_hw_params_set_rate_min)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*);
+extern int (*snd_pcm_hw_params_set_rate_max)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*);
+extern int (*snd_pcm_hw_params_set_rate_minmax)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*, unsigned int*, int*);
+extern int (*snd_pcm_hw_params_set_rate_near)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*);
+extern int (*snd_pcm_hw_params_set_rate_first)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*);
+extern int (*snd_pcm_hw_params_set_rate_last)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*);
+extern int (*snd_pcm_hw_params_set_rate_resample)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int);
+extern int (*snd_pcm_hw_params_get_rate_resample)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*);
+extern int (*snd_pcm_hw_params_set_export_buffer)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int);
+extern int (*snd_pcm_hw_params_get_export_buffer)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*);
+extern int (*snd_pcm_hw_params_set_period_wakeup)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int);
+extern int (*snd_pcm_hw_params_get_period_wakeup)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*);
+extern int (*snd_pcm_hw_params_get_period_time)(const snd_pcm_hw_params_t*, unsigned int*, int*);
+extern int (*snd_pcm_hw_params_get_period_time_min)(const snd_pcm_hw_params_t*, unsigned int*, int*);
+extern int (*snd_pcm_hw_params_get_period_time_max)(const snd_pcm_hw_params_t*, unsigned int*, int*);
+extern int (*snd_pcm_hw_params_test_period_time)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int, int);
+extern int (*snd_pcm_hw_params_set_period_time)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int, int);
+extern int (*snd_pcm_hw_params_set_period_time_min)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*);
+extern int (*snd_pcm_hw_params_set_period_time_max)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*);
+extern int (*snd_pcm_hw_params_set_period_time_minmax)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*, unsigned int*, int*);
+extern int (*snd_pcm_hw_params_set_period_time_near)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*);
+extern int (*snd_pcm_hw_params_set_period_time_first)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*);
+extern int (*snd_pcm_hw_params_set_period_time_last)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*);
+extern int (*snd_pcm_hw_params_get_period_size)(const snd_pcm_hw_params_t*, snd_pcm_uframes_t*, int*);
+extern int (*snd_pcm_hw_params_get_period_size_min)(const snd_pcm_hw_params_t*, snd_pcm_uframes_t*, int*);
+extern int (*snd_pcm_hw_params_get_period_size_max)(const snd_pcm_hw_params_t*, snd_pcm_uframes_t*, int*);
+extern int (*snd_pcm_hw_params_test_period_size)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t, int);
+extern int (*snd_pcm_hw_params_set_period_size)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t, int);
+extern int (*snd_pcm_hw_params_set_period_size_min)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t*, int*);
+extern int (*snd_pcm_hw_params_set_period_size_max)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t*, int*);
+extern int (*snd_pcm_hw_params_set_period_size_minmax)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t*, int*, snd_pcm_uframes_t*, int*);
+extern int (*snd_pcm_hw_params_set_period_size_near)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t*, int*);
+extern int (*snd_pcm_hw_params_set_period_size_first)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t*, int*);
+extern int (*snd_pcm_hw_params_set_period_size_last)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t*, int*);
+extern int (*snd_pcm_hw_params_set_period_size_integer)( snd_pcm_t*, snd_pcm_hw_params_t*);
+extern int (*snd_pcm_hw_params_get_periods)(const snd_pcm_hw_params_t*, unsigned int*, int*);
+extern int (*snd_pcm_hw_params_get_periods_min)(const snd_pcm_hw_params_t*, unsigned int*, int*);
+extern int (*snd_pcm_hw_params_get_periods_max)(const snd_pcm_hw_params_t*, unsigned int*, int*);
+extern int (*snd_pcm_hw_params_test_periods)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int, int);
+extern int (*snd_pcm_hw_params_set_periods)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int, int);
+extern int (*snd_pcm_hw_params_set_periods_min)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*);
+extern int (*snd_pcm_hw_params_set_periods_max)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*);
+extern int (*snd_pcm_hw_params_set_periods_minmax)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*, unsigned int*, int*);
+extern int (*snd_pcm_hw_params_set_periods_near)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*);
+extern int (*snd_pcm_hw_params_set_periods_first)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*);
+extern int (*snd_pcm_hw_params_set_periods_last)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*);
+extern int (*snd_pcm_hw_params_set_periods_integer)( snd_pcm_t*, snd_pcm_hw_params_t*);
+extern int (*snd_pcm_hw_params_get_buffer_time)(const snd_pcm_hw_params_t*, unsigned int*, int*);
+extern int (*snd_pcm_hw_params_get_buffer_time_min)(const snd_pcm_hw_params_t*, unsigned int*, int*);
+extern int (*snd_pcm_hw_params_get_buffer_time_max)(const snd_pcm_hw_params_t*, unsigned int*, int*);
+extern int (*snd_pcm_hw_params_test_buffer_time)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int, int);
+extern int (*snd_pcm_hw_params_set_buffer_time)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int, int);
+extern int (*snd_pcm_hw_params_set_buffer_time_min)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*);
+extern int (*snd_pcm_hw_params_set_buffer_time_max)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*);
+extern int (*snd_pcm_hw_params_set_buffer_time_minmax)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*, unsigned int*, int*);
+extern int (*snd_pcm_hw_params_set_buffer_time_near)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*);
+extern int (*snd_pcm_hw_params_set_buffer_time_first)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*);
+extern int (*snd_pcm_hw_params_set_buffer_time_last)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*);
+extern int (*snd_pcm_hw_params_get_buffer_size)(const snd_pcm_hw_params_t*, snd_pcm_uframes_t*);
+extern int (*snd_pcm_hw_params_get_buffer_size_min)(const snd_pcm_hw_params_t*, snd_pcm_uframes_t*);
+extern int (*snd_pcm_hw_params_get_buffer_size_max)(const snd_pcm_hw_params_t*, snd_pcm_uframes_t*);
+extern int (*snd_pcm_hw_params_test_buffer_size)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t);
+extern int (*snd_pcm_hw_params_set_buffer_size)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t);
+extern int (*snd_pcm_hw_params_set_buffer_size_min)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t*);
+extern int (*snd_pcm_hw_params_set_buffer_size_max)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t*);
+extern int (*snd_pcm_hw_params_set_buffer_size_minmax)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t*, snd_pcm_uframes_t*);
+extern int (*snd_pcm_hw_params_set_buffer_size_near)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t*);
+extern int (*snd_pcm_hw_params_set_buffer_size_first)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t*);
+extern int (*snd_pcm_hw_params_set_buffer_size_last)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t*);
+extern int (*snd_pcm_hw_params_get_min_align)(const snd_pcm_hw_params_t*, snd_pcm_uframes_t*);
+extern size_t (*snd_pcm_sw_params_sizeof)( void);
+extern int (*snd_pcm_sw_params_malloc)( snd_pcm_sw_params_t**);
+extern void (*snd_pcm_sw_params_free)( snd_pcm_sw_params_t*);
+extern void (*snd_pcm_sw_params_copy)( snd_pcm_sw_params_t*,const snd_pcm_sw_params_t*);
+extern int (*snd_pcm_sw_params_get_boundary)(const snd_pcm_sw_params_t*, snd_pcm_uframes_t*);
+extern int (*snd_pcm_sw_params_set_tstamp_mode)( snd_pcm_t*, snd_pcm_sw_params_t*, snd_pcm_tstamp_t);
+extern int (*snd_pcm_sw_params_get_tstamp_mode)(const snd_pcm_sw_params_t*, snd_pcm_tstamp_t*);
+extern int (*snd_pcm_sw_params_set_tstamp_type)( snd_pcm_t*, snd_pcm_sw_params_t*, snd_pcm_tstamp_type_t);
+extern int (*snd_pcm_sw_params_get_tstamp_type)(const snd_pcm_sw_params_t*, snd_pcm_tstamp_type_t*);
+extern int (*snd_pcm_sw_params_set_avail_min)( snd_pcm_t*, snd_pcm_sw_params_t*, snd_pcm_uframes_t);
+extern int (*snd_pcm_sw_params_get_avail_min)(const snd_pcm_sw_params_t*, snd_pcm_uframes_t*);
+extern int (*snd_pcm_sw_params_set_period_event)( snd_pcm_t*, snd_pcm_sw_params_t*, int);
+extern int (*snd_pcm_sw_params_get_period_event)(const snd_pcm_sw_params_t*, int*);
+extern int (*snd_pcm_sw_params_set_start_threshold)( snd_pcm_t*, snd_pcm_sw_params_t*, snd_pcm_uframes_t);
+extern int (*snd_pcm_sw_params_get_start_threshold)(const snd_pcm_sw_params_t*, snd_pcm_uframes_t*);
+extern int (*snd_pcm_sw_params_set_stop_threshold)( snd_pcm_t*, snd_pcm_sw_params_t*, snd_pcm_uframes_t);
+extern int (*snd_pcm_sw_params_get_stop_threshold)(const snd_pcm_sw_params_t*, snd_pcm_uframes_t*);
+extern int (*snd_pcm_sw_params_set_silence_threshold)( snd_pcm_t*, snd_pcm_sw_params_t*, snd_pcm_uframes_t);
+extern int (*snd_pcm_sw_params_get_silence_threshold)(const snd_pcm_sw_params_t*, snd_pcm_uframes_t*);
+extern int (*snd_pcm_sw_params_set_silence_size)( snd_pcm_t*, snd_pcm_sw_params_t*, snd_pcm_uframes_t);
+extern int (*snd_pcm_sw_params_get_silence_size)(const snd_pcm_sw_params_t*, snd_pcm_uframes_t*);
+extern size_t (*snd_pcm_access_mask_sizeof)( void);
+extern int (*snd_pcm_access_mask_malloc)( snd_pcm_access_mask_t**);
+extern void (*snd_pcm_access_mask_free)( snd_pcm_access_mask_t*);
+extern void (*snd_pcm_access_mask_copy)( snd_pcm_access_mask_t*,const snd_pcm_access_mask_t*);
+extern void (*snd_pcm_access_mask_none)( snd_pcm_access_mask_t*);
+extern void (*snd_pcm_access_mask_any)( snd_pcm_access_mask_t*);
+extern int (*snd_pcm_access_mask_test)(const snd_pcm_access_mask_t*, snd_pcm_access_t);
+extern int (*snd_pcm_access_mask_empty)(const snd_pcm_access_mask_t*);
+extern void (*snd_pcm_access_mask_set)( snd_pcm_access_mask_t*, snd_pcm_access_t);
+extern void (*snd_pcm_access_mask_reset)( snd_pcm_access_mask_t*, snd_pcm_access_t);
+extern size_t (*snd_pcm_format_mask_sizeof)( void);
+extern int (*snd_pcm_format_mask_malloc)( snd_pcm_format_mask_t**);
+extern void (*snd_pcm_format_mask_free)( snd_pcm_format_mask_t*);
+extern void (*snd_pcm_format_mask_copy)( snd_pcm_format_mask_t*,const snd_pcm_format_mask_t*);
+extern void (*snd_pcm_format_mask_none)( snd_pcm_format_mask_t*);
+extern void (*snd_pcm_format_mask_any)( snd_pcm_format_mask_t*);
+extern int (*snd_pcm_format_mask_test)(const snd_pcm_format_mask_t*, snd_pcm_format_t);
+extern int (*snd_pcm_format_mask_empty)(const snd_pcm_format_mask_t*);
+extern void (*snd_pcm_format_mask_set)( snd_pcm_format_mask_t*, snd_pcm_format_t);
+extern void (*snd_pcm_format_mask_reset)( snd_pcm_format_mask_t*, snd_pcm_format_t);
+extern size_t (*snd_pcm_subformat_mask_sizeof)( void);
+extern int (*snd_pcm_subformat_mask_malloc)( snd_pcm_subformat_mask_t**);
+extern void (*snd_pcm_subformat_mask_free)( snd_pcm_subformat_mask_t*);
+extern void (*snd_pcm_subformat_mask_copy)( snd_pcm_subformat_mask_t*,const snd_pcm_subformat_mask_t*);
+extern void (*snd_pcm_subformat_mask_none)( snd_pcm_subformat_mask_t*);
+extern void (*snd_pcm_subformat_mask_any)( snd_pcm_subformat_mask_t*);
+extern int (*snd_pcm_subformat_mask_test)(const snd_pcm_subformat_mask_t*, snd_pcm_subformat_t);
+extern int (*snd_pcm_subformat_mask_empty)(const snd_pcm_subformat_mask_t*);
+extern void (*snd_pcm_subformat_mask_set)( snd_pcm_subformat_mask_t*, snd_pcm_subformat_t);
+extern void (*snd_pcm_subformat_mask_reset)( snd_pcm_subformat_mask_t*, snd_pcm_subformat_t);
+extern size_t (*snd_pcm_status_sizeof)( void);
+extern int (*snd_pcm_status_malloc)( snd_pcm_status_t**);
+extern void (*snd_pcm_status_free)( snd_pcm_status_t*);
+extern void (*snd_pcm_status_copy)( snd_pcm_status_t*,const snd_pcm_status_t*);
+extern snd_pcm_state_t (*snd_pcm_status_get_state)(const snd_pcm_status_t*);
+extern void (*snd_pcm_status_get_trigger_tstamp)(const snd_pcm_status_t*, snd_timestamp_t*);
+extern void (*snd_pcm_status_get_trigger_htstamp)(const snd_pcm_status_t*, snd_htimestamp_t*);
+extern void (*snd_pcm_status_get_tstamp)(const snd_pcm_status_t*, snd_timestamp_t*);
+extern void (*snd_pcm_status_get_htstamp)(const snd_pcm_status_t*, snd_htimestamp_t*);
+extern void (*snd_pcm_status_get_audio_htstamp)(const snd_pcm_status_t*, snd_htimestamp_t*);
+extern void (*snd_pcm_status_get_driver_htstamp)(const snd_pcm_status_t*, snd_htimestamp_t*);
+extern void (*snd_pcm_status_get_audio_htstamp_report)(const snd_pcm_status_t*, snd_pcm_audio_tstamp_report_t*);
+extern void (*snd_pcm_status_set_audio_htstamp_config)( snd_pcm_status_t*, snd_pcm_audio_tstamp_config_t*);
+extern snd_pcm_sframes_t (*snd_pcm_status_get_delay)(const snd_pcm_status_t*);
+extern snd_pcm_uframes_t (*snd_pcm_status_get_avail)(const snd_pcm_status_t*);
+extern snd_pcm_uframes_t (*snd_pcm_status_get_avail_max)(const snd_pcm_status_t*);
+extern snd_pcm_uframes_t (*snd_pcm_status_get_overrange)(const snd_pcm_status_t*);
+extern const char* (*snd_pcm_type_name)( snd_pcm_type_t);
+extern const char* (*snd_pcm_stream_name)(const snd_pcm_stream_t);
+extern const char* (*snd_pcm_access_name)(const snd_pcm_access_t);
+extern const char* (*snd_pcm_format_name)(const snd_pcm_format_t);
+extern const char* (*snd_pcm_format_description)(const snd_pcm_format_t);
+extern const char* (*snd_pcm_subformat_name)(const snd_pcm_subformat_t);
+extern const char* (*snd_pcm_subformat_description)(const snd_pcm_subformat_t);
+extern snd_pcm_format_t (*snd_pcm_format_value)(const char*);
+extern const char* (*snd_pcm_tstamp_mode_name)(const snd_pcm_tstamp_t);
+extern const char* (*snd_pcm_state_name)(const snd_pcm_state_t);
+extern int (*snd_pcm_dump)( snd_pcm_t*, snd_output_t*);
+extern int (*snd_pcm_dump_hw_setup)( snd_pcm_t*, snd_output_t*);
+extern int (*snd_pcm_dump_sw_setup)( snd_pcm_t*, snd_output_t*);
+extern int (*snd_pcm_dump_setup)( snd_pcm_t*, snd_output_t*);
+extern int (*snd_pcm_hw_params_dump)( snd_pcm_hw_params_t*, snd_output_t*);
+extern int (*snd_pcm_sw_params_dump)( snd_pcm_sw_params_t*, snd_output_t*);
+extern int (*snd_pcm_status_dump)( snd_pcm_status_t*, snd_output_t*);
+extern int (*snd_pcm_mmap_begin)( snd_pcm_t*,const snd_pcm_channel_area_t**, snd_pcm_uframes_t*, snd_pcm_uframes_t*);
+extern snd_pcm_sframes_t (*snd_pcm_mmap_commit)( snd_pcm_t*, snd_pcm_uframes_t, snd_pcm_uframes_t);
+extern snd_pcm_sframes_t (*snd_pcm_mmap_writei)( snd_pcm_t*,const void*, snd_pcm_uframes_t);
+extern snd_pcm_sframes_t (*snd_pcm_mmap_readi)( snd_pcm_t*, void*, snd_pcm_uframes_t);
+extern snd_pcm_sframes_t (*snd_pcm_mmap_writen)( snd_pcm_t*, void**, snd_pcm_uframes_t);
+extern snd_pcm_sframes_t (*snd_pcm_mmap_readn)( snd_pcm_t*, void**, snd_pcm_uframes_t);
+extern int (*snd_pcm_format_signed)( snd_pcm_format_t);
+extern int (*snd_pcm_format_unsigned)( snd_pcm_format_t);
+extern int (*snd_pcm_format_linear)( snd_pcm_format_t);
+extern int (*snd_pcm_format_float)( snd_pcm_format_t);
+extern int (*snd_pcm_format_little_endian)( snd_pcm_format_t);
+extern int (*snd_pcm_format_big_endian)( snd_pcm_format_t);
+extern int (*snd_pcm_format_cpu_endian)( snd_pcm_format_t);
+extern int (*snd_pcm_format_width)( snd_pcm_format_t);
+extern int (*snd_pcm_format_physical_width)( snd_pcm_format_t);
+extern snd_pcm_format_t (*snd_pcm_build_linear_format)( int, int, int, int);
+extern ssize_t (*snd_pcm_format_size)( snd_pcm_format_t, size_t);
+extern uint8_t (*snd_pcm_format_silence)( snd_pcm_format_t);
+extern uint16_t (*snd_pcm_format_silence_16)( snd_pcm_format_t);
+extern uint32_t (*snd_pcm_format_silence_32)( snd_pcm_format_t);
+extern uint64_t (*snd_pcm_format_silence_64)( snd_pcm_format_t);
+extern int (*snd_pcm_format_set_silence)( snd_pcm_format_t, void*, unsigned int);
+extern snd_pcm_sframes_t (*snd_pcm_bytes_to_frames)( snd_pcm_t*, ssize_t);
+extern ssize_t (*snd_pcm_frames_to_bytes)( snd_pcm_t*, snd_pcm_sframes_t);
+extern long (*snd_pcm_bytes_to_samples)( snd_pcm_t*, ssize_t);
+extern ssize_t (*snd_pcm_samples_to_bytes)( snd_pcm_t*, long);
+extern int (*snd_pcm_area_silence)(const snd_pcm_channel_area_t*, snd_pcm_uframes_t, unsigned int, snd_pcm_format_t);
+extern int (*snd_pcm_areas_silence)(const snd_pcm_channel_area_t*, snd_pcm_uframes_t, unsigned int, snd_pcm_uframes_t, snd_pcm_format_t);
+extern int (*snd_pcm_area_copy)(const snd_pcm_channel_area_t*, snd_pcm_uframes_t,const snd_pcm_channel_area_t*, snd_pcm_uframes_t, unsigned int, snd_pcm_format_t);
+extern int (*snd_pcm_areas_copy)(const snd_pcm_channel_area_t*, snd_pcm_uframes_t,const snd_pcm_channel_area_t*, snd_pcm_uframes_t, unsigned int, snd_pcm_uframes_t, snd_pcm_format_t);
+extern int (*snd_pcm_areas_copy_wrap)(const snd_pcm_channel_area_t*, snd_pcm_uframes_t,const snd_pcm_uframes_t,const snd_pcm_channel_area_t*, snd_pcm_uframes_t,const snd_pcm_uframes_t,const unsigned int, snd_pcm_uframes_t,const snd_pcm_format_t);
+extern snd_pcm_t* (*snd_pcm_hook_get_pcm)( snd_pcm_hook_t*);
+extern void* (*snd_pcm_hook_get_private)( snd_pcm_hook_t*);
+extern void (*snd_pcm_hook_set_private)( snd_pcm_hook_t*, void*);
+extern int (*snd_pcm_hook_add)( snd_pcm_hook_t**, snd_pcm_t*, snd_pcm_hook_type_t, snd_pcm_hook_func_t, void*);
+extern int (*snd_pcm_hook_remove)( snd_pcm_hook_t*);
+extern snd_pcm_uframes_t (*snd_pcm_meter_get_bufsize)( snd_pcm_t*);
+extern unsigned int (*snd_pcm_meter_get_channels)( snd_pcm_t*);
+extern unsigned int (*snd_pcm_meter_get_rate)( snd_pcm_t*);
+extern snd_pcm_uframes_t (*snd_pcm_meter_get_now)( snd_pcm_t*);
+extern snd_pcm_uframes_t (*snd_pcm_meter_get_boundary)( snd_pcm_t*);
+extern int (*snd_pcm_meter_add_scope)( snd_pcm_t*, snd_pcm_scope_t*);
+extern snd_pcm_scope_t* (*snd_pcm_meter_search_scope)( snd_pcm_t*,const char*);
+extern int (*snd_pcm_scope_malloc)( snd_pcm_scope_t**);
+extern void (*snd_pcm_scope_set_ops)( snd_pcm_scope_t*,const snd_pcm_scope_ops_t*);
+extern void (*snd_pcm_scope_set_name)( snd_pcm_scope_t*,const char*);
+extern const char* (*snd_pcm_scope_get_name)( snd_pcm_scope_t*);
+extern void* (*snd_pcm_scope_get_callback_private)( snd_pcm_scope_t*);
+extern void (*snd_pcm_scope_set_callback_private)( snd_pcm_scope_t*, void*);
+extern int (*snd_pcm_scope_s16_open)( snd_pcm_t*,const char*, snd_pcm_scope_t**);
+extern int16_t* (*snd_pcm_scope_s16_get_channel_buffer)( snd_pcm_scope_t*, unsigned int);
+extern int (*snd_spcm_init)( snd_pcm_t*, unsigned int, unsigned int, snd_pcm_format_t, snd_pcm_subformat_t, snd_spcm_latency_t, snd_pcm_access_t, snd_spcm_xrun_type_t);
+extern int (*snd_spcm_init_duplex)( snd_pcm_t*, snd_pcm_t*, unsigned int, unsigned int, snd_pcm_format_t, snd_pcm_subformat_t, snd_spcm_latency_t, snd_pcm_access_t, snd_spcm_xrun_type_t, snd_spcm_duplex_type_t);
+extern int (*snd_spcm_init_get_params)( snd_pcm_t*, unsigned int*, snd_pcm_uframes_t*, snd_pcm_uframes_t*);
+extern const char* (*snd_pcm_start_mode_name)( snd_pcm_start_t);
+extern const char* (*snd_pcm_xrun_mode_name)( snd_pcm_xrun_t);
+extern int (*snd_pcm_sw_params_set_start_mode)( snd_pcm_t*, snd_pcm_sw_params_t*, snd_pcm_start_t);
+extern snd_pcm_start_t (*snd_pcm_sw_params_get_start_mode)(const snd_pcm_sw_params_t*);
+extern int (*snd_pcm_sw_params_set_xrun_mode)( snd_pcm_t*, snd_pcm_sw_params_t*, snd_pcm_xrun_t);
+extern snd_pcm_xrun_t (*snd_pcm_sw_params_get_xrun_mode)(const snd_pcm_sw_params_t*);
+extern int (*snd_pcm_sw_params_set_xfer_align)( snd_pcm_t*, snd_pcm_sw_params_t*, snd_pcm_uframes_t);
+extern int (*snd_pcm_sw_params_get_xfer_align)(const snd_pcm_sw_params_t*, snd_pcm_uframes_t*);
+extern int (*snd_pcm_sw_params_set_sleep_min)( snd_pcm_t*, snd_pcm_sw_params_t*, unsigned int);
+extern int (*snd_pcm_sw_params_get_sleep_min)(const snd_pcm_sw_params_t*, unsigned int*);
+extern int (*snd_pcm_hw_params_get_tick_time)(const snd_pcm_hw_params_t*, unsigned int*, int*);
+extern int (*snd_pcm_hw_params_get_tick_time_min)(const snd_pcm_hw_params_t*, unsigned int*, int*);
+extern int (*snd_pcm_hw_params_get_tick_time_max)(const snd_pcm_hw_params_t*, unsigned int*, int*);
+extern int (*snd_pcm_hw_params_test_tick_time)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int, int);
+extern int (*snd_pcm_hw_params_set_tick_time)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int, int);
+extern int (*snd_pcm_hw_params_set_tick_time_min)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*);
+extern int (*snd_pcm_hw_params_set_tick_time_max)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*);
+extern int (*snd_pcm_hw_params_set_tick_time_minmax)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*, unsigned int*, int*);
+extern int (*snd_pcm_hw_params_set_tick_time_near)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*);
+extern int (*snd_pcm_hw_params_set_tick_time_first)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*);
+extern int (*snd_pcm_hw_params_set_tick_time_last)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*);
+extern int (*snd_rawmidi_open)( snd_rawmidi_t**, snd_rawmidi_t**,const char*, int);
+extern int (*snd_rawmidi_open_lconf)( snd_rawmidi_t**, snd_rawmidi_t**,const char*, int, snd_config_t*);
+extern int (*snd_rawmidi_close)( snd_rawmidi_t*);
+extern int (*snd_rawmidi_poll_descriptors_count)( snd_rawmidi_t*);
+extern int (*snd_rawmidi_poll_descriptors)( snd_rawmidi_t*,struct pollfd*, unsigned int);
+extern int (*snd_rawmidi_poll_descriptors_revents)( snd_rawmidi_t*,struct pollfd*, unsigned int, unsigned short*);
+extern int (*snd_rawmidi_nonblock)( snd_rawmidi_t*, int);
+extern size_t (*snd_rawmidi_info_sizeof)( void);
+extern int (*snd_rawmidi_info_malloc)( snd_rawmidi_info_t**);
+extern void (*snd_rawmidi_info_free)( snd_rawmidi_info_t*);
+extern void (*snd_rawmidi_info_copy)( snd_rawmidi_info_t*,const snd_rawmidi_info_t*);
+extern unsigned int (*snd_rawmidi_info_get_device)(const snd_rawmidi_info_t*);
+extern unsigned int (*snd_rawmidi_info_get_subdevice)(const snd_rawmidi_info_t*);
+extern snd_rawmidi_stream_t (*snd_rawmidi_info_get_stream)(const snd_rawmidi_info_t*);
+extern int (*snd_rawmidi_info_get_card)(const snd_rawmidi_info_t*);
+extern unsigned int (*snd_rawmidi_info_get_flags)(const snd_rawmidi_info_t*);
+extern const char* (*snd_rawmidi_info_get_id)(const snd_rawmidi_info_t*);
+extern const char* (*snd_rawmidi_info_get_name)(const snd_rawmidi_info_t*);
+extern const char* (*snd_rawmidi_info_get_subdevice_name)(const snd_rawmidi_info_t*);
+extern unsigned int (*snd_rawmidi_info_get_subdevices_count)(const snd_rawmidi_info_t*);
+extern unsigned int (*snd_rawmidi_info_get_subdevices_avail)(const snd_rawmidi_info_t*);
+extern void (*snd_rawmidi_info_set_device)( snd_rawmidi_info_t*, unsigned int);
+extern void (*snd_rawmidi_info_set_subdevice)( snd_rawmidi_info_t*, unsigned int);
+extern void (*snd_rawmidi_info_set_stream)( snd_rawmidi_info_t*, snd_rawmidi_stream_t);
+extern int (*snd_rawmidi_info)( snd_rawmidi_t*, snd_rawmidi_info_t*);
+extern size_t (*snd_rawmidi_params_sizeof)( void);
+extern int (*snd_rawmidi_params_malloc)( snd_rawmidi_params_t**);
+extern void (*snd_rawmidi_params_free)( snd_rawmidi_params_t*);
+extern void (*snd_rawmidi_params_copy)( snd_rawmidi_params_t*,const snd_rawmidi_params_t*);
+extern int (*snd_rawmidi_params_set_buffer_size)( snd_rawmidi_t*, snd_rawmidi_params_t*, size_t);
+extern size_t (*snd_rawmidi_params_get_buffer_size)(const snd_rawmidi_params_t*);
+extern int (*snd_rawmidi_params_set_avail_min)( snd_rawmidi_t*, snd_rawmidi_params_t*, size_t);
+extern size_t (*snd_rawmidi_params_get_avail_min)(const snd_rawmidi_params_t*);
+extern int (*snd_rawmidi_params_set_no_active_sensing)( snd_rawmidi_t*, snd_rawmidi_params_t*, int);
+extern int (*snd_rawmidi_params_get_no_active_sensing)(const snd_rawmidi_params_t*);
+extern int (*snd_rawmidi_params)( snd_rawmidi_t*, snd_rawmidi_params_t*);
+extern int (*snd_rawmidi_params_current)( snd_rawmidi_t*, snd_rawmidi_params_t*);
+extern size_t (*snd_rawmidi_status_sizeof)( void);
+extern int (*snd_rawmidi_status_malloc)( snd_rawmidi_status_t**);
+extern void (*snd_rawmidi_status_free)( snd_rawmidi_status_t*);
+extern void (*snd_rawmidi_status_copy)( snd_rawmidi_status_t*,const snd_rawmidi_status_t*);
+extern void (*snd_rawmidi_status_get_tstamp)(const snd_rawmidi_status_t*, snd_htimestamp_t*);
+extern size_t (*snd_rawmidi_status_get_avail)(const snd_rawmidi_status_t*);
+extern size_t (*snd_rawmidi_status_get_xruns)(const snd_rawmidi_status_t*);
+extern int (*snd_rawmidi_status)( snd_rawmidi_t*, snd_rawmidi_status_t*);
+extern int (*snd_rawmidi_drain)( snd_rawmidi_t*);
+extern int (*snd_rawmidi_drop)( snd_rawmidi_t*);
+extern ssize_t (*snd_rawmidi_write)( snd_rawmidi_t*,const void*, size_t);
+extern ssize_t (*snd_rawmidi_read)( snd_rawmidi_t*, void*, size_t);
+extern const char* (*snd_rawmidi_name)( snd_rawmidi_t*);
+extern snd_rawmidi_type_t (*snd_rawmidi_type)( snd_rawmidi_t*);
+extern snd_rawmidi_stream_t (*snd_rawmidi_stream)( snd_rawmidi_t*);
+extern int (*snd_timer_query_open)( snd_timer_query_t**,const char*, int);
+extern int (*snd_timer_query_open_lconf)( snd_timer_query_t**,const char*, int, snd_config_t*);
+extern int (*snd_timer_query_close)( snd_timer_query_t*);
+extern int (*snd_timer_query_next_device)( snd_timer_query_t*, snd_timer_id_t*);
+extern int (*snd_timer_query_info)( snd_timer_query_t*, snd_timer_ginfo_t*);
+extern int (*snd_timer_query_params)( snd_timer_query_t*, snd_timer_gparams_t*);
+extern int (*snd_timer_query_status)( snd_timer_query_t*, snd_timer_gstatus_t*);
+extern int (*snd_timer_open)( snd_timer_t**,const char*, int);
+extern int (*snd_timer_open_lconf)( snd_timer_t**,const char*, int, snd_config_t*);
+extern int (*snd_timer_close)( snd_timer_t*);
+extern int (*snd_async_add_timer_handler)( snd_async_handler_t**, snd_timer_t*, snd_async_callback_t, void*);
+extern snd_timer_t* (*snd_async_handler_get_timer)( snd_async_handler_t*);
+extern int (*snd_timer_poll_descriptors_count)( snd_timer_t*);
+extern int (*snd_timer_poll_descriptors)( snd_timer_t*,struct pollfd*, unsigned int);
+extern int (*snd_timer_poll_descriptors_revents)( snd_timer_t*,struct pollfd*, unsigned int, unsigned short*);
+extern int (*snd_timer_info)( snd_timer_t*, snd_timer_info_t*);
+extern int (*snd_timer_params)( snd_timer_t*, snd_timer_params_t*);
+extern int (*snd_timer_status)( snd_timer_t*, snd_timer_status_t*);
+extern int (*snd_timer_start)( snd_timer_t*);
+extern int (*snd_timer_stop)( snd_timer_t*);
+extern int (*snd_timer_continue)( snd_timer_t*);
+extern ssize_t (*snd_timer_read)( snd_timer_t*, void*, size_t);
+extern size_t (*snd_timer_id_sizeof)( void);
+extern int (*snd_timer_id_malloc)( snd_timer_id_t**);
+extern void (*snd_timer_id_free)( snd_timer_id_t*);
+extern void (*snd_timer_id_copy)( snd_timer_id_t*,const snd_timer_id_t*);
+extern void (*snd_timer_id_set_class)( snd_timer_id_t*, int);
+extern int (*snd_timer_id_get_class)( snd_timer_id_t*);
+extern void (*snd_timer_id_set_sclass)( snd_timer_id_t*, int);
+extern int (*snd_timer_id_get_sclass)( snd_timer_id_t*);
+extern void (*snd_timer_id_set_card)( snd_timer_id_t*, int);
+extern int (*snd_timer_id_get_card)( snd_timer_id_t*);
+extern void (*snd_timer_id_set_device)( snd_timer_id_t*, int);
+extern int (*snd_timer_id_get_device)( snd_timer_id_t*);
+extern void (*snd_timer_id_set_subdevice)( snd_timer_id_t*, int);
+extern int (*snd_timer_id_get_subdevice)( snd_timer_id_t*);
+extern size_t (*snd_timer_ginfo_sizeof)( void);
+extern int (*snd_timer_ginfo_malloc)( snd_timer_ginfo_t**);
+extern void (*snd_timer_ginfo_free)( snd_timer_ginfo_t*);
+extern void (*snd_timer_ginfo_copy)( snd_timer_ginfo_t*,const snd_timer_ginfo_t*);
+extern int (*snd_timer_ginfo_set_tid)( snd_timer_ginfo_t*, snd_timer_id_t*);
+extern snd_timer_id_t* (*snd_timer_ginfo_get_tid)( snd_timer_ginfo_t*);
+extern unsigned int (*snd_timer_ginfo_get_flags)( snd_timer_ginfo_t*);
+extern int (*snd_timer_ginfo_get_card)( snd_timer_ginfo_t*);
+extern char* (*snd_timer_ginfo_get_id)( snd_timer_ginfo_t*);
+extern char* (*snd_timer_ginfo_get_name)( snd_timer_ginfo_t*);
+extern unsigned long (*snd_timer_ginfo_get_resolution)( snd_timer_ginfo_t*);
+extern unsigned long (*snd_timer_ginfo_get_resolution_min)( snd_timer_ginfo_t*);
+extern unsigned long (*snd_timer_ginfo_get_resolution_max)( snd_timer_ginfo_t*);
+extern unsigned int (*snd_timer_ginfo_get_clients)( snd_timer_ginfo_t*);
+extern size_t (*snd_timer_info_sizeof)( void);
+extern int (*snd_timer_info_malloc)( snd_timer_info_t**);
+extern void (*snd_timer_info_free)( snd_timer_info_t*);
+extern void (*snd_timer_info_copy)( snd_timer_info_t*,const snd_timer_info_t*);
+extern int (*snd_timer_info_is_slave)( snd_timer_info_t*);
+extern int (*snd_timer_info_get_card)( snd_timer_info_t*);
+extern const char* (*snd_timer_info_get_id)( snd_timer_info_t*);
+extern const char* (*snd_timer_info_get_name)( snd_timer_info_t*);
+extern long (*snd_timer_info_get_resolution)( snd_timer_info_t*);
+extern size_t (*snd_timer_params_sizeof)( void);
+extern int (*snd_timer_params_malloc)( snd_timer_params_t**);
+extern void (*snd_timer_params_free)( snd_timer_params_t*);
+extern void (*snd_timer_params_copy)( snd_timer_params_t*,const snd_timer_params_t*);
+extern int (*snd_timer_params_set_auto_start)( snd_timer_params_t*, int);
+extern int (*snd_timer_params_get_auto_start)( snd_timer_params_t*);
+extern int (*snd_timer_params_set_exclusive)( snd_timer_params_t*, int);
+extern int (*snd_timer_params_get_exclusive)( snd_timer_params_t*);
+extern int (*snd_timer_params_set_early_event)( snd_timer_params_t*, int);
+extern int (*snd_timer_params_get_early_event)( snd_timer_params_t*);
+extern void (*snd_timer_params_set_ticks)( snd_timer_params_t*, long);
+extern long (*snd_timer_params_get_ticks)( snd_timer_params_t*);
+extern void (*snd_timer_params_set_queue_size)( snd_timer_params_t*, long);
+extern long (*snd_timer_params_get_queue_size)( snd_timer_params_t*);
+extern void (*snd_timer_params_set_filter)( snd_timer_params_t*, unsigned int);
+extern unsigned int (*snd_timer_params_get_filter)( snd_timer_params_t*);
+extern size_t (*snd_timer_status_sizeof)( void);
+extern int (*snd_timer_status_malloc)( snd_timer_status_t**);
+extern void (*snd_timer_status_free)( snd_timer_status_t*);
+extern void (*snd_timer_status_copy)( snd_timer_status_t*,const snd_timer_status_t*);
+extern snd_htimestamp_t (*snd_timer_status_get_timestamp)( snd_timer_status_t*);
+extern long (*snd_timer_status_get_resolution)( snd_timer_status_t*);
+extern long (*snd_timer_status_get_lost)( snd_timer_status_t*);
+extern long (*snd_timer_status_get_overrun)( snd_timer_status_t*);
+extern long (*snd_timer_status_get_queue)( snd_timer_status_t*);
+extern long (*snd_timer_info_get_ticks)( snd_timer_info_t*);
+extern int (*snd_hwdep_open)( snd_hwdep_t**,const char*, int);
+extern int (*snd_hwdep_close)( snd_hwdep_t*);
+extern int (*snd_hwdep_poll_descriptors)( snd_hwdep_t*,struct pollfd*, unsigned int);
+extern int (*snd_hwdep_poll_descriptors_count)( snd_hwdep_t*);
+extern int (*snd_hwdep_poll_descriptors_revents)( snd_hwdep_t*,struct pollfd*, unsigned int, unsigned short*);
+extern int (*snd_hwdep_nonblock)( snd_hwdep_t*, int);
+extern int (*snd_hwdep_info)( snd_hwdep_t*, snd_hwdep_info_t*);
+extern int (*snd_hwdep_dsp_status)( snd_hwdep_t*, snd_hwdep_dsp_status_t*);
+extern int (*snd_hwdep_dsp_load)( snd_hwdep_t*, snd_hwdep_dsp_image_t*);
+extern int (*snd_hwdep_ioctl)( snd_hwdep_t*, unsigned int, void*);
+extern ssize_t (*snd_hwdep_write)( snd_hwdep_t*,const void*, size_t);
+extern ssize_t (*snd_hwdep_read)( snd_hwdep_t*, void*, size_t);
+extern size_t (*snd_hwdep_info_sizeof)( void);
+extern int (*snd_hwdep_info_malloc)( snd_hwdep_info_t**);
+extern void (*snd_hwdep_info_free)( snd_hwdep_info_t*);
+extern void (*snd_hwdep_info_copy)( snd_hwdep_info_t*,const snd_hwdep_info_t*);
+extern unsigned int (*snd_hwdep_info_get_device)(const snd_hwdep_info_t*);
+extern int (*snd_hwdep_info_get_card)(const snd_hwdep_info_t*);
+extern const char* (*snd_hwdep_info_get_id)(const snd_hwdep_info_t*);
+extern const char* (*snd_hwdep_info_get_name)(const snd_hwdep_info_t*);
+extern snd_hwdep_iface_t (*snd_hwdep_info_get_iface)(const snd_hwdep_info_t*);
+extern void (*snd_hwdep_info_set_device)( snd_hwdep_info_t*, unsigned int);
+extern size_t (*snd_hwdep_dsp_status_sizeof)( void);
+extern int (*snd_hwdep_dsp_status_malloc)( snd_hwdep_dsp_status_t**);
+extern void (*snd_hwdep_dsp_status_free)( snd_hwdep_dsp_status_t*);
+extern void (*snd_hwdep_dsp_status_copy)( snd_hwdep_dsp_status_t*,const snd_hwdep_dsp_status_t*);
+extern unsigned int (*snd_hwdep_dsp_status_get_version)(const snd_hwdep_dsp_status_t*);
+extern const char* (*snd_hwdep_dsp_status_get_id)(const snd_hwdep_dsp_status_t*);
+extern unsigned int (*snd_hwdep_dsp_status_get_num_dsps)(const snd_hwdep_dsp_status_t*);
+extern unsigned int (*snd_hwdep_dsp_status_get_dsp_loaded)(const snd_hwdep_dsp_status_t*);
+extern unsigned int (*snd_hwdep_dsp_status_get_chip_ready)(const snd_hwdep_dsp_status_t*);
+extern size_t (*snd_hwdep_dsp_image_sizeof)( void);
+extern int (*snd_hwdep_dsp_image_malloc)( snd_hwdep_dsp_image_t**);
+extern void (*snd_hwdep_dsp_image_free)( snd_hwdep_dsp_image_t*);
+extern void (*snd_hwdep_dsp_image_copy)( snd_hwdep_dsp_image_t*,const snd_hwdep_dsp_image_t*);
+extern unsigned int (*snd_hwdep_dsp_image_get_index)(const snd_hwdep_dsp_image_t*);
+extern const char* (*snd_hwdep_dsp_image_get_name)(const snd_hwdep_dsp_image_t*);
+extern const void* (*snd_hwdep_dsp_image_get_image)(const snd_hwdep_dsp_image_t*);
+extern size_t (*snd_hwdep_dsp_image_get_length)(const snd_hwdep_dsp_image_t*);
+extern void (*snd_hwdep_dsp_image_set_index)( snd_hwdep_dsp_image_t*, unsigned int);
+extern void (*snd_hwdep_dsp_image_set_name)( snd_hwdep_dsp_image_t*,const char*);
+extern void (*snd_hwdep_dsp_image_set_image)( snd_hwdep_dsp_image_t*, void*);
+extern void (*snd_hwdep_dsp_image_set_length)( snd_hwdep_dsp_image_t*, size_t);
+extern int (*snd_card_load)( int);
+extern int (*snd_card_next)( int*);
+extern int (*snd_card_get_index)(const char*);
+extern int (*snd_card_get_name)( int, char**);
+extern int (*snd_card_get_longname)( int, char**);
+extern int (*snd_device_name_hint)( int,const char*, void***);
+extern int (*snd_device_name_free_hint)( void**);
+extern char* (*snd_device_name_get_hint)(const void*,const char*);
+extern int (*snd_ctl_open)( snd_ctl_t**,const char*, int);
+extern int (*snd_ctl_open_lconf)( snd_ctl_t**,const char*, int, snd_config_t*);
+extern int (*snd_ctl_open_fallback)( snd_ctl_t**, snd_config_t*,const char*,const char*, int);
+extern int (*snd_ctl_close)( snd_ctl_t*);
+extern int (*snd_ctl_nonblock)( snd_ctl_t*, int);
+extern int (*snd_async_add_ctl_handler)( snd_async_handler_t**, snd_ctl_t*, snd_async_callback_t, void*);
+extern snd_ctl_t* (*snd_async_handler_get_ctl)( snd_async_handler_t*);
+extern int (*snd_ctl_poll_descriptors_count)( snd_ctl_t*);
+extern int (*snd_ctl_poll_descriptors)( snd_ctl_t*,struct pollfd*, unsigned int);
+extern int (*snd_ctl_poll_descriptors_revents)( snd_ctl_t*,struct pollfd*, unsigned int, unsigned short*);
+extern int (*snd_ctl_subscribe_events)( snd_ctl_t*, int);
+extern int (*snd_ctl_card_info)( snd_ctl_t*, snd_ctl_card_info_t*);
+extern int (*snd_ctl_elem_list)( snd_ctl_t*, snd_ctl_elem_list_t*);
+extern int (*snd_ctl_elem_info)( snd_ctl_t*, snd_ctl_elem_info_t*);
+extern int (*snd_ctl_elem_read)( snd_ctl_t*, snd_ctl_elem_value_t*);
+extern int (*snd_ctl_elem_write)( snd_ctl_t*, snd_ctl_elem_value_t*);
+extern int (*snd_ctl_elem_lock)( snd_ctl_t*, snd_ctl_elem_id_t*);
+extern int (*snd_ctl_elem_unlock)( snd_ctl_t*, snd_ctl_elem_id_t*);
+extern int (*snd_ctl_elem_tlv_read)( snd_ctl_t*,const snd_ctl_elem_id_t*, unsigned int*, unsigned int);
+extern int (*snd_ctl_elem_tlv_write)( snd_ctl_t*,const snd_ctl_elem_id_t*,const unsigned int*);
+extern int (*snd_ctl_elem_tlv_command)( snd_ctl_t*,const snd_ctl_elem_id_t*,const unsigned int*);
+extern int (*snd_ctl_hwdep_next_device)( snd_ctl_t*, int*);
+extern int (*snd_ctl_hwdep_info)( snd_ctl_t*, snd_hwdep_info_t*);
+extern int (*snd_ctl_pcm_next_device)( snd_ctl_t*, int*);
+extern int (*snd_ctl_pcm_info)( snd_ctl_t*, snd_pcm_info_t*);
+extern int (*snd_ctl_pcm_prefer_subdevice)( snd_ctl_t*, int);
+extern int (*snd_ctl_rawmidi_next_device)( snd_ctl_t*, int*);
+extern int (*snd_ctl_rawmidi_info)( snd_ctl_t*, snd_rawmidi_info_t*);
+extern int (*snd_ctl_rawmidi_prefer_subdevice)( snd_ctl_t*, int);
+extern int (*snd_ctl_set_power_state)( snd_ctl_t*, unsigned int);
+extern int (*snd_ctl_get_power_state)( snd_ctl_t*, unsigned int*);
+extern int (*snd_ctl_read)( snd_ctl_t*, snd_ctl_event_t*);
+extern int (*snd_ctl_wait)( snd_ctl_t*, int);
+extern const char* (*snd_ctl_name)( snd_ctl_t*);
+extern snd_ctl_type_t (*snd_ctl_type)( snd_ctl_t*);
+extern const char* (*snd_ctl_elem_type_name)( snd_ctl_elem_type_t);
+extern const char* (*snd_ctl_elem_iface_name)( snd_ctl_elem_iface_t);
+extern const char* (*snd_ctl_event_type_name)( snd_ctl_event_type_t);
+extern unsigned int (*snd_ctl_event_elem_get_mask)(const snd_ctl_event_t*);
+extern unsigned int (*snd_ctl_event_elem_get_numid)(const snd_ctl_event_t*);
+extern void (*snd_ctl_event_elem_get_id)(const snd_ctl_event_t*, snd_ctl_elem_id_t*);
+extern snd_ctl_elem_iface_t (*snd_ctl_event_elem_get_interface)(const snd_ctl_event_t*);
+extern unsigned int (*snd_ctl_event_elem_get_device)(const snd_ctl_event_t*);
+extern unsigned int (*snd_ctl_event_elem_get_subdevice)(const snd_ctl_event_t*);
+extern const char* (*snd_ctl_event_elem_get_name)(const snd_ctl_event_t*);
+extern unsigned int (*snd_ctl_event_elem_get_index)(const snd_ctl_event_t*);
+extern int (*snd_ctl_elem_list_alloc_space)( snd_ctl_elem_list_t*, unsigned int);
+extern void (*snd_ctl_elem_list_free_space)( snd_ctl_elem_list_t*);
+extern char* (*snd_ctl_ascii_elem_id_get)( snd_ctl_elem_id_t*);
+extern int (*snd_ctl_ascii_elem_id_parse)( snd_ctl_elem_id_t*,const char*);
+extern int (*snd_ctl_ascii_value_parse)( snd_ctl_t*, snd_ctl_elem_value_t*, snd_ctl_elem_info_t*,const char*);
+extern size_t (*snd_ctl_elem_id_sizeof)( void);
+extern int (*snd_ctl_elem_id_malloc)( snd_ctl_elem_id_t**);
+extern void (*snd_ctl_elem_id_free)( snd_ctl_elem_id_t*);
+extern void (*snd_ctl_elem_id_clear)( snd_ctl_elem_id_t*);
+extern void (*snd_ctl_elem_id_copy)( snd_ctl_elem_id_t*,const snd_ctl_elem_id_t*);
+extern unsigned int (*snd_ctl_elem_id_get_numid)(const snd_ctl_elem_id_t*);
+extern snd_ctl_elem_iface_t (*snd_ctl_elem_id_get_interface)(const snd_ctl_elem_id_t*);
+extern unsigned int (*snd_ctl_elem_id_get_device)(const snd_ctl_elem_id_t*);
+extern unsigned int (*snd_ctl_elem_id_get_subdevice)(const snd_ctl_elem_id_t*);
+extern const char* (*snd_ctl_elem_id_get_name)(const snd_ctl_elem_id_t*);
+extern unsigned int (*snd_ctl_elem_id_get_index)(const snd_ctl_elem_id_t*);
+extern void (*snd_ctl_elem_id_set_numid)( snd_ctl_elem_id_t*, unsigned int);
+extern void (*snd_ctl_elem_id_set_interface)( snd_ctl_elem_id_t*, snd_ctl_elem_iface_t);
+extern void (*snd_ctl_elem_id_set_device)( snd_ctl_elem_id_t*, unsigned int);
+extern void (*snd_ctl_elem_id_set_subdevice)( snd_ctl_elem_id_t*, unsigned int);
+extern void (*snd_ctl_elem_id_set_name)( snd_ctl_elem_id_t*,const char*);
+extern void (*snd_ctl_elem_id_set_index)( snd_ctl_elem_id_t*, unsigned int);
+extern size_t (*snd_ctl_card_info_sizeof)( void);
+extern int (*snd_ctl_card_info_malloc)( snd_ctl_card_info_t**);
+extern void (*snd_ctl_card_info_free)( snd_ctl_card_info_t*);
+extern void (*snd_ctl_card_info_clear)( snd_ctl_card_info_t*);
+extern void (*snd_ctl_card_info_copy)( snd_ctl_card_info_t*,const snd_ctl_card_info_t*);
+extern int (*snd_ctl_card_info_get_card)(const snd_ctl_card_info_t*);
+extern const char* (*snd_ctl_card_info_get_id)(const snd_ctl_card_info_t*);
+extern const char* (*snd_ctl_card_info_get_driver)(const snd_ctl_card_info_t*);
+extern const char* (*snd_ctl_card_info_get_name)(const snd_ctl_card_info_t*);
+extern const char* (*snd_ctl_card_info_get_longname)(const snd_ctl_card_info_t*);
+extern const char* (*snd_ctl_card_info_get_mixername)(const snd_ctl_card_info_t*);
+extern const char* (*snd_ctl_card_info_get_components)(const snd_ctl_card_info_t*);
+extern size_t (*snd_ctl_event_sizeof)( void);
+extern int (*snd_ctl_event_malloc)( snd_ctl_event_t**);
+extern void (*snd_ctl_event_free)( snd_ctl_event_t*);
+extern void (*snd_ctl_event_clear)( snd_ctl_event_t*);
+extern void (*snd_ctl_event_copy)( snd_ctl_event_t*,const snd_ctl_event_t*);
+extern snd_ctl_event_type_t (*snd_ctl_event_get_type)(const snd_ctl_event_t*);
+extern size_t (*snd_ctl_elem_list_sizeof)( void);
+extern int (*snd_ctl_elem_list_malloc)( snd_ctl_elem_list_t**);
+extern void (*snd_ctl_elem_list_free)( snd_ctl_elem_list_t*);
+extern void (*snd_ctl_elem_list_clear)( snd_ctl_elem_list_t*);
+extern void (*snd_ctl_elem_list_copy)( snd_ctl_elem_list_t*,const snd_ctl_elem_list_t*);
+extern void (*snd_ctl_elem_list_set_offset)( snd_ctl_elem_list_t*, unsigned int);
+extern unsigned int (*snd_ctl_elem_list_get_used)(const snd_ctl_elem_list_t*);
+extern unsigned int (*snd_ctl_elem_list_get_count)(const snd_ctl_elem_list_t*);
+extern void (*snd_ctl_elem_list_get_id)(const snd_ctl_elem_list_t*, unsigned int, snd_ctl_elem_id_t*);
+extern unsigned int (*snd_ctl_elem_list_get_numid)(const snd_ctl_elem_list_t*, unsigned int);
+extern snd_ctl_elem_iface_t (*snd_ctl_elem_list_get_interface)(const snd_ctl_elem_list_t*, unsigned int);
+extern unsigned int (*snd_ctl_elem_list_get_device)(const snd_ctl_elem_list_t*, unsigned int);
+extern unsigned int (*snd_ctl_elem_list_get_subdevice)(const snd_ctl_elem_list_t*, unsigned int);
+extern const char* (*snd_ctl_elem_list_get_name)(const snd_ctl_elem_list_t*, unsigned int);
+extern unsigned int (*snd_ctl_elem_list_get_index)(const snd_ctl_elem_list_t*, unsigned int);
+extern size_t (*snd_ctl_elem_info_sizeof)( void);
+extern int (*snd_ctl_elem_info_malloc)( snd_ctl_elem_info_t**);
+extern void (*snd_ctl_elem_info_free)( snd_ctl_elem_info_t*);
+extern void (*snd_ctl_elem_info_clear)( snd_ctl_elem_info_t*);
+extern void (*snd_ctl_elem_info_copy)( snd_ctl_elem_info_t*,const snd_ctl_elem_info_t*);
+extern snd_ctl_elem_type_t (*snd_ctl_elem_info_get_type)(const snd_ctl_elem_info_t*);
+extern int (*snd_ctl_elem_info_is_readable)(const snd_ctl_elem_info_t*);
+extern int (*snd_ctl_elem_info_is_writable)(const snd_ctl_elem_info_t*);
+extern int (*snd_ctl_elem_info_is_volatile)(const snd_ctl_elem_info_t*);
+extern int (*snd_ctl_elem_info_is_inactive)(const snd_ctl_elem_info_t*);
+extern int (*snd_ctl_elem_info_is_locked)(const snd_ctl_elem_info_t*);
+extern int (*snd_ctl_elem_info_is_tlv_readable)(const snd_ctl_elem_info_t*);
+extern int (*snd_ctl_elem_info_is_tlv_writable)(const snd_ctl_elem_info_t*);
+extern int (*snd_ctl_elem_info_is_tlv_commandable)(const snd_ctl_elem_info_t*);
+extern int (*snd_ctl_elem_info_is_owner)(const snd_ctl_elem_info_t*);
+extern int (*snd_ctl_elem_info_is_user)(const snd_ctl_elem_info_t*);
+extern pid_t (*snd_ctl_elem_info_get_owner)(const snd_ctl_elem_info_t*);
+extern unsigned int (*snd_ctl_elem_info_get_count)(const snd_ctl_elem_info_t*);
+extern long (*snd_ctl_elem_info_get_min)(const snd_ctl_elem_info_t*);
+extern long (*snd_ctl_elem_info_get_max)(const snd_ctl_elem_info_t*);
+extern long (*snd_ctl_elem_info_get_step)(const snd_ctl_elem_info_t*);
+extern long long (*snd_ctl_elem_info_get_min64)(const snd_ctl_elem_info_t*);
+extern long long (*snd_ctl_elem_info_get_max64)(const snd_ctl_elem_info_t*);
+extern long long (*snd_ctl_elem_info_get_step64)(const snd_ctl_elem_info_t*);
+extern unsigned int (*snd_ctl_elem_info_get_items)(const snd_ctl_elem_info_t*);
+extern void (*snd_ctl_elem_info_set_item)( snd_ctl_elem_info_t*, unsigned int);
+extern const char* (*snd_ctl_elem_info_get_item_name)(const snd_ctl_elem_info_t*);
+extern int (*snd_ctl_elem_info_get_dimensions)(const snd_ctl_elem_info_t*);
+extern int (*snd_ctl_elem_info_get_dimension)(const snd_ctl_elem_info_t*, unsigned int);
+extern int (*snd_ctl_elem_info_set_dimension)( snd_ctl_elem_info_t*,const int [4]);
+extern void (*snd_ctl_elem_info_get_id)(const snd_ctl_elem_info_t*, snd_ctl_elem_id_t*);
+extern unsigned int (*snd_ctl_elem_info_get_numid)(const snd_ctl_elem_info_t*);
+extern snd_ctl_elem_iface_t (*snd_ctl_elem_info_get_interface)(const snd_ctl_elem_info_t*);
+extern unsigned int (*snd_ctl_elem_info_get_device)(const snd_ctl_elem_info_t*);
+extern unsigned int (*snd_ctl_elem_info_get_subdevice)(const snd_ctl_elem_info_t*);
+extern const char* (*snd_ctl_elem_info_get_name)(const snd_ctl_elem_info_t*);
+extern unsigned int (*snd_ctl_elem_info_get_index)(const snd_ctl_elem_info_t*);
+extern void (*snd_ctl_elem_info_set_id)( snd_ctl_elem_info_t*,const snd_ctl_elem_id_t*);
+extern void (*snd_ctl_elem_info_set_numid)( snd_ctl_elem_info_t*, unsigned int);
+extern void (*snd_ctl_elem_info_set_interface)( snd_ctl_elem_info_t*, snd_ctl_elem_iface_t);
+extern void (*snd_ctl_elem_info_set_device)( snd_ctl_elem_info_t*, unsigned int);
+extern void (*snd_ctl_elem_info_set_subdevice)( snd_ctl_elem_info_t*, unsigned int);
+extern void (*snd_ctl_elem_info_set_name)( snd_ctl_elem_info_t*,const char*);
+extern void (*snd_ctl_elem_info_set_index)( snd_ctl_elem_info_t*, unsigned int);
+extern int (*snd_ctl_add_integer_elem_set)( snd_ctl_t*, snd_ctl_elem_info_t*, unsigned int, unsigned int, long, long, long);
+extern int (*snd_ctl_add_integer64_elem_set)( snd_ctl_t*, snd_ctl_elem_info_t*, unsigned int, unsigned int, long long, long long, long long);
+extern int (*snd_ctl_add_boolean_elem_set)( snd_ctl_t*, snd_ctl_elem_info_t*, unsigned int, unsigned int);
+extern int (*snd_ctl_add_enumerated_elem_set)( snd_ctl_t*, snd_ctl_elem_info_t*, unsigned int, unsigned int, unsigned int,const char* []);
+extern int (*snd_ctl_add_bytes_elem_set)( snd_ctl_t*, snd_ctl_elem_info_t*, unsigned int, unsigned int);
+extern int (*snd_ctl_elem_add_integer)( snd_ctl_t*,const snd_ctl_elem_id_t*, unsigned int, long, long, long);
+extern int (*snd_ctl_elem_add_integer64)( snd_ctl_t*,const snd_ctl_elem_id_t*, unsigned int, long long, long long, long long);
+extern int (*snd_ctl_elem_add_boolean)( snd_ctl_t*,const snd_ctl_elem_id_t*, unsigned int);
+extern int (*snd_ctl_elem_add_enumerated)( snd_ctl_t*,const snd_ctl_elem_id_t*, unsigned int, unsigned int,const char* []);
+extern int (*snd_ctl_elem_add_iec958)( snd_ctl_t*,const snd_ctl_elem_id_t*);
+extern int (*snd_ctl_elem_remove)( snd_ctl_t*, snd_ctl_elem_id_t*);
+extern size_t (*snd_ctl_elem_value_sizeof)( void);
+extern int (*snd_ctl_elem_value_malloc)( snd_ctl_elem_value_t**);
+extern void (*snd_ctl_elem_value_free)( snd_ctl_elem_value_t*);
+extern void (*snd_ctl_elem_value_clear)( snd_ctl_elem_value_t*);
+extern void (*snd_ctl_elem_value_copy)( snd_ctl_elem_value_t*,const snd_ctl_elem_value_t*);
+extern int (*snd_ctl_elem_value_compare)( snd_ctl_elem_value_t*,const snd_ctl_elem_value_t*);
+extern void (*snd_ctl_elem_value_get_id)(const snd_ctl_elem_value_t*, snd_ctl_elem_id_t*);
+extern unsigned int (*snd_ctl_elem_value_get_numid)(const snd_ctl_elem_value_t*);
+extern snd_ctl_elem_iface_t (*snd_ctl_elem_value_get_interface)(const snd_ctl_elem_value_t*);
+extern unsigned int (*snd_ctl_elem_value_get_device)(const snd_ctl_elem_value_t*);
+extern unsigned int (*snd_ctl_elem_value_get_subdevice)(const snd_ctl_elem_value_t*);
+extern const char* (*snd_ctl_elem_value_get_name)(const snd_ctl_elem_value_t*);
+extern unsigned int (*snd_ctl_elem_value_get_index)(const snd_ctl_elem_value_t*);
+extern void (*snd_ctl_elem_value_set_id)( snd_ctl_elem_value_t*,const snd_ctl_elem_id_t*);
+extern void (*snd_ctl_elem_value_set_numid)( snd_ctl_elem_value_t*, unsigned int);
+extern void (*snd_ctl_elem_value_set_interface)( snd_ctl_elem_value_t*, snd_ctl_elem_iface_t);
+extern void (*snd_ctl_elem_value_set_device)( snd_ctl_elem_value_t*, unsigned int);
+extern void (*snd_ctl_elem_value_set_subdevice)( snd_ctl_elem_value_t*, unsigned int);
+extern void (*snd_ctl_elem_value_set_name)( snd_ctl_elem_value_t*,const char*);
+extern void (*snd_ctl_elem_value_set_index)( snd_ctl_elem_value_t*, unsigned int);
+extern int (*snd_ctl_elem_value_get_boolean)(const snd_ctl_elem_value_t*, unsigned int);
+extern long (*snd_ctl_elem_value_get_integer)(const snd_ctl_elem_value_t*, unsigned int);
+extern long long (*snd_ctl_elem_value_get_integer64)(const snd_ctl_elem_value_t*, unsigned int);
+extern unsigned int (*snd_ctl_elem_value_get_enumerated)(const snd_ctl_elem_value_t*, unsigned int);
+extern unsigned char (*snd_ctl_elem_value_get_byte)(const snd_ctl_elem_value_t*, unsigned int);
+extern void (*snd_ctl_elem_value_set_boolean)( snd_ctl_elem_value_t*, unsigned int, long);
+extern void (*snd_ctl_elem_value_set_integer)( snd_ctl_elem_value_t*, unsigned int, long);
+extern void (*snd_ctl_elem_value_set_integer64)( snd_ctl_elem_value_t*, unsigned int, long long);
+extern void (*snd_ctl_elem_value_set_enumerated)( snd_ctl_elem_value_t*, unsigned int, unsigned int);
+extern void (*snd_ctl_elem_value_set_byte)( snd_ctl_elem_value_t*, unsigned int, unsigned char);
+extern void (*snd_ctl_elem_set_bytes)( snd_ctl_elem_value_t*, void*, size_t);
+extern const void* (*snd_ctl_elem_value_get_bytes)(const snd_ctl_elem_value_t*);
+extern void (*snd_ctl_elem_value_get_iec958)(const snd_ctl_elem_value_t*, snd_aes_iec958_t*);
+extern void (*snd_ctl_elem_value_set_iec958)( snd_ctl_elem_value_t*,const snd_aes_iec958_t*);
+extern int (*snd_tlv_parse_dB_info)( unsigned int*, unsigned int, unsigned int**);
+extern int (*snd_tlv_get_dB_range)( unsigned int*, long, long, long*, long*);
+extern int (*snd_tlv_convert_to_dB)( unsigned int*, long, long, long, long*);
+extern int (*snd_tlv_convert_from_dB)( unsigned int*, long, long, long, long*, int);
+extern int (*snd_ctl_get_dB_range)( snd_ctl_t*,const snd_ctl_elem_id_t*, long*, long*);
+extern int (*snd_ctl_convert_to_dB)( snd_ctl_t*,const snd_ctl_elem_id_t*, long, long*);
+extern int (*snd_ctl_convert_from_dB)( snd_ctl_t*,const snd_ctl_elem_id_t*, long, long*, int);
+extern int (*snd_hctl_compare_fast)(const snd_hctl_elem_t*,const snd_hctl_elem_t*);
+extern int (*snd_hctl_open)( snd_hctl_t**,const char*, int);
+extern int (*snd_hctl_open_ctl)( snd_hctl_t**, snd_ctl_t*);
+extern int (*snd_hctl_close)( snd_hctl_t*);
+extern int (*snd_hctl_nonblock)( snd_hctl_t*, int);
+extern int (*snd_hctl_poll_descriptors_count)( snd_hctl_t*);
+extern int (*snd_hctl_poll_descriptors)( snd_hctl_t*,struct pollfd*, unsigned int);
+extern int (*snd_hctl_poll_descriptors_revents)( snd_hctl_t*,struct pollfd*, unsigned int, unsigned short*);
+extern unsigned int (*snd_hctl_get_count)( snd_hctl_t*);
+extern int (*snd_hctl_set_compare)( snd_hctl_t*, snd_hctl_compare_t);
+extern snd_hctl_elem_t* (*snd_hctl_first_elem)( snd_hctl_t*);
+extern snd_hctl_elem_t* (*snd_hctl_last_elem)( snd_hctl_t*);
+extern snd_hctl_elem_t* (*snd_hctl_find_elem)( snd_hctl_t*,const snd_ctl_elem_id_t*);
+extern void (*snd_hctl_set_callback)( snd_hctl_t*, snd_hctl_callback_t);
+extern void (*snd_hctl_set_callback_private)( snd_hctl_t*, void*);
+extern void* (*snd_hctl_get_callback_private)( snd_hctl_t*);
+extern int (*snd_hctl_load)( snd_hctl_t*);
+extern int (*snd_hctl_free)( snd_hctl_t*);
+extern int (*snd_hctl_handle_events)( snd_hctl_t*);
+extern const char* (*snd_hctl_name)( snd_hctl_t*);
+extern int (*snd_hctl_wait)( snd_hctl_t*, int);
+extern snd_ctl_t* (*snd_hctl_ctl)( snd_hctl_t*);
+extern snd_hctl_elem_t* (*snd_hctl_elem_next)( snd_hctl_elem_t*);
+extern snd_hctl_elem_t* (*snd_hctl_elem_prev)( snd_hctl_elem_t*);
+extern int (*snd_hctl_elem_info)( snd_hctl_elem_t*, snd_ctl_elem_info_t*);
+extern int (*snd_hctl_elem_read)( snd_hctl_elem_t*, snd_ctl_elem_value_t*);
+extern int (*snd_hctl_elem_write)( snd_hctl_elem_t*, snd_ctl_elem_value_t*);
+extern int (*snd_hctl_elem_tlv_read)( snd_hctl_elem_t*, unsigned int*, unsigned int);
+extern int (*snd_hctl_elem_tlv_write)( snd_hctl_elem_t*,const unsigned int*);
+extern int (*snd_hctl_elem_tlv_command)( snd_hctl_elem_t*,const unsigned int*);
+extern snd_hctl_t* (*snd_hctl_elem_get_hctl)( snd_hctl_elem_t*);
+extern void (*snd_hctl_elem_get_id)(const snd_hctl_elem_t*, snd_ctl_elem_id_t*);
+extern unsigned int (*snd_hctl_elem_get_numid)(const snd_hctl_elem_t*);
+extern snd_ctl_elem_iface_t (*snd_hctl_elem_get_interface)(const snd_hctl_elem_t*);
+extern unsigned int (*snd_hctl_elem_get_device)(const snd_hctl_elem_t*);
+extern unsigned int (*snd_hctl_elem_get_subdevice)(const snd_hctl_elem_t*);
+extern const char* (*snd_hctl_elem_get_name)(const snd_hctl_elem_t*);
+extern unsigned int (*snd_hctl_elem_get_index)(const snd_hctl_elem_t*);
+extern void (*snd_hctl_elem_set_callback)( snd_hctl_elem_t*, snd_hctl_elem_callback_t);
+extern void* (*snd_hctl_elem_get_callback_private)(const snd_hctl_elem_t*);
+extern void (*snd_hctl_elem_set_callback_private)( snd_hctl_elem_t*, void*);
+extern int (*snd_sctl_build)( snd_sctl_t**, snd_ctl_t*, snd_config_t*, snd_config_t*, int);
+extern int (*snd_sctl_free)( snd_sctl_t*);
+extern int (*snd_sctl_install)( snd_sctl_t*);
+extern int (*snd_sctl_remove)( snd_sctl_t*);
+extern int (*snd_mixer_open)( snd_mixer_t**, int);
+extern int (*snd_mixer_close)( snd_mixer_t*);
+extern snd_mixer_elem_t* (*snd_mixer_first_elem)( snd_mixer_t*);
+extern snd_mixer_elem_t* (*snd_mixer_last_elem)( snd_mixer_t*);
+extern int (*snd_mixer_handle_events)( snd_mixer_t*);
+extern int (*snd_mixer_attach)( snd_mixer_t*,const char*);
+extern int (*snd_mixer_attach_hctl)( snd_mixer_t*, snd_hctl_t*);
+extern int (*snd_mixer_detach)( snd_mixer_t*,const char*);
+extern int (*snd_mixer_detach_hctl)( snd_mixer_t*, snd_hctl_t*);
+extern int (*snd_mixer_get_hctl)( snd_mixer_t*,const char*, snd_hctl_t**);
+extern int (*snd_mixer_poll_descriptors_count)( snd_mixer_t*);
+extern int (*snd_mixer_poll_descriptors)( snd_mixer_t*,struct pollfd*, unsigned int);
+extern int (*snd_mixer_poll_descriptors_revents)( snd_mixer_t*,struct pollfd*, unsigned int, unsigned short*);
+extern int (*snd_mixer_load)( snd_mixer_t*);
+extern void (*snd_mixer_free)( snd_mixer_t*);
+extern int (*snd_mixer_wait)( snd_mixer_t*, int);
+extern int (*snd_mixer_set_compare)( snd_mixer_t*, snd_mixer_compare_t);
+extern void (*snd_mixer_set_callback)( snd_mixer_t*, snd_mixer_callback_t);
+extern void* (*snd_mixer_get_callback_private)(const snd_mixer_t*);
+extern void (*snd_mixer_set_callback_private)( snd_mixer_t*, void*);
+extern unsigned int (*snd_mixer_get_count)(const snd_mixer_t*);
+extern int (*snd_mixer_class_unregister)( snd_mixer_class_t*);
+extern snd_mixer_elem_t* (*snd_mixer_elem_next)( snd_mixer_elem_t*);
+extern snd_mixer_elem_t* (*snd_mixer_elem_prev)( snd_mixer_elem_t*);
+extern void (*snd_mixer_elem_set_callback)( snd_mixer_elem_t*, snd_mixer_elem_callback_t);
+extern void* (*snd_mixer_elem_get_callback_private)(const snd_mixer_elem_t*);
+extern void (*snd_mixer_elem_set_callback_private)( snd_mixer_elem_t*, void*);
+extern snd_mixer_elem_type_t (*snd_mixer_elem_get_type)(const snd_mixer_elem_t*);
+extern int (*snd_mixer_class_register)( snd_mixer_class_t*, snd_mixer_t*);
+extern int (*snd_mixer_elem_new)( snd_mixer_elem_t**, snd_mixer_elem_type_t, int, void*, void*);
+extern int (*snd_mixer_elem_add)( snd_mixer_elem_t*, snd_mixer_class_t*);
+extern int (*snd_mixer_elem_remove)( snd_mixer_elem_t*);
+extern void (*snd_mixer_elem_free)( snd_mixer_elem_t*);
+extern int (*snd_mixer_elem_info)( snd_mixer_elem_t*);
+extern int (*snd_mixer_elem_value)( snd_mixer_elem_t*);
+extern int (*snd_mixer_elem_attach)( snd_mixer_elem_t*, snd_hctl_elem_t*);
+extern int (*snd_mixer_elem_detach)( snd_mixer_elem_t*, snd_hctl_elem_t*);
+extern int (*snd_mixer_elem_empty)( snd_mixer_elem_t*);
+extern void* (*snd_mixer_elem_get_private)(const snd_mixer_elem_t*);
+extern size_t (*snd_mixer_class_sizeof)( void);
+extern int (*snd_mixer_class_malloc)( snd_mixer_class_t**);
+extern void (*snd_mixer_class_free)( snd_mixer_class_t*);
+extern void (*snd_mixer_class_copy)( snd_mixer_class_t*,const snd_mixer_class_t*);
+extern snd_mixer_t* (*snd_mixer_class_get_mixer)(const snd_mixer_class_t*);
+extern snd_mixer_event_t (*snd_mixer_class_get_event)(const snd_mixer_class_t*);
+extern void* (*snd_mixer_class_get_private)(const snd_mixer_class_t*);
+extern snd_mixer_compare_t (*snd_mixer_class_get_compare)(const snd_mixer_class_t*);
+extern int (*snd_mixer_class_set_event)( snd_mixer_class_t*, snd_mixer_event_t);
+extern int (*snd_mixer_class_set_private)( snd_mixer_class_t*, void*);
+extern int (*snd_mixer_class_set_private_free)( snd_mixer_class_t*, void*);
+extern int (*snd_mixer_class_set_compare)( snd_mixer_class_t*, snd_mixer_compare_t);
+extern const char* (*snd_mixer_selem_channel_name)( snd_mixer_selem_channel_id_t);
+extern int (*snd_mixer_selem_register)( snd_mixer_t*,struct snd_mixer_selem_regopt*, snd_mixer_class_t**);
+extern void (*snd_mixer_selem_get_id)( snd_mixer_elem_t*, snd_mixer_selem_id_t*);
+extern const char* (*snd_mixer_selem_get_name)( snd_mixer_elem_t*);
+extern unsigned int (*snd_mixer_selem_get_index)( snd_mixer_elem_t*);
+extern snd_mixer_elem_t* (*snd_mixer_find_selem)( snd_mixer_t*,const snd_mixer_selem_id_t*);
+extern int (*snd_mixer_selem_is_active)( snd_mixer_elem_t*);
+extern int (*snd_mixer_selem_is_playback_mono)( snd_mixer_elem_t*);
+extern int (*snd_mixer_selem_has_playback_channel)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t);
+extern int (*snd_mixer_selem_is_capture_mono)( snd_mixer_elem_t*);
+extern int (*snd_mixer_selem_has_capture_channel)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t);
+extern int (*snd_mixer_selem_get_capture_group)( snd_mixer_elem_t*);
+extern int (*snd_mixer_selem_has_common_volume)( snd_mixer_elem_t*);
+extern int (*snd_mixer_selem_has_playback_volume)( snd_mixer_elem_t*);
+extern int (*snd_mixer_selem_has_playback_volume_joined)( snd_mixer_elem_t*);
+extern int (*snd_mixer_selem_has_capture_volume)( snd_mixer_elem_t*);
+extern int (*snd_mixer_selem_has_capture_volume_joined)( snd_mixer_elem_t*);
+extern int (*snd_mixer_selem_has_common_switch)( snd_mixer_elem_t*);
+extern int (*snd_mixer_selem_has_playback_switch)( snd_mixer_elem_t*);
+extern int (*snd_mixer_selem_has_playback_switch_joined)( snd_mixer_elem_t*);
+extern int (*snd_mixer_selem_has_capture_switch)( snd_mixer_elem_t*);
+extern int (*snd_mixer_selem_has_capture_switch_joined)( snd_mixer_elem_t*);
+extern int (*snd_mixer_selem_has_capture_switch_exclusive)( snd_mixer_elem_t*);
+extern int (*snd_mixer_selem_ask_playback_vol_dB)( snd_mixer_elem_t*, long, long*);
+extern int (*snd_mixer_selem_ask_capture_vol_dB)( snd_mixer_elem_t*, long, long*);
+extern int (*snd_mixer_selem_ask_playback_dB_vol)( snd_mixer_elem_t*, long, int, long*);
+extern int (*snd_mixer_selem_ask_capture_dB_vol)( snd_mixer_elem_t*, long, int, long*);
+extern int (*snd_mixer_selem_get_playback_volume)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, long*);
+extern int (*snd_mixer_selem_get_capture_volume)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, long*);
+extern int (*snd_mixer_selem_get_playback_dB)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, long*);
+extern int (*snd_mixer_selem_get_capture_dB)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, long*);
+extern int (*snd_mixer_selem_get_playback_switch)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, int*);
+extern int (*snd_mixer_selem_get_capture_switch)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, int*);
+extern int (*snd_mixer_selem_set_playback_volume)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, long);
+extern int (*snd_mixer_selem_set_capture_volume)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, long);
+extern int (*snd_mixer_selem_set_playback_dB)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, long, int);
+extern int (*snd_mixer_selem_set_capture_dB)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, long, int);
+extern int (*snd_mixer_selem_set_playback_volume_all)( snd_mixer_elem_t*, long);
+extern int (*snd_mixer_selem_set_capture_volume_all)( snd_mixer_elem_t*, long);
+extern int (*snd_mixer_selem_set_playback_dB_all)( snd_mixer_elem_t*, long, int);
+extern int (*snd_mixer_selem_set_capture_dB_all)( snd_mixer_elem_t*, long, int);
+extern int (*snd_mixer_selem_set_playback_switch)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, int);
+extern int (*snd_mixer_selem_set_capture_switch)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, int);
+extern int (*snd_mixer_selem_set_playback_switch_all)( snd_mixer_elem_t*, int);
+extern int (*snd_mixer_selem_set_capture_switch_all)( snd_mixer_elem_t*, int);
+extern int (*snd_mixer_selem_get_playback_volume_range)( snd_mixer_elem_t*, long*, long*);
+extern int (*snd_mixer_selem_get_playback_dB_range)( snd_mixer_elem_t*, long*, long*);
+extern int (*snd_mixer_selem_set_playback_volume_range)( snd_mixer_elem_t*, long, long);
+extern int (*snd_mixer_selem_get_capture_volume_range)( snd_mixer_elem_t*, long*, long*);
+extern int (*snd_mixer_selem_get_capture_dB_range)( snd_mixer_elem_t*, long*, long*);
+extern int (*snd_mixer_selem_set_capture_volume_range)( snd_mixer_elem_t*, long, long);
+extern int (*snd_mixer_selem_is_enumerated)( snd_mixer_elem_t*);
+extern int (*snd_mixer_selem_is_enum_playback)( snd_mixer_elem_t*);
+extern int (*snd_mixer_selem_is_enum_capture)( snd_mixer_elem_t*);
+extern int (*snd_mixer_selem_get_enum_items)( snd_mixer_elem_t*);
+extern int (*snd_mixer_selem_get_enum_item_name)( snd_mixer_elem_t*, unsigned int, size_t, char*);
+extern int (*snd_mixer_selem_get_enum_item)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, unsigned int*);
+extern int (*snd_mixer_selem_set_enum_item)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, unsigned int);
+extern size_t (*snd_mixer_selem_id_sizeof)( void);
+extern int (*snd_mixer_selem_id_malloc)( snd_mixer_selem_id_t**);
+extern void (*snd_mixer_selem_id_free)( snd_mixer_selem_id_t*);
+extern void (*snd_mixer_selem_id_copy)( snd_mixer_selem_id_t*,const snd_mixer_selem_id_t*);
+extern const char* (*snd_mixer_selem_id_get_name)(const snd_mixer_selem_id_t*);
+extern unsigned int (*snd_mixer_selem_id_get_index)(const snd_mixer_selem_id_t*);
+extern void (*snd_mixer_selem_id_set_name)( snd_mixer_selem_id_t*,const char*);
+extern void (*snd_mixer_selem_id_set_index)( snd_mixer_selem_id_t*, unsigned int);
+extern int (*snd_mixer_selem_id_parse)( snd_mixer_selem_id_t*,const char*);
+extern int (*snd_seq_open)( snd_seq_t**,const char*, int, int);
+extern int (*snd_seq_open_lconf)( snd_seq_t**,const char*, int, int, snd_config_t*);
+extern const char* (*snd_seq_name)( snd_seq_t*);
+extern snd_seq_type_t (*snd_seq_type)( snd_seq_t*);
+extern int (*snd_seq_close)( snd_seq_t*);
+extern int (*snd_seq_poll_descriptors_count)( snd_seq_t*, short);
+extern int (*snd_seq_poll_descriptors)( snd_seq_t*,struct pollfd*, unsigned int, short);
+extern int (*snd_seq_poll_descriptors_revents)( snd_seq_t*,struct pollfd*, unsigned int, unsigned short*);
+extern int (*snd_seq_nonblock)( snd_seq_t*, int);
+extern int (*snd_seq_client_id)( snd_seq_t*);
+extern size_t (*snd_seq_get_output_buffer_size)( snd_seq_t*);
+extern size_t (*snd_seq_get_input_buffer_size)( snd_seq_t*);
+extern int (*snd_seq_set_output_buffer_size)( snd_seq_t*, size_t);
+extern int (*snd_seq_set_input_buffer_size)( snd_seq_t*, size_t);
+extern size_t (*snd_seq_system_info_sizeof)( void);
+extern int (*snd_seq_system_info_malloc)( snd_seq_system_info_t**);
+extern void (*snd_seq_system_info_free)( snd_seq_system_info_t*);
+extern void (*snd_seq_system_info_copy)( snd_seq_system_info_t*,const snd_seq_system_info_t*);
+extern int (*snd_seq_system_info_get_queues)(const snd_seq_system_info_t*);
+extern int (*snd_seq_system_info_get_clients)(const snd_seq_system_info_t*);
+extern int (*snd_seq_system_info_get_ports)(const snd_seq_system_info_t*);
+extern int (*snd_seq_system_info_get_channels)(const snd_seq_system_info_t*);
+extern int (*snd_seq_system_info_get_cur_clients)(const snd_seq_system_info_t*);
+extern int (*snd_seq_system_info_get_cur_queues)(const snd_seq_system_info_t*);
+extern int (*snd_seq_system_info)( snd_seq_t*, snd_seq_system_info_t*);
+extern size_t (*snd_seq_client_info_sizeof)( void);
+extern int (*snd_seq_client_info_malloc)( snd_seq_client_info_t**);
+extern void (*snd_seq_client_info_free)( snd_seq_client_info_t*);
+extern void (*snd_seq_client_info_copy)( snd_seq_client_info_t*,const snd_seq_client_info_t*);
+extern int (*snd_seq_client_info_get_client)(const snd_seq_client_info_t*);
+extern snd_seq_client_type_t (*snd_seq_client_info_get_type)(const snd_seq_client_info_t*);
+extern const char* (*snd_seq_client_info_get_name)( snd_seq_client_info_t*);
+extern int (*snd_seq_client_info_get_broadcast_filter)(const snd_seq_client_info_t*);
+extern int (*snd_seq_client_info_get_error_bounce)(const snd_seq_client_info_t*);
+extern int (*snd_seq_client_info_get_card)(const snd_seq_client_info_t*);
+extern int (*snd_seq_client_info_get_pid)(const snd_seq_client_info_t*);
+extern const unsigned char* (*snd_seq_client_info_get_event_filter)(const snd_seq_client_info_t*);
+extern int (*snd_seq_client_info_get_num_ports)(const snd_seq_client_info_t*);
+extern int (*snd_seq_client_info_get_event_lost)(const snd_seq_client_info_t*);
+extern void (*snd_seq_client_info_set_client)( snd_seq_client_info_t*, int);
+extern void (*snd_seq_client_info_set_name)( snd_seq_client_info_t*,const char*);
+extern void (*snd_seq_client_info_set_broadcast_filter)( snd_seq_client_info_t*, int);
+extern void (*snd_seq_client_info_set_error_bounce)( snd_seq_client_info_t*, int);
+extern void (*snd_seq_client_info_set_event_filter)( snd_seq_client_info_t*, unsigned char*);
+extern void (*snd_seq_client_info_event_filter_clear)( snd_seq_client_info_t*);
+extern void (*snd_seq_client_info_event_filter_add)( snd_seq_client_info_t*, int);
+extern void (*snd_seq_client_info_event_filter_del)( snd_seq_client_info_t*, int);
+extern int (*snd_seq_client_info_event_filter_check)( snd_seq_client_info_t*, int);
+extern int (*snd_seq_get_client_info)( snd_seq_t*, snd_seq_client_info_t*);
+extern int (*snd_seq_get_any_client_info)( snd_seq_t*, int, snd_seq_client_info_t*);
+extern int (*snd_seq_set_client_info)( snd_seq_t*, snd_seq_client_info_t*);
+extern int (*snd_seq_query_next_client)( snd_seq_t*, snd_seq_client_info_t*);
+extern size_t (*snd_seq_client_pool_sizeof)( void);
+extern int (*snd_seq_client_pool_malloc)( snd_seq_client_pool_t**);
+extern void (*snd_seq_client_pool_free)( snd_seq_client_pool_t*);
+extern void (*snd_seq_client_pool_copy)( snd_seq_client_pool_t*,const snd_seq_client_pool_t*);
+extern int (*snd_seq_client_pool_get_client)(const snd_seq_client_pool_t*);
+extern size_t (*snd_seq_client_pool_get_output_pool)(const snd_seq_client_pool_t*);
+extern size_t (*snd_seq_client_pool_get_input_pool)(const snd_seq_client_pool_t*);
+extern size_t (*snd_seq_client_pool_get_output_room)(const snd_seq_client_pool_t*);
+extern size_t (*snd_seq_client_pool_get_output_free)(const snd_seq_client_pool_t*);
+extern size_t (*snd_seq_client_pool_get_input_free)(const snd_seq_client_pool_t*);
+extern void (*snd_seq_client_pool_set_output_pool)( snd_seq_client_pool_t*, size_t);
+extern void (*snd_seq_client_pool_set_input_pool)( snd_seq_client_pool_t*, size_t);
+extern void (*snd_seq_client_pool_set_output_room)( snd_seq_client_pool_t*, size_t);
+extern int (*snd_seq_get_client_pool)( snd_seq_t*, snd_seq_client_pool_t*);
+extern int (*snd_seq_set_client_pool)( snd_seq_t*, snd_seq_client_pool_t*);
+extern size_t (*snd_seq_port_info_sizeof)( void);
+extern int (*snd_seq_port_info_malloc)( snd_seq_port_info_t**);
+extern void (*snd_seq_port_info_free)( snd_seq_port_info_t*);
+extern void (*snd_seq_port_info_copy)( snd_seq_port_info_t*,const snd_seq_port_info_t*);
+extern int (*snd_seq_port_info_get_client)(const snd_seq_port_info_t*);
+extern int (*snd_seq_port_info_get_port)(const snd_seq_port_info_t*);
+extern const snd_seq_addr_t* (*snd_seq_port_info_get_addr)(const snd_seq_port_info_t*);
+extern const char* (*snd_seq_port_info_get_name)(const snd_seq_port_info_t*);
+extern unsigned int (*snd_seq_port_info_get_capability)(const snd_seq_port_info_t*);
+extern unsigned int (*snd_seq_port_info_get_type)(const snd_seq_port_info_t*);
+extern int (*snd_seq_port_info_get_midi_channels)(const snd_seq_port_info_t*);
+extern int (*snd_seq_port_info_get_midi_voices)(const snd_seq_port_info_t*);
+extern int (*snd_seq_port_info_get_synth_voices)(const snd_seq_port_info_t*);
+extern int (*snd_seq_port_info_get_read_use)(const snd_seq_port_info_t*);
+extern int (*snd_seq_port_info_get_write_use)(const snd_seq_port_info_t*);
+extern int (*snd_seq_port_info_get_port_specified)(const snd_seq_port_info_t*);
+extern int (*snd_seq_port_info_get_timestamping)(const snd_seq_port_info_t*);
+extern int (*snd_seq_port_info_get_timestamp_real)(const snd_seq_port_info_t*);
+extern int (*snd_seq_port_info_get_timestamp_queue)(const snd_seq_port_info_t*);
+extern void (*snd_seq_port_info_set_client)( snd_seq_port_info_t*, int);
+extern void (*snd_seq_port_info_set_port)( snd_seq_port_info_t*, int);
+extern void (*snd_seq_port_info_set_addr)( snd_seq_port_info_t*,const snd_seq_addr_t*);
+extern void (*snd_seq_port_info_set_name)( snd_seq_port_info_t*,const char*);
+extern void (*snd_seq_port_info_set_capability)( snd_seq_port_info_t*, unsigned int);
+extern void (*snd_seq_port_info_set_type)( snd_seq_port_info_t*, unsigned int);
+extern void (*snd_seq_port_info_set_midi_channels)( snd_seq_port_info_t*, int);
+extern void (*snd_seq_port_info_set_midi_voices)( snd_seq_port_info_t*, int);
+extern void (*snd_seq_port_info_set_synth_voices)( snd_seq_port_info_t*, int);
+extern void (*snd_seq_port_info_set_port_specified)( snd_seq_port_info_t*, int);
+extern void (*snd_seq_port_info_set_timestamping)( snd_seq_port_info_t*, int);
+extern void (*snd_seq_port_info_set_timestamp_real)( snd_seq_port_info_t*, int);
+extern void (*snd_seq_port_info_set_timestamp_queue)( snd_seq_port_info_t*, int);
+extern int (*snd_seq_create_port)( snd_seq_t*, snd_seq_port_info_t*);
+extern int (*snd_seq_delete_port)( snd_seq_t*, int);
+extern int (*snd_seq_get_port_info)( snd_seq_t*, int, snd_seq_port_info_t*);
+extern int (*snd_seq_get_any_port_info)( snd_seq_t*, int, int, snd_seq_port_info_t*);
+extern int (*snd_seq_set_port_info)( snd_seq_t*, int, snd_seq_port_info_t*);
+extern int (*snd_seq_query_next_port)( snd_seq_t*, snd_seq_port_info_t*);
+extern size_t (*snd_seq_port_subscribe_sizeof)( void);
+extern int (*snd_seq_port_subscribe_malloc)( snd_seq_port_subscribe_t**);
+extern void (*snd_seq_port_subscribe_free)( snd_seq_port_subscribe_t*);
+extern void (*snd_seq_port_subscribe_copy)( snd_seq_port_subscribe_t*,const snd_seq_port_subscribe_t*);
+extern const snd_seq_addr_t* (*snd_seq_port_subscribe_get_sender)(const snd_seq_port_subscribe_t*);
+extern const snd_seq_addr_t* (*snd_seq_port_subscribe_get_dest)(const snd_seq_port_subscribe_t*);
+extern int (*snd_seq_port_subscribe_get_queue)(const snd_seq_port_subscribe_t*);
+extern int (*snd_seq_port_subscribe_get_exclusive)(const snd_seq_port_subscribe_t*);
+extern int (*snd_seq_port_subscribe_get_time_update)(const snd_seq_port_subscribe_t*);
+extern int (*snd_seq_port_subscribe_get_time_real)(const snd_seq_port_subscribe_t*);
+extern void (*snd_seq_port_subscribe_set_sender)( snd_seq_port_subscribe_t*,const snd_seq_addr_t*);
+extern void (*snd_seq_port_subscribe_set_dest)( snd_seq_port_subscribe_t*,const snd_seq_addr_t*);
+extern void (*snd_seq_port_subscribe_set_queue)( snd_seq_port_subscribe_t*, int);
+extern void (*snd_seq_port_subscribe_set_exclusive)( snd_seq_port_subscribe_t*, int);
+extern void (*snd_seq_port_subscribe_set_time_update)( snd_seq_port_subscribe_t*, int);
+extern void (*snd_seq_port_subscribe_set_time_real)( snd_seq_port_subscribe_t*, int);
+extern int (*snd_seq_get_port_subscription)( snd_seq_t*, snd_seq_port_subscribe_t*);
+extern int (*snd_seq_subscribe_port)( snd_seq_t*, snd_seq_port_subscribe_t*);
+extern int (*snd_seq_unsubscribe_port)( snd_seq_t*, snd_seq_port_subscribe_t*);
+extern size_t (*snd_seq_query_subscribe_sizeof)( void);
+extern int (*snd_seq_query_subscribe_malloc)( snd_seq_query_subscribe_t**);
+extern void (*snd_seq_query_subscribe_free)( snd_seq_query_subscribe_t*);
+extern void (*snd_seq_query_subscribe_copy)( snd_seq_query_subscribe_t*,const snd_seq_query_subscribe_t*);
+extern int (*snd_seq_query_subscribe_get_client)(const snd_seq_query_subscribe_t*);
+extern int (*snd_seq_query_subscribe_get_port)(const snd_seq_query_subscribe_t*);
+extern const snd_seq_addr_t* (*snd_seq_query_subscribe_get_root)(const snd_seq_query_subscribe_t*);
+extern snd_seq_query_subs_type_t (*snd_seq_query_subscribe_get_type)(const snd_seq_query_subscribe_t*);
+extern int (*snd_seq_query_subscribe_get_index)(const snd_seq_query_subscribe_t*);
+extern int (*snd_seq_query_subscribe_get_num_subs)(const snd_seq_query_subscribe_t*);
+extern const snd_seq_addr_t* (*snd_seq_query_subscribe_get_addr)(const snd_seq_query_subscribe_t*);
+extern int (*snd_seq_query_subscribe_get_queue)(const snd_seq_query_subscribe_t*);
+extern int (*snd_seq_query_subscribe_get_exclusive)(const snd_seq_query_subscribe_t*);
+extern int (*snd_seq_query_subscribe_get_time_update)(const snd_seq_query_subscribe_t*);
+extern int (*snd_seq_query_subscribe_get_time_real)(const snd_seq_query_subscribe_t*);
+extern void (*snd_seq_query_subscribe_set_client)( snd_seq_query_subscribe_t*, int);
+extern void (*snd_seq_query_subscribe_set_port)( snd_seq_query_subscribe_t*, int);
+extern void (*snd_seq_query_subscribe_set_root)( snd_seq_query_subscribe_t*,const snd_seq_addr_t*);
+extern void (*snd_seq_query_subscribe_set_type)( snd_seq_query_subscribe_t*, snd_seq_query_subs_type_t);
+extern void (*snd_seq_query_subscribe_set_index)( snd_seq_query_subscribe_t*, int);
+extern int (*snd_seq_query_port_subscribers)( snd_seq_t*, snd_seq_query_subscribe_t*);
+extern size_t (*snd_seq_queue_info_sizeof)( void);
+extern int (*snd_seq_queue_info_malloc)( snd_seq_queue_info_t**);
+extern void (*snd_seq_queue_info_free)( snd_seq_queue_info_t*);
+extern void (*snd_seq_queue_info_copy)( snd_seq_queue_info_t*,const snd_seq_queue_info_t*);
+extern int (*snd_seq_queue_info_get_queue)(const snd_seq_queue_info_t*);
+extern const char* (*snd_seq_queue_info_get_name)(const snd_seq_queue_info_t*);
+extern int (*snd_seq_queue_info_get_owner)(const snd_seq_queue_info_t*);
+extern int (*snd_seq_queue_info_get_locked)(const snd_seq_queue_info_t*);
+extern unsigned int (*snd_seq_queue_info_get_flags)(const snd_seq_queue_info_t*);
+extern void (*snd_seq_queue_info_set_name)( snd_seq_queue_info_t*,const char*);
+extern void (*snd_seq_queue_info_set_owner)( snd_seq_queue_info_t*, int);
+extern void (*snd_seq_queue_info_set_locked)( snd_seq_queue_info_t*, int);
+extern void (*snd_seq_queue_info_set_flags)( snd_seq_queue_info_t*, unsigned int);
+extern int (*snd_seq_create_queue)( snd_seq_t*, snd_seq_queue_info_t*);
+extern int (*snd_seq_alloc_named_queue)( snd_seq_t*,const char*);
+extern int (*snd_seq_alloc_queue)( snd_seq_t*);
+extern int (*snd_seq_free_queue)( snd_seq_t*, int);
+extern int (*snd_seq_get_queue_info)( snd_seq_t*, int, snd_seq_queue_info_t*);
+extern int (*snd_seq_set_queue_info)( snd_seq_t*, int, snd_seq_queue_info_t*);
+extern int (*snd_seq_query_named_queue)( snd_seq_t*,const char*);
+extern int (*snd_seq_get_queue_usage)( snd_seq_t*, int);
+extern int (*snd_seq_set_queue_usage)( snd_seq_t*, int, int);
+extern size_t (*snd_seq_queue_status_sizeof)( void);
+extern int (*snd_seq_queue_status_malloc)( snd_seq_queue_status_t**);
+extern void (*snd_seq_queue_status_free)( snd_seq_queue_status_t*);
+extern void (*snd_seq_queue_status_copy)( snd_seq_queue_status_t*,const snd_seq_queue_status_t*);
+extern int (*snd_seq_queue_status_get_queue)(const snd_seq_queue_status_t*);
+extern int (*snd_seq_queue_status_get_events)(const snd_seq_queue_status_t*);
+extern snd_seq_tick_time_t (*snd_seq_queue_status_get_tick_time)(const snd_seq_queue_status_t*);
+extern const snd_seq_real_time_t* (*snd_seq_queue_status_get_real_time)(const snd_seq_queue_status_t*);
+extern unsigned int (*snd_seq_queue_status_get_status)(const snd_seq_queue_status_t*);
+extern int (*snd_seq_get_queue_status)( snd_seq_t*, int, snd_seq_queue_status_t*);
+extern size_t (*snd_seq_queue_tempo_sizeof)( void);
+extern int (*snd_seq_queue_tempo_malloc)( snd_seq_queue_tempo_t**);
+extern void (*snd_seq_queue_tempo_free)( snd_seq_queue_tempo_t*);
+extern void (*snd_seq_queue_tempo_copy)( snd_seq_queue_tempo_t*,const snd_seq_queue_tempo_t*);
+extern int (*snd_seq_queue_tempo_get_queue)(const snd_seq_queue_tempo_t*);
+extern unsigned int (*snd_seq_queue_tempo_get_tempo)(const snd_seq_queue_tempo_t*);
+extern int (*snd_seq_queue_tempo_get_ppq)(const snd_seq_queue_tempo_t*);
+extern unsigned int (*snd_seq_queue_tempo_get_skew)(const snd_seq_queue_tempo_t*);
+extern unsigned int (*snd_seq_queue_tempo_get_skew_base)(const snd_seq_queue_tempo_t*);
+extern void (*snd_seq_queue_tempo_set_tempo)( snd_seq_queue_tempo_t*, unsigned int);
+extern void (*snd_seq_queue_tempo_set_ppq)( snd_seq_queue_tempo_t*, int);
+extern void (*snd_seq_queue_tempo_set_skew)( snd_seq_queue_tempo_t*, unsigned int);
+extern void (*snd_seq_queue_tempo_set_skew_base)( snd_seq_queue_tempo_t*, unsigned int);
+extern int (*snd_seq_get_queue_tempo)( snd_seq_t*, int, snd_seq_queue_tempo_t*);
+extern int (*snd_seq_set_queue_tempo)( snd_seq_t*, int, snd_seq_queue_tempo_t*);
+extern size_t (*snd_seq_queue_timer_sizeof)( void);
+extern int (*snd_seq_queue_timer_malloc)( snd_seq_queue_timer_t**);
+extern void (*snd_seq_queue_timer_free)( snd_seq_queue_timer_t*);
+extern void (*snd_seq_queue_timer_copy)( snd_seq_queue_timer_t*,const snd_seq_queue_timer_t*);
+extern int (*snd_seq_queue_timer_get_queue)(const snd_seq_queue_timer_t*);
+extern snd_seq_queue_timer_type_t (*snd_seq_queue_timer_get_type)(const snd_seq_queue_timer_t*);
+extern const snd_timer_id_t* (*snd_seq_queue_timer_get_id)(const snd_seq_queue_timer_t*);
+extern unsigned int (*snd_seq_queue_timer_get_resolution)(const snd_seq_queue_timer_t*);
+extern void (*snd_seq_queue_timer_set_type)( snd_seq_queue_timer_t*, snd_seq_queue_timer_type_t);
+extern void (*snd_seq_queue_timer_set_id)( snd_seq_queue_timer_t*,const snd_timer_id_t*);
+extern void (*snd_seq_queue_timer_set_resolution)( snd_seq_queue_timer_t*, unsigned int);
+extern int (*snd_seq_get_queue_timer)( snd_seq_t*, int, snd_seq_queue_timer_t*);
+extern int (*snd_seq_set_queue_timer)( snd_seq_t*, int, snd_seq_queue_timer_t*);
+extern int (*snd_seq_free_event)( snd_seq_event_t*);
+extern ssize_t (*snd_seq_event_length)( snd_seq_event_t*);
+extern int (*snd_seq_event_output)( snd_seq_t*, snd_seq_event_t*);
+extern int (*snd_seq_event_output_buffer)( snd_seq_t*, snd_seq_event_t*);
+extern int (*snd_seq_event_output_direct)( snd_seq_t*, snd_seq_event_t*);
+extern int (*snd_seq_event_input)( snd_seq_t*, snd_seq_event_t**);
+extern int (*snd_seq_event_input_pending)( snd_seq_t*, int);
+extern int (*snd_seq_drain_output)( snd_seq_t*);
+extern int (*snd_seq_event_output_pending)( snd_seq_t*);
+extern int (*snd_seq_extract_output)( snd_seq_t*, snd_seq_event_t**);
+extern int (*snd_seq_drop_output)( snd_seq_t*);
+extern int (*snd_seq_drop_output_buffer)( snd_seq_t*);
+extern int (*snd_seq_drop_input)( snd_seq_t*);
+extern int (*snd_seq_drop_input_buffer)( snd_seq_t*);
+extern size_t (*snd_seq_remove_events_sizeof)( void);
+extern int (*snd_seq_remove_events_malloc)( snd_seq_remove_events_t**);
+extern void (*snd_seq_remove_events_free)( snd_seq_remove_events_t*);
+extern void (*snd_seq_remove_events_copy)( snd_seq_remove_events_t*,const snd_seq_remove_events_t*);
+extern unsigned int (*snd_seq_remove_events_get_condition)(const snd_seq_remove_events_t*);
+extern int (*snd_seq_remove_events_get_queue)(const snd_seq_remove_events_t*);
+extern const snd_seq_timestamp_t* (*snd_seq_remove_events_get_time)(const snd_seq_remove_events_t*);
+extern const snd_seq_addr_t* (*snd_seq_remove_events_get_dest)(const snd_seq_remove_events_t*);
+extern int (*snd_seq_remove_events_get_channel)(const snd_seq_remove_events_t*);
+extern int (*snd_seq_remove_events_get_event_type)(const snd_seq_remove_events_t*);
+extern int (*snd_seq_remove_events_get_tag)(const snd_seq_remove_events_t*);
+extern void (*snd_seq_remove_events_set_condition)( snd_seq_remove_events_t*, unsigned int);
+extern void (*snd_seq_remove_events_set_queue)( snd_seq_remove_events_t*, int);
+extern void (*snd_seq_remove_events_set_time)( snd_seq_remove_events_t*,const snd_seq_timestamp_t*);
+extern void (*snd_seq_remove_events_set_dest)( snd_seq_remove_events_t*,const snd_seq_addr_t*);
+extern void (*snd_seq_remove_events_set_channel)( snd_seq_remove_events_t*, int);
+extern void (*snd_seq_remove_events_set_event_type)( snd_seq_remove_events_t*, int);
+extern void (*snd_seq_remove_events_set_tag)( snd_seq_remove_events_t*, int);
+extern int (*snd_seq_remove_events)( snd_seq_t*, snd_seq_remove_events_t*);
+extern void (*snd_seq_set_bit)( int, void*);
+extern void (*snd_seq_unset_bit)( int, void*);
+extern int (*snd_seq_change_bit)( int, void*);
+extern int (*snd_seq_get_bit)( int, void*);
+extern int (*snd_seq_control_queue)( snd_seq_t*, int, int, int, snd_seq_event_t*);
+extern int (*snd_seq_create_simple_port)( snd_seq_t*,const char*, unsigned int, unsigned int);
+extern int (*snd_seq_delete_simple_port)( snd_seq_t*, int);
+extern int (*snd_seq_connect_from)( snd_seq_t*, int, int, int);
+extern int (*snd_seq_connect_to)( snd_seq_t*, int, int, int);
+extern int (*snd_seq_disconnect_from)( snd_seq_t*, int, int, int);
+extern int (*snd_seq_disconnect_to)( snd_seq_t*, int, int, int);
+extern int (*snd_seq_set_client_name)( snd_seq_t*,const char*);
+extern int (*snd_seq_set_client_event_filter)( snd_seq_t*, int);
+extern int (*snd_seq_set_client_pool_output)( snd_seq_t*, size_t);
+extern int (*snd_seq_set_client_pool_output_room)( snd_seq_t*, size_t);
+extern int (*snd_seq_set_client_pool_input)( snd_seq_t*, size_t);
+extern int (*snd_seq_sync_output_queue)( snd_seq_t*);
+extern int (*snd_seq_parse_address)( snd_seq_t*, snd_seq_addr_t*,const char*);
+extern int (*snd_seq_reset_pool_output)( snd_seq_t*);
+extern int (*snd_seq_reset_pool_input)( snd_seq_t*);
+extern int (*snd_midi_event_new)( size_t, snd_midi_event_t**);
+extern int (*snd_midi_event_resize_buffer)( snd_midi_event_t*, size_t);
+extern void (*snd_midi_event_free)( snd_midi_event_t*);
+extern void (*snd_midi_event_init)( snd_midi_event_t*);
+extern void (*snd_midi_event_reset_encode)( snd_midi_event_t*);
+extern void (*snd_midi_event_reset_decode)( snd_midi_event_t*);
+extern void (*snd_midi_event_no_status)( snd_midi_event_t*, int);
+extern long (*snd_midi_event_encode)( snd_midi_event_t*,const unsigned char*, long, snd_seq_event_t*);
+extern int (*snd_midi_event_encode_byte)( snd_midi_event_t*, int, snd_seq_event_t*);
+extern long (*snd_midi_event_decode)( snd_midi_event_t*, unsigned char*, long,const snd_seq_event_t*);
+int initialize_asound();
+#ifdef __cplusplus
+}
+#endif
diff --git a/drivers/alsa/audio_driver_alsa.cpp b/drivers/alsa/audio_driver_alsa.cpp
index ea0cba6c52..3fd85733e0 100644
--- a/drivers/alsa/audio_driver_alsa.cpp
+++ b/drivers/alsa/audio_driver_alsa.cpp
@@ -37,6 +37,12 @@
#include <errno.h>
+#ifdef PULSEAUDIO_ENABLED
+extern "C" {
+extern int initialize_pulse();
+}
+#endif
+
Error AudioDriverALSA::init_device() {
mix_rate = GLOBAL_GET("audio/mix_rate");
speaker_mode = SPEAKER_MODE_STEREO;
@@ -147,6 +153,16 @@ Error AudioDriverALSA::init_device() {
}
Error AudioDriverALSA::init() {
+#ifdef PULSEAUDIO_ENABLED
+ // On pulse enabled systems Alsa will silently use pulse.
+ // It doesn't matter if this fails as that likely means there is no pulse
+ initialize_pulse();
+#endif
+
+ if (initialize_asound()) {
+ return ERR_CANT_OPEN;
+ }
+
active = false;
thread_exited = false;
exit_thread = false;
diff --git a/drivers/alsa/audio_driver_alsa.h b/drivers/alsa/audio_driver_alsa.h
index c0233f41e1..ca97e76bc2 100644
--- a/drivers/alsa/audio_driver_alsa.h
+++ b/drivers/alsa/audio_driver_alsa.h
@@ -37,7 +37,7 @@
#include "core/os/thread.h"
#include "servers/audio_server.h"
-#include <alsa/asoundlib.h>
+#include "asound-so_wrap.h"
class AudioDriverALSA : public AudioDriver {
Thread thread;