diff options
Diffstat (limited to 'robot/bin.h')
-rw-r--r-- | robot/bin.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/robot/bin.h b/robot/bin.h new file mode 100644 index 0000000..1f21f64 --- /dev/null +++ b/robot/bin.h @@ -0,0 +1,27 @@ +#pragma once + +#include <stdint.h> + +typedef struct { + uint16_t bytes; + uint8_t data[]; +} w2_s_bin; + +extern uint8_t g_w2_endianness; + + +/** + * helper file for binary data + * + * - fix endianness with functions inspired by UNIX arpa/inet.h + */ + +/** convert 32-bit value from host endian to network (big-endian) */ +uint32_t w2_bin_hton32(uint32_t h32); +/** convert 16-bit value from host endian to network (big-endian) */ +uint16_t w2_bin_hton16(uint16_t h16); +/** convert 32-bit value from network (big-endian) to host endian */ +uint32_t w2_bin_ntoh32(uint32_t n32); +/** convert 16-bit value from network (big-endian) to host endian */ +uint16_t w2_bin_ntoh16(uint16_t n16); + |