Split custom ReactOS-only non-standard extensions from NTDDSND.H
[reactos.git] / reactos / include / reactos / libs / sound / sndtypes.h
1 /*
2 ReactOS Sound System
3 Device type IDs and macros
4
5 Author:
6 Andrew Greenwood (silverblade@reactos.org)
7
8 History:
9 14 Feb 2009 - Split from ntddsnd.h
10
11 These are enhancements to the original NT4 DDK audio device header
12 files.
13 */
14
15 #ifndef SNDTYPES_H
16 #define SNDTYPES_H
17
18 /*
19 Device types
20
21 Based on the values stored into the registry by the NT4 sndblst
22 driver.
23 */
24
25 typedef enum
26 {
27 // The sound device types
28 WAVE_IN_DEVICE_TYPE = 1,
29 WAVE_OUT_DEVICE_TYPE = 2,
30 MIDI_IN_DEVICE_TYPE = 3,
31 MIDI_OUT_DEVICE_TYPE = 4,
32 AUX_DEVICE_TYPE = 5,
33 MIXER_DEVICE_TYPE = 6,
34
35 // Range of valid device type IDs
36 MIN_SOUND_DEVICE_TYPE = 1,
37 MAX_SOUND_DEVICE_TYPE = 6,
38
39 // Number of sound device types
40 SOUND_DEVICE_TYPES = 6
41 } SOUND_DEVICE_TYPE;
42
43 #define IS_VALID_SOUND_DEVICE_TYPE(x) \
44 ( ( x >= MIN_SOUND_DEVICE_TYPE ) && ( x <= MAX_SOUND_DEVICE_TYPE ) )
45
46 #define IS_WAVE_DEVICE_TYPE(x) \
47 ( ( x == WAVE_IN_DEVICE_TYPE ) || ( x == WAVE_OUT_DEVICE_TYPE ) )
48
49 #define IS_MIDI_DEVICE_TYPE(x) \
50 ( ( x == MIDI_IN_DEVICE_TYPE ) || ( x == MIDI_OUT_DEVICE_TYPE ) )
51
52 #define IS_AUX_DEVICE_TYPE(x) \
53 ( x == AUX_DEVICE_TYPE )
54
55 #define IS_MIXER_DEVICE_TYPE(x) \
56 ( x == MIXER_DEVICE_TYPE )
57
58
59 #endif