message: mavlink_ftp: add macro for packed struct for MSVC
diff: #include "plugins/mavlink_ftp/mavlink_ftp.h"
  #include "plugin_impl_base.h"
  +// As found in
  +// https://stackoverflow.com/questions/1537964#answer-3312896
  +#ifdef _MSC_VER // MSVC
  +#define PACK( __Declaration__ ) __pragma( pack(push, 1) ) __Declaration__ __pragma( pack(pop))
  +#else
  +#define PACK( __Declaration__ ) __Declaration__ __attribute__((__packed__))
  +#endif
  +
  namespace mavsdk {
  class MavlinkFTPImpl : public PluginImplBase {
  @@ -112,7 +120,7 @@ private:
  /// This needs to be packed, because it's typecasted from
  /// mavlink_file_transfer_protocol_t.payload, which starts at a 3 byte offset, causing an
  /// unaligned access to seq_number and offset
  - struct __attribute__((__packed__)) PayloadHeader {
  + PACK(struct PayloadHeader {
  uint16_t seq_number; ///< sequence number for message
  uint8_t session; ///< Session id for read and write commands
  uint8_t opcode; ///< Command opcode
  @@ -123,7 +131,7 @@ private:
  uint8_t padding; ///< 32 bit alignment padding
  uint32_t offset; ///< Offsets for List and Read commands
  uint8_t data[]; ///< command data, varies by Opcode
  - };
  + });
  /// @brief Maximum data size in RequestHeader::data
  static const uint8_t max_data_length =
  