[Fawkes Git] branch/timn/master-preview: 14 revs updated. (0.5.0-3453-g5f8ddfc)

Tim Niemueller niemueller at kbsg.rwth-aachen.de
Wed Dec 21 16:54:21 CET 2016


Changes have been pushed for the project "Fawkes Robotics Software Framework".

Gitweb: http://git.fawkesrobotics.org/fawkes.git
Trac:   http://trac.fawkesrobotics.org

The branch, timn/master-preview has been updated
        to  5f8ddfc21b51aa33cbb0b37a1e5e975be9102711 (commit)
       via  f19eb689c97faabb047a3f4ec7a35843506f3786 (commit)
       via  b6353097e2719a8775dc2bfc80ded5fd9f06ded8 (commit)
       via  2850bb45c31ba7be8b9a7ab36b923dfaeca3a179 (commit)
       via  b5889979bf53f1bbb0cc764b572a9f3d725962a5 (commit)
       via  77c7c16c0b518d30b625af64ecd209d01fb55d7a (commit)
       via  48aa61fab8cd12373b8e238c736e56a1433c1c7f (commit)
       via  7f2544a683b32cffb55cf216ddbd6bbb6919518e (commit)
       via  83492aab00f622918377cb680fbaaeb95d4534d3 (commit)
       via  90371400ab29e4959ef6208905232f1341c04f29 (commit)
       via  d77c995d77b7c1f5f3529c81ffef957b451f7f2e (commit)
       via  a4d5227b50f85e6645b2f2229a9ae31ea20366fc (commit)
       via  b2111390918c2428543f9380f233177c4873e94d (commit)
       via  049113ba3df12dafbe46718b9230d3bb3a93cbc3 (commit)
      from  ea417f2f5fff72ca707e11f0d18d89bedc2c7c9b (commit)

http://git.fawkesrobotics.org/fawkes.git/timn/master-preview

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- *Log* ---------------------------------------------------------------
commit 049113ba3df12dafbe46718b9230d3bb3a93cbc3
Author:     Tim Niemueller <niemueller at kbsg.rwth-aachen.de>
AuthorDate: Wed Dec 21 16:44:12 2016 +0100
Commit:     Tim Niemueller <niemueller at kbsg.rwth-aachen.de>
CommitDate: Wed Dec 21 16:44:12 2016 +0100

    interfaces: regenerate for changed packing

http://git.fawkesrobotics.org/fawkes.git/commit/049113b
http://trac.fawkesrobotics.org/changeset/049113b

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
commit b2111390918c2428543f9380f233177c4873e94d
Author:     Tim Niemueller <niemueller at kbsg.rwth-aachen.de>
AuthorDate: Wed Dec 21 16:46:08 2016 +0100
Commit:     Tim Niemueller <niemueller at kbsg.rwth-aachen.de>
CommitDate: Wed Dec 21 16:46:08 2016 +0100

    bumblebee2: re-generate interfaces for changed packing

http://git.fawkesrobotics.org/fawkes.git/commit/b211139
http://trac.fawkesrobotics.org/changeset/b211139

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
commit a4d5227b50f85e6645b2f2229a9ae31ea20366fc
Author:     Tim Niemueller <niemueller at kbsg.rwth-aachen.de>
AuthorDate: Wed Dec 21 16:46:17 2016 +0100
Commit:     Tim Niemueller <niemueller at kbsg.rwth-aachen.de>
CommitDate: Wed Dec 21 16:46:17 2016 +0100

    laser-cluster: re-generate interfaces for changed packing

http://git.fawkesrobotics.org/fawkes.git/commit/a4d5227
http://trac.fawkesrobotics.org/changeset/a4d5227

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
commit d77c995d77b7c1f5f3529c81ffef957b451f7f2e
Author:     Tim Niemueller <niemueller at kbsg.rwth-aachen.de>
AuthorDate: Wed Dec 21 16:46:25 2016 +0100
Commit:     Tim Niemueller <niemueller at kbsg.rwth-aachen.de>
CommitDate: Wed Dec 21 16:46:25 2016 +0100

    laser-lines: re-generate interfaces for changed packing

http://git.fawkesrobotics.org/fawkes.git/commit/d77c995
http://trac.fawkesrobotics.org/changeset/d77c995

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
commit 90371400ab29e4959ef6208905232f1341c04f29
Author:     Tim Niemueller <niemueller at kbsg.rwth-aachen.de>
AuthorDate: Wed Dec 21 16:46:32 2016 +0100
Commit:     Tim Niemueller <niemueller at kbsg.rwth-aachen.de>
CommitDate: Wed Dec 21 16:46:32 2016 +0100

    nao: re-generate interfaces for changed packing

http://git.fawkesrobotics.org/fawkes.git/commit/9037140
http://trac.fawkesrobotics.org/changeset/9037140

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
commit 83492aab00f622918377cb680fbaaeb95d4534d3
Author:     Tim Niemueller <niemueller at kbsg.rwth-aachen.de>
AuthorDate: Wed Dec 21 16:46:44 2016 +0100
Commit:     Tim Niemueller <niemueller at kbsg.rwth-aachen.de>
CommitDate: Wed Dec 21 16:46:44 2016 +0100

    openni: re-generate interfaces for changed packing

http://git.fawkesrobotics.org/fawkes.git/commit/83492aa
http://trac.fawkesrobotics.org/changeset/83492aa

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
commit 7f2544a683b32cffb55cf216ddbd6bbb6919518e
Author:     Tim Niemueller <niemueller at kbsg.rwth-aachen.de>
AuthorDate: Wed Dec 21 16:46:52 2016 +0100
Commit:     Tim Niemueller <niemueller at kbsg.rwth-aachen.de>
CommitDate: Wed Dec 21 16:46:52 2016 +0100

    pantilt: re-generate interfaces for changed packing

http://git.fawkesrobotics.org/fawkes.git/commit/7f2544a
http://trac.fawkesrobotics.org/changeset/7f2544a

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
commit 48aa61fab8cd12373b8e238c736e56a1433c1c7f
Author:     Tim Niemueller <niemueller at kbsg.rwth-aachen.de>
AuthorDate: Wed Dec 21 16:46:59 2016 +0100
Commit:     Tim Niemueller <niemueller at kbsg.rwth-aachen.de>
CommitDate: Wed Dec 21 16:46:59 2016 +0100

    roomba: re-generate interfaces for changed packing

http://git.fawkesrobotics.org/fawkes.git/commit/48aa61f
http://trac.fawkesrobotics.org/changeset/48aa61f

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
commit 77c7c16c0b518d30b625af64ecd209d01fb55d7a
Author:     Tim Niemueller <niemueller at kbsg.rwth-aachen.de>
AuthorDate: Wed Dec 21 16:47:07 2016 +0100
Commit:     Tim Niemueller <niemueller at kbsg.rwth-aachen.de>
CommitDate: Wed Dec 21 16:47:07 2016 +0100

    dynamixel: re-generate interfaces for changed packing

http://git.fawkesrobotics.org/fawkes.git/commit/77c7c16
http://trac.fawkesrobotics.org/changeset/77c7c16

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
commit b5889979bf53f1bbb0cc764b572a9f3d725962a5
Author:     Tim Niemueller <niemueller at kbsg.rwth-aachen.de>
AuthorDate: Wed Dec 21 16:47:13 2016 +0100
Commit:     Tim Niemueller <niemueller at kbsg.rwth-aachen.de>
CommitDate: Wed Dec 21 16:47:13 2016 +0100

    katana: re-generate interfaces for changed packing

http://git.fawkesrobotics.org/fawkes.git/commit/b588997
http://trac.fawkesrobotics.org/changeset/b588997

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
commit 2850bb45c31ba7be8b9a7ab36b923dfaeca3a179
Author:     Tim Niemueller <niemueller at kbsg.rwth-aachen.de>
AuthorDate: Wed Dec 21 16:47:20 2016 +0100
Commit:     Tim Niemueller <niemueller at kbsg.rwth-aachen.de>
CommitDate: Wed Dec 21 16:47:20 2016 +0100

    openrave: re-generate interfaces for changed packing

http://git.fawkesrobotics.org/fawkes.git/commit/2850bb4
http://trac.fawkesrobotics.org/changeset/2850bb4

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
commit b6353097e2719a8775dc2bfc80ded5fd9f06ded8
Author:     Tim Niemueller <niemueller at kbsg.rwth-aachen.de>
AuthorDate: Wed Dec 21 16:47:31 2016 +0100
Commit:     Tim Niemueller <niemueller at kbsg.rwth-aachen.de>
CommitDate: Wed Dec 21 16:47:31 2016 +0100

    jaco: re-generate interfaces for changed packing

http://git.fawkesrobotics.org/fawkes.git/commit/b635309
http://trac.fawkesrobotics.org/changeset/b635309

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
commit f19eb689c97faabb047a3f4ec7a35843506f3786
Author:     Tim Niemueller <niemueller at kbsg.rwth-aachen.de>
AuthorDate: Wed Dec 21 16:48:33 2016 +0100
Commit:     Tim Niemueller <niemueller at kbsg.rwth-aachen.de>
CommitDate: Wed Dec 21 16:48:33 2016 +0100

    skiller: re-generate interfaces for changed packing

http://git.fawkesrobotics.org/fawkes.git/commit/f19eb68
http://trac.fawkesrobotics.org/changeset/f19eb68

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
commit 5f8ddfc21b51aa33cbb0b37a1e5e975be9102711
Author:     Tim Niemueller <niemueller at kbsg.rwth-aachen.de>
AuthorDate: Wed Dec 21 16:48:50 2016 +0100
Commit:     Tim Niemueller <niemueller at kbsg.rwth-aachen.de>
CommitDate: Wed Dec 21 16:48:50 2016 +0100

    pcl-db: re-generate interfaces for changed packing

http://git.fawkesrobotics.org/fawkes.git/commit/5f8ddfc
http://trac.fawkesrobotics.org/changeset/5f8ddfc

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -


- *Summary* -----------------------------------------------------------
 src/libs/interfaces/BatteryInterface.h             |   12 +--
 src/libs/interfaces/CameraControlInterface.h       |   16 +---
 src/libs/interfaces/EclipseDebuggerInterface.h     |    8 +--
 src/libs/interfaces/FacerInterface.h               |   32 ++------
 src/libs/interfaces/FacialExpressionInterface.h    |   20 +----
 src/libs/interfaces/GameStateInterface.h           |   16 +---
 src/libs/interfaces/GripperInterface.h             |   12 +--
 src/libs/interfaces/HumanSkeletonInterface.h       |    4 +-
 src/libs/interfaces/HumanoidMotionInterface.h      |   48 +++---------
 src/libs/interfaces/IMUInterface.h                 |    4 +-
 src/libs/interfaces/JointInterface.h               |    4 +-
 src/libs/interfaces/JoystickInterface.h            |   16 +---
 src/libs/interfaces/KeyValueInterface.h            |    4 +-
 src/libs/interfaces/KickerInterface.h              |   16 +---
 src/libs/interfaces/Laser1080Interface.h           |    4 +-
 src/libs/interfaces/Laser360Interface.h            |    4 +-
 src/libs/interfaces/Laser720Interface.h            |    4 +-
 src/libs/interfaces/LedInterface.h                 |   16 +---
 src/libs/interfaces/LocalizationInterface.h        |    8 +--
 src/libs/interfaces/MotorInterface.h               |   48 +++---------
 src/libs/interfaces/NavPathInterface.h             |    4 +-
 src/libs/interfaces/NavigatorInterface.h           |   68 ++++-------------
 src/libs/interfaces/ObjectPositionInterface.h      |    4 +-
 src/libs/interfaces/Position2DTrackInterface.h     |    4 +-
 src/libs/interfaces/Position3DInterface.h          |    4 +-
 src/libs/interfaces/SkillerInterface.h             |   24 ++-----
 src/libs/interfaces/SoccerPenaltyInterface.h       |    8 +--
 src/libs/interfaces/SpeechRecognitionInterface.h   |   12 +--
 src/libs/interfaces/SpeechSynthInterface.h         |    8 +--
 src/libs/interfaces/SwitchInterface.h              |   20 +----
 src/libs/interfaces/TestInterface.h                |   16 +---
 src/libs/interfaces/TransformInterface.h           |    4 +-
 src/libs/interfaces/VisualDisplay2DInterface.h     |   28 ++-----
 .../interfaces/OpenCVStereoParamsInterface.h_ext   |   48 +++---------
 .../interfaces/DynamixelServoInterface.h_ext       |   80 +++++---------------
 .../jaco/interfaces/JacoBimanualInterface.h_ext    |   20 +----
 src/plugins/jaco/interfaces/JacoInterface.h_ext    |   40 +++-------
 .../katana/interfaces/KatanaInterface.h_ext        |   68 ++++-------------
 .../interfaces/LaserClusterInterface.h_ext         |   12 +--
 .../interfaces/LaserLineInterface.h_ext            |    4 +-
 .../nao/interfaces/NaoJointPositionInterface.h_ext |   20 +----
 .../interfaces/NaoJointStiffnessInterface.h_ext    |   16 +---
 .../nao/interfaces/NaoSensorInterface.h_ext        |   16 +---
 .../HumanSkeletonProjectionInterface.h_ext         |    4 +-
 .../openrave/interfaces/OpenRaveInterface.h_ext    |   48 +++---------
 .../pantilt/interfaces/PanTiltInterface.h_ext      |   40 +++-------
 .../interfaces/PclDatabaseMergeInterface.h_ext     |    8 +--
 .../interfaces/PclDatabaseRetrieveInterface.h_ext  |    8 +--
 .../interfaces/PclDatabaseStoreInterface.h_ext     |    8 +--
 src/plugins/roomba/Roomba500Interface.h_ext        |   28 ++-----
 src/plugins/skiller/SkillerDebugInterface.h_ext    |   16 +---
 51 files changed, 246 insertions(+), 738 deletions(-)


- *Diffs* -------------------------------------------------------------

- *commit* 049113ba3df12dafbe46718b9230d3bb3a93cbc3 - - - - - - - - - -
Author:  Tim Niemueller <niemueller at kbsg.rwth-aachen.de>
Date:    Wed Dec 21 16:44:12 2016 +0100
Subject: interfaces: regenerate for changed packing

 src/libs/interfaces/BatteryInterface.h           |   12 +---
 src/libs/interfaces/CameraControlInterface.h     |   16 +----
 src/libs/interfaces/EclipseDebuggerInterface.h   |    8 +--
 src/libs/interfaces/FacerInterface.h             |   32 +++--------
 src/libs/interfaces/FacialExpressionInterface.h  |   20 ++-----
 src/libs/interfaces/GameStateInterface.h         |   16 +----
 src/libs/interfaces/GripperInterface.h           |   12 +---
 src/libs/interfaces/HumanSkeletonInterface.h     |    4 +-
 src/libs/interfaces/HumanoidMotionInterface.h    |   48 ++++-----------
 src/libs/interfaces/IMUInterface.h               |    4 +-
 src/libs/interfaces/JointInterface.h             |    4 +-
 src/libs/interfaces/JoystickInterface.h          |   16 +----
 src/libs/interfaces/KeyValueInterface.h          |    4 +-
 src/libs/interfaces/KickerInterface.h            |   16 +----
 src/libs/interfaces/Laser1080Interface.h         |    4 +-
 src/libs/interfaces/Laser360Interface.h          |    4 +-
 src/libs/interfaces/Laser720Interface.h          |    4 +-
 src/libs/interfaces/LedInterface.h               |   16 +----
 src/libs/interfaces/LocalizationInterface.h      |    8 +--
 src/libs/interfaces/MotorInterface.h             |   48 ++++-----------
 src/libs/interfaces/NavPathInterface.h           |    4 +-
 src/libs/interfaces/NavigatorInterface.h         |   68 ++++++----------------
 src/libs/interfaces/ObjectPositionInterface.h    |    4 +-
 src/libs/interfaces/Position2DTrackInterface.h   |    4 +-
 src/libs/interfaces/Position3DInterface.h        |    4 +-
 src/libs/interfaces/SkillerInterface.h           |   24 ++------
 src/libs/interfaces/SoccerPenaltyInterface.h     |    8 +--
 src/libs/interfaces/SpeechRecognitionInterface.h |   12 +---
 src/libs/interfaces/SpeechSynthInterface.h       |    8 +--
 src/libs/interfaces/SwitchInterface.h            |   20 ++-----
 src/libs/interfaces/TestInterface.h              |   16 +----
 src/libs/interfaces/TransformInterface.h         |    4 +-
 src/libs/interfaces/VisualDisplay2DInterface.h   |   28 ++-------
 33 files changed, 125 insertions(+), 375 deletions(-)

