1*c9945492SAndroid Build Coastguard Worker #ifndef _BYTESWAP_H 2*c9945492SAndroid Build Coastguard Worker #define _BYTESWAP_H 3*c9945492SAndroid Build Coastguard Worker 4*c9945492SAndroid Build Coastguard Worker #include <features.h> 5*c9945492SAndroid Build Coastguard Worker #include <stdint.h> 6*c9945492SAndroid Build Coastguard Worker __bswap_16(uint16_t __x)7*c9945492SAndroid Build Coastguard Workerstatic __inline uint16_t __bswap_16(uint16_t __x) 8*c9945492SAndroid Build Coastguard Worker { 9*c9945492SAndroid Build Coastguard Worker return __x<<8 | __x>>8; 10*c9945492SAndroid Build Coastguard Worker } 11*c9945492SAndroid Build Coastguard Worker __bswap_32(uint32_t __x)12*c9945492SAndroid Build Coastguard Workerstatic __inline uint32_t __bswap_32(uint32_t __x) 13*c9945492SAndroid Build Coastguard Worker { 14*c9945492SAndroid Build Coastguard Worker return __x>>24 | __x>>8&0xff00 | __x<<8&0xff0000 | __x<<24; 15*c9945492SAndroid Build Coastguard Worker } 16*c9945492SAndroid Build Coastguard Worker __bswap_64(uint64_t __x)17*c9945492SAndroid Build Coastguard Workerstatic __inline uint64_t __bswap_64(uint64_t __x) 18*c9945492SAndroid Build Coastguard Worker { 19*c9945492SAndroid Build Coastguard Worker return __bswap_32(__x)+0ULL<<32 | __bswap_32(__x>>32); 20*c9945492SAndroid Build Coastguard Worker } 21*c9945492SAndroid Build Coastguard Worker 22*c9945492SAndroid Build Coastguard Worker #define bswap_16(x) __bswap_16(x) 23*c9945492SAndroid Build Coastguard Worker #define bswap_32(x) __bswap_32(x) 24*c9945492SAndroid Build Coastguard Worker #define bswap_64(x) __bswap_64(x) 25*c9945492SAndroid Build Coastguard Worker 26*c9945492SAndroid Build Coastguard Worker #endif 27