1#ifndef foonamereghfoo
2#define foonamereghfoo
3
4/***
5  This file is part of PulseAudio.
6
7  Copyright 2004-2006 Lennart Poettering
8
9  PulseAudio is free software; you can redistribute it and/or modify
10  it under the terms of the GNU Lesser General Public License as published
11  by the Free Software Foundation; either version 2.1 of the License,
12  or (at your option) any later version.
13
14  PulseAudio is distributed in the hope that it will be useful, but
15  WITHOUT ANY WARRANTY; without even the implied warranty of
16  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17  General Public License for more details.
18
19  You should have received a copy of the GNU Lesser General Public License
20  along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
21***/
22
23#include <pulsecore/core.h>
24#include <pulsecore/macro.h>
25
26#define PA_NAME_MAX 128
27
28typedef enum pa_namereg_type {
29    PA_NAMEREG_SINK,
30    PA_NAMEREG_SOURCE,
31    PA_NAMEREG_SAMPLE,
32    PA_NAMEREG_CARD
33} pa_namereg_type_t;
34
35const char *pa_namereg_register(pa_core *c, const char *name, pa_namereg_type_t type, void *data, bool fail);
36void pa_namereg_unregister(pa_core *c, const char *name);
37void* pa_namereg_get(pa_core *c, const char *name, pa_namereg_type_t type);
38
39bool pa_namereg_is_valid_name(const char *name);
40bool pa_namereg_is_valid_name_or_wildcard(const char *name, pa_namereg_type_t type);
41char* pa_namereg_make_valid_name(const char *name);
42
43#endif
44