_Diff for modified files_:
diff --git a/src/libs/interfaces/BatteryInterface.h b/src/libs/interfaces/BatteryInterface.h
index e776006..992856b 100644
--- a/src/libs/interfaces/BatteryInterface.h
+++ b/src/libs/interfaces/BatteryInterface.h
@@ -39,9 +39,8 @@ class BatteryInterface : public Interface
   /* constants */
 
  private:
-#pragma pack(push,4)
   /** Internal data storage, do NOT modify! */
-  typedef struct {
+  typedef struct __attribute__((packed)) {
     int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
     int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     uint32_t current; /**< Battery Current [mA] */
@@ -50,7 +49,6 @@ class BatteryInterface : public Interface
     float absolute_soc; /**< Absolute state of charge [%] */
     float relative_soc; /**< Relative state of charge [%] */
   } BatteryInterface_data_t;
-#pragma pack(pop)
 
   BatteryInterface_data_t *data;
 
@@ -59,13 +57,11 @@ class BatteryInterface : public Interface
   class PushButtonMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     } PushButtonMessage_data_t;
-#pragma pack(pop)
 
     PushButtonMessage_data_t *data;
 
@@ -81,13 +77,11 @@ class BatteryInterface : public Interface
   class SleepMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     } SleepMessage_data_t;
-#pragma pack(pop)
 
     SleepMessage_data_t *data;
 
diff --git a/src/libs/interfaces/CameraControlInterface.h b/src/libs/interfaces/CameraControlInterface.h
index c058a4e..012d692 100644
--- a/src/libs/interfaces/CameraControlInterface.h
+++ b/src/libs/interfaces/CameraControlInterface.h
@@ -52,9 +52,8 @@ class CameraControlInterface : public Interface
   const char * tostring_Effect(Effect value) const;
 
  private:
-#pragma pack(push,4)
   /** Internal data storage, do NOT modify! */
-  typedef struct {
+  typedef struct __attribute__((packed)) {
     int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
     int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     int32_t effect; /**< Currently active effect. */
@@ -66,7 +65,6 @@ class CameraControlInterface : public Interface
     bool mirror; /**< Is the image mirrored? */
     bool mirror_supported; /**< Is mirroring supported? */
   } CameraControlInterface_data_t;
-#pragma pack(pop)
 
   CameraControlInterface_data_t *data;
 
@@ -76,14 +74,12 @@ class CameraControlInterface : public Interface
   class SetEffectMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       int32_t effect; /**< Currently active effect. */
     } SetEffectMessage_data_t;
-#pragma pack(pop)
 
     SetEffectMessage_data_t *data;
 
@@ -104,14 +100,12 @@ class CameraControlInterface : public Interface
   class SetZoomMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       uint32_t zoom; /**< Current zoom setting. */
     } SetZoomMessage_data_t;
-#pragma pack(pop)
 
     SetZoomMessage_data_t *data;
 
@@ -132,14 +126,12 @@ class CameraControlInterface : public Interface
   class SetMirrorMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       bool mirror; /**< Is the image mirrored? */
     } SetMirrorMessage_data_t;
-#pragma pack(pop)
 
     SetMirrorMessage_data_t *data;
 
diff --git a/src/libs/interfaces/EclipseDebuggerInterface.h b/src/libs/interfaces/EclipseDebuggerInterface.h
index cd9b5f4..29af65c 100644
--- a/src/libs/interfaces/EclipseDebuggerInterface.h
+++ b/src/libs/interfaces/EclipseDebuggerInterface.h
@@ -39,15 +39,13 @@ class EclipseDebuggerInterface : public Interface
   /* constants */
 
  private:
-#pragma pack(push,4)
   /** Internal data storage, do NOT modify! */
-  typedef struct {
+  typedef struct __attribute__((packed)) {
     int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
     int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     uint16_t port; /**< Port where to connect to */
     char host[100]; /**< Host where to connect to */
   } EclipseDebuggerInterface_data_t;
-#pragma pack(pop)
 
   EclipseDebuggerInterface_data_t *data;
 
@@ -56,13 +54,11 @@ class EclipseDebuggerInterface : public Interface
   class ConnectionMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     } ConnectionMessage_data_t;
-#pragma pack(pop)
 
     ConnectionMessage_data_t *data;
 
diff --git a/src/libs/interfaces/FacerInterface.h b/src/libs/interfaces/FacerInterface.h
index c7a8a0c..673276e 100644
--- a/src/libs/interfaces/FacerInterface.h
+++ b/src/libs/interfaces/FacerInterface.h
@@ -51,9 +51,8 @@ class FacerInterface : public Interface
   const char * tostring_if_facer_opmode_t(if_facer_opmode_t value) const;
 
  private:
-#pragma pack(push,4)
   /** Internal data storage, do NOT modify! */
-  typedef struct {
+  typedef struct __attribute__((packed)) {
     int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
     int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     int32_t opmode; /**< 
@@ -119,7 +118,6 @@ class FacerInterface : public Interface
       Index of the identity which was learned last.
      */
   } FacerInterface_data_t;
-#pragma pack(pop)
 
   FacerInterface_data_t *data;
 
@@ -129,14 +127,12 @@ class FacerInterface : public Interface
   class LearnFaceMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       char name[64]; /**< The name assigned to the new identity. */
     } LearnFaceMessage_data_t;
-#pragma pack(pop)
 
     LearnFaceMessage_data_t *data;
 
@@ -157,16 +153,14 @@ class FacerInterface : public Interface
   class SetOpmodeMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       int32_t opmode; /**< 
       Current opmode.
      */
     } SetOpmodeMessage_data_t;
-#pragma pack(pop)
 
     SetOpmodeMessage_data_t *data;
 
@@ -187,15 +181,13 @@ class FacerInterface : public Interface
   class EnableIdentityMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       uint32_t index; /**< Index of the identity. */
       bool enable; /**< En-/disable flag. */
     } EnableIdentityMessage_data_t;
-#pragma pack(pop)
 
     EnableIdentityMessage_data_t *data;
 
@@ -219,15 +211,13 @@ class FacerInterface : public Interface
   class SetNameMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       uint32_t index; /**< Index of the identity. */
       char name[64]; /**< Name of the identity. */
     } SetNameMessage_data_t;
-#pragma pack(pop)
 
     SetNameMessage_data_t *data;
 
@@ -251,14 +241,12 @@ class FacerInterface : public Interface
   class GetNameMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       uint32_t index; /**< Index of the identity. */
     } GetNameMessage_data_t;
-#pragma pack(pop)
 
     GetNameMessage_data_t *data;
 
@@ -279,14 +267,12 @@ class FacerInterface : public Interface
   class StartSearchPersonMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       uint32_t index; /**< Index of the identity. */
     } StartSearchPersonMessage_data_t;
-#pragma pack(pop)
 
     StartSearchPersonMessage_data_t *data;
 
@@ -307,13 +293,11 @@ class FacerInterface : public Interface
   class StopSearchPersonMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     } StopSearchPersonMessage_data_t;
-#pragma pack(pop)
 
     StopSearchPersonMessage_data_t *data;
 
diff --git a/src/libs/interfaces/FacialExpressionInterface.h b/src/libs/interfaces/FacialExpressionInterface.h
index 540b02c..2b1e845 100644
--- a/src/libs/interfaces/FacialExpressionInterface.h
+++ b/src/libs/interfaces/FacialExpressionInterface.h
@@ -79,9 +79,8 @@ class FacialExpressionInterface : public Interface
   const char * tostring_mouth_t(mouth_t value) const;
 
  private:
-#pragma pack(push,4)
   /** Internal data storage, do NOT modify! */
-  typedef struct {
+  typedef struct __attribute__((packed)) {
     int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
     int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     int32_t brows_action; /**< Type of action of brows */
@@ -89,7 +88,6 @@ class FacialExpressionInterface : public Interface
     int32_t jowl_action; /**< Type of action of jown */
     int32_t mouth_action; /**< Type of action of mouth */
   } FacialExpressionInterface_data_t;
-#pragma pack(pop)
 
   FacialExpressionInterface_data_t *data;
 
@@ -102,14 +100,12 @@ class FacialExpressionInterface : public Interface
   class MoveBrowsMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       int32_t brows_action; /**< Type of action of brows */
     } MoveBrowsMessage_data_t;
-#pragma pack(pop)
 
     MoveBrowsMessage_data_t *data;
 
@@ -133,14 +129,12 @@ class FacialExpressionInterface : public Interface
   class MoveEyesMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       int32_t eyes_action; /**< Type of action of eyes */
     } MoveEyesMessage_data_t;
-#pragma pack(pop)
 
     MoveEyesMessage_data_t *data;
 
@@ -164,14 +158,12 @@ class FacialExpressionInterface : public Interface
   class MoveJowlMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       int32_t jowl_action; /**< Type of action of jown */
     } MoveJowlMessage_data_t;
-#pragma pack(pop)
 
     MoveJowlMessage_data_t *data;
 
@@ -195,14 +187,12 @@ class FacialExpressionInterface : public Interface
   class MoveMouthMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       int32_t mouth_action; /**< Type of action of mouth */
     } MoveMouthMessage_data_t;
-#pragma pack(pop)
 
     MoveMouthMessage_data_t *data;
 
diff --git a/src/libs/interfaces/GameStateInterface.h b/src/libs/interfaces/GameStateInterface.h
index 55b3a63..398ceff 100644
--- a/src/libs/interfaces/GameStateInterface.h
+++ b/src/libs/interfaces/GameStateInterface.h
@@ -99,9 +99,8 @@ class GameStateInterface : public Interface
   const char * tostring_if_gamestate_role_t(if_gamestate_role_t value) const;
 
  private:
-#pragma pack(push,4)
   /** Internal data storage, do NOT modify! */
-  typedef struct {
+  typedef struct __attribute__((packed)) {
     int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
     int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     uint32_t game_state; /**< Current game state */
@@ -114,7 +113,6 @@ class GameStateInterface : public Interface
     uint32_t score_cyan; /**< Score of team cyan */
     uint32_t score_magenta; /**< Score of team magenta */
   } GameStateInterface_data_t;
-#pragma pack(pop)
 
   GameStateInterface_data_t *data;
 
@@ -127,14 +125,12 @@ class GameStateInterface : public Interface
   class SetTeamColorMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       int32_t our_team; /**< Our team color */
     } SetTeamColorMessage_data_t;
-#pragma pack(pop)
 
     SetTeamColorMessage_data_t *data;
 
@@ -158,14 +154,12 @@ class GameStateInterface : public Interface
   class SetKickoffMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       bool kickoff; /**< Whether we have kickoff */
     } SetKickoffMessage_data_t;
-#pragma pack(pop)
 
     SetKickoffMessage_data_t *data;
 
@@ -189,14 +183,12 @@ class GameStateInterface : public Interface
   class SetStateTeamMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       int32_t state_team; /**< Team referred to by game state */
     } SetStateTeamMessage_data_t;
-#pragma pack(pop)
 
     SetStateTeamMessage_data_t *data;
 
diff --git a/src/libs/interfaces/GripperInterface.h b/src/libs/interfaces/GripperInterface.h
index cba12a3..ffc5720 100644
--- a/src/libs/interfaces/GripperInterface.h
+++ b/src/libs/interfaces/GripperInterface.h
@@ -46,16 +46,14 @@ class GripperInterface : public Interface
   const char * tostring_GripperState(GripperState value) const;
 
  private:
-#pragma pack(push,4)
   /** Internal data storage, do NOT modify! */
-  typedef struct {
+  typedef struct __attribute__((packed)) {
     int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
     int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     int32_t gripper_state; /**< 
       The current state of the gripper.
      */
   } GripperInterface_data_t;
-#pragma pack(pop)
 
   GripperInterface_data_t *data;
 
@@ -65,13 +63,11 @@ class GripperInterface : public Interface
   class OpenGripperMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     } OpenGripperMessage_data_t;
-#pragma pack(pop)
 
     OpenGripperMessage_data_t *data;
 
@@ -88,13 +84,11 @@ class GripperInterface : public Interface
   class CloseGripperMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     } CloseGripperMessage_data_t;
-#pragma pack(pop)
 
     CloseGripperMessage_data_t *data;
 
diff --git a/src/libs/interfaces/HumanSkeletonInterface.h b/src/libs/interfaces/HumanSkeletonInterface.h
index 85820ff..1f0a49b 100644
--- a/src/libs/interfaces/HumanSkeletonInterface.h
+++ b/src/libs/interfaces/HumanSkeletonInterface.h
@@ -59,9 +59,8 @@ class HumanSkeletonInterface : public Interface
   const char * tostring_State(State value) const;
 
  private:
-#pragma pack(push,4)
   /** Internal data storage, do NOT modify! */
-  typedef struct {
+  typedef struct __attribute__((packed)) {
     int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
     int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     int32_t state; /**< Current state. */
@@ -260,7 +259,6 @@ class HumanSkeletonInterface : public Interface
     float ori_right_foot_confidence; /**< 
       Right foot position confidence. */
   } HumanSkeletonInterface_data_t;
-#pragma pack(pop)
 
   HumanSkeletonInterface_data_t *data;
 
diff --git a/src/libs/interfaces/HumanoidMotionInterface.h b/src/libs/interfaces/HumanoidMotionInterface.h
index b1a86a5..53ed335 100644
--- a/src/libs/interfaces/HumanoidMotionInterface.h
+++ b/src/libs/interfaces/HumanoidMotionInterface.h
@@ -54,9 +54,8 @@ class HumanoidMotionInterface : public Interface
   const char * tostring_StandupEnum(StandupEnum value) const;
 
  private:
-#pragma pack(push,4)
   /** Internal data storage, do NOT modify! */
-  typedef struct {
+  typedef struct __attribute__((packed)) {
     int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
     int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     bool moving; /**< True if the robot is moving. */
@@ -68,7 +67,6 @@ class HumanoidMotionInterface : public Interface
       processed, or 0 if no message is being processed.
      */
   } HumanoidMotionInterface_data_t;
-#pragma pack(pop)
 
   HumanoidMotionInterface_data_t *data;
 
@@ -79,13 +77,11 @@ class HumanoidMotionInterface : public Interface
   class StopMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     } StopMessage_data_t;
-#pragma pack(pop)
 
     StopMessage_data_t *data;
 
@@ -103,14 +99,12 @@ class HumanoidMotionInterface : public Interface
   class WalkStraightMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       float distance; /**< Distance in m to walk. */
     } WalkStraightMessage_data_t;
-#pragma pack(pop)
 
     WalkStraightMessage_data_t *data;
 
@@ -132,14 +126,12 @@ class HumanoidMotionInterface : public Interface
   class WalkSidewaysMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       float distance; /**< Distance in m to walk. */
     } WalkSidewaysMessage_data_t;
-#pragma pack(pop)
 
     WalkSidewaysMessage_data_t *data;
 
@@ -161,15 +153,13 @@ class HumanoidMotionInterface : public Interface
   class WalkArcMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       float angle; /**< Angle in radians to turn over the way. */
       float radius; /**< Radius in m of the circle in m. */
     } WalkArcMessage_data_t;
-#pragma pack(pop)
 
     WalkArcMessage_data_t *data;
 
@@ -194,9 +184,8 @@ class HumanoidMotionInterface : public Interface
   class WalkVelocityMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       float x; /**< 
@@ -212,7 +201,6 @@ class HumanoidMotionInterface : public Interface
       Fraction of MaxStepFrequency [0.0 to 1.0].
      */
     } WalkVelocityMessage_data_t;
-#pragma pack(pop)
 
     WalkVelocityMessage_data_t *data;
 
@@ -243,14 +231,12 @@ class HumanoidMotionInterface : public Interface
   class TurnMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       float angle; /**< Angle in radians to turn. */
     } TurnMessage_data_t;
-#pragma pack(pop)
 
     TurnMessage_data_t *data;
 
@@ -272,15 +258,13 @@ class HumanoidMotionInterface : public Interface
   class KickMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       int32_t leg; /**< Leg to kick with */
       float strength; /**< Kick strength */
     } KickMessage_data_t;
-#pragma pack(pop)
 
     KickMessage_data_t *data;
 
@@ -305,13 +289,11 @@ class HumanoidMotionInterface : public Interface
   class ParkMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     } ParkMessage_data_t;
-#pragma pack(pop)
 
     ParkMessage_data_t *data;
 
@@ -329,13 +311,11 @@ class HumanoidMotionInterface : public Interface
   class GetUpMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     } GetUpMessage_data_t;
-#pragma pack(pop)
 
     GetUpMessage_data_t *data;
 
