43 #define SND_PCM_DLSYM_VERSION _dlsym_pcm_001
76 typedef enum _snd_pcm_class {
90 typedef enum _snd_pcm_subclass {
99 typedef enum _snd_pcm_stream {
108 typedef enum _snd_pcm_access {
123 typedef enum _snd_pcm_format {
204 #if __BYTE_ORDER == __LITTLE_ENDIAN
223 #elif __BYTE_ORDER == __BIG_ENDIAN
243 #error "Unknown endian"
248 typedef enum _snd_pcm_subformat {
255 typedef enum _snd_pcm_state {
278 typedef enum _snd_pcm_start {
287 typedef enum _snd_pcm_xrun {
296 typedef enum _snd_pcm_tstamp {
314 #define SND_PCM_NONBLOCK 0x00000001
316 #define SND_PCM_ASYNC 0x00000002
318 #define SND_PCM_NO_AUTO_RESAMPLE 0x00010000
320 #define SND_PCM_NO_AUTO_CHANNELS 0x00020000
322 #define SND_PCM_NO_AUTO_FORMAT 0x00040000
324 #define SND_PCM_NO_SOFTVOL 0x00080000
401 typedef struct _snd_pcm_channel_area {
411 typedef union _snd_pcm_sync_id {
413 unsigned char id[16];
415 unsigned short id16[8];
417 unsigned int id32[4];
429 const char *name,
const char *orig_name,
478 #define SND_CHMAP_API_VERSION ((1 << 16) | (0 << 8) | 1)
482 SND_CHMAP_TYPE_NONE = 0,
491 SND_CHMAP_UNKNOWN = 0,
528 SND_CHMAP_LAST = SND_CHMAP_BRC,
532 #define SND_CHMAP_POSITION_MASK 0xffff
535 #define SND_CHMAP_PHASE_INVERSE (0x01 << 16)
537 #define SND_CHMAP_DRIVER_SPEC (0x02 << 16)
540 typedef struct snd_pcm_chmap {
541 unsigned int channels;
546 typedef struct snd_pcm_chmap_query {
578 unsigned int channels,
581 unsigned int latency);
583 snd_pcm_uframes_t *buffer_size,
584 snd_pcm_uframes_t *period_size);
600 #define snd_pcm_info_alloca(ptr) __snd_alloca(ptr, snd_pcm_info)
645 unsigned int *rate_num,
646 unsigned int *rate_den);
651 typedef struct _snd_pcm_hw_strategy snd_pcm_hw_strategy_t;
654 typedef struct _snd_pcm_hw_strategy_simple_choices_list {
656 unsigned int badness;
657 } snd_pcm_hw_strategy_simple_choices_list_t;
660 const snd_pcm_hw_strategy_t *strategy,
661 unsigned int badness_min,
662 unsigned int badness_max);
664 void snd_pcm_hw_strategy_free(snd_pcm_hw_strategy_t *strategy);
665 int snd_pcm_hw_strategy_simple(snd_pcm_hw_strategy_t **strategyp,
666 unsigned int badness_min,
667 unsigned int badness_max);
668 int snd_pcm_hw_params_try_explain_failure(
snd_pcm_t *pcm,
681 #define snd_pcm_hw_params_alloca(ptr) __snd_alloca(ptr, snd_pcm_hw_params)
686 #if !defined(ALSA_LIBRARY_BUILD) && !defined(ALSA_PCM_OLD_HW_PARAMS_API)
822 #define snd_pcm_sw_params_alloca(ptr) __snd_alloca(ptr, snd_pcm_sw_params)
828 #if !defined(ALSA_LIBRARY_BUILD) && !defined(ALSA_PCM_OLD_SW_PARAMS_API)
850 #ifndef ALSA_LIBRARY_BUILD
851 #if defined(ALSA_PCM_OLD_HW_PARAMS_API) || defined(ALSA_PCM_OLD_SW_PARAMS_API)
868 #define snd_pcm_access_mask_alloca(ptr) __snd_alloca(ptr, snd_pcm_access_mask)
893 #define snd_pcm_format_mask_alloca(ptr) __snd_alloca(ptr, snd_pcm_format_mask)
918 #define snd_pcm_subformat_mask_alloca(ptr) __snd_alloca(ptr, snd_pcm_subformat_mask)
943 #define snd_pcm_status_alloca(ptr) __snd_alloca(ptr, snd_pcm_status)
1006 snd_pcm_uframes_t *offset,
1007 snd_pcm_uframes_t *frames);
1009 snd_pcm_uframes_t offset,
1010 snd_pcm_uframes_t frames);
1068 typedef enum _snd_pcm_hook_type {
1069 SND_PCM_HOOK_TYPE_HW_PARAMS = 0,
1070 SND_PCM_HOOK_TYPE_HW_FREE,
1071 SND_PCM_HOOK_TYPE_CLOSE,
1072 SND_PCM_HOOK_TYPE_LAST = SND_PCM_HOOK_TYPE_CLOSE
1097 typedef struct _snd_pcm_scope_ops {
1145 unsigned int channel);
1157 typedef enum _snd_spcm_latency {
1170 typedef enum _snd_spcm_xrun_type {
1178 typedef enum _snd_spcm_duplex_type {
1187 unsigned int channels,
1197 unsigned int channels,
1207 snd_pcm_uframes_t *buffer_size,
1208 snd_pcm_uframes_t *period_size);
1226 #if !defined(ALSA_LIBRARY_BUILD) && !defined(ALSA_PCM_OLD_SW_PARAMS_API)
1232 #if !defined(ALSA_LIBRARY_BUILD) && !defined(ALSA_PCM_OLD_HW_PARAMS_API)