Lines 28-66
Link Here
|
28 |
#else |
28 |
#else |
29 |
|
29 |
|
30 |
/* Provide our own versions of the byteswap functions. */ |
30 |
/* Provide our own versions of the byteswap functions. */ |
31 |
inline uint16_t |
31 |
#define bswap_16(v) ((v >> 8) & 0xff) | ((v & 0xff) << 8) |
32 |
bswap_16 (uint16_t v) |
|
|
33 |
{ |
34 |
return ((v >> 8) & 0xff) | ((v & 0xff) << 8); |
35 |
} |
36 |
|
32 |
|
37 |
inline uint32_t |
33 |
#define bswap_32(v) ( ((v & 0xff000000) >> 24) \ |
38 |
bswap_32 (uint32_t v) |
34 |
| ((v & 0x00ff0000) >> 8) \ |
39 |
{ |
35 |
| ((v & 0x0000ff00) << 8) \ |
40 |
return ( ((v & 0xff000000) >> 24) |
36 |
| ((v & 0x000000ff) << 24)) |
41 |
| ((v & 0x00ff0000) >> 8) |
|
|
42 |
| ((v & 0x0000ff00) << 8) |
43 |
| ((v & 0x000000ff) << 24)); |
44 |
} |
45 |
|
37 |
|
46 |
inline uint64_t |
38 |
#define bswap_identity_64(v) (v) |
47 |
bswap_identity_64 (uint64_t v) |
|
|
48 |
{ |
49 |
return v; |
50 |
} |
51 |
|
39 |
|
52 |
inline uint64_t |
40 |
#define bswap_64(v) ( ((v & 0xff00000000000000ULL) >> 56) \ |
53 |
bswap_64 (uint64_t v) |
41 |
| ((v & 0x00ff000000000000ULL) >> 40) \ |
54 |
{ |
42 |
| ((v & 0x0000ff0000000000ULL) >> 24) \ |
55 |
return ( ((v & 0xff00000000000000ULL) >> 56) |
43 |
| ((v & 0x000000ff00000000ULL) >> 8) \ |
56 |
| ((v & 0x00ff000000000000ULL) >> 40) |
44 |
| ((v & 0x00000000ff000000ULL) << 8) \ |
57 |
| ((v & 0x0000ff0000000000ULL) >> 24) |
45 |
| ((v & 0x0000000000ff0000ULL) << 24) \ |
58 |
| ((v & 0x000000ff00000000ULL) >> 8) |
46 |
| ((v & 0x000000000000ff00ULL) << 40) \ |
59 |
| ((v & 0x00000000ff000000ULL) << 8) |
47 |
| ((v & 0x00000000000000ffULL) << 56)) |
60 |
| ((v & 0x0000000000ff0000ULL) << 24) |
48 |
|
61 |
| ((v & 0x000000000000ff00ULL) << 40) |
|
|
62 |
| ((v & 0x00000000000000ffULL) << 56)); |
63 |
} |
64 |
#endif /* !defined(HAVE_BYTESWAP_H) */ |
49 |
#endif /* !defined(HAVE_BYTESWAP_H) */ |
65 |
|
50 |
|
66 |
#endif /* !defined(_CTF_SWAP_H) */ |
51 |
#endif /* !defined(_CTF_SWAP_H) */ |