Line
Link Here
|
0 |
-- include/misc/swab.h |
0 |
++ include/misc/swab.h |
Lines 7-42
Link Here
|
7 |
#define MISC_SWAB_H |
7 |
#define MISC_SWAB_H |
8 |
|
8 |
|
9 |
#define __swab16(x) \ |
9 |
#define __swab16(x) \ |
10 |
({ \ |
10 |
( ((__u16)( \ |
11 |
__u16 __x = (x); \ |
11 |
(((__u16)(x) & (__u16)0x00ffU) << 8) | \ |
12 |
((__u16)( \ |
12 |
(((__u16)(x) & (__u16)0xff00U) >> 8) )) \ |
13 |
(((__u16)(__x) & (__u16)0x00ffU) << 8) | \ |
13 |
) |
14 |
(((__u16)(__x) & (__u16)0xff00U) >> 8) )); \ |
|
|
15 |
}) |
16 |
|
14 |
|
17 |
#define __swab32(x) \ |
15 |
#define __swab32(x) \ |
18 |
({ \ |
16 |
( ((__u32)( \ |
19 |
__u32 __x = (x); \ |
17 |
(((__u32)(x) & (__u32)0x000000ffUL) << 24) | \ |
20 |
((__u32)( \ |
18 |
(((__u32)(x) & (__u32)0x0000ff00UL) << 8) | \ |
21 |
(((__u32)(__x) & (__u32)0x000000ffUL) << 24) | \ |
19 |
(((__u32)(x) & (__u32)0x00ff0000UL) >> 8) | \ |
22 |
(((__u32)(__x) & (__u32)0x0000ff00UL) << 8) | \ |
20 |
(((__u32)(x) & (__u32)0xff000000UL) >> 24) )) \ |
23 |
(((__u32)(__x) & (__u32)0x00ff0000UL) >> 8) | \ |
21 |
) |
24 |
(((__u32)(__x) & (__u32)0xff000000UL) >> 24) )); \ |
|
|
25 |
}) |
26 |
|
22 |
|
27 |
#define __swab64(x) \ |
23 |
#define __swab64(x) \ |
28 |
({ \ |
24 |
( ((__u64)( \ |
29 |
__u64 __x = (x); \ |
25 |
(__u64)(((__u64)(x) & (__u64)0x00000000000000ffULL) << 56) | \ |
30 |
((__u64)( \ |
26 |
(__u64)(((__u64)(x) & (__u64)0x000000000000ff00ULL) << 40) | \ |
31 |
(__u64)(((__u64)(__x) & (__u64)0x00000000000000ffULL) << 56) | \ |
27 |
(__u64)(((__u64)(x) & (__u64)0x0000000000ff0000ULL) << 24) | \ |
32 |
(__u64)(((__u64)(__x) & (__u64)0x000000000000ff00ULL) << 40) | \ |
28 |
(__u64)(((__u64)(x) & (__u64)0x00000000ff000000ULL) << 8) | \ |
33 |
(__u64)(((__u64)(__x) & (__u64)0x0000000000ff0000ULL) << 24) | \ |
29 |
(__u64)(((__u64)(x) & (__u64)0x000000ff00000000ULL) >> 8) | \ |
34 |
(__u64)(((__u64)(__x) & (__u64)0x00000000ff000000ULL) << 8) | \ |
30 |
(__u64)(((__u64)(x) & (__u64)0x0000ff0000000000ULL) >> 24) | \ |
35 |
(__u64)(((__u64)(__x) & (__u64)0x000000ff00000000ULL) >> 8) | \ |
31 |
(__u64)(((__u64)(x) & (__u64)0x00ff000000000000ULL) >> 40) | \ |
36 |
(__u64)(((__u64)(__x) & (__u64)0x0000ff0000000000ULL) >> 24) | \ |
32 |
(__u64)(((__u64)(x) & (__u64)0xff00000000000000ULL) >> 56) )) \ |
37 |
(__u64)(((__u64)(__x) & (__u64)0x00ff000000000000ULL) >> 40) | \ |
33 |
) |
38 |
(__u64)(((__u64)(__x) & (__u64)0xff00000000000000ULL) >> 56) )); \ |
|
|
39 |
}) |
40 |
|
34 |
|
41 |
|
35 |
|
42 |
#ifndef WORDS_BIGENDIAN |
36 |
#ifndef WORDS_BIGENDIAN |