@@ -353,14 +333,12 @@ class HumanoidMotionInterface : public Interface
   class StandupMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       int32_t from_pos; /**< Position from where to standup. */
     } StandupMessage_data_t;
-#pragma pack(pop)
 
     StandupMessage_data_t *data;
 
@@ -382,16 +360,14 @@ class HumanoidMotionInterface : public Interface
   class MoveHeadMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       float yaw; /**< Desired yaw (horizontal orientation). */
       float pitch; /**< Desired pitch (vertical orientation). */
       float speed; /**< Maximum speed in [0.0..1.0]. */
     } MoveHeadMessage_data_t;
-#pragma pack(pop)
 
     MoveHeadMessage_data_t *data;
 
diff --git a/src/libs/interfaces/IMUInterface.h b/src/libs/interfaces/IMUInterface.h
index 1a05afb..fbd3ee9 100644
--- a/src/libs/interfaces/IMUInterface.h
+++ b/src/libs/interfaces/IMUInterface.h
@@ -39,9 +39,8 @@ class IMUInterface : public Interface
   /* constants */
 
  private:
-#pragma pack(push,4)
   /** Internal data storage, do NOT modify! */
-  typedef struct {
+  typedef struct __attribute__((packed)) {
     int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
     int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     char frame[32]; /**< 
@@ -66,7 +65,6 @@ class IMUInterface : public Interface
       Covariance of linear acceleration, row major about x, y, z axes.
      */
   } IMUInterface_data_t;
-#pragma pack(pop)
 
   IMUInterface_data_t *data;
 
diff --git a/src/libs/interfaces/JointInterface.h b/src/libs/interfaces/JointInterface.h
index 9290623..5e04dc8 100644
--- a/src/libs/interfaces/JointInterface.h
+++ b/src/libs/interfaces/JointInterface.h
@@ -39,9 +39,8 @@ class JointInterface : public Interface
   /* constants */
 
  private:
-#pragma pack(push,4)
   /** Internal data storage, do NOT modify! */
-  typedef struct {
+  typedef struct __attribute__((packed)) {
     int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
     int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     float position; /**< 
@@ -51,7 +50,6 @@ class JointInterface : public Interface
       The joint's velocity in rad/s.
      */
   } JointInterface_data_t;
-#pragma pack(pop)
 
   JointInterface_data_t *data;
 
diff --git a/src/libs/interfaces/JoystickInterface.h b/src/libs/interfaces/JoystickInterface.h
index 16d7b30..5135b7d 100644
--- a/src/libs/interfaces/JoystickInterface.h
+++ b/src/libs/interfaces/JoystickInterface.h
@@ -88,9 +88,8 @@ class JoystickInterface : public Interface
   const char * tostring_Direction(Direction value) const;
 
  private:
-#pragma pack(push,4)
   /** Internal data storage, do NOT modify! */
-  typedef struct {
+  typedef struct __attribute__((packed)) {
     int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
     int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     uint8_t num_axes; /**< 
@@ -113,7 +112,6 @@ class JoystickInterface : public Interface
       ored field of the JFF constants.
      */
   } JoystickInterface_data_t;
-#pragma pack(pop)
 
   JoystickInterface_data_t *data;
 
@@ -123,9 +121,8 @@ class JoystickInterface : public Interface
   class StartRumbleMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       uint16_t length; /**< Effect length in ms.
@@ -136,7 +133,6 @@ class JoystickInterface : public Interface
       uint16_t strong_magnitude; /**< Magnitude of heavy motor. */
       uint16_t weak_magnitude; /**< Magnitude of light motor. */
     } StartRumbleMessage_data_t;
-#pragma pack(pop)
 
     StartRumbleMessage_data_t *data;
 
@@ -169,13 +165,11 @@ class JoystickInterface : public Interface
   class StopRumbleMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     } StopRumbleMessage_data_t;
-#pragma pack(pop)
 
     StopRumbleMessage_data_t *data;
 
@@ -192,13 +186,11 @@ class JoystickInterface : public Interface
   class StopAllMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     } StopAllMessage_data_t;
-#pragma pack(pop)
 
     StopAllMessage_data_t *data;
 
diff --git a/src/libs/interfaces/KeyValueInterface.h b/src/libs/interfaces/KeyValueInterface.h
index 26f4eee..15bbc44 100644
--- a/src/libs/interfaces/KeyValueInterface.h
+++ b/src/libs/interfaces/KeyValueInterface.h
@@ -50,9 +50,8 @@ class KeyValueInterface : public Interface
   const char * tostring_ValueType(ValueType value) const;
 
  private:
-#pragma pack(push,4)
   /** Internal data storage, do NOT modify! */
-  typedef struct {
+  typedef struct __attribute__((packed)) {
     int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
     int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     char key[32]; /**< The key entry */
@@ -64,7 +63,6 @@ class KeyValueInterface : public Interface
     uint8_t value_byte; /**< Value with type byte */
     float value_float; /**< Value with type float */
   } KeyValueInterface_data_t;
-#pragma pack(pop)
 
   KeyValueInterface_data_t *data;
 
diff --git a/src/libs/interfaces/KickerInterface.h b/src/libs/interfaces/KickerInterface.h
index 5f581c1..253c6e2 100644
--- a/src/libs/interfaces/KickerInterface.h
+++ b/src/libs/interfaces/KickerInterface.h
@@ -55,9 +55,8 @@ class KickerInterface : public Interface
   const char * tostring_GuideBallSideEnum(GuideBallSideEnum value) const;
 
  private:
-#pragma pack(push,4)
   /** Internal data storage, do NOT modify! */
-  typedef struct {
+  typedef struct __attribute__((packed)) {
     int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
     int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     int32_t num_kicks_left; /**< 
@@ -75,7 +74,6 @@ class KickerInterface : public Interface
       The currently set intensity.
      */
   } KickerInterface_data_t;
-#pragma pack(pop)
 
   KickerInterface_data_t *data;
 
@@ -85,9 +83,8 @@ class KickerInterface : public Interface
   class KickMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       bool left; /**< True to kick with left kicker. */
@@ -95,7 +92,6 @@ class KickerInterface : public Interface
       bool right; /**< True to kick with right kicker. */
       uint32_t intensity; /**< Intensity in the range [0..255]. */
     } KickMessage_data_t;
-#pragma pack(pop)
 
     KickMessage_data_t *data;
 
@@ -125,13 +121,11 @@ class KickerInterface : public Interface
   class ResetCounterMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     } ResetCounterMessage_data_t;
-#pragma pack(pop)
 
     ResetCounterMessage_data_t *data;
 
@@ -148,14 +142,12 @@ class KickerInterface : public Interface
   class GuideBallMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       int32_t guide_ball_side; /**< Side where to guide the ball and erect the arm. */
     } GuideBallMessage_data_t;
-#pragma pack(pop)
 
     GuideBallMessage_data_t *data;
 
diff --git a/src/libs/interfaces/Laser1080Interface.h b/src/libs/interfaces/Laser1080Interface.h
index d02c4d3..8c82bda 100644
--- a/src/libs/interfaces/Laser1080Interface.h
+++ b/src/libs/interfaces/Laser1080Interface.h
@@ -39,9 +39,8 @@ class Laser1080Interface : public Interface
   /* constants */
 
  private:
-#pragma pack(push,4)
   /** Internal data storage, do NOT modify! */
-  typedef struct {
+  typedef struct __attribute__((packed)) {
     int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
     int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     char frame[32]; /**< 
@@ -54,7 +53,6 @@ class Laser1080Interface : public Interface
       True if the angle grows clockwise.
      */
   } Laser1080Interface_data_t;
-#pragma pack(pop)
 
   Laser1080Interface_data_t *data;
 
diff --git a/src/libs/interfaces/Laser360Interface.h b/src/libs/interfaces/Laser360Interface.h
index 5b9065a..9e276e0 100644
--- a/src/libs/interfaces/Laser360Interface.h
+++ b/src/libs/interfaces/Laser360Interface.h
@@ -39,9 +39,8 @@ class Laser360Interface : public Interface
   /* constants */
 
  private:
-#pragma pack(push,4)
   /** Internal data storage, do NOT modify! */
-  typedef struct {
+  typedef struct __attribute__((packed)) {
     int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
     int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     char frame[32]; /**< 
@@ -54,7 +53,6 @@ class Laser360Interface : public Interface
       True if the angle grows clockwise.
      */
   } Laser360Interface_data_t;
-#pragma pack(pop)
 
   Laser360Interface_data_t *data;
 
diff --git a/src/libs/interfaces/Laser720Interface.h b/src/libs/interfaces/Laser720Interface.h
index 79c11cd..2060a06 100644
--- a/src/libs/interfaces/Laser720Interface.h
+++ b/src/libs/interfaces/Laser720Interface.h
@@ -39,9 +39,8 @@ class Laser720Interface : public Interface
   /* constants */
 
  private:
-#pragma pack(push,4)
   /** Internal data storage, do NOT modify! */
-  typedef struct {
+  typedef struct __attribute__((packed)) {
     int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
     int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     char frame[32]; /**< 
@@ -54,7 +53,6 @@ class Laser720Interface : public Interface
       True if the angle grows clockwise.
      */
   } Laser720Interface_data_t;
-#pragma pack(pop)
 
   Laser720Interface_data_t *data;
 
diff --git a/src/libs/interfaces/LedInterface.h b/src/libs/interfaces/LedInterface.h
index f12c6eb..30279bb 100644
--- a/src/libs/interfaces/LedInterface.h
+++ b/src/libs/interfaces/LedInterface.h
@@ -41,14 +41,12 @@ class LedInterface : public Interface
   static const float OFF;
 
  private:
-#pragma pack(push,4)
   /** Internal data storage, do NOT modify! */
-  typedef struct {
+  typedef struct __attribute__((packed)) {
     int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
     int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     float intensity; /**< Intensity value. */
   } LedInterface_data_t;
-#pragma pack(pop)
 
   LedInterface_data_t *data;
 
@@ -57,9 +55,8 @@ class LedInterface : public Interface
   class SetIntensityMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       float time_sec; /**< 
@@ -67,7 +64,6 @@ class LedInterface : public Interface
      */
       float intensity; /**< Intensity value. */
     } SetIntensityMessage_data_t;
-#pragma pack(pop)
 
     SetIntensityMessage_data_t *data;
 
@@ -90,13 +86,11 @@ class LedInterface : public Interface
   class TurnOnMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     } TurnOnMessage_data_t;
-#pragma pack(pop)
 
     TurnOnMessage_data_t *data;
 
@@ -112,13 +106,11 @@ class LedInterface : public Interface
   class TurnOffMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     } TurnOffMessage_data_t;
-#pragma pack(pop)
 
     TurnOffMessage_data_t *data;
 
diff --git a/src/libs/interfaces/LocalizationInterface.h b/src/libs/interfaces/LocalizationInterface.h
index 9260426..658840c 100644
--- a/src/libs/interfaces/LocalizationInterface.h
+++ b/src/libs/interfaces/LocalizationInterface.h
@@ -39,14 +39,12 @@ class LocalizationInterface : public Interface
   /* constants */
 
  private:
-#pragma pack(push,4)
   /** Internal data storage, do NOT modify! */
-  typedef struct {
+  typedef struct __attribute__((packed)) {
     int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
     int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     char map[64]; /**< The currently used map. */
   } LocalizationInterface_data_t;
-#pragma pack(pop)
 
   LocalizationInterface_data_t *data;
 
@@ -55,9 +53,8 @@ class LocalizationInterface : public Interface
   class SetInitialPoseMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       char frame[32]; /**< 
@@ -76,7 +73,6 @@ class LocalizationInterface : public Interface
       rotation about Y axis, rotation about Z axis).
      */
     } SetInitialPoseMessage_data_t;
-#pragma pack(pop)
 
     SetInitialPoseMessage_data_t *data;
 
diff --git a/src/libs/interfaces/MotorInterface.h b/src/libs/interfaces/MotorInterface.h
index 975b0e5..49300db 100644
--- a/src/libs/interfaces/MotorInterface.h
+++ b/src/libs/interfaces/MotorInterface.h
@@ -47,9 +47,8 @@ class MotorInterface : public Interface
   static const uint32_t DRIVE_MODE_LINE_TRANS_ROT;
 
  private:
-#pragma pack(push,4)
   /** Internal data storage, do NOT modify! */
-  typedef struct {
+  typedef struct __attribute__((packed)) {
     int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
     int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     uint32_t motor_state; /**< 
@@ -107,7 +106,6 @@ class MotorInterface : public Interface
      avoided since the interface locking has to be reproduced for these threads then).
    */
   } MotorInterface_data_t;
-#pragma pack(pop)
 
   MotorInterface_data_t *data;
 
@@ -116,16 +114,14 @@ class MotorInterface : public Interface
   class SetMotorStateMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       uint32_t motor_state; /**< 
       The new motor state to set. Use the MOTOR_* constants.
      */
     } SetMotorStateMessage_data_t;
-#pragma pack(pop)
 
     SetMotorStateMessage_data_t *data;
 
@@ -145,9 +141,8 @@ class MotorInterface : public Interface
   class AcquireControlMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       uint32_t controller; /**< 
@@ -160,7 +155,6 @@ class MotorInterface : public Interface
      avoided since the interface locking has to be reproduced for these threads then).
    */
     } AcquireControlMessage_data_t;
-#pragma pack(pop)
 
     AcquireControlMessage_data_t *data;
 
@@ -183,13 +177,11 @@ class MotorInterface : public Interface
   class ResetOdometryMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     } ResetOdometryMessage_data_t;
-#pragma pack(pop)
 
     ResetOdometryMessage_data_t *data;
 
@@ -205,16 +197,14 @@ class MotorInterface : public Interface
   class SetOdometryMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       float x; /**< Translation in x direction in m */
       float y; /**< Translation in y direction in m */
       float odometry_orientation; /**< OdometryOrientation in m */
     } SetOdometryMessage_data_t;
-#pragma pack(pop)
 
     SetOdometryMessage_data_t *data;
 
@@ -240,16 +230,14 @@ class MotorInterface : public Interface
   class DriveRPMMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       float front_right; /**< Rotation in RPM of the right front wheel. */
       float front_left; /**< Rotation in RPM of the left front wheel. */
       float rear; /**< Rotation in RPM of the rear wheel. */
     } DriveRPMMessage_data_t;
-#pragma pack(pop)
 
     DriveRPMMessage_data_t *data;
 
@@ -275,9 +263,8 @@ class MotorInterface : public Interface
   class GotoMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       float x; /**< X distance in m. */
@@ -285,7 +272,6 @@ class MotorInterface : public Interface
       float phi; /**< Angle relative to current angle in rad. */
       float time_sec; /**< When to reach the desired location. */
     } GotoMessage_data_t;
-#pragma pack(pop)
 
     GotoMessage_data_t *data;
 
@@ -314,15 +300,13 @@ class MotorInterface : public Interface
   class TransMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       float vx; /**< Speed in X direction in m/s. */
       float vy; /**< Speed in Y direction in m/s. */
     } TransMessage_data_t;
-#pragma pack(pop)
 
     TransMessage_data_t *data;
 
@@ -345,14 +329,12 @@ class MotorInterface : public Interface
   class RotMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       float omega; /**< Angle rotation in rad/s. */
     } RotMessage_data_t;
-#pragma pack(pop)
 
     RotMessage_data_t *data;
 
@@ -372,16 +354,14 @@ class MotorInterface : public Interface
   class TransRotMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       float vx; /**< Speed in X direction in m/s. */
       float vy; /**< Speed in Y direction in m/s. */
       float omega; /**< Angle rotation in rad/s. */
     } TransRotMessage_data_t;
-#pragma pack(pop)
 
     TransRotMessage_data_t *data;
 
@@ -407,16 +387,14 @@ class MotorInterface : public Interface
   class OrbitMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       float px; /**< Point's X coordinate to orbit. */
       float py; /**< Point's Y coordinate to orbit. */
       float omega; /**< Angular speed around point in rad/s. */
     } OrbitMessage_data_t;
-#pragma pack(pop)
 
     OrbitMessage_data_t *data;
 
@@ -442,16 +420,14 @@ class MotorInterface : public Interface
   class LinTransRotMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       float vx; /**< Speed for translation in X direction in m/s. */
       float vy; /**< Speed for translation in Y direction in m/s. */
       float omega; /**< Rotational speed in rad/s. */
     } LinTransRotMessage_data_t;
-#pragma pack(pop)
 
     LinTransRotMessage_data_t *data;
 
