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 _LINUX_PATCHKEY_H
     18 #define _LINUX_PATCHKEY_H
     19 
     20 /* Endian macros. */
     21 #  include <endian.h>
     22 
     23 #if   defined(__BYTE_ORDER)
     24 #  if __BYTE_ORDER == __BIG_ENDIAN
     25 #    define _PATCHKEY(id) (0xfd00|id)
     26 #  elif __BYTE_ORDER == __LITTLE_ENDIAN
     27 #    define _PATCHKEY(id) ((id<<8)|0x00fd)
     28 #  else
     29 #    error "could not determine byte order"
     30 #  endif
     31 #endif
     32 
     33 #endif /* _LINUX_PATCHKEY_H */
     34