xref: /third_party/pulseaudio/src/pulsecore/cpu.h (revision 53a5a1b3)
1#ifndef foocpuhfoo
2#define foocpuhfoo
3
4/***
5  This file is part of PulseAudio.
6
7  Copyright 2010 Arun Raghavan
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/cpu-x86.h>
24#include <pulsecore/cpu-arm.h>
25
26typedef enum {
27    PA_CPU_UNDEFINED = 0,
28    PA_CPU_X86,
29    PA_CPU_ARM,
30} pa_cpu_type_t;
31
32typedef struct pa_cpu_info pa_cpu_info;
33
34struct pa_cpu_info {
35    pa_cpu_type_t cpu_type;
36
37    union {
38        pa_cpu_x86_flag_t x86;
39        pa_cpu_arm_flag_t arm;
40    } flags;
41    bool force_generic_code;
42};
43
44void pa_cpu_init(pa_cpu_info *cpu_info);
45
46void pa_remap_func_init(const pa_cpu_info *cpu_info);
47void pa_mix_func_init(const pa_cpu_info *cpu_info);
48
49#endif /* foocpuhfoo */
50