Linux Audio

Check our new training course

Loading...
Note: File does not exist in v3.5.6.
  1#ifndef _LINUX_BYTEORDER_SWAB_H
  2#define _LINUX_BYTEORDER_SWAB_H
  3
  4#ifndef __u16
  5 #define __u16 unsigned short
  6#endif
  7
  8#ifndef __u32
  9 #define __u32 unsigned int
 10#endif
 11
 12#ifndef __u8
 13 #define __u8 unsigned char
 14#endif
 15
 16#ifndef __u64
 17 #define __u64 unsigned long long
 18#endif
 19
 20
 21static inline __u16  ___swab16(__u16 x)
 22{
 23	__u16 __x = x;
 24	return (__u16)(
 25		(((__u16)(__x) & (__u16)0x00ffU) << 8) |
 26		(((__u16)(__x) & (__u16)0xff00U) >> 8));
 27
 28}
 29
 30static inline __u32  ___swab32(__u32 x)
 31{
 32	__u32 __x = (x);
 33	return (__u32)(
 34		(((__u32)(__x) & (__u32)0x000000ffUL) << 24) |
 35		(((__u32)(__x) & (__u32)0x0000ff00UL) <<  8) |
 36		(((__u32)(__x) & (__u32)0x00ff0000UL) >>  8) |
 37		(((__u32)(__x) & (__u32)0xff000000UL) >> 24));
 38}
 39
 40static inline __u64  ___swab64(__u64 x)
 41{
 42	__u64 __x = (x);
 43
 44	return (__u64)( \
 45		(__u64)(((__u64)(__x) & (__u64)0x00000000000000ffULL) << 56) | \
 46		(__u64)(((__u64)(__x) & (__u64)0x000000000000ff00ULL) << 40) | \
 47		(__u64)(((__u64)(__x) & (__u64)0x0000000000ff0000ULL) << 24) | \
 48		(__u64)(((__u64)(__x) & (__u64)0x00000000ff000000ULL) <<  8) | \
 49		(__u64)(((__u64)(__x) & (__u64)0x000000ff00000000ULL) >>  8) | \
 50		(__u64)(((__u64)(__x) & (__u64)0x0000ff0000000000ULL) >> 24) | \
 51		(__u64)(((__u64)(__x) & (__u64)0x00ff000000000000ULL) >> 40) | \
 52		(__u64)(((__u64)(__x) & (__u64)0xff00000000000000ULL) >> 56));
 53}
 54
 55#ifndef __arch__swab16
 56static inline __u16 __arch__swab16(__u16 x)
 57{
 58	return ___swab16(x);
 59}
 60
 61#endif
 62
 63#ifndef __arch__swab32
 64static inline __u32 __arch__swab32(__u32 x)
 65{
 66	__u32 __tmp = (x) ;
 67	return ___swab32(__tmp);
 68}
 69#endif
 70
 71#ifndef __arch__swab64
 72
 73static inline __u64 __arch__swab64(__u64 x)
 74{
 75	__u64 __tmp = (x) ;
 76	return ___swab64(__tmp);
 77}
 78
 79
 80#endif
 81
 82#define __swab16(x) __fswab16(x)
 83#define __swab32(x) __fswab32(x)
 84#define __swab64(x) __fswab64(x)
 85
 86static inline const __u16 __fswab16(__u16 x)
 87{
 88	return __arch__swab16(x);
 89}
 90static inline const __u32 __fswab32(__u32 x)
 91{
 92	return __arch__swab32(x);
 93}
 94
 95#define swab16 __swab16
 96#define swab32 __swab32
 97#define swab64 __swab64
 98#define swab16p __swab16p
 99#define swab32p __swab32p
100#define swab64p __swab64p
101#define swab16s __swab16s
102#define swab32s __swab32s
103#define swab64s __swab64s
104
105#endif /* _LINUX_BYTEORDER_SWAB_H */
106