61 #ifndef __S2_BYTEORDER_H__ 62 #define __S2_BYTEORDER_H__ 1 65 #define SWAP_INT16(x) *(x) = ((0x00ff & (*(x))>>8) | (0xff00 & (*(x))<<8)) 68 #define SWAP_INT32(x) *(x) = ((0x000000ff & (*(x))>>24) | \ 69 (0x0000ff00 & (*(x))>>8) | \ 70 (0x00ff0000 & (*(x))<<8) | \ 71 (0xff000000 & (*(x))<<24)) 74 #define SWAP_FLOAT32(x) SWAP_INT32((int32 *) x) 77 #define SWAP_FLOAT64(x) { int *low = (int *) (x), *high = (int *) (x) + 1,\ 79 SWAP_INT32(low); SWAP_INT32(high);\ 80 temp = *low; *low = *high; *high = temp;} 82 #ifdef WORDS_BIGENDIAN 86 #define SWAP_LE_64(x) SWAP_FLOAT64(x) 87 #define SWAP_LE_32(x) SWAP_INT32(x) 88 #define SWAP_LE_16(x) SWAP_INT16(x) 93 #define SWAP_BE_64(x) SWAP_FLOAT64(x) 94 #define SWAP_BE_32(x) SWAP_INT32(x) 95 #define SWAP_BE_16(x) SWAP_INT16(x)