]> git.saurik.com Git - redis.git/blame - src/endian.h
intset.c endianess fixes.
[redis.git] / src / endian.h
CommitLineData
e12cb143 1#ifndef __ENDIAN_H
2#define __ENDIAN_H
3
4void memrev16(void *p);
5void memrev32(void *p);
6void memrev64(void *p);
3fa19b7d 7uint16_t intrev16(uint16_t v);
8uint32_t intrev32(uint32_t v);
9uint64_t intrev64(uint64_t v);
e12cb143 10
b5325132 11/* variants of the function doing the actual convertion only if the target
12 * host is big endian */
13#if (BYTE_ORDER == LITTLE_ENDIAN)
14#define memrev16ifbe(p)
15#define memrev32ifbe(p)
16#define memrev64ifbe(p)
56538477 17#define intrev16ifbe(v) (v)
18#define intrev32ifbe(v) (v)
19#define intrev64ifbe(v) (v)
b5325132 20#else
21#define memrev16ifbe(p) memrev16(p)
22#define memrev32ifbe(p) memrev32(p)
23#define memrev64ifbe(p) memrev64(p)
56538477 24#define intrev16ifbe(v) intrev16(v)
25#define intrev32ifbe(v) intrev32(v)
26#define intrev64ifbe(v) intrev64(v)
e12cb143 27#endif
336c82d5 28
29#endif