diff --git a/src/libs/interfaces/NavPathInterface.h b/src/libs/interfaces/NavPathInterface.h
index 9b2edc3..6f12b95 100644
--- a/src/libs/interfaces/NavPathInterface.h
+++ b/src/libs/interfaces/NavPathInterface.h
@@ -39,9 +39,8 @@ class NavPathInterface : public Interface
   /* constants */
 
  private:
-#pragma pack(push,4)
   /** Internal data storage, do NOT modify! */
-  typedef struct {
+  typedef struct __attribute__((packed)) {
     int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
     int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     char path_node_1[64]; /**< Path Node */
@@ -86,7 +85,6 @@ class NavPathInterface : public Interface
     char path_node_40[64]; /**< Path Node */
     uint32_t path_length; /**< Length of path */
   } NavPathInterface_data_t;
-#pragma pack(pop)
 
   NavPathInterface_data_t *data;
 
diff --git a/src/libs/interfaces/NavigatorInterface.h b/src/libs/interfaces/NavigatorInterface.h
index e2e42ad..6672e06 100644
--- a/src/libs/interfaces/NavigatorInterface.h
+++ b/src/libs/interfaces/NavigatorInterface.h
@@ -68,9 +68,8 @@ class NavigatorInterface : public Interface
   const char * tostring_OrientationMode(OrientationMode value) const;
 
  private:
-#pragma pack(push,4)
   /** Internal data storage, do NOT modify! */
-  typedef struct {
+  typedef struct __attribute__((packed)) {
     int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
     int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     uint32_t flags; /**< Bit-wise combination of
@@ -100,7 +99,6 @@ class NavigatorInterface : public Interface
     bool stop_at_target; /**< Stop when target is reached? */
     int32_t orientation_mode; /**< Mode how/when to orientate if orientation is given */
   } NavigatorInterface_data_t;
-#pragma pack(pop)
 
   NavigatorInterface_data_t *data;
 
@@ -111,13 +109,11 @@ class NavigatorInterface : public Interface
   class StopMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     } StopMessage_data_t;
-#pragma pack(pop)
 
     StopMessage_data_t *data;
 
@@ -135,16 +131,14 @@ class NavigatorInterface : public Interface
   class TurnMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       float angle; /**< Angle of the turn. */
       float velocity; /**< The desired turning velocity in rad/s,
       set to zero to use default value. */
     } TurnMessage_data_t;
-#pragma pack(pop)
 
     TurnMessage_data_t *data;
 
@@ -169,16 +163,14 @@ class NavigatorInterface : public Interface
   class CartesianGotoMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       float x; /**< X-coordinate of the target, in the robot's coordinate system. */
       float y; /**< Y-coordinate of the target, in the robot's coordinate system. */
       float orientation; /**< The desired orientation of the robot at the target. */
     } CartesianGotoMessage_data_t;
-#pragma pack(pop)
 
     CartesianGotoMessage_data_t *data;
 
@@ -206,16 +198,14 @@ class NavigatorInterface : public Interface
   class PolarGotoMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       float phi; /**< Angle between the robot's front and the target. */
       float dist; /**< Distance to the target. */
       float orientation; /**< The desired orientation of the robot at the target. */
     } PolarGotoMessage_data_t;
-#pragma pack(pop)
 
     PolarGotoMessage_data_t *data;
 
@@ -243,14 +233,12 @@ class NavigatorInterface : public Interface
   class PlaceGotoMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       char place[64]; /**< Place to go to. */
     } PlaceGotoMessage_data_t;
-#pragma pack(pop)
 
     PlaceGotoMessage_data_t *data;
 
@@ -272,15 +260,13 @@ class NavigatorInterface : public Interface
   class PlaceWithOriGotoMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       char place[64]; /**< Place to go to. */
       float orientation; /**< The desired orientation of the robot at the target. */
     } PlaceWithOriGotoMessage_data_t;
-#pragma pack(pop)
 
     PlaceWithOriGotoMessage_data_t *data;
 
@@ -305,16 +291,14 @@ class NavigatorInterface : public Interface
   class ObstacleMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       float x; /**< X-coordinate of the obstacle. */
       float y; /**< Y-coordinate of the obstacle. */
       float width; /**< Width of the obstacle. */
     } ObstacleMessage_data_t;
-#pragma pack(pop)
 
     ObstacleMessage_data_t *data;
 
@@ -342,13 +326,11 @@ class NavigatorInterface : public Interface
   class ResetOdometryMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     } ResetOdometryMessage_data_t;
-#pragma pack(pop)
 
     ResetOdometryMessage_data_t *data;
 
@@ -366,14 +348,12 @@ class NavigatorInterface : public Interface
   class SetMaxVelocityMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       float max_velocity; /**< Maximum velocity */
     } SetMaxVelocityMessage_data_t;
-#pragma pack(pop)
 
     SetMaxVelocityMessage_data_t *data;
 
@@ -395,14 +375,12 @@ class NavigatorInterface : public Interface
   class SetMaxRotationMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       float max_rotation; /**< Maximum rotation velocity */
     } SetMaxRotationMessage_data_t;
-#pragma pack(pop)
 
     SetMaxRotationMessage_data_t *data;
 
@@ -424,15 +402,13 @@ class NavigatorInterface : public Interface
   class SetEscapingMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       bool escaping_enabled; /**< This is used for navigation components with integrated collision avoidance,
       to check whether the navigator should stop when an obstacle obstructs the path, or if it should escape. */
     } SetEscapingMessage_data_t;
-#pragma pack(pop)
 
     SetEscapingMessage_data_t *data;
 
@@ -454,14 +430,12 @@ class NavigatorInterface : public Interface
   class SetSecurityDistanceMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       float security_distance; /**< Security distance to keep to obstacles */
     } SetSecurityDistanceMessage_data_t;
-#pragma pack(pop)
 
     SetSecurityDistanceMessage_data_t *data;
 
@@ -483,14 +457,12 @@ class NavigatorInterface : public Interface
   class SetDriveModeMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       int32_t drive_mode; /**< Current drive mode */
     } SetDriveModeMessage_data_t;
-#pragma pack(pop)
 
     SetDriveModeMessage_data_t *data;
 
@@ -512,14 +484,12 @@ class NavigatorInterface : public Interface
   class SetStopAtTargetMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       bool stop_at_target; /**< Stop when target is reached? */
     } SetStopAtTargetMessage_data_t;
-#pragma pack(pop)
 
     SetStopAtTargetMessage_data_t *data;
 
@@ -541,14 +511,12 @@ class NavigatorInterface : public Interface
   class SetOrientationModeMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       int32_t orientation_mode; /**< Mode how/when to orientate if orientation is given */
     } SetOrientationModeMessage_data_t;
-#pragma pack(pop)
 
     SetOrientationModeMessage_data_t *data;
 
@@ -570,13 +538,11 @@ class NavigatorInterface : public Interface
   class ResetParametersMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     } ResetParametersMessage_data_t;
-#pragma pack(pop)
 
     ResetParametersMessage_data_t *data;
 
diff --git a/src/libs/interfaces/ObjectPositionInterface.h b/src/libs/interfaces/ObjectPositionInterface.h
index 64ace5a..088f269 100644
--- a/src/libs/interfaces/ObjectPositionInterface.h
+++ b/src/libs/interfaces/ObjectPositionInterface.h
@@ -59,9 +59,8 @@ class ObjectPositionInterface : public Interface
   static const uint32_t FLAG_IS_FIXED_OBJECT;
 
  private:
-#pragma pack(push,4)
   /** Internal data storage, do NOT modify! */
-  typedef struct {
+  typedef struct __attribute__((packed)) {
     int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
     int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     uint32_t object_type; /**< 
@@ -180,7 +179,6 @@ class ObjectPositionInterface : public Interface
       values last row from left to right each.
      */
   } ObjectPositionInterface_data_t;
-#pragma pack(pop)
 
   ObjectPositionInterface_data_t *data;
 
diff --git a/src/libs/interfaces/Position2DTrackInterface.h b/src/libs/interfaces/Position2DTrackInterface.h
index 4d33de9..1da56b1 100644
--- a/src/libs/interfaces/Position2DTrackInterface.h
+++ b/src/libs/interfaces/Position2DTrackInterface.h
@@ -39,9 +39,8 @@ class Position2DTrackInterface : public Interface
   /* constants */
 
  private:
-#pragma pack(push,4)
   /** Internal data storage, do NOT modify! */
-  typedef struct {
+  typedef struct __attribute__((packed)) {
     int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
     int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     float track_x_positions[30]; /**< 
@@ -60,7 +59,6 @@ class Position2DTrackInterface : public Interface
     uint32_t length; /**< Length of the Tracks (i.e. up to which index there are valid positions). */
     uint32_t track_id; /**< The ID of the Track. */
   } Position2DTrackInterface_data_t;
-#pragma pack(pop)
 
   Position2DTrackInterface_data_t *data;
 
diff --git a/src/libs/interfaces/Position3DInterface.h b/src/libs/interfaces/Position3DInterface.h
index 6e9c0bc..b5b4135 100644
--- a/src/libs/interfaces/Position3DInterface.h
+++ b/src/libs/interfaces/Position3DInterface.h
@@ -39,9 +39,8 @@ class Position3DInterface : public Interface
   /* constants */
 
  private:
-#pragma pack(push,4)
   /** Internal data storage, do NOT modify! */
-  typedef struct {
+  typedef struct __attribute__((packed)) {
     int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
     int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     char frame[32]; /**< 
@@ -67,7 +66,6 @@ class Position3DInterface : public Interface
       (x, y, z, rotation about X axis, rotation about Y axis, rotation about Z axis)
      */
   } Position3DInterface_data_t;
-#pragma pack(pop)
 
   Position3DInterface_data_t *data;
 
diff --git a/src/libs/interfaces/SkillerInterface.h b/src/libs/interfaces/SkillerInterface.h
index c86d212..d8fe753 100644
--- a/src/libs/interfaces/SkillerInterface.h
+++ b/src/libs/interfaces/SkillerInterface.h
@@ -50,9 +50,8 @@ class SkillerInterface : public Interface
   const char * tostring_SkillStatusEnum(SkillStatusEnum value) const;
 
  private:
-#pragma pack(push,4)
   /** Internal data storage, do NOT modify! */
-  typedef struct {
+  typedef struct __attribute__((packed)) {
     int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
     int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     char skill_string[1024]; /**< 
@@ -75,7 +74,6 @@ class SkillerInterface : public Interface
       The status of the current skill execution.
      */
   } SkillerInterface_data_t;
-#pragma pack(pop)
 
   SkillerInterface_data_t *data;
 
@@ -85,9 +83,8 @@ class SkillerInterface : public Interface
   class ExecSkillMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       char skill_string[1024]; /**< 
@@ -95,7 +92,6 @@ class SkillerInterface : public Interface
       Must be properly null-terminated.
      */
     } ExecSkillMessage_data_t;
-#pragma pack(pop)
 
     ExecSkillMessage_data_t *data;
 
@@ -116,13 +112,11 @@ class SkillerInterface : public Interface
   class RestartInterpreterMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     } RestartInterpreterMessage_data_t;
-#pragma pack(pop)
 
     RestartInterpreterMessage_data_t *data;
 
@@ -139,13 +133,11 @@ class SkillerInterface : public Interface
   class StopExecMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     } StopExecMessage_data_t;
-#pragma pack(pop)
 
     StopExecMessage_data_t *data;
 
@@ -162,9 +154,8 @@ class SkillerInterface : public Interface
   class AcquireControlMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       bool steal_control; /**< 
@@ -174,7 +165,6 @@ class SkillerInterface : public Interface
       acquire control.
      */
     } AcquireControlMessage_data_t;
-#pragma pack(pop)
 
     AcquireControlMessage_data_t *data;
 
@@ -195,13 +185,11 @@ class SkillerInterface : public Interface
   class ReleaseControlMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     } ReleaseControlMessage_data_t;
-#pragma pack(pop)
 
     ReleaseControlMessage_data_t *data;
 
diff --git a/src/libs/interfaces/SoccerPenaltyInterface.h b/src/libs/interfaces/SoccerPenaltyInterface.h
index 5bf3477..2903200 100644
--- a/src/libs/interfaces/SoccerPenaltyInterface.h
+++ b/src/libs/interfaces/SoccerPenaltyInterface.h
@@ -49,15 +49,13 @@ class SoccerPenaltyInterface : public Interface
   static const uint16_t SPL_PENALTY_MANUAL;
 
  private:
-#pragma pack(push,4)
   /** Internal data storage, do NOT modify! */
-  typedef struct {
+  typedef struct __attribute__((packed)) {
     int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
     int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     uint16_t penalty; /**< Current penalty code. */
     uint16_t remaining; /**< Estimated time in seconds until the robot is unpenalized. */
   } SoccerPenaltyInterface_data_t;
-#pragma pack(pop)
 
   SoccerPenaltyInterface_data_t *data;
 
@@ -66,14 +64,12 @@ class SoccerPenaltyInterface : public Interface
   class SetPenaltyMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       uint16_t penalty; /**< Current penalty code. */
     } SetPenaltyMessage_data_t;
-#pragma pack(pop)
 
     SetPenaltyMessage_data_t *data;
 
diff --git a/src/libs/interfaces/SpeechRecognitionInterface.h b/src/libs/interfaces/SpeechRecognitionInterface.h
index 4e328d6..fb808d2 100644
--- a/src/libs/interfaces/SpeechRecognitionInterface.h
+++ b/src/libs/interfaces/SpeechRecognitionInterface.h
@@ -39,9 +39,8 @@ class SpeechRecognitionInterface : public Interface
   /* constants */
 
  private:
-#pragma pack(push,4)
   /** Internal data storage, do NOT modify! */
-  typedef struct {
+  typedef struct __attribute__((packed)) {
     int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
     int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     char text[1024]; /**< 
@@ -57,7 +56,6 @@ class SpeechRecognitionInterface : public Interface
       True, if speech processing is currently enabled, false otherwise.
      */
   } SpeechRecognitionInterface_data_t;
-#pragma pack(pop)
 
   SpeechRecognitionInterface_data_t *data;
 
@@ -66,13 +64,11 @@ class SpeechRecognitionInterface : public Interface
   class ResetMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     } ResetMessage_data_t;
-#pragma pack(pop)
 
     ResetMessage_data_t *data;
 
@@ -88,16 +84,14 @@ class SpeechRecognitionInterface : public Interface
   class SetEnabledMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       bool enabled; /**< 
       True, if speech processing is currently enabled, false otherwise.
      */
     } SetEnabledMessage_data_t;
-#pragma pack(pop)
 
     SetEnabledMessage_data_t *data;
 
diff --git a/src/libs/interfaces/SpeechSynthInterface.h b/src/libs/interfaces/SpeechSynthInterface.h
index 30491e0..e0ff64b 100644
--- a/src/libs/interfaces/SpeechSynthInterface.h
+++ b/src/libs/interfaces/SpeechSynthInterface.h
@@ -39,9 +39,8 @@ class SpeechSynthInterface : public Interface
   /* constants */
 
  private:
-#pragma pack(push,4)
   /** Internal data storage, do NOT modify! */
-  typedef struct {
+  typedef struct __attribute__((packed)) {
     int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
     int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     char text[1024]; /**< 
@@ -60,7 +59,6 @@ class SpeechSynthInterface : public Interface
       duration of already spoken or yet to speak text!
      */
   } SpeechSynthInterface_data_t;
-#pragma pack(pop)
 
   SpeechSynthInterface_data_t *data;
 
@@ -69,16 +67,14 @@ class SpeechSynthInterface : public Interface
   class SayMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       char text[1024]; /**< 
       Last spoken string. Must be properly null-terminated.
      */
     } SayMessage_data_t;
-#pragma pack(pop)
 
     SayMessage_data_t *data;
 
diff --git a/src/libs/interfaces/SwitchInterface.h b/src/libs/interfaces/SwitchInterface.h
index caef524..8f911c3 100644
--- a/src/libs/interfaces/SwitchInterface.h
+++ b/src/libs/interfaces/SwitchInterface.h
@@ -39,9 +39,8 @@ class SwitchInterface : public Interface
   /* constants */
 
  private:
-#pragma pack(push,4)
   /** Internal data storage, do NOT modify! */
-  typedef struct {
+  typedef struct __attribute__((packed)) {
     int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
     int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     bool enabled; /**< 
@@ -73,7 +72,6 @@ class SwitchInterface : public Interface
       happened. Can be used to decide if a change in status happened.
      */
   } SwitchInterface_data_t;
-#pragma pack(pop)
 
   SwitchInterface_data_t *data;
 
@@ -82,9 +80,8 @@ class SwitchInterface : public Interface
   class SetMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       bool enabled; /**< 
@@ -96,7 +93,6 @@ class SwitchInterface : public Interface
       could be a value in the valid range.
      */
     } SetMessage_data_t;
