ALSA project - the C library reference
Main Page
Related Pages
Modules
Data Structures
Files
Examples
File List
Globals
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
include
conf.h
Go to the documentation of this file.
1
11
/*
12
* This library is free software; you can redistribute it and/or modify
13
* it under the terms of the GNU Lesser General Public License as
14
* published by the Free Software Foundation; either version 2.1 of
15
* the License, or (at your option) any later version.
16
*
17
* This program is distributed in the hope that it will be useful,
18
* but WITHOUT ANY WARRANTY; without even the implied warranty of
19
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20
* GNU Lesser General Public License for more details.
21
*
22
* You should have received a copy of the GNU Lesser General Public
23
* License along with this library; if not, write to the Free Software
24
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
25
*
26
*/
27
28
#ifndef __ALSA_CONF_H
29
#define __ALSA_CONF_H
30
31
#ifdef __cplusplus
32
extern
"C"
{
33
#endif
34
43
#define SND_CONFIG_DLSYM_VERSION_EVALUATE _dlsym_config_evaluate_001
44
45
#define SND_CONFIG_DLSYM_VERSION_HOOK _dlsym_config_hook_001
46
48
typedef
enum
_snd_config_type {
50
SND_CONFIG_TYPE_INTEGER
,
52
SND_CONFIG_TYPE_INTEGER64
,
54
SND_CONFIG_TYPE_REAL
,
56
SND_CONFIG_TYPE_STRING
,
58
SND_CONFIG_TYPE_POINTER
,
60
SND_CONFIG_TYPE_COMPOUND
= 1024
61
}
snd_config_type_t
;
62
69
typedef
struct
_snd_config
snd_config_t
;
77
typedef
struct
_snd_config_iterator *
snd_config_iterator_t
;
83
typedef
struct
_snd_config_update
snd_config_update_t
;
84
85
extern
snd_config_t
*
snd_config
;
86
87
int
snd_config_top
(
snd_config_t
**config);
88
89
int
snd_config_load
(
snd_config_t
*config,
snd_input_t
*in);
90
int
snd_config_load_override
(
snd_config_t
*config,
snd_input_t
*in);
91
int
snd_config_save
(
snd_config_t
*config,
snd_output_t
*out);
92
int
snd_config_update
(
void
);
93
int
snd_config_update_r
(
snd_config_t
**top,
snd_config_update_t
**update,
const
char
*path);
94
int
snd_config_update_free
(
snd_config_update_t
*update);
95
int
snd_config_update_free_global
(
void
);
96
97
int
snd_config_search
(
snd_config_t
*config,
const
char
*key,
98
snd_config_t
**result);
99
int
snd_config_searchv
(
snd_config_t
*config,
100
snd_config_t
**result, ...);
101
int
snd_config_search_definition
(
snd_config_t
*config,
102
const
char
*base,
const
char
*key,
103
snd_config_t
**result);
104
105
int
snd_config_expand
(
snd_config_t
*config,
snd_config_t
*root,
106
const
char
*args,
snd_config_t
*private_data,
107
snd_config_t
**result);
108
int
snd_config_evaluate
(
snd_config_t
*config,
snd_config_t
*root,
109
snd_config_t
*private_data,
snd_config_t
**result);
110
111
int
snd_config_add
(
snd_config_t
*config,
snd_config_t
*leaf);
112
int
snd_config_delete
(
snd_config_t
*config);
113
int
snd_config_delete_compound_members
(
const
snd_config_t
*config);
114
int
snd_config_copy
(
snd_config_t
**dst,
snd_config_t
*src);
115
116
int
snd_config_make
(
snd_config_t
**config,
const
char
*key,
117
snd_config_type_t
type);
118
int
snd_config_make_integer
(
snd_config_t
**config,
const
char
*key);
119
int
snd_config_make_integer64
(
snd_config_t
**config,
const
char
*key);
120
int
snd_config_make_real
(
snd_config_t
**config,
const
char
*key);
121
int
snd_config_make_string
(
snd_config_t
**config,
const
char
*key);
122
int
snd_config_make_pointer
(
snd_config_t
**config,
const
char
*key);
123
int
snd_config_make_compound
(
snd_config_t
**config,
const
char
*key,
int
join);
124
125
int
snd_config_imake_integer
(
snd_config_t
**config,
const
char
*key,
const
long
value);
126
int
snd_config_imake_integer64
(
snd_config_t
**config,
const
char
*key,
const
long
long
value);
127
int
snd_config_imake_real
(
snd_config_t
**config,
const
char
*key,
const
double
value);
128
int
snd_config_imake_string
(
snd_config_t
**config,
const
char
*key,
const
char
*ascii);
129
int
snd_config_imake_pointer
(
snd_config_t
**config,
const
char
*key,
const
void
*
ptr
);
130
131
snd_config_type_t
snd_config_get_type
(
const
snd_config_t
*config);
132
133
int
snd_config_set_id
(
snd_config_t
*config,
const
char
*
id
);
134
int
snd_config_set_integer
(
snd_config_t
*config,
long
value);
135
int
snd_config_set_integer64
(
snd_config_t
*config,
long
long
value);
136
int
snd_config_set_real
(
snd_config_t
*config,
double
value);
137
int
snd_config_set_string
(
snd_config_t
*config,
const
char
*value);
138
int
snd_config_set_ascii
(
snd_config_t
*config,
const
char
*ascii);
139
int
snd_config_set_pointer
(
snd_config_t
*config,
const
void
*
ptr
);
140
int
snd_config_get_id
(
const
snd_config_t
*config,
const
char
**value);
141
int
snd_config_get_integer
(
const
snd_config_t
*config,
long
*value);
142
int
snd_config_get_integer64
(
const
snd_config_t
*config,
long
long
*value);
143
int
snd_config_get_real
(
const
snd_config_t
*config,
double
*value);
144
int
snd_config_get_ireal
(
const
snd_config_t
*config,
double
*value);
145
int
snd_config_get_string
(
const
snd_config_t
*config,
const
char
**value);
146
int
snd_config_get_ascii
(
const
snd_config_t
*config,
char
**value);
147
int
snd_config_get_pointer
(
const
snd_config_t
*config,
const
void
**value);
148
int
snd_config_test_id
(
const
snd_config_t
*config,
const
char
*
id
);
149
150
snd_config_iterator_t
snd_config_iterator_first
(
const
snd_config_t
*node);
151
snd_config_iterator_t
snd_config_iterator_next
(
const
snd_config_iterator_t iterator);
152
snd_config_iterator_t
snd_config_iterator_end
(
const
snd_config_t
*node);
153
snd_config_t
*
snd_config_iterator_entry
(
const
snd_config_iterator_t iterator);
154
172
#define snd_config_for_each(pos, next, node) \
173
for (pos = snd_config_iterator_first(node), next = snd_config_iterator_next(pos); pos != snd_config_iterator_end(node); pos = next, next = snd_config_iterator_next(pos))
174
175
/* Misc functions */
176
177
int
snd_config_get_bool_ascii
(
const
char
*ascii);
178
int
snd_config_get_bool
(
const
snd_config_t
*conf);
179
int
snd_config_get_ctl_iface_ascii
(
const
char
*ascii);
180
int
snd_config_get_ctl_iface
(
const
snd_config_t
*conf);
181
182
/* Names functions */
183
187
typedef
struct
snd_devname
snd_devname_t;
188
192
struct
snd_devname
{
193
char
*
name
;
194
char
*
comment
;
195
snd_devname_t *
next
;
196
};
197
198
int
snd_names_list
(
const
char
*iface, snd_devname_t **list);
199
void
snd_names_list_free
(snd_devname_t *list);
200
203
#ifdef __cplusplus
204
}
205
#endif
206
207
#endif
/* __ALSA_CONF_H */
Generated on Tue Apr 7 2015 16:21:42 for ALSA project - the C library reference by
1.8.3.1