OSDN Git Service

Encapsulated hwdep. Converted all enums to type safety
[android-x86/external-alsa-lib.git] / include / global.h
1 /*
2  *  Global defines
3  */
4
5 #ifdef SNDRV_LITTLE_ENDIAN
6 #define SND_LITTLE_ENDIAN SNDRV_LITTLE_ENDIAN
7 #endif
8
9 #ifdef SNDRV_BIG_ENDIAN
10 #define SND_BIG_ENDIAN SNDRV_BIG_ENDIAN
11 #endif
12
13 //#define SND_ENUM_TYPECHECK
14
15 #ifdef SND_ENUM_TYPECHECK
16 #define snd_enum_to_int(v) ((unsigned int)(unsigned long)(v))
17 #define snd_int_to_enum(v) ((void *)(unsigned long)(v))
18 #define snd_enum_incr(v) (++(unsigned long)(v))
19 #else
20 #define snd_enum_to_int(v) (v)
21 #define snd_int_to_enum(v) (v)
22 #define snd_enum_incr(v) (++(v))
23 #endif
24
25 enum _snd_set_mode {
26         SND_CHANGE,
27         SND_TRY,
28         SND_TEST,
29 };
30
31 #ifdef SND_ENUM_TYPECHECK
32 typedef struct __snd_set_mode *snd_set_mode_t;
33 #else
34 typedef enum _snd_set_mode snd_set_mode_t;
35 #endif
36
37 #define SND_CHANGE ((snd_set_mode_t) SND_CHANGE)
38 #define SND_TRY ((snd_set_mode_t) SND_TRY)
39 #define SND_TEST ((snd_set_mode_t) SND_TEST)
40