-#pragma pack(pop)
 
     SetMessage_data_t *data;
 
@@ -119,13 +115,11 @@ class SwitchInterface : public Interface
   class EnableSwitchMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     } EnableSwitchMessage_data_t;
-#pragma pack(pop)
 
     EnableSwitchMessage_data_t *data;
 
@@ -141,13 +135,11 @@ class SwitchInterface : public Interface
   class DisableSwitchMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     } DisableSwitchMessage_data_t;
-#pragma pack(pop)
 
     DisableSwitchMessage_data_t *data;
 
@@ -163,9 +155,8 @@ class SwitchInterface : public Interface
   class EnableDurationMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       float duration; /**< Duration in seconds for which
@@ -176,7 +167,6 @@ class SwitchInterface : public Interface
       could be a value in the valid range.
      */
     } EnableDurationMessage_data_t;
-#pragma pack(pop)
 
     EnableDurationMessage_data_t *data;
 
diff --git a/src/libs/interfaces/TestInterface.h b/src/libs/interfaces/TestInterface.h
index b33d51f..404e0e9 100644
--- a/src/libs/interfaces/TestInterface.h
+++ b/src/libs/interfaces/TestInterface.h
@@ -48,9 +48,8 @@ class TestInterface : public Interface
   const char * tostring_TestEnum(TestEnum value) const;
 
  private:
-#pragma pack(push,4)
   /** Internal data storage, do NOT modify! */
-  typedef struct {
+  typedef struct __attribute__((packed)) {
     int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
     int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     bool test_bool; /**< Test Bool */
@@ -60,7 +59,6 @@ class TestInterface : public Interface
     int32_t result; /**< Result of operation add operation from Calculate message. */
     uint32_t test_uint; /**< Test uint32 */
   } TestInterface_data_t;
-#pragma pack(pop)
 
   TestInterface_data_t *data;
 
@@ -70,14 +68,12 @@ class TestInterface : public Interface
   class SetTestIntMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       int32_t test_int; /**< Test integer */
     } SetTestIntMessage_data_t;
-#pragma pack(pop)
 
     SetTestIntMessage_data_t *data;
 
@@ -98,14 +94,12 @@ class TestInterface : public Interface
   class SetTestStringMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       char test_string[30]; /**< A test sring */
     } SetTestStringMessage_data_t;
-#pragma pack(pop)
 
     SetTestStringMessage_data_t *data;
 
@@ -126,15 +120,13 @@ class TestInterface : public Interface
   class CalculateMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       int32_t summand; /**< Summand */
       int32_t addend; /**< Addend */
     } CalculateMessage_data_t;
-#pragma pack(pop)
 
     CalculateMessage_data_t *data;
 
diff --git a/src/libs/interfaces/TransformInterface.h b/src/libs/interfaces/TransformInterface.h
index d2f1a90..e1a8b0e 100644
--- a/src/libs/interfaces/TransformInterface.h
+++ b/src/libs/interfaces/TransformInterface.h
@@ -39,9 +39,8 @@ class TransformInterface : public Interface
   /* constants */
 
  private:
-#pragma pack(push,4)
   /** Internal data storage, do NOT modify! */
-  typedef struct {
+  typedef struct __attribute__((packed)) {
     int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
     int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     char frame[64]; /**< 
@@ -68,7 +67,6 @@ class TransformInterface : public Interface
       W value.
      */
   } TransformInterface_data_t;
-#pragma pack(pop)
 
   TransformInterface_data_t *data;
 
diff --git a/src/libs/interfaces/VisualDisplay2DInterface.h b/src/libs/interfaces/VisualDisplay2DInterface.h
index 5afaa46..3a38c77 100644
--- a/src/libs/interfaces/VisualDisplay2DInterface.h
+++ b/src/libs/interfaces/VisualDisplay2DInterface.h
@@ -69,14 +69,12 @@ class VisualDisplay2DInterface : public Interface
   const char * tostring_Anchor(Anchor value) const;
 
  private:
-#pragma pack(push,4)
   /** Internal data storage, do NOT modify! */
-  typedef struct {
+  typedef struct __attribute__((packed)) {
     int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
     int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     uint32_t counter; /**< Field */
   } VisualDisplay2DInterface_data_t;
-#pragma pack(pop)
 
   VisualDisplay2DInterface_data_t *data;
 
@@ -87,9 +85,8 @@ class VisualDisplay2DInterface : public Interface
   class AddCartLineMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       float x[2]; /**< X coordinates of two points */
@@ -98,7 +95,6 @@ class VisualDisplay2DInterface : public Interface
       int32_t style; /**< Style of this object. */
       uint8_t color[4]; /**< Color in RGBA */
     } AddCartLineMessage_data_t;
-#pragma pack(pop)
 
     AddCartLineMessage_data_t *data;
 
@@ -135,9 +131,8 @@ class VisualDisplay2DInterface : public Interface
   class AddCartCircleMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       float x; /**< X coordinate of center point */
@@ -146,7 +141,6 @@ class VisualDisplay2DInterface : public Interface
       int32_t style; /**< Style of this object. */
       uint8_t color[4]; /**< Color in RGBA */
     } AddCartCircleMessage_data_t;
-#pragma pack(pop)
 
     AddCartCircleMessage_data_t *data;
 
@@ -182,9 +176,8 @@ class VisualDisplay2DInterface : public Interface
   class AddCartRectMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       float x; /**< X coordinate of lower right corner */
@@ -194,7 +187,6 @@ class VisualDisplay2DInterface : public Interface
       int32_t style; /**< Style of this object. */
       uint8_t color[4]; /**< Color in RGBA */
     } AddCartRectMessage_data_t;
-#pragma pack(pop)
 
     AddCartRectMessage_data_t *data;
 
@@ -233,9 +225,8 @@ class VisualDisplay2DInterface : public Interface
   class AddCartTextMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       float x; /**< X coordinate of upper left corner */
@@ -246,7 +237,6 @@ class VisualDisplay2DInterface : public Interface
       float size; /**< Font size (max height in m). */
       uint8_t color[4]; /**< Color in RGBA */
     } AddCartTextMessage_data_t;
-#pragma pack(pop)
 
     AddCartTextMessage_data_t *data;
 
@@ -285,15 +275,13 @@ class VisualDisplay2DInterface : public Interface
   class DeleteObjectMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       uint32_t object_id; /**< Object ID, which is
     the message ID of the Add* message. */
     } DeleteObjectMessage_data_t;
-#pragma pack(pop)
 
     DeleteObjectMessage_data_t *data;
 
@@ -315,13 +303,11 @@ class VisualDisplay2DInterface : public Interface
   class DeleteAllMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     } DeleteAllMessage_data_t;
-#pragma pack(pop)
 
     DeleteAllMessage_data_t *data;
 

- *commit* b2111390918c2428543f9380f233177c4873e94d - - - - - - - - - -
Author:  Tim Niemueller <niemueller at kbsg.rwth-aachen.de>
Date:    Wed Dec 21 16:46:08 2016 +0100
Subject: bumblebee2: re-generate interfaces for changed packing

 .../interfaces/OpenCVStereoParamsInterface.h_ext   |   48 +++++---------------
 1 files changed, 12 insertions(+), 36 deletions(-)

_Diff for modified files_:
diff --git a/src/plugins/bumblebee2/interfaces/OpenCVStereoParamsInterface.h_ext b/src/plugins/bumblebee2/interfaces/OpenCVStereoParamsInterface.h_ext
index f222932..13e61ab 100644
--- a/src/plugins/bumblebee2/interfaces/OpenCVStereoParamsInterface.h_ext
+++ b/src/plugins/bumblebee2/interfaces/OpenCVStereoParamsInterface.h_ext
@@ -49,9 +49,8 @@ class OpenCVStereoParamsInterface : public Interface
   const char * tostring_PreFilterType(PreFilterType value) const;
 
  private:
-#pragma pack(push,4)
   /** Internal data storage, do NOT modify! */
-  typedef struct {
+  typedef struct __attribute__((packed)) {
     int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
     int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     int32_t pre_filter_type; /**< Pre-filtering method. */
@@ -88,7 +87,6 @@ class OpenCVStereoParamsInterface : public Interface
       slower processing.
      */
   } OpenCVStereoParamsInterface_data_t;
-#pragma pack(pop)
 
   OpenCVStereoParamsInterface_data_t *data;
 
@@ -98,14 +96,12 @@ class OpenCVStereoParamsInterface : public Interface
   class SetPreFilterTypeMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       int32_t pre_filter_type; /**< Pre-filtering method. */
     } SetPreFilterTypeMessage_data_t;
-#pragma pack(pop)
 
     SetPreFilterTypeMessage_data_t *data;
 
@@ -126,16 +122,14 @@ class OpenCVStereoParamsInterface : public Interface
   class SetPreFilterSizeMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       uint32_t pre_filter_size; /**< 
       Averaging window size: ~5x5..21x21.
      */
     } SetPreFilterSizeMessage_data_t;
-#pragma pack(pop)
 
     SetPreFilterSizeMessage_data_t *data;
 
@@ -156,16 +150,14 @@ class OpenCVStereoParamsInterface : public Interface
   class SetPreFilterCapMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       uint32_t pre_filter_cap; /**< 
       The output of pre-filtering is clipped by [-pre_filter_cap,pre_filter_cap].
      */
     } SetPreFilterCapMessage_data_t;
-#pragma pack(pop)
 
     SetPreFilterCapMessage_data_t *data;
 
@@ -186,16 +178,14 @@ class OpenCVStereoParamsInterface : public Interface
   class SetSADWindowSizeMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       uint32_t sad_window_size; /**< 
       Correspondence using Sum of Absolute Difference (SAD) window size (5x5..21x21).
      */
     } SetSADWindowSizeMessage_data_t;
-#pragma pack(pop)
 
     SetSADWindowSizeMessage_data_t *data;
 
@@ -216,14 +206,12 @@ class OpenCVStereoParamsInterface : public Interface
   class SetMinDisparityMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       int32_t min_disparity; /**< Minimum disparity (can be negative). */
     } SetMinDisparityMessage_data_t;
-#pragma pack(pop)
 
     SetMinDisparityMessage_data_t *data;
 
@@ -244,16 +232,14 @@ class OpenCVStereoParamsInterface : public Interface
   class SetNumDisparitiesMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       uint32_t num_disparities; /**< 
       Number of disparities (maximum disparity - minimum disparity (> 0)).
      */
     } SetNumDisparitiesMessage_data_t;
-#pragma pack(pop)
 
     SetNumDisparitiesMessage_data_t *data;
 
@@ -274,9 +260,8 @@ class OpenCVStereoParamsInterface : public Interface
   class SetTextureThresholdMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       uint32_t texture_threshold; /**< 
@@ -284,7 +269,6 @@ class OpenCVStereoParamsInterface : public Interface
       neighborhood.
      */
     } SetTextureThresholdMessage_data_t;
-#pragma pack(pop)
 
     SetTextureThresholdMessage_data_t *data;
 
@@ -305,9 +289,8 @@ class OpenCVStereoParamsInterface : public Interface
   class SetUniquenessRatioMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       uint32_t uniqueness_ratio; /**< 
@@ -316,7 +299,6 @@ class OpenCVStereoParamsInterface : public Interface
       for any d != d*+/-1 within the search range.
      */
     } SetUniquenessRatioMessage_data_t;
-#pragma pack(pop)
 
     SetUniquenessRatioMessage_data_t *data;
 
@@ -337,16 +319,14 @@ class OpenCVStereoParamsInterface : public Interface
   class SetSpeckleWindowSizeMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       uint32_t speckle_window_size; /**< 
       Disparity variation window size.
      */
     } SetSpeckleWindowSizeMessage_data_t;
-#pragma pack(pop)
 
     SetSpeckleWindowSizeMessage_data_t *data;
 
@@ -367,16 +347,14 @@ class OpenCVStereoParamsInterface : public Interface
   class SetSpeckleRangeMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       uint32_t speckle_range; /**< 
       Acceptable range of variation in window.
      */
     } SetSpeckleRangeMessage_data_t;
-#pragma pack(pop)
 
     SetSpeckleRangeMessage_data_t *data;
 
@@ -397,9 +375,8 @@ class OpenCVStereoParamsInterface : public Interface
   class SetTrySmallerWindowsMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       bool try_smaller_windows; /**< 
@@ -407,7 +384,6 @@ class OpenCVStereoParamsInterface : public Interface
       slower processing.
      */
     } SetTrySmallerWindowsMessage_data_t;
-#pragma pack(pop)
 
     SetTrySmallerWindowsMessage_data_t *data;
 

- *commit* a4d5227b50f85e6645b2f2229a9ae31ea20366fc - - - - - - - - - -
Author:  Tim Niemueller <niemueller at kbsg.rwth-aachen.de>
Date:    Wed Dec 21 16:46:17 2016 +0100
Subject: laser-cluster: re-generate interfaces for changed packing

 .../interfaces/LaserClusterInterface.h_ext         |   12 +++---------
 1 files changed, 3 insertions(+), 9 deletions(-)

_Diff for modified files_:
diff --git a/src/plugins/laser-cluster/interfaces/LaserClusterInterface.h_ext b/src/plugins/laser-cluster/interfaces/LaserClusterInterface.h_ext
index 5987a34..d091313 100644
--- a/src/plugins/laser-cluster/interfaces/LaserClusterInterface.h_ext
+++ b/src/plugins/laser-cluster/interfaces/LaserClusterInterface.h_ext
@@ -53,9 +53,8 @@ class LaserClusterInterface : public Interface
   const char * tostring_SelectionMode(SelectionMode value) const;
 
  private:
-#pragma pack(push,4)
   /** Internal data storage, do NOT modify! */
-  typedef struct {
+  typedef struct __attribute__((packed)) {
     int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
     int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     float max_x; /**< Maximum distance in X coordinate
@@ -64,7 +63,6 @@ class LaserClusterInterface : public Interface
       Current cluster selection mode.
      */
   } LaserClusterInterface_data_t;
-#pragma pack(pop)
 
   LaserClusterInterface_data_t *data;
 
@@ -74,15 +72,13 @@ class LaserClusterInterface : public Interface
   class SetMaxXMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       float max_x; /**< Maximum distance in X coordinate
     of sensor frame. */
     } SetMaxXMessage_data_t;
-#pragma pack(pop)
 
     SetMaxXMessage_data_t *data;
 
@@ -103,16 +99,14 @@ class LaserClusterInterface : public Interface
   class SetSelectionModeMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       int32_t selection_mode; /**< 
       Current cluster selection mode.
      */
     } SetSelectionModeMessage_data_t;
-#pragma pack(pop)
 
     SetSelectionModeMessage_data_t *data;
 

- *commit* d77c995d77b7c1f5f3529c81ffef957b451f7f2e - - - - - - - - - -
Author:  Tim Niemueller <niemueller at kbsg.rwth-aachen.de>
Date:    Wed Dec 21 16:46:25 2016 +0100
Subject: laser-lines: re-generate interfaces for changed packing

 .../interfaces/LaserLineInterface.h_ext            |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)

_Diff for modified files_:
diff --git a/src/plugins/laser-lines/interfaces/LaserLineInterface.h_ext b/src/plugins/laser-lines/interfaces/LaserLineInterface.h_ext
index f98e4dd..e486bc6 100644
--- a/src/plugins/laser-lines/interfaces/LaserLineInterface.h_ext
+++ b/src/plugins/laser-lines/interfaces/LaserLineInterface.h_ext
@@ -39,9 +39,8 @@ class LaserLineInterface : public Interface
   /* constants */
 
  private:
-#pragma pack(push,4)
   /** Internal data storage, do NOT modify! */
