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