diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/byteswap.h | 15 | ||||
-rw-r--r-- | include/endian.h | 15 |
2 files changed, 24 insertions, 6 deletions
diff --git a/include/byteswap.h b/include/byteswap.h index 4ebd90e3..8689cd57 100644 --- a/include/byteswap.h +++ b/include/byteswap.h @@ -3,17 +3,26 @@ #include <stdint.h> -static inline uint16_t __bswap_16(uint16_t __x) +#if __STDC_VERSION__ >= 199901L +inline +#endif +static uint16_t __bswap_16(uint16_t __x) { return __x<<8 | __x>>8; } -static inline uint32_t __bswap_32(uint32_t __x) +#if __STDC_VERSION__ >= 199901L +inline +#endif +static uint32_t __bswap_32(uint32_t __x) { return __x>>24 | __x>>8&0xff00 | __x<<8&0xff0000 | __x<<24; } -static inline uint64_t __bswap_64(uint64_t __x) +#if __STDC_VERSION__ >= 199901L +inline +#endif +static uint64_t __bswap_64(uint64_t __x) { return __bswap_32(__x)+0ULL<<32 | __bswap_32(__x>>32); } diff --git a/include/endian.h b/include/endian.h index a08c1b63..9652c30b 100644 --- a/include/endian.h +++ b/include/endian.h @@ -16,17 +16,26 @@ #include <stdint.h> -static inline uint16_t __bswap16(uint16_t __x) +#if __STDC_VERSION__ >= 199901L +inline +#endif +static uint16_t __bswap16(uint16_t __x) { return __x<<8 | __x>>8; } -static inline uint32_t __bswap32(uint32_t __x) +#if __STDC_VERSION__ >= 199901L +inline +#endif +static uint32_t __bswap32(uint32_t __x) { return __x>>24 | __x>>8&0xff00 | __x<<8&0xff0000 | __x<<24; } -static inline uint64_t __bswap64(uint64_t __x) +#if __STDC_VERSION__ >= 199901L +inline +#endif +static uint64_t __bswap64(uint64_t __x) { return __bswap32(__x)+0ULL<<32 | __bswap32(__x>>32); } |