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