- uint8_t Header; /**< Data Element header, should be (SDP_DATATYPE_UnsignedInt | SDP_DATASIZE_16Bit) */
- uint16_t Version; /**< Version number to store in the list Data Element */
- } Version_t;
-
- /* Inline Functions: */
- /** Adds a new Data Element container of the given type with a 16-bit size header to the buffer. The
- * buffer pointer's position is advanced past the added header once the element has been added. The
- * returned size header value is pre-zeroed out so that it can be incremented as data is placed into
- * the Data Element container.
+ uint16_t Data = SwapEndian_16(*((uint16_t*)*BufferPos));
+ *BufferPos += sizeof(uint16_t);
+
+ return Data;
+ }
+
+ /** Reads 32 bits of raw data frpm the given buffer, incrementing the buffer position afterwards.
+ *
+ * \param[in, out] BufferPos Current position in the buffer where the data is to be read from
+ *
+ * \return Data read from the buffer
+ */
+ static inline uint32_t SDP_ReadData32(const void** BufferPos)
+ {
+ uint32_t Data = SwapEndian_32(*((uint32_t*)*BufferPos));
+ *BufferPos += sizeof(uint32_t);
+
+ return Data;
+ }
+
+ /** Adds a new Data Element Sequence container with a 16-bit size header to the buffer. The buffer
+ * pointer's position is advanced past the added header once the element has been added. The returned
+ * size header value is pre-zeroed out so that it can be incremented as data is placed into the Data
+ * Element Sequence container.