blob: c5b6a3ebb675b7e23268c80b5e1b7eb25ab0cfc3 [file] [log] [blame]
Dan Albert287553d2017-02-16 10:47:51 -08001/****************************************************************************
2 ****************************************************************************
3 ***
4 *** This header was automatically generated from a Linux kernel header
5 *** of the same name, to make information necessary for userspace to
6 *** call into the kernel available to libc. It contains only constants,
7 *** structures, and macros generated from the original header, and thus,
8 *** contains no copyrightable information.
9 ***
10 ****************************************************************************
11 ****************************************************************************/
12#ifndef _LINUX_BYTEORDER_SWABB_H
13#define _LINUX_BYTEORDER_SWABB_H
14
15#define ___swahw32(x) ({ __u32 __x = (x); ((__u32)( (((__u32)(__x) & (__u32)0x0000ffffUL) << 16) | (((__u32)(__x) & (__u32)0xffff0000UL) >> 16) )); })
16#define ___swahb32(x) ({ __u32 __x = (x); ((__u32)( (((__u32)(__x) & (__u32)0x00ff00ffUL) << 8) | (((__u32)(__x) & (__u32)0xff00ff00UL) >> 8) )); })
17
18#define ___constant_swahw32(x) ((__u32)( (((__u32)(x) & (__u32)0x0000ffffUL) << 16) | (((__u32)(x) & (__u32)0xffff0000UL) >> 16) ))
19#define ___constant_swahb32(x) ((__u32)( (((__u32)(x) & (__u32)0x00ff00ffUL) << 8) | (((__u32)(x) & (__u32)0xff00ff00UL) >> 8) ))
20
21#ifndef __arch__swahw32
22#define __arch__swahw32(x) ___swahw32(x)
23#endif
24#ifndef __arch__swahb32
25#define __arch__swahb32(x) ___swahb32(x)
26#endif
27
28#ifndef __arch__swahw32p
29#define __arch__swahw32p(x) __swahw32(*(x))
30#endif
31#ifndef __arch__swahb32p
32#define __arch__swahb32p(x) __swahb32(*(x))
33#endif
34
35#ifndef __arch__swahw32s
36#define __arch__swahw32s(x) do { *(x) = __swahw32p((x)); } while (0)
37#endif
38#ifndef __arch__swahb32s
39#define __arch__swahb32s(x) do { *(x) = __swahb32p((x)); } while (0)
40#endif
41
42#if defined(__GNUC__) && defined(__OPTIMIZE__)
43#define __swahw32(x) (__builtin_constant_p((__u32)(x)) ? ___swahw32((x)) : __fswahw32((x)))
44#define __swahb32(x) (__builtin_constant_p((__u32)(x)) ? ___swahb32((x)) : __fswahb32((x)))
45#else
46#define __swahw32(x) __fswahw32(x)
47#define __swahb32(x) __fswahb32(x)
48#endif
49
50#ifdef __BYTEORDER_HAS_U64__
51#endif
52#endif