xref: /linux/include/uapi/linux/patchkey.h (revision 498495dba268b20e8eadd7fe93c140c68b6cc9d2)
1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2 /*
3  * <linux/patchkey.h> -- definition of _PATCHKEY macro
4  *
5  * Copyright (C) 2005 Stuart Brady
6  *
7  * This exists because awe_voice.h defined its own _PATCHKEY and it wasn't
8  * clear whether removing this would break anything in userspace.
9  *
10  * Do not include this file directly.  Please use <sys/soundcard.h> instead.
11  * For kernel code, use <linux/soundcard.h>
12  */
13 
14 #ifndef _LINUX_PATCHKEY_H_INDIRECT
15 #error "patchkey.h included directly"
16 #endif
17 
18 #ifndef _UAPI_LINUX_PATCHKEY_H
19 #define _UAPI_LINUX_PATCHKEY_H
20 
21 /* Endian macros. */
22 #ifndef __KERNEL__
23 #  include <endian.h>
24 #endif
25 
26 #if !defined(__KERNEL__)
27 #if defined(__BYTE_ORDER)
28 #  if __BYTE_ORDER == __BIG_ENDIAN
29 #    define _PATCHKEY(id) (0xfd00|id)
30 #  elif __BYTE_ORDER == __LITTLE_ENDIAN
31 #    define _PATCHKEY(id) ((id<<8)|0x00fd)
32 #  else
33 #    error "could not determine byte order"
34 #  endif
35 #endif
36 #endif
37 
38 #endif /* _UAPI_LINUX_PATCHKEY_H */
39