alsa.audio: init/deinit connection to ALSA
[AROS.git] / workbench / devs / AHI / Drivers / Alsa / alsa-bridge / alsa_hostlib.h
blob25b1b57506e6c22bd45fc2a902da68c3a471980c
1 /*
2 Copyright © 2015, The AROS Development Team. All rights reserved.
3 $Id$
4 */
6 #include <alsa/asoundlib.h>
8 struct alsa_func
10 int (*snd_pcm_open)(snd_pcm_t **pcmp, const char *name, snd_pcm_stream_t stream, int mode);
11 int (*snd_pcm_close)(snd_pcm_t *pcm);
12 int (*snd_pcm_hw_params_malloc)(snd_pcm_hw_params_t **ptr);
13 void (*snd_pcm_hw_params_free)(snd_pcm_hw_params_t *obj);
14 int (*snd_pcm_hw_params_any)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params);
15 int (*snd_pcm_hw_params_set_access)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_access_t _access);
16 int (*snd_pcm_hw_params_set_format)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_format_t val);
17 int (*snd_pcm_hw_params_set_rate_near)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
18 int (*snd_pcm_hw_params_set_channels)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val);
19 int (*snd_pcm_hw_params)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params);
20 int (*snd_pcm_prepare)(snd_pcm_t *pcm);
21 snd_pcm_sframes_t (*snd_pcm_writei)(snd_pcm_t *pcm, const void *buffer, snd_pcm_uframes_t size);
24 extern struct alsa_func alsa_func;
26 #define ALSACALL(func,...) (alsa_func.func(__VA_ARGS__))
28 BOOL ALSA_HostLib_Init();
29 VOID ALSA_HostLib_Cleanup();