| OLD | NEW |
| 1 #ifndef _ENDIAN_H | 1 #ifndef _ENDIAN_H |
| 2 #define _ENDIAN_H | 2 #define _ENDIAN_H |
| 3 | 3 |
| 4 #include <features.h> | 4 #include <features.h> |
| 5 | 5 |
| 6 #define __LITTLE_ENDIAN 1234 | 6 #define __LITTLE_ENDIAN 1234 |
| 7 #define __BIG_ENDIAN 4321 | 7 #define __BIG_ENDIAN 4321 |
| 8 #define __PDP_ENDIAN 3412 | 8 #define __PDP_ENDIAN 3412 |
| 9 | 9 |
| 10 #if defined(__GNUC__) && defined(__BYTE_ORDER__) | 10 #if defined(__GNUC__) && defined(__BYTE_ORDER__) |
| (...skipping 16 matching lines...) Expand all Loading... |
| 27 return __x<<8 | __x>>8; | 27 return __x<<8 | __x>>8; |
| 28 } | 28 } |
| 29 | 29 |
| 30 static __inline uint32_t __bswap32(uint32_t __x) | 30 static __inline uint32_t __bswap32(uint32_t __x) |
| 31 { | 31 { |
| 32 return __x>>24 | __x>>8&0xff00 | __x<<8&0xff0000 | __x<<24; | 32 return __x>>24 | __x>>8&0xff00 | __x<<8&0xff0000 | __x<<24; |
| 33 } | 33 } |
| 34 | 34 |
| 35 static __inline uint64_t __bswap64(uint64_t __x) | 35 static __inline uint64_t __bswap64(uint64_t __x) |
| 36 { | 36 { |
| 37 » return __bswap32(__x)+0ULL<<32 | __bswap32(__x>>32); | 37 » return ((uint64_t)__bswap32(__x))<<32 | __bswap32(__x>>32); |
| 38 } | 38 } |
| 39 | 39 |
| 40 #if __BYTE_ORDER == __LITTLE_ENDIAN | 40 #if __BYTE_ORDER == __LITTLE_ENDIAN |
| 41 #define htobe16(x) __bswap16(x) | 41 #define htobe16(x) __bswap16(x) |
| 42 #define be16toh(x) __bswap16(x) | 42 #define be16toh(x) __bswap16(x) |
| 43 #define betoh16(x) __bswap16(x) | 43 #define betoh16(x) __bswap16(x) |
| 44 #define htobe32(x) __bswap32(x) | 44 #define htobe32(x) __bswap32(x) |
| 45 #define be32toh(x) __bswap32(x) | 45 #define be32toh(x) __bswap32(x) |
| 46 #define betoh32(x) __bswap32(x) | 46 #define betoh32(x) __bswap32(x) |
| 47 #define htobe64(x) __bswap64(x) | 47 #define htobe64(x) __bswap64(x) |
| (...skipping 25 matching lines...) Expand all Loading... |
| 73 #define le32toh(x) __bswap32(x) | 73 #define le32toh(x) __bswap32(x) |
| 74 #define letoh32(x) __bswap32(x) | 74 #define letoh32(x) __bswap32(x) |
| 75 #define htole64(x) __bswap64(x) | 75 #define htole64(x) __bswap64(x) |
| 76 #define le64toh(x) __bswap64(x) | 76 #define le64toh(x) __bswap64(x) |
| 77 #define letoh64(x) __bswap64(x) | 77 #define letoh64(x) __bswap64(x) |
| 78 #endif | 78 #endif |
| 79 | 79 |
| 80 #endif | 80 #endif |
| 81 | 81 |
| 82 #endif | 82 #endif |
| OLD | NEW |