Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

/*
 * File:	Version.h
 *
 * Copyright (c) Freescale Semiconductor, Inc. All rights reserved.
 * See included license file for license details.
 */
#if !defined(_Version_h_)
#define _Version_h_

#include <string>
#include "stdafx.h"

namespace elftosb
{

//! Same version struct used for 3600 boot image.
struct version_t
{
	uint16_t m_major;
	uint16_t m_pad0;
	uint16_t m_minor;
	uint16_t m_pad1;
	uint16_t m_revision;
	uint16_t m_pad2;
	
	version_t()
	:	m_major(0x999), m_pad0(0), m_minor(0x999), m_pad1(0), m_revision(0x999), m_pad2(0)
	{
	}
	
	version_t(uint16_t maj, uint16_t min, uint16_t rev)
	:	m_major(maj), m_pad0(0), m_minor(min), m_pad1(0), m_revision(rev), m_pad2(0)
	{
	}
	
	version_t(const std::string & versionString)
	:	m_major(0x999), m_pad0(0), m_minor(0x999), m_pad1(0), m_revision(0x999), m_pad2(0)
	{
		set(versionString);
	}
	
	//! \brief Sets the version by parsing a string.
	void set(const std::string & versionString);

	//! \brief
	void fixByteOrder();
};

}; // namespace elftosb

#endif // _Version_h_