Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
patchkey.h
Go to the documentation of this file.
1 /*
2  * <linux/patchkey.h> -- definition of _PATCHKEY macro
3  *
4  * Copyright (C) 2005 Stuart Brady
5  *
6  * This exists because awe_voice.h defined its own _PATCHKEY and it wasn't
7  * clear whether removing this would break anything in userspace.
8  *
9  * Do not include this file directly. Please use <sys/soundcard.h> instead.
10  * For kernel code, use <linux/soundcard.h>
11  */
12 
13 #ifndef _LINUX_PATCHKEY_H_INDIRECT
14 #error "patchkey.h included directly"
15 #endif
16 
17 #ifndef _UAPI_LINUX_PATCHKEY_H
18 #define _UAPI_LINUX_PATCHKEY_H
19 
20 /* Endian macros. */
21 #ifndef __KERNEL__
22 # include <endian.h>
23 #endif
24 
25 #if !defined(__KERNEL__)
26 #if defined(__BYTE_ORDER)
27 # if __BYTE_ORDER == __BIG_ENDIAN
28 # define _PATCHKEY(id) (0xfd00|id)
29 # elif __BYTE_ORDER == __LITTLE_ENDIAN
30 # define _PATCHKEY(id) ((id<<8)|0x00fd)
31 # else
32 # error "could not determine byte order"
33 # endif
34 #endif
35 #endif
36 
37 #endif /* _UAPI_LINUX_PATCHKEY_H */