1/* 2 * File: Version.h 3 * 4 * Copyright (c) Freescale Semiconductor, Inc. All rights reserved. 5 * See included license file for license details. 6 */ 7#if !defined(_Version_h_) 8#define _Version_h_ 9 10#include <string> 11#include "stdafx.h" 12 13namespace elftosb 14{ 15 16//! Same version struct used for 3600 boot image. 17struct version_t 18{ 19 uint16_t m_major; 20 uint16_t m_pad0; 21 uint16_t m_minor; 22 uint16_t m_pad1; 23 uint16_t m_revision; 24 uint16_t m_pad2; 25 26 version_t() 27 : m_major(0x999), m_pad0(0), m_minor(0x999), m_pad1(0), m_revision(0x999), m_pad2(0) 28 { 29 } 30 31 version_t(uint16_t maj, uint16_t min, uint16_t rev) 32 : m_major(maj), m_pad0(0), m_minor(min), m_pad1(0), m_revision(rev), m_pad2(0) 33 { 34 } 35 36 version_t(const std::string & versionString) 37 : m_major(0x999), m_pad0(0), m_minor(0x999), m_pad1(0), m_revision(0x999), m_pad2(0) 38 { 39 set(versionString); 40 } 41 42 //! \brief Sets the version by parsing a string. 43 void set(const std::string & versionString); 44 45 //! \brief 46 void fixByteOrder(); 47}; 48 49}; // namespace elftosb 50 51#endif // _Version_h_ 52