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 */
38