-  typedef struct {
+  typedef struct __attribute__((packed)) {
     int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
     int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     char frame_id[32]; /**< 
@@ -74,7 +73,6 @@ class LaserLineInterface : public Interface
      */
     float length; /**< Length of the line. */
   } LaserLineInterface_data_t;
-#pragma pack(pop)
 
   LaserLineInterface_data_t *data;
 

- *commit* 90371400ab29e4959ef6208905232f1341c04f29 - - - - - - - - - -
Author:  Tim Niemueller <niemueller at kbsg.rwth-aachen.de>
Date:    Wed Dec 21 16:46:32 2016 +0100
Subject: nao: re-generate interfaces for changed packing

 .../nao/interfaces/NaoJointPositionInterface.h_ext |   20 +++++---------------
 .../interfaces/NaoJointStiffnessInterface.h_ext    |   16 ++++------------
 .../nao/interfaces/NaoSensorInterface.h_ext        |   16 ++++------------
 3 files changed, 13 insertions(+), 39 deletions(-)

_Diff for modified files_:
diff --git a/src/plugins/nao/interfaces/NaoJointPositionInterface.h_ext b/src/plugins/nao/interfaces/NaoJointPositionInterface.h_ext
index ba3965d..0576955 100644
--- a/src/plugins/nao/interfaces/NaoJointPositionInterface.h_ext
+++ b/src/plugins/nao/interfaces/NaoJointPositionInterface.h_ext
@@ -81,9 +81,8 @@ class NaoJointPositionInterface : public Interface
   const char * tostring_RobotType(RobotType value) const;
 
  private:
-#pragma pack(push,4)
   /** Internal data storage, do NOT modify! */
-  typedef struct {
+  typedef struct __attribute__((packed)) {
     int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
     int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     int32_t robot_type; /**< Robot type. */
@@ -124,7 +123,6 @@ class NaoJointPositionInterface : public Interface
       time is added before executing the command.
      */
   } NaoJointPositionInterface_data_t;
-#pragma pack(pop)
 
   NaoJointPositionInterface_data_t *data;
 
@@ -134,9 +132,8 @@ class NaoJointPositionInterface : public Interface
   class SetServoMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       uint32_t servo; /**< A concatenated list of SERVO_* constants to
@@ -149,7 +146,6 @@ class NaoJointPositionInterface : public Interface
       time is added before executing the command.
      */
     } SetServoMessage_data_t;
-#pragma pack(pop)
 
     SetServoMessage_data_t *data;
 
@@ -176,9 +172,8 @@ class NaoJointPositionInterface : public Interface
   class SetServosMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       float head_yaw; /**< Head yaw */
@@ -213,7 +208,6 @@ class NaoJointPositionInterface : public Interface
       time is added before executing the command.
      */
     } SetServosMessage_data_t;
-#pragma pack(pop)
 
     SetServosMessage_data_t *data;
 
@@ -312,9 +306,8 @@ class NaoJointPositionInterface : public Interface
   class MoveServoMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       uint32_t servo; /**< 
@@ -327,7 +320,6 @@ class NaoJointPositionInterface : public Interface
       Fraction of max speed in range [0.0..1.0].
      */
     } MoveServoMessage_data_t;
-#pragma pack(pop)
 
     MoveServoMessage_data_t *data;
 
@@ -354,9 +346,8 @@ class NaoJointPositionInterface : public Interface
   class MoveServosMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       float speed; /**< 
@@ -389,7 +380,6 @@ class NaoJointPositionInterface : public Interface
       float r_ankle_pitch; /**< Right ankle pitch */
       float r_ankle_roll; /**< Right ankle roll */
     } MoveServosMessage_data_t;
-#pragma pack(pop)
 
     MoveServosMessage_data_t *data;
 
diff --git a/src/plugins/nao/interfaces/NaoJointStiffnessInterface.h_ext b/src/plugins/nao/interfaces/NaoJointStiffnessInterface.h_ext
index 26420b7..196328a 100644
--- a/src/plugins/nao/interfaces/NaoJointStiffnessInterface.h_ext
+++ b/src/plugins/nao/interfaces/NaoJointStiffnessInterface.h_ext
@@ -39,9 +39,8 @@ class NaoJointStiffnessInterface : public Interface
   /* constants */
 
  private:
-#pragma pack(push,4)
   /** Internal data storage, do NOT modify! */
-  typedef struct {
+  typedef struct __attribute__((packed)) {
     int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
     int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     float head_yaw; /**< Head yaw */
@@ -75,7 +74,6 @@ class NaoJointStiffnessInterface : public Interface
       ignores the hand and wrist values.
      */
   } NaoJointStiffnessInterface_data_t;
-#pragma pack(pop)
 
   NaoJointStiffnessInterface_data_t *data;
 
@@ -84,9 +82,8 @@ class NaoJointStiffnessInterface : public Interface
   class SetStiffnessMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       uint32_t servo; /**< 
@@ -98,7 +95,6 @@ class NaoJointStiffnessInterface : public Interface
       float value; /**< Servo value to set for servos. */
       float time_sec; /**< Time when to reach the stiffness. */
     } SetStiffnessMessage_data_t;
-#pragma pack(pop)
 
     SetStiffnessMessage_data_t *data;
 
@@ -124,15 +120,13 @@ class NaoJointStiffnessInterface : public Interface
   class SetBodyStiffnessMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       float value; /**< Servo value to set for servos. */
       float time_sec; /**< Time when to reach the stiffness. */
     } SetBodyStiffnessMessage_data_t;
-#pragma pack(pop)
 
     SetBodyStiffnessMessage_data_t *data;
 
@@ -155,9 +149,8 @@ class NaoJointStiffnessInterface : public Interface
   class SetStiffnessesMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       float time_sec; /**< Time when to reach the stiffness. */
@@ -188,7 +181,6 @@ class NaoJointStiffnessInterface : public Interface
       float r_ankle_roll; /**< Right ankle roll */
       float r_elbow_roll; /**< Right elbow roll */
     } SetStiffnessesMessage_data_t;
-#pragma pack(pop)
 
     SetStiffnessesMessage_data_t *data;
 
diff --git a/src/plugins/nao/interfaces/NaoSensorInterface.h_ext b/src/plugins/nao/interfaces/NaoSensorInterface.h_ext
index 155ac0e..cdeeb57 100644
--- a/src/plugins/nao/interfaces/NaoSensorInterface.h_ext
+++ b/src/plugins/nao/interfaces/NaoSensorInterface.h_ext
@@ -52,9 +52,8 @@ class NaoSensorInterface : public Interface
   const char * tostring_UltrasonicDirection(UltrasonicDirection value) const;
 
  private:
-#pragma pack(push,4)
   /** Internal data storage, do NOT modify! */
-  typedef struct {
+  typedef struct __attribute__((packed)) {
     int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
     int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     float accel_x; /**< Accelerometer x */
@@ -100,7 +99,6 @@ class NaoSensorInterface : public Interface
     uint8_t chest_button; /**< Chest button state */
     float battery_charge; /**< Battery charge */
   } NaoSensorInterface_data_t;
-#pragma pack(pop)
 
   NaoSensorInterface_data_t *data;
 
@@ -110,16 +108,14 @@ class NaoSensorInterface : public Interface
   class EmitUltrasonicWaveMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       int32_t ultrasonic_direction; /**< 
       Direction that was used to gather the ultrasonic readings.
      */
     } EmitUltrasonicWaveMessage_data_t;
-#pragma pack(pop)
 
     EmitUltrasonicWaveMessage_data_t *data;
 
@@ -140,16 +136,14 @@ class NaoSensorInterface : public Interface
   class StartUltrasonicMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       int32_t ultrasonic_direction; /**< 
       Direction that was used to gather the ultrasonic readings.
      */
     } StartUltrasonicMessage_data_t;
-#pragma pack(pop)
 
     StartUltrasonicMessage_data_t *data;
 
@@ -170,13 +164,11 @@ class NaoSensorInterface : public Interface
   class StopUltrasonicMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     } StopUltrasonicMessage_data_t;
-#pragma pack(pop)
 
     StopUltrasonicMessage_data_t *data;
 

- *commit* 83492aab00f622918377cb680fbaaeb95d4534d3 - - - - - - - - - -
Author:  Tim Niemueller <niemueller at kbsg.rwth-aachen.de>
Date:    Wed Dec 21 16:46:44 2016 +0100
Subject: openni: re-generate interfaces for changed packing

 .../HumanSkeletonProjectionInterface.h_ext         |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)

_Diff for modified files_:
diff --git a/src/plugins/openni/interfaces/HumanSkeletonProjectionInterface.h_ext b/src/plugins/openni/interfaces/HumanSkeletonProjectionInterface.h_ext
index 7c99441..a6affac 100644
--- a/src/plugins/openni/interfaces/HumanSkeletonProjectionInterface.h_ext
+++ b/src/plugins/openni/interfaces/HumanSkeletonProjectionInterface.h_ext
@@ -39,9 +39,8 @@ class HumanSkeletonProjectionInterface : public Interface
   /* constants */
 
  private:
-#pragma pack(push,4)
   /** Internal data storage, do NOT modify! */
-  typedef struct {
+  typedef struct __attribute__((packed)) {
     int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
     int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     float horizontal_fov; /**< Opening angle in radians. */
@@ -95,7 +94,6 @@ class HumanSkeletonProjectionInterface : public Interface
     float proj_right_foot[2]; /**< 
       Right foot position vector. */
   } HumanSkeletonProjectionInterface_data_t;
-#pragma pack(pop)
 
   HumanSkeletonProjectionInterface_data_t *data;
 

- *commit* 7f2544a683b32cffb55cf216ddbd6bbb6919518e - - - - - - - - - -
Author:  Tim Niemueller <niemueller at kbsg.rwth-aachen.de>
Date:    Wed Dec 21 16:46:52 2016 +0100
Subject: pantilt: re-generate interfaces for changed packing

 .../pantilt/interfaces/PanTiltInterface.h_ext      |   40 +++++---------------
 1 files changed, 10 insertions(+), 30 deletions(-)

_Diff for modified files_:
diff --git a/src/plugins/pantilt/interfaces/PanTiltInterface.h_ext b/src/plugins/pantilt/interfaces/PanTiltInterface.h_ext
index db8e1ed..00e5b4f 100644
--- a/src/plugins/pantilt/interfaces/PanTiltInterface.h_ext
+++ b/src/plugins/pantilt/interfaces/PanTiltInterface.h_ext
@@ -46,9 +46,8 @@ class PanTiltInterface : public Interface
   static const uint32_t ERROR_TILT_OUTOFRANGE;
 
  private:
-#pragma pack(push,4)
   /** Internal data storage, do NOT modify! */
-  typedef struct {
+  typedef struct __attribute__((packed)) {
     int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
     int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     uint32_t flags; /**< Flags. */
@@ -76,7 +75,6 @@ class PanTiltInterface : public Interface
     float tilt_margin; /**< Margin in radians around a
     target tilt value to consider the motion as final. */
   } PanTiltInterface_data_t;
-#pragma pack(pop)
 
   PanTiltInterface_data_t *data;
 
@@ -85,13 +83,11 @@ class PanTiltInterface : public Interface
   class StopMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     } StopMessage_data_t;
-#pragma pack(pop)
 
     StopMessage_data_t *data;
 
@@ -107,13 +103,11 @@ class PanTiltInterface : public Interface
   class FlushMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     } FlushMessage_data_t;
-#pragma pack(pop)
 
     FlushMessage_data_t *data;
 
@@ -129,13 +123,11 @@ class PanTiltInterface : public Interface
   class CalibrateMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     } CalibrateMessage_data_t;
-#pragma pack(pop)
 
     CalibrateMessage_data_t *data;
 
@@ -151,13 +143,11 @@ class PanTiltInterface : public Interface
   class ParkMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     } ParkMessage_data_t;
-#pragma pack(pop)
 
     ParkMessage_data_t *data;
 
@@ -173,15 +163,13 @@ class PanTiltInterface : public Interface
   class GotoMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       float pan; /**< Current pan. */
       float tilt; /**< Current tilt. */
     } GotoMessage_data_t;
-#pragma pack(pop)
 
     GotoMessage_data_t *data;
 
@@ -204,9 +192,8 @@ class PanTiltInterface : public Interface
   class TimedGotoMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       float time_sec; /**< Time in seconds when to reach
@@ -214,7 +201,6 @@ class PanTiltInterface : public Interface
       float pan; /**< Current pan. */
       float tilt; /**< Current tilt. */
     } TimedGotoMessage_data_t;
-#pragma pack(pop)
 
     TimedGotoMessage_data_t *data;
 
@@ -240,14 +226,12 @@ class PanTiltInterface : public Interface
   class SetEnabledMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       bool enabled; /**< Is the pan/tilt unit enabled? */
     } SetEnabledMessage_data_t;
-#pragma pack(pop)
 
     SetEnabledMessage_data_t *data;
 
@@ -267,15 +251,13 @@ class PanTiltInterface : public Interface
   class SetVelocityMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       float pan_velocity; /**< Maximum pan velocity currently reached. */
       float tilt_velocity; /**< Maximum tilt velocity currently reached. */
     } SetVelocityMessage_data_t;
-#pragma pack(pop)
 
     SetVelocityMessage_data_t *data;
 
@@ -298,9 +280,8 @@ class PanTiltInterface : public Interface
   class SetMarginMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       float pan_margin; /**< Margin in radians around a
@@ -308,7 +289,6 @@ class PanTiltInterface : public Interface
       float tilt_margin; /**< Margin in radians around a
     target tilt value to consider the motion as final. */
     } SetMarginMessage_data_t;
-#pragma pack(pop)
 
     SetMarginMessage_data_t *data;
 

- *commit* 48aa61fab8cd12373b8e238c736e56a1433c1c7f - - - - - - - - - -
Author:  Tim Niemueller <niemueller at kbsg.rwth-aachen.de>
Date:    Wed Dec 21 16:46:59 2016 +0100
Subject: roomba: re-generate interfaces for changed packing

 src/plugins/roomba/Roomba500Interface.h_ext |   28 ++++++--------------------
 1 files changed, 7 insertions(+), 21 deletions(-)

_Diff for modified files_:
diff --git a/src/plugins/roomba/Roomba500Interface.h_ext b/src/plugins/roomba/Roomba500Interface.h_ext
index 75d72fb..f10161a 100644
--- a/src/plugins/roomba/Roomba500Interface.h_ext
+++ b/src/plugins/roomba/Roomba500Interface.h_ext
@@ -129,9 +129,8 @@ class Roomba500Interface : public Interface
   const char * tostring_BrushState(BrushState value) const;
 
  private:
-#pragma pack(push,4)
   /** Internal data storage, do NOT modify! */
-  typedef struct {
+  typedef struct __attribute__((packed)) {
     int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
     int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     int32_t mode; /**< Open Interface mode. */
@@ -212,7 +211,6 @@ class Roomba500Interface : public Interface
     int16_t side_brush_current; /**< Side brush current in mA. */
     bool caster_stasis; /**< Caster wheel stasis. */
   } Roomba500Interface_data_t;
-#pragma pack(pop)
 
   Roomba500Interface_data_t *data;
 
@@ -225,13 +223,11 @@ class Roomba500Interface : public Interface
   class StopMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     } StopMessage_data_t;
-#pragma pack(pop)
 
     StopMessage_data_t *data;
 
@@ -251,13 +247,11 @@ class Roomba500Interface : public Interface
   class DockMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     } DockMessage_data_t;
-#pragma pack(pop)
 
     DockMessage_data_t *data;
 
@@ -277,14 +271,12 @@ class Roomba500Interface : public Interface
   class SetModeMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       int32_t mode; /**< Open Interface mode. */
     } SetModeMessage_data_t;
-#pragma pack(pop)
 
     SetModeMessage_data_t *data;
 
@@ -308,14 +300,12 @@ class Roomba500Interface : public Interface
   class DriveStraightMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       int16_t velocity; /**< Requested velocity in mm/s. */
     } DriveStraightMessage_data_t;
-#pragma pack(pop)
 
     DriveStraightMessage_data_t *data;
 
@@ -339,15 +329,13 @@ class Roomba500Interface : public Interface
   class DriveMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       int16_t velocity; /**< Requested velocity in mm/s. */
       int16_t radius; /**< Requested radius in mm. */
     } DriveMessage_data_t;
-#pragma pack(pop)
 
     DriveMessage_data_t *data;
 
@@ -374,16 +362,14 @@ class Roomba500Interface : public Interface
   class SetMotorsMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       bool vacuuming; /**< Enable vacuuming? */
       int32_t main; /**< Main brush state. */
       int32_t side; /**< Side brush state. */
     } SetMotorsMessage_data_t;
-#pragma pack(pop)
 
     SetMotorsMessage_data_t *data;
 

- *commit* 77c7c16c0b518d30b625af64ecd209d01fb55d7a - - - - - - - - - -
Author:  Tim Niemueller <niemueller at kbsg.rwth-aachen.de>
Date:    Wed Dec 21 16:47:07 2016 +0100
Subject: dynamixel: re-generate interfaces for changed packing

 .../interfaces/DynamixelServoInterface.h_ext       |   80 +++++---------------
 1 files changed, 20 insertions(+), 60 deletions(-)

