at v2.6.17-rc2 1.1 kB view raw
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 */