home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / linux / patchkey.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  1.1 KB  |  46 lines

  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. #ifdef __KERNEL__
  22. #  include <asm/byteorder.h>
  23. #else
  24. #  include <endian.h>
  25. #endif
  26.  
  27. #if defined(__KERNEL__)
  28. #  if defined(__BIG_ENDIAN)
  29. #    define _PATCHKEY(id) (0xfd00|id)
  30. #  elif defined(__LITTLE_ENDIAN)
  31. #    define _PATCHKEY(id) ((id<<8)|0x00fd)
  32. #  else
  33. #    error "could not determine byte order"
  34. #  endif
  35. #elif defined(__BYTE_ORDER)
  36. #  if __BYTE_ORDER == __BIG_ENDIAN
  37. #    define _PATCHKEY(id) (0xfd00|id)
  38. #  elif __BYTE_ORDER == __LITTLE_ENDIAN
  39. #    define _PATCHKEY(id) ((id<<8)|0x00fd)
  40. #  else
  41. #    error "could not determine byte order"
  42. #  endif
  43. #endif
  44.  
  45. #endif /* _LINUX_PATCHKEY_H */
  46.