Home | History | Annotate | Download | only in linux
      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