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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 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
const
char
*snd_config_topdir(
void
);
88
89
int
snd_config_top
(
snd_config_t
**config);
90
91
int
snd_config_load
(
snd_config_t
*config,
snd_input_t
*in);
92
int
snd_config_load_override
(
snd_config_t
*config,
snd_input_t
*in);
93
int
snd_config_save
(
snd_config_t
*config,
snd_output_t
*out);
94
int
snd_config_update
(
void
);
95
int
snd_config_update_r
(
snd_config_t
**top,
snd_config_update_t
**update,
const
char
*path);
96
int
snd_config_update_free
(
snd_config_update_t
*update);
97
int
snd_config_update_free_global
(
void
);
98
99
int
snd_config_update_ref
(
snd_config_t
**top);
100
void
snd_config_ref
(
snd_config_t
*top);
101
void
snd_config_unref
(
snd_config_t
*top);
102
103
int
snd_config_search
(
snd_config_t
*config,
const
char
*key,
104
snd_config_t
**result);
105
int
snd_config_searchv
(
snd_config_t
*config,
106
snd_config_t
**result, ...);
107
int
snd_config_search_definition
(
snd_config_t
*config,
108
const
char
*base,
const
char
*key,
109
snd_config_t
**result);
110
111
int
snd_config_expand
(
snd_config_t
*config,
snd_config_t
*root,
112
const
char
*args,
snd_config_t
*private_data,
113
snd_config_t
**result);
114
int
snd_config_evaluate
(
snd_config_t
*config,
snd_config_t
*root,
115
snd_config_t
*private_data,
snd_config_t
**result);
116
117
int
snd_config_add
(
snd_config_t
*config,
snd_config_t
*child);
118
int
snd_config_add_before
(
snd_config_t
*before,
snd_config_t
*child);
119
int
snd_config_add_after
(
snd_config_t
*after,
snd_config_t
*child);
120
int
snd_config_remove
(
snd_config_t
*config);
121
int
snd_config_delete
(
snd_config_t
*config);
122
int
snd_config_delete_compound_members
(
const
snd_config_t
*config);
123
int
snd_config_copy
(
snd_config_t
**dst,
snd_config_t
*src);
124
125
int
snd_config_make
(
snd_config_t
**config,
const
char
*key,
126
snd_config_type_t
type);
127
int
snd_config_make_integer
(
snd_config_t
**config,
const
char
*key);
128
int
snd_config_make_integer64
(
snd_config_t
**config,
const
char
*key);
129
int
snd_config_make_real
(
snd_config_t
**config,
const
char
*key);
130
int
snd_config_make_string
(
snd_config_t
**config,
const
char
*key);
131
int
snd_config_make_pointer
(
snd_config_t
**config,
const
char
*key);
132
int
snd_config_make_compound
(
snd_config_t
**config,
const
char
*key,
int
join);
133
134
int
snd_config_imake_integer
(
snd_config_t
**config,
const
char
*key,
const
long
value);
135
int
snd_config_imake_integer64
(
snd_config_t
**config,
const
char
*key,
const
long
long
value);
136
int
snd_config_imake_real
(
snd_config_t
**config,
const
char
*key,
const
double
value);
137
int
snd_config_imake_string
(
snd_config_t
**config,
const
char
*key,
const
char
*ascii);
138
int
snd_config_imake_safe_string(
snd_config_t
**config,
const
char
*key,
const
char
*ascii);
139
int
snd_config_imake_pointer
(
snd_config_t
**config,
const
char
*key,
const
void
*
ptr
);
140
141
snd_config_type_t
snd_config_get_type
(
const
snd_config_t
*config);
142
143
int
snd_config_set_id
(
snd_config_t
*config,
const
char
*
id
);
144
int
snd_config_set_integer
(
snd_config_t
*config,
long
value);
145
int
snd_config_set_integer64
(
snd_config_t
*config,
long
long
value);
146
int
snd_config_set_real
(
snd_config_t
*config,
double
value);
147
int
snd_config_set_string
(
snd_config_t
*config,
const
char
*value);
148
int
snd_config_set_ascii
(
snd_config_t
*config,
const
char
*ascii);
149
int
snd_config_set_pointer
(
snd_config_t
*config,
const
void
*
ptr
);
150
int
snd_config_get_id
(
const
snd_config_t
*config,
const
char
**value);
151
int
snd_config_get_integer
(
const
snd_config_t
*config,
long
*value);
152
int
snd_config_get_integer64
(
const
snd_config_t
*config,
long
long
*value);
153
int
snd_config_get_real
(
const
snd_config_t
*config,
double
*value);
154
int
snd_config_get_ireal
(
const
snd_config_t
*config,
double
*value);
155
int
snd_config_get_string
(
const
snd_config_t
*config,
const
char
**value);
156
int
snd_config_get_ascii
(
const
snd_config_t
*config,
char
**value);
157
int
snd_config_get_pointer
(
const
snd_config_t
*config,
const
void
**value);
158
int
snd_config_test_id
(
const
snd_config_t
*config,
const
char
*
id
);
159
160
snd_config_iterator_t
snd_config_iterator_first
(
const
snd_config_t
*node);
161
snd_config_iterator_t
snd_config_iterator_next
(
const
snd_config_iterator_t iterator);
162
snd_config_iterator_t
snd_config_iterator_end
(
const
snd_config_t
*node);
163
snd_config_t
*
snd_config_iterator_entry
(
const
snd_config_iterator_t iterator);
164
182
#define snd_config_for_each(pos, next, node) \
183
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))
184
185
/* Misc functions */
186
187
int
snd_config_get_bool_ascii
(
const
char
*ascii);
188
int
snd_config_get_bool
(
const
snd_config_t
*conf);
189
int
snd_config_get_ctl_iface_ascii
(
const
char
*ascii);
190
int
snd_config_get_ctl_iface
(
const
snd_config_t
*conf);
191
192
/* Names functions */
193
197
typedef
struct
snd_devname
snd_devname_t;
198
202
struct
snd_devname
{
203
char
*
name
;
204
char
*
comment
;
205
snd_devname_t *
next
;
206
};
207
208
int
snd_names_list
(
const
char
*iface, snd_devname_t **list);
209
void
snd_names_list_free
(snd_devname_t *list);
210
213
#ifdef __cplusplus
214
}
215
#endif
216
217
#endif
/* __ALSA_CONF_H */
Generated by
1.8.3.1