|
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) */ |