tree 50d851101376d29413e438cffd226e877428b900
parent df13bdb6e1423b25e7b737f4bf431af3d5c08d8b
author Matt Spinler <spinler@us.ibm.com> 1563310731 -0500
committer Matt Spinler <spinler@us.ibm.com> 1565027390 -0500

PEL: Add PEL class

This class represents a Platform Event Log.

A PEL consists of sections, and this commit just adds support for the
only required sections - the Private Header and User Header, by
including those specific objects.  More will be added in the future.

The only constructor provided in this commit is to construct the object
from an existing flattened PEL buffer.  This is for use in the case when
a PEL is received from off the BMC, such as from the host.  Future
commits will add support for creating PELs from OpenBMC event logs.

Since there aren't objects yet for every PEL section, the class cannot
make a full flattened PEL without still keeping around the original PEL
data it received in the constructor as mentioned above.  So for now it
will keep that data and just overlay the sections it does support when
flattening.  In the future, a fully formed PEL will be able to be
constructed from just flattening the section objects in the correct
order.

This commit provides a few public methods of note:

* data() - returns a flattened PEL
* assignID() - sets a unique ID in the log ID field in the Private
               Header
* setCommitTime() - Sets the commit timestamp in the Private Header
                    to the current time
* valid() - Says if the PEL is properly formed

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I2a9d82df9cd096ce77ecca7b2f73b097b8368aa2
