ALSA project - the C library reference
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
pcm_external.h
Go to the documentation of this file.
1 
10 /*
11  * This library is free software; you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser General Public License as
13  * published by the Free Software Foundation; either version 2.1 of
14  * the License, or (at your option) any later version.
15  *
16  * This program is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19  * GNU Lesser General Public License for more details.
20  *
21  * You should have received a copy of the GNU Lesser General Public
22  * License along with this library; if not, write to the Free Software
23  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24  *
25  */
26 #ifndef __ALSA_PCM_EXTERNAL_H
27 #define __ALSA_PCM_EXTERNAL_H
28 
29 #include "pcm.h"
30 
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34 
43 #define SND_PCM_PLUGIN_ENTRY(name) _snd_pcm_##name##_open
44 
48 #define SND_PCM_PLUGIN_SYMBOL(name) SND_DLSYM_BUILD_VERSION(SND_PCM_PLUGIN_ENTRY(name), SND_PCM_DLSYM_VERSION);
49 
53 #define SND_PCM_PLUGIN_DEFINE_FUNC(plugin) \
54 int SND_PCM_PLUGIN_ENTRY(plugin) (snd_pcm_t **pcmp, const char *name,\
55  snd_config_t *root, snd_config_t *conf, \
56  snd_pcm_stream_t stream, int mode)
57 
58 #include "pcm_ioplug.h"
59 #include "pcm_extplug.h"
60 
61 int snd_pcm_parse_control_id(snd_config_t *conf, snd_ctl_elem_id_t *ctl_id, int *cardp,
62  int *cchannelsp, int *hwctlp);
63 
66 #ifdef __cplusplus
67 }
68 #endif
69 
70 #endif /* __ALSA_PCM_EXTERNAL_H */