_Diff for modified files_:
diff --git a/src/plugins/dynamixel/interfaces/DynamixelServoInterface.h_ext b/src/plugins/dynamixel/interfaces/DynamixelServoInterface.h_ext
index a8405bd..6f91680 100644
--- a/src/plugins/dynamixel/interfaces/DynamixelServoInterface.h_ext
+++ b/src/plugins/dynamixel/interfaces/DynamixelServoInterface.h_ext
@@ -60,9 +60,8 @@ class DynamixelServoInterface : public Interface
   const char * tostring_WorkingMode(WorkingMode value) const;
 
  private:
-#pragma pack(push,4)
   /** Internal data storage, do NOT modify! */
-  typedef struct {
+  typedef struct __attribute__((packed)) {
     int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
     int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     char model[8]; /**< Model if known */
@@ -126,7 +125,6 @@ class DynamixelServoInterface : public Interface
     int32_t error_code; /**< Failure code set if
     final is true. ERROR_NONE if no error occured. */
   } DynamixelServoInterface_data_t;
-#pragma pack(pop)
 
   DynamixelServoInterface_data_t *data;
 
@@ -137,13 +135,11 @@ class DynamixelServoInterface : public Interface
   class StopMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     } StopMessage_data_t;
-#pragma pack(pop)
 
     StopMessage_data_t *data;
 
@@ -161,13 +157,11 @@ class DynamixelServoInterface : public Interface
   class FlushMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     } FlushMessage_data_t;
-#pragma pack(pop)
 
     FlushMessage_data_t *data;
 
@@ -185,14 +179,12 @@ class DynamixelServoInterface : public Interface
   class GotoMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       float angle; /**< Current angle. */
     } GotoMessage_data_t;
-#pragma pack(pop)
 
     GotoMessage_data_t *data;
 
@@ -214,16 +206,14 @@ class DynamixelServoInterface : public Interface
   class TimedGotoMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       float time_sec; /**< Time in seconds when to reach
     the final position. */
       float angle; /**< Current angle. */
     } TimedGotoMessage_data_t;
-#pragma pack(pop)
 
     TimedGotoMessage_data_t *data;
 
@@ -248,14 +238,12 @@ class DynamixelServoInterface : public Interface
   class SetModeMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       uint8_t mode; /**< New mode, see the enum WorkingMode in this interface */
     } SetModeMessage_data_t;
-#pragma pack(pop)
 
     SetModeMessage_data_t *data;
 
@@ -277,14 +265,12 @@ class DynamixelServoInterface : public Interface
   class SetSpeedMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       uint16_t speed; /**< New speed. Used when the servo is in wheel mode. Bits 0-9 determine the rotation speed and bit 10 determines the rotation direction (0 for ccw and 1 for cw) */
     } SetSpeedMessage_data_t;
-#pragma pack(pop)
 
     SetSpeedMessage_data_t *data;
 
@@ -306,14 +292,12 @@ class DynamixelServoInterface : public Interface
   class SetEnabledMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       bool enabled; /**< Is the servo enabled? */
     } SetEnabledMessage_data_t;
-#pragma pack(pop)
 
     SetEnabledMessage_data_t *data;
 
@@ -335,14 +319,12 @@ class DynamixelServoInterface : public Interface
   class SetVelocityMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       float velocity; /**< Maximum servo velocity currently reached. */
     } SetVelocityMessage_data_t;
-#pragma pack(pop)
 
     SetVelocityMessage_data_t *data;
 
@@ -364,9 +346,8 @@ class DynamixelServoInterface : public Interface
   class SetMarginMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       float angle_margin; /**< 
@@ -374,7 +355,6 @@ class DynamixelServoInterface : public Interface
       motion as final.
      */
     } SetMarginMessage_data_t;
-#pragma pack(pop)
 
     SetMarginMessage_data_t *data;
 
@@ -396,9 +376,8 @@ class DynamixelServoInterface : public Interface
   class SetComplianceValuesMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       uint8_t cw_margin; /**< New CW compliance margin */
@@ -406,7 +385,6 @@ class DynamixelServoInterface : public Interface
       uint8_t cw_slope; /**< New CW compliance slope */
       uint8_t ccw_slope; /**< New LED enabled value */
     } SetComplianceValuesMessage_data_t;
-#pragma pack(pop)
 
     SetComplianceValuesMessage_data_t *data;
 
@@ -437,14 +415,12 @@ class DynamixelServoInterface : public Interface
   class SetGoalSpeedMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       uint32_t goal_speed; /**< New goal speed */
     } SetGoalSpeedMessage_data_t;
-#pragma pack(pop)
 
     SetGoalSpeedMessage_data_t *data;
 
@@ -466,14 +442,12 @@ class DynamixelServoInterface : public Interface
   class SetTorqueLimitMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       uint32_t torque_limit; /**< New torque limit */
     } SetTorqueLimitMessage_data_t;
-#pragma pack(pop)
 
     SetTorqueLimitMessage_data_t *data;
 
@@ -495,14 +469,12 @@ class DynamixelServoInterface : public Interface
   class SetPunchMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       uint32_t punch; /**< New punch */
     } SetPunchMessage_data_t;
-#pragma pack(pop)
 
     SetPunchMessage_data_t *data;
 
@@ -524,14 +496,12 @@ class DynamixelServoInterface : public Interface
   class GotoPositionMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       uint32_t position; /**< New position */
     } GotoPositionMessage_data_t;
-#pragma pack(pop)
 
     GotoPositionMessage_data_t *data;
 
@@ -553,15 +523,13 @@ class DynamixelServoInterface : public Interface
   class SetAngleLimitsMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       uint32_t angle_limit_cw; /**< New cw angle limit */
       uint32_t angle_limit_ccw; /**< New ccw angle limit */
     } SetAngleLimitsMessage_data_t;
-#pragma pack(pop)
 
     SetAngleLimitsMessage_data_t *data;
 
@@ -586,13 +554,11 @@ class DynamixelServoInterface : public Interface
   class ResetRawErrorMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     } ResetRawErrorMessage_data_t;
-#pragma pack(pop)
 
     ResetRawErrorMessage_data_t *data;
 
@@ -610,14 +576,12 @@ class DynamixelServoInterface : public Interface
   class SetPreventAlarmShutdownMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       bool enable_prevent_alarm_shutdown; /**< Enable alarm shutdown */
     } SetPreventAlarmShutdownMessage_data_t;
-#pragma pack(pop)
 
     SetPreventAlarmShutdownMessage_data_t *data;
 
@@ -639,14 +603,12 @@ class DynamixelServoInterface : public Interface
   class SetAutorecoverEnabledMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       bool autorecover_enabled; /**< Automatically recover on alarm shutdown */
     } SetAutorecoverEnabledMessage_data_t;
-#pragma pack(pop)
 
     SetAutorecoverEnabledMessage_data_t *data;
 
@@ -668,13 +630,11 @@ class DynamixelServoInterface : public Interface
   class RecoverMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     } RecoverMessage_data_t;
-#pragma pack(pop)
 
     RecoverMessage_data_t *data;
 

- *commit* b5889979bf53f1bbb0cc764b572a9f3d725962a5 - - - - - - - - - -
Author:  Tim Niemueller <niemueller at kbsg.rwth-aachen.de>
Date:    Wed Dec 21 16:47:13 2016 +0100
Subject: katana: re-generate interfaces for changed packing

 .../katana/interfaces/KatanaInterface.h_ext        |   68 +++++---------------
 1 files changed, 17 insertions(+), 51 deletions(-)

_Diff for modified files_:
diff --git a/src/plugins/katana/interfaces/KatanaInterface.h_ext b/src/plugins/katana/interfaces/KatanaInterface.h_ext
index 4aafc37..1cc70aa 100644
--- a/src/plugins/katana/interfaces/KatanaInterface.h_ext
+++ b/src/plugins/katana/interfaces/KatanaInterface.h_ext
@@ -61,9 +61,8 @@ class KatanaInterface : public Interface
   static const uint32_t ERROR_MOTOR_CRASHED;
 
  private:
-#pragma pack(push,4)
   /** Internal data storage, do NOT modify! */
-  typedef struct {
+  typedef struct __attribute__((packed)) {
     int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
     int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     uint8_t sensor_value[16]; /**< Sensor
@@ -91,7 +90,6 @@ class KatanaInterface : public Interface
     uint8_t max_velocity; /**< Maximum velocity */
     uint8_t num_motors; /**< Number of motors */
   } KatanaInterface_data_t;
-#pragma pack(pop)
 
   KatanaInterface_data_t *data;
 
@@ -100,13 +98,11 @@ class KatanaInterface : public Interface
   class StopMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     } StopMessage_data_t;
-#pragma pack(pop)
 
     StopMessage_data_t *data;
 
@@ -122,13 +118,11 @@ class KatanaInterface : public Interface
   class FlushMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     } FlushMessage_data_t;
-#pragma pack(pop)
 
     FlushMessage_data_t *data;
 
@@ -144,13 +138,11 @@ class KatanaInterface : public Interface
   class ParkMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     } ParkMessage_data_t;
-#pragma pack(pop)
 
     ParkMessage_data_t *data;
 
@@ -166,9 +158,8 @@ class KatanaInterface : public Interface
   class LinearGotoMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       float theta_error; /**< Error range of theta rotation, gives more flexibility
@@ -189,7 +180,6 @@ class KatanaInterface : public Interface
       float theta; /**< DEPRECATED! Euler angle Theta of tool orientation. */
       float psi; /**< DEPRECATED! Euler angle Psi of tool orientation. */
     } LinearGotoMessage_data_t;
-#pragma pack(pop)
 
     LinearGotoMessage_data_t *data;
 
@@ -239,9 +229,8 @@ class KatanaInterface : public Interface
   class LinearGotoKniMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       float x; /**< X-Coordinate for tool position
@@ -254,7 +243,6 @@ class KatanaInterface : public Interface
       float theta; /**< Euler angle Theta of tool orientation. */
       float psi; /**< Euler angle Psi of tool orientation. */
     } LinearGotoKniMessage_data_t;
-#pragma pack(pop)
 
     LinearGotoKniMessage_data_t *data;
 
@@ -289,15 +277,13 @@ class KatanaInterface : public Interface
   class ObjectGotoMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       char object[32]; /**< Name of object */
       float rot_x; /**< Rotation of object on its x-axis */
     } ObjectGotoMessage_data_t;
-#pragma pack(pop)
 
     ObjectGotoMessage_data_t *data;
 
@@ -320,13 +306,11 @@ class KatanaInterface : public Interface
   class CalibrateMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     } CalibrateMessage_data_t;
-#pragma pack(pop)
 
     CalibrateMessage_data_t *data;
 
@@ -342,13 +326,11 @@ class KatanaInterface : public Interface
   class OpenGripperMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     } OpenGripperMessage_data_t;
-#pragma pack(pop)
 
     OpenGripperMessage_data_t *data;
 
@@ -364,13 +346,11 @@ class KatanaInterface : public Interface
   class CloseGripperMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     } CloseGripperMessage_data_t;
-#pragma pack(pop)
 
     CloseGripperMessage_data_t *data;
 
@@ -386,14 +366,12 @@ class KatanaInterface : public Interface
   class SetEnabledMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       bool enabled; /**< Are motors enabled? */
     } SetEnabledMessage_data_t;
-#pragma pack(pop)
 
     SetEnabledMessage_data_t *data;
 
@@ -413,14 +391,12 @@ class KatanaInterface : public Interface
   class SetMaxVelocityMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       uint8_t max_velocity; /**< Maximum velocity */
     } SetMaxVelocityMessage_data_t;
-#pragma pack(pop)
 
     SetMaxVelocityMessage_data_t *data;
 
@@ -440,15 +416,13 @@ class KatanaInterface : public Interface
   class SetPlannerParamsMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       char plannerparams[1024]; /**< Planner parameters */
       bool straight; /**< Parameters for straight movement? */
     } SetPlannerParamsMessage_data_t;
-#pragma pack(pop)
 
     SetPlannerParamsMessage_data_t *data;
 
@@ -471,15 +445,13 @@ class KatanaInterface : public Interface
   class SetMotorEncoderMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       uint32_t nr; /**< Motor number */
       uint32_t enc; /**< Encoder value */
     } SetMotorEncoderMessage_data_t;
-#pragma pack(pop)
 
     SetMotorEncoderMessage_data_t *data;
 
@@ -502,15 +474,13 @@ class KatanaInterface : public Interface
   class MoveMotorEncoderMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       uint32_t nr; /**< Motor number */
       uint32_t enc; /**< Encoder value */
     } MoveMotorEncoderMessage_data_t;
-#pragma pack(pop)
 
     MoveMotorEncoderMessage_data_t *data;
 
@@ -533,15 +503,13 @@ class KatanaInterface : public Interface
   class SetMotorAngleMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       uint32_t nr; /**< Motor number */
       float angle; /**< Angle value (positive: increase; negative: decrease) */
     } SetMotorAngleMessage_data_t;
-#pragma pack(pop)
 
     SetMotorAngleMessage_data_t *data;
 
@@ -564,15 +532,13 @@ class KatanaInterface : public Interface
   class MoveMotorAngleMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       uint32_t nr; /**< Motor number */
       float angle; /**< Angle value (positive: increase; negative: decrease) */
     } MoveMotorAngleMessage_data_t;
-#pragma pack(pop)
 
     MoveMotorAngleMessage_data_t *data;
 

- *commit* 2850bb45c31ba7be8b9a7ab36b923dfaeca3a179 - - - - - - - - - -
Author:  Tim Niemueller <niemueller at kbsg.rwth-aachen.de>
Date:    Wed Dec 21 16:47:20 2016 +0100
Subject: openrave: re-generate interfaces for changed packing

 .../openrave/interfaces/OpenRaveInterface.h_ext    |   48 +++++---------------
 1 files changed, 12 insertions(+), 36 deletions(-)

_Diff for modified files_:
diff --git a/src/plugins/openrave/interfaces/OpenRaveInterface.h_ext b/src/plugins/openrave/interfaces/OpenRaveInterface.h_ext
index 5624b70..9fb5e1a 100644
--- a/src/plugins/openrave/interfaces/OpenRaveInterface.h_ext
+++ b/src/plugins/openrave/interfaces/OpenRaveInterface.h_ext
@@ -39,9 +39,8 @@ class OpenRaveInterface : public Interface
   /* constants */
 
  private:
-#pragma pack(push,4)
   /** Internal data storage, do NOT modify! */
-  typedef struct {
+  typedef struct __attribute__((packed)) {
     int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
     int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     uint32_t msgid; /**< The ID of the message that is currently being
@@ -53,7 +52,6 @@ class OpenRaveInterface : public Interface
       constants otherwise (or a bit-wise combination). */
     bool success; /**< True, if last command was successful. False otherwise */
   } OpenRaveInterface_data_t;
-#pragma pack(pop)
 
   OpenRaveInterface_data_t *data;
 
@@ -62,13 +60,11 @@ class OpenRaveInterface : public Interface
   class StartViewerMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     } StartViewerMessage_data_t;
-#pragma pack(pop)
 
     StartViewerMessage_data_t *data;
 
@@ -84,15 +80,13 @@ class OpenRaveInterface : public Interface
   class AddObjectMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       char name[30]; /**< Name of object */
       char path[1024]; /**< Path to object xml file */
     } AddObjectMessage_data_t;
-#pragma pack(pop)
 
     AddObjectMessage_data_t *data;
 
@@ -115,14 +109,12 @@ class OpenRaveInterface : public Interface
   class DeleteObjectMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       char name[30]; /**< Name of object */
     } DeleteObjectMessage_data_t;
-#pragma pack(pop)
 
     DeleteObjectMessage_data_t *data;
 
@@ -142,13 +134,11 @@ class OpenRaveInterface : public Interface
   class DeleteAllObjectsMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     } DeleteAllObjectsMessage_data_t;
-#pragma pack(pop)
 
     DeleteAllObjectsMessage_data_t *data;
 
@@ -164,15 +154,13 @@ class OpenRaveInterface : public Interface
   class AttachObjectMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       char name[30]; /**< Name of object */
       char manip_name[30]; /**< Name of manipulator */
     } AttachObjectMessage_data_t;
-#pragma pack(pop)
 
     AttachObjectMessage_data_t *data;
 
@@ -195,14 +183,12 @@ class OpenRaveInterface : public Interface
   class ReleaseObjectMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       char name[30]; /**< Name of object */
     } ReleaseObjectMessage_data_t;
-#pragma pack(pop)
 
     ReleaseObjectMessage_data_t *data;
 
@@ -222,13 +208,11 @@ class OpenRaveInterface : public Interface
   class ReleaseAllObjectsMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     } ReleaseAllObjectsMessage_data_t;
