elftosb::EncoreBootImage::ModeCommand Class Reference

Change boot mode bootloader command. More...

`#include <EncoreBootImage.h>`

Inheritance diagram for elftosb::EncoreBootImage::ModeCommand:
[legend]
Collaboration diagram for elftosb::EncoreBootImage::ModeCommand:
[legend]

## Public Member Functions

| ModeCommand ()
| Default constructor.
virtual void | initFromData (const cipher_block_t *blocks, unsigned count, unsigned *consumed)
| Read the command contents from raw data. More...
virtual void | debugPrint () const
| Print out a string representation of the object.
Header
virtual uint8_t | getTag () const
| Returns the tag value for this command.
virtual void | fillCommandHeader (boot_command_t &header)
| Constructs the header for this boot command.
Boot mode
void | setBootMode (uint32_t mode)
uint32_t | getBootMode () const
Public Member Functions inherited from elftosb::EncoreBootImage::BootCommand
| BootCommand ()
| Default constructor.
virtual | ~BootCommand ()
| Destructor.
virtual uint8_t | calculateChecksum (const boot_command_t &header)
| Calculates the checksum for the given command header. More...
virtual unsigned | getBlockCount () const
| Returns the total number of cipher blocks. More...
virtual unsigned | getBlocks (unsigned offset, unsigned maxCount, cipher_block_t *data)
| Returns the contents of up to maxCount cipher blocks. More...
virtual unsigned | getDataBlockCount () const
| Returns the number of data cipher blocks that follow this command. More...
virtual unsigned | getDataBlocks (unsigned offset, unsigned maxCount, cipher_block_t *data)
| Returns the contents of up to maxCount data blocks. More...
Cipher blocks

## Protected Attributes

uint32_t | m_mode
| New boot mode.

## Additional Inherited Members

Static Public Member Functions inherited from elftosb::EncoreBootImage::BootCommand
static BootCommand * | createFromData (const cipher_block_t *blocks, unsigned count, unsigned *consumed)
| Creates the correct subclass of BootCommand for the given raw data. More...
Protected Types inherited from elftosb::EncoreBootImage::BootCommand
enum | { CMD_TAG_FIELD = 1, CMD_FLAGS_FIELD = 2, CMD_ADDRESS_FIELD = 4, CMD_COUNT_FIELD = 8, CMD_DATA_FIELD = 16 }
| The flag bit values for the whichFields parameter of validateHeader().
Protected Member Functions inherited from elftosb::EncoreBootImage::BootCommand
void | validateHeader (const boot_command_t *modelHeader, const boot_command_t *testHeader, unsigned whichFields)

## Detailed Description

Change boot mode bootloader command.

## Member Function Documentation

void EncoreBootImage::ModeCommand::initFromData | ( | const cipher_block_t * | blocks,
|  | unsigned | count,
|  | unsigned * | consumed
| ) |  |

virtual

Read the command contents from raw data.

Parameters

  | blocks | Pointer to the raw data blocks.
  | count | Number of blocks pointed to by blocks.
  [out] | consumed | On exit, this points to the number of cipher blocks that were occupied by the command. Should be at least 1 for every command. This must not be NULL on entry!

Exceptions

  std::runtime_error | Thrown if header fields are invalid.

Implements elftosb::EncoreBootImage::BootCommand.

The documentation for this class was generated from the following files:

- EncoreBootImage.h
- EncoreBootImage.cpp