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;}
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)