Expand PMF_FN_* macros.
[netbsd-mini2440.git] / sys / dev / pci / hdaudio / hdaudio_mixer.h
blob6bef3c64b0ef248820020127f3684fc8e6cf7c09
1 /* $NetBSD: hdaudio_mixer.h,v 1.2 2009/09/06 17:33:53 sborrill Exp $ */
3 /*
4 * Copyright (c) 2009 Precedence Technologies Ltd <support@precedence.co.uk>
5 * Copyright (c) 2009 Jared D. McNeill <jmcneill@invisible.ca>
6 * All rights reserved.
8 * This code is derived from software contributed to The NetBSD Foundation
9 * by Precedence Technologies Ltd
11 * Redistribution and use in source and binary forms, with or without
12 * modification, are permitted provided that the following conditions
13 * are met:
14 * 1. Redistributions of source code must retain the above copyright
15 * notice, this list of conditions and the following disclaimer.
16 * 2. The name of the author may not be used to endorse or promote products
17 * derived from this software without specific prior written permission.
19 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
20 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
21 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
22 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
23 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
24 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
26 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
27 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29 * SUCH DAMAGE.
32 #ifndef _HDAUDIO_MIXER_H
33 #define _HDAUDIO_MIXER_H
35 /* From src/lib/libossaudio/soundcard.h */
37 #define HDAUDIO_MIXER_NRDEVICES 25
38 #define HDAUDIO_MIXER_VOLUME 0
39 #define HDAUDIO_MIXER_BASS 1
40 #define HDAUDIO_MIXER_TREBLE 2
41 #define HDAUDIO_MIXER_SYNTH 3
42 #define HDAUDIO_MIXER_PCM 4
43 #define HDAUDIO_MIXER_SPEAKER 5
44 #define HDAUDIO_MIXER_LINE 6
45 #define HDAUDIO_MIXER_MIC 7
46 #define HDAUDIO_MIXER_CD 8
47 #define HDAUDIO_MIXER_IMIX 9
48 #define HDAUDIO_MIXER_ALTPCM 10
49 #define HDAUDIO_MIXER_RECLEV 11
50 #define HDAUDIO_MIXER_IGAIN 12
51 #define HDAUDIO_MIXER_OGAIN 13
52 #define HDAUDIO_MIXER_LINE1 14
53 #define HDAUDIO_MIXER_LINE2 15
54 #define HDAUDIO_MIXER_LINE3 16
55 #define HDAUDIO_MIXER_DIGITAL1 17
56 #define HDAUDIO_MIXER_DIGITAL2 18
57 #define HDAUDIO_MIXER_DIGITAL3 19
58 #define HDAUDIO_MIXER_PHONEIN 20
59 #define HDAUDIO_MIXER_PHONEOUT 21
60 #define HDAUDIO_MIXER_VIDEO 22
61 #define HDAUDIO_MIXER_RADIO 23
62 #define HDAUDIO_MIXER_MONITOR 24
64 #define HDAUDIO_MASK(x) (1 << (HDAUDIO_MIXER_##x))
66 #define HDAUDIO_DEVICE_NAMES { \
67 AudioNmaster, AudioNbass, AudioNtreble, AudioNfmsynth, AudioNdac, \
68 "beep", AudioNline, AudioNmicrophone, AudioNcd, \
69 AudioNrecord, AudioNdac"2", "reclvl", AudioNinput, AudioNoutput, \
70 AudioNline"1", AudioNline"2", AudioNline"3", \
71 "dig1", "dig2", "dig3", "phin", "phout", \
72 AudioNvideo, "radio", AudioNmonitor \
75 #endif /* !_HDAUDIO_MIXER_H */