]> rtime.felk.cvut.cz Git - orte.git/blob - orte/include/rtps_endian.h
Reformat the sources with orte/uncrustify script
[orte.git] / orte / include / rtps_endian.h
1 #ifndef RTPS_ENDIAN_H
2 #define RTPS_ENDIAN_H 1
3
4 #define FLAG_BIG_ENDIAN 0
5 #define FLAG_LITTLE_ENDIAN 1
6
7 #if WORDS_BIGENDIAN
8
9 # define FLAG_ENDIANNESS FLAG_BIG_ENDIAN
10 # define conversion_needed(to_endianness) ((to_endianness) != FLAG_BIG_ENDIAN)
11
12 #else
13
14 # define FLAG_ENDIANNESS FLAG_LITTLE_ENDIAN
15 # define conversion_needed(to_endianness) ((to_endianness) != FLAG_LITTLE_ENDIAN)
16
17 #endif
18
19 static inline
20 void
21 rtps_byteswap(uint8_t *outdata,
22               const uint8_t *data,
23               uint32_t datalen)
24 {
25   const uint8_t *source_ptr = data;
26   uint8_t *dest_ptr = outdata + datalen - 1;
27
28   while (dest_ptr >= outdata)
29     *dest_ptr-- = *source_ptr++;
30 }
31
32
33 #endif /* FLAG_ENDIANNESS */