-#pragma pack(pop)
 
     ReleaseAllObjectsMessage_data_t *data;
 
@@ -244,9 +228,8 @@ class OpenRaveInterface : public Interface
   class MoveObjectMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       char name[30]; /**< Name of object */
@@ -254,7 +237,6 @@ class OpenRaveInterface : public Interface
       float y; /**< y position of object (meters) */
       float z; /**< z position of object (meters) */
     } MoveObjectMessage_data_t;
-#pragma pack(pop)
 
     MoveObjectMessage_data_t *data;
 
@@ -283,9 +265,8 @@ class OpenRaveInterface : public Interface
   class RotateObjectQuatMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       char name[30]; /**< Name of object */
@@ -294,7 +275,6 @@ class OpenRaveInterface : public Interface
       float z; /**< z value of quaternion */
       float w; /**< w value of quaternion */
     } RotateObjectQuatMessage_data_t;
-#pragma pack(pop)
 
     RotateObjectQuatMessage_data_t *data;
 
@@ -326,9 +306,8 @@ class OpenRaveInterface : public Interface
   class RotateObjectMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       char name[30]; /**< Name of object */
@@ -336,7 +315,6 @@ class OpenRaveInterface : public Interface
       float y; /**< y-axis rotation of object (rad) */
       float z; /**< z-axis rotation of object (rad) */
     } RotateObjectMessage_data_t;
-#pragma pack(pop)
 
     RotateObjectMessage_data_t *data;
 
@@ -365,15 +343,13 @@ class OpenRaveInterface : public Interface
   class RenameObjectMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       char name[30]; /**< Name of object */
       char newName[30]; /**< New name of object */
     } RenameObjectMessage_data_t;
-#pragma pack(pop)
 
     RenameObjectMessage_data_t *data;
 

- *commit* b6353097e2719a8775dc2bfc80ded5fd9f06ded8 - - - - - - - - - -
Author:  Tim Niemueller <niemueller at kbsg.rwth-aachen.de>
Date:    Wed Dec 21 16:47:31 2016 +0100
Subject: jaco: re-generate interfaces for changed packing

 .../jaco/interfaces/JacoBimanualInterface.h_ext    |   20 ++-------
 src/plugins/jaco/interfaces/JacoInterface.h_ext    |   40 +++++---------------
 2 files changed, 15 insertions(+), 45 deletions(-)

_Diff for modified files_:
diff --git a/src/plugins/jaco/interfaces/JacoBimanualInterface.h_ext b/src/plugins/jaco/interfaces/JacoBimanualInterface.h_ext
index 471ea02..cd8bdf2 100644
--- a/src/plugins/jaco/interfaces/JacoBimanualInterface.h_ext
+++ b/src/plugins/jaco/interfaces/JacoBimanualInterface.h_ext
@@ -43,9 +43,8 @@ class JacoBimanualInterface : public Interface
   static const uint32_t ERROR_PLANNING;
 
  private:
-#pragma pack(push,4)
   /** Internal data storage, do NOT modify! */
-  typedef struct {
+  typedef struct __attribute__((packed)) {
     int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
     int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     uint32_t msgid; /**< The ID of the message that is currently being
@@ -58,7 +57,6 @@ class JacoBimanualInterface : public Interface
     bool constrained; /**< Wheter planning is using constraint-function.
       This is an OpenRAVE internal constraint function. */
   } JacoBimanualInterface_data_t;
-#pragma pack(pop)
 
   JacoBimanualInterface_data_t *data;
 
@@ -67,9 +65,8 @@ class JacoBimanualInterface : public Interface
   class CartesianGotoMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       float l_x; /**< X-coordinate of left manipulator */
@@ -85,7 +82,6 @@ class JacoBimanualInterface : public Interface
       float r_e2; /**< 2nd Euler angle of right manipulator rotation */
       float r_e3; /**< 3rd Euler angle of right manipulator rotation */
     } CartesianGotoMessage_data_t;
-#pragma pack(pop)
 
     CartesianGotoMessage_data_t *data;
 
@@ -138,9 +134,8 @@ class JacoBimanualInterface : public Interface
   class MoveGripperMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       float l_finger1; /**< Value of finger 1 on left gripper. Range [0,60] */
@@ -150,7 +145,6 @@ class JacoBimanualInterface : public Interface
       float r_finger2; /**< Value of finger 2 on right gripper. Range [0,60] */
       float r_finger3; /**< Value of finger 3 on right gripper. Range [0,60] */
     } MoveGripperMessage_data_t;
-#pragma pack(pop)
 
     MoveGripperMessage_data_t *data;
 
@@ -185,14 +179,12 @@ class JacoBimanualInterface : public Interface
   class SetPlannerParamsMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       char params[1024]; /**< Planner parameters */
     } SetPlannerParamsMessage_data_t;
-#pragma pack(pop)
 
     SetPlannerParamsMessage_data_t *data;
 
@@ -212,15 +204,13 @@ class JacoBimanualInterface : public Interface
   class SetConstrainedMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       bool constrained; /**< Wheter planning is using constraint-function.
       This is an OpenRAVE internal constraint function. */
     } SetConstrainedMessage_data_t;
-#pragma pack(pop)
 
     SetConstrainedMessage_data_t *data;
 
diff --git a/src/plugins/jaco/interfaces/JacoInterface.h_ext b/src/plugins/jaco/interfaces/JacoInterface.h_ext
index 85ec3a7..f4d4770 100644
--- a/src/plugins/jaco/interfaces/JacoInterface.h_ext
+++ b/src/plugins/jaco/interfaces/JacoInterface.h_ext
@@ -43,9 +43,8 @@ class JacoInterface : public Interface
   static const uint32_t ERROR_PLANNING;
 
  private:
-#pragma pack(push,4)
   /** Internal data storage, do NOT modify! */
-  typedef struct {
+  typedef struct __attribute__((packed)) {
     int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
     int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     bool connected; /**< Is JacoArm connected/ready? */
@@ -68,7 +67,6 @@ class JacoInterface : public Interface
       final is true. 0 if no error occured, an error code from ERROR_*
       constants otherwise. */
   } JacoInterface_data_t;
-#pragma pack(pop)
 
   JacoInterface_data_t *data;
 
@@ -77,13 +75,11 @@ class JacoInterface : public Interface
   class CalibrateMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     } CalibrateMessage_data_t;
-#pragma pack(pop)
 
     CalibrateMessage_data_t *data;
 
@@ -99,13 +95,11 @@ class JacoInterface : public Interface
   class RetractMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     } RetractMessage_data_t;
-#pragma pack(pop)
 
     RetractMessage_data_t *data;
 
@@ -121,13 +115,11 @@ class JacoInterface : public Interface
   class StopMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     } StopMessage_data_t;
-#pragma pack(pop)
 
     StopMessage_data_t *data;
 
@@ -143,9 +135,8 @@ class JacoInterface : public Interface
   class CartesianGotoMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       float x; /**< X-coordinate of target */
@@ -155,7 +146,6 @@ class JacoInterface : public Interface
       float e2; /**< 2nd Euler angle of target rotation */
       float e3; /**< 3rd Euler angle of target rotation */
     } CartesianGotoMessage_data_t;
-#pragma pack(pop)
 
     CartesianGotoMessage_data_t *data;
 
@@ -190,9 +180,8 @@ class JacoInterface : public Interface
   class AngularGotoMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       float j1; /**< Angular value of 1st joint */
@@ -202,7 +191,6 @@ class JacoInterface : public Interface
       float j5; /**< Angular value of 5th joint */
       float j6; /**< Angular value of 6th joint */
     } AngularGotoMessage_data_t;
-#pragma pack(pop)
 
     AngularGotoMessage_data_t *data;
 
@@ -237,16 +225,14 @@ class JacoInterface : public Interface
   class MoveGripperMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       float finger1; /**< Value of finger 1. Range [0,60] */
       float finger2; /**< Value of finger 2. Range [0,60] */
       float finger3; /**< Value of finger 3. Range [0,60] */
     } MoveGripperMessage_data_t;
-#pragma pack(pop)
 
     MoveGripperMessage_data_t *data;
 
@@ -272,14 +258,12 @@ class JacoInterface : public Interface
   class SetPlannerParamsMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       char params[1024]; /**< Planner parameters */
     } SetPlannerParamsMessage_data_t;
-#pragma pack(pop)
 
     SetPlannerParamsMessage_data_t *data;
 
@@ -299,14 +283,12 @@ class JacoInterface : public Interface
   class JoystickPushMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       uint32_t button; /**< Button ID to push. */
     } JoystickPushMessage_data_t;
-#pragma pack(pop)
 
     JoystickPushMessage_data_t *data;
 
@@ -326,13 +308,11 @@ class JacoInterface : public Interface
   class JoystickReleaseMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     } JoystickReleaseMessage_data_t;
-#pragma pack(pop)
 
     JoystickReleaseMessage_data_t *data;
 

- *commit* f19eb689c97faabb047a3f4ec7a35843506f3786 - - - - - - - - - -
Author:  Tim Niemueller <niemueller at kbsg.rwth-aachen.de>
Date:    Wed Dec 21 16:48:33 2016 +0100
Subject: skiller: re-generate interfaces for changed packing

 src/plugins/skiller/SkillerDebugInterface.h_ext |   16 ++++------------
 1 files changed, 4 insertions(+), 12 deletions(-)

_Diff for modified files_:
diff --git a/src/plugins/skiller/SkillerDebugInterface.h_ext b/src/plugins/skiller/SkillerDebugInterface.h_ext
index 6979e32..3cca86b 100644
--- a/src/plugins/skiller/SkillerDebugInterface.h_ext
+++ b/src/plugins/skiller/SkillerDebugInterface.h_ext
@@ -48,9 +48,8 @@ class SkillerDebugInterface : public Interface
   const char * tostring_GraphDirectionEnum(GraphDirectionEnum value) const;
 
  private:
-#pragma pack(push,4)
   /** Internal data storage, do NOT modify! */
-  typedef struct {
+  typedef struct __attribute__((packed)) {
     int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
     int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     char graph_fsm[32]; /**< 
@@ -66,7 +65,6 @@ class SkillerDebugInterface : public Interface
       True if the graph is colored, false otherwise.
      */
   } SkillerDebugInterface_data_t;
-#pragma pack(pop)
 
   SkillerDebugInterface_data_t *data;
 
@@ -76,16 +74,14 @@ class SkillerDebugInterface : public Interface
   class SetGraphMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       char graph_fsm[32]; /**< 
       The finite state machine (FSM) the current graph has been updated for.
      */
     } SetGraphMessage_data_t;
-#pragma pack(pop)
 
     SetGraphMessage_data_t *data;
 
@@ -106,16 +102,14 @@ class SkillerDebugInterface : public Interface
   class SetGraphDirectionMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       int32_t graph_dir; /**< 
       Primary direction of current graph.
      */
     } SetGraphDirectionMessage_data_t;
-#pragma pack(pop)
 
     SetGraphDirectionMessage_data_t *data;
 
@@ -136,16 +130,14 @@ class SkillerDebugInterface : public Interface
   class SetGraphColoredMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       bool graph_colored; /**< 
       True if the graph is colored, false otherwise.
      */
     } SetGraphColoredMessage_data_t;
-#pragma pack(pop)
 
     SetGraphColoredMessage_data_t *data;
 

- *commit* 5f8ddfc21b51aa33cbb0b37a1e5e975be9102711 - - - - - - - - - -
Author:  Tim Niemueller <niemueller at kbsg.rwth-aachen.de>
Date:    Wed Dec 21 16:48:50 2016 +0100
Subject: pcl-db: re-generate interfaces for changed packing

 .../interfaces/PclDatabaseMergeInterface.h_ext     |    8 ++------
 .../interfaces/PclDatabaseRetrieveInterface.h_ext  |    8 ++------
 .../interfaces/PclDatabaseStoreInterface.h_ext     |    8 ++------
 3 files changed, 6 insertions(+), 18 deletions(-)

_Diff for modified files_:
diff --git a/src/plugins/perception/pcl-db/interfaces/PclDatabaseMergeInterface.h_ext b/src/plugins/perception/pcl-db/interfaces/PclDatabaseMergeInterface.h_ext
index 6d45264..27a2630 100644
--- a/src/plugins/perception/pcl-db/interfaces/PclDatabaseMergeInterface.h_ext
+++ b/src/plugins/perception/pcl-db/interfaces/PclDatabaseMergeInterface.h_ext
@@ -39,9 +39,8 @@ class PclDatabaseMergeInterface : public Interface
   /* constants */
 
  private:
-#pragma pack(push,4)
   /** Internal data storage, do NOT modify! */
-  typedef struct {
+  typedef struct __attribute__((packed)) {
     int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
     int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     uint32_t msgid; /**< 
@@ -56,7 +55,6 @@ class PclDatabaseMergeInterface : public Interface
       Error description if reconstruction fails.
      */
   } PclDatabaseMergeInterface_data_t;
-#pragma pack(pop)
 
   PclDatabaseMergeInterface_data_t *data;
 
@@ -65,9 +63,8 @@ class PclDatabaseMergeInterface : public Interface
   class MergeMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       int64_t timestamps[12]; /**< 
@@ -83,7 +80,6 @@ class PclDatabaseMergeInterface : public Interface
       include the database name.
      */
     } MergeMessage_data_t;
-#pragma pack(pop)
 
     MergeMessage_data_t *data;
 
diff --git a/src/plugins/perception/pcl-db/interfaces/PclDatabaseRetrieveInterface.h_ext b/src/plugins/perception/pcl-db/interfaces/PclDatabaseRetrieveInterface.h_ext
index 13e6975..c5bba29 100644
--- a/src/plugins/perception/pcl-db/interfaces/PclDatabaseRetrieveInterface.h_ext
+++ b/src/plugins/perception/pcl-db/interfaces/PclDatabaseRetrieveInterface.h_ext
@@ -39,9 +39,8 @@ class PclDatabaseRetrieveInterface : public Interface
   /* constants */
 
  private:
-#pragma pack(push,4)
   /** Internal data storage, do NOT modify! */
-  typedef struct {
+  typedef struct __attribute__((packed)) {
     int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
     int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     uint32_t msgid; /**< 
@@ -56,7 +55,6 @@ class PclDatabaseRetrieveInterface : public Interface
       Error description if reconstruction fails.
      */
   } PclDatabaseRetrieveInterface_data_t;
-#pragma pack(pop)
 
   PclDatabaseRetrieveInterface_data_t *data;
 
@@ -65,9 +63,8 @@ class PclDatabaseRetrieveInterface : public Interface
   class RetrieveMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       int64_t timestamp; /**< 
@@ -93,7 +90,6 @@ class PclDatabaseRetrieveInterface : public Interface
       false (default) to publish with current time.
      */
     } RetrieveMessage_data_t;
-#pragma pack(pop)
 
     RetrieveMessage_data_t *data;
 
diff --git a/src/plugins/perception/pcl-db/interfaces/PclDatabaseStoreInterface.h_ext b/src/plugins/perception/pcl-db/interfaces/PclDatabaseStoreInterface.h_ext
index 514d8e1..9b65a09 100644
--- a/src/plugins/perception/pcl-db/interfaces/PclDatabaseStoreInterface.h_ext
+++ b/src/plugins/perception/pcl-db/interfaces/PclDatabaseStoreInterface.h_ext
@@ -39,9 +39,8 @@ class PclDatabaseStoreInterface : public Interface
   /* constants */
 
  private:
-#pragma pack(push,4)
   /** Internal data storage, do NOT modify! */
-  typedef struct {
+  typedef struct __attribute__((packed)) {
     int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
     int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
     uint32_t msgid; /**< 
@@ -56,7 +55,6 @@ class PclDatabaseStoreInterface : public Interface
       Error description if reconstruction fails.
      */
   } PclDatabaseStoreInterface_data_t;
-#pragma pack(pop)
 
   PclDatabaseStoreInterface_data_t *data;
 
@@ -65,9 +63,8 @@ class PclDatabaseStoreInterface : public Interface
   class StoreMessage : public Message
   {
    private:
-#pragma pack(push,4)
     /** Internal data storage, do NOT modify! */
-    typedef struct {
+    typedef struct __attribute__((packed)) {
       int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
       int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
       char pcl_id[64]; /**< 
@@ -82,7 +79,6 @@ class PclDatabaseStoreInterface : public Interface
       include the database name.
      */
     } StoreMessage_data_t;
-#pragma pack(pop)
 
     StoreMessage_data_t *data;
 




-- 
Fawkes Robotics Framework                 http://www.fawkesrobotics.org


More information about the fawkes-commits mailing list