130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/*
230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * <linux/patchkey.h> -- definition of _PATCHKEY macro
330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng *
430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * Copyright (C) 2005 Stuart Brady
530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng *
630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * This exists because awe_voice.h defined its own _PATCHKEY and it wasn't
730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * clear whether removing this would break anything in userspace.
830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng *
930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * Do not include this file directly.  Please use <sys/soundcard.h> instead.
1030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * For kernel code, use <linux/soundcard.h>
1130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng */
1230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
1330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#ifndef _LINUX_PATCHKEY_H_INDIRECT
1430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#error "patchkey.h included directly"
1530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#endif
1630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
1730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#ifndef _UAPI_LINUX_PATCHKEY_H
1830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define _UAPI_LINUX_PATCHKEY_H
1930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
2030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* Endian macros. */
2130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#ifndef __KERNEL__
2230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#  include <endian.h>
2330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#endif
2430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
2530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#if !defined(__KERNEL__)
2630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#if defined(__BYTE_ORDER)
2730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#  if __BYTE_ORDER == __BIG_ENDIAN
2830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#    define _PATCHKEY(id) (0xfd00|id)
2930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#  elif __BYTE_ORDER == __LITTLE_ENDIAN
3030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#    define _PATCHKEY(id) ((id<<8)|0x00fd)
3130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#  else
3230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#    error "could not determine byte order"
3330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#  endif
3430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#endif
3530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#endif
3630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
3730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#endif /* _UAPI_LINUX_PATCHKEY_H */
38