From 1f65a034813c843fed85e9ee684273dede0b34cd Mon Sep 17 00:00:00 2001 From: Paul Hollinsky Date: Thu, 20 Sep 2018 16:02:40 -0400 Subject: [PATCH] Struct packing --- communication/include/messagedecoder.h | 5 +++++ communication/message/include/neomessage.h | 25 +++++++++++++--------- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/communication/include/messagedecoder.h b/communication/include/messagedecoder.h index 3d7e693..21b22df 100644 --- a/communication/include/messagedecoder.h +++ b/communication/include/messagedecoder.h @@ -9,6 +9,9 @@ #include #include +#pragma pack(push) +#pragma pack(1) + namespace icsneo { class MessageDecoder { @@ -269,4 +272,6 @@ private: } +#pragma pack(pop) + #endif \ No newline at end of file diff --git a/communication/message/include/neomessage.h b/communication/message/include/neomessage.h index 934063c..942d5db 100644 --- a/communication/message/include/neomessage.h +++ b/communication/message/include/neomessage.h @@ -4,26 +4,31 @@ #include #include +#pragma pack(push) +#pragma pack(1) + typedef struct { - uint16_t netid; - uint8_t type; - char header[4]; + uint64_t timestamp; const uint8_t* data; size_t length; - uint64_t timestamp; - char reserved[8]; + char header[4]; + uint16_t netid; + uint8_t type; + char reserved[9]; } neomessage_t; typedef struct { - uint16_t netid; - uint8_t type; - uint32_t arbid; + uint64_t timestamp; const uint8_t* data; size_t length; - uint64_t timestamp; - char reserved[8]; + uint32_t arbid; + uint16_t netid; + uint8_t type; + char reserved[9]; } neomessage_can_t; +#pragma pack(pop) + #ifdef __cplusplus #include "communication/message/include/message.h"