diff options
Diffstat (limited to 'extensions')
-rw-r--r-- | extensions/openpower-pels/pel.cpp | 22 | ||||
-rw-r--r-- | extensions/openpower-pels/pel.hpp | 7 |
2 files changed, 29 insertions, 0 deletions
diff --git a/extensions/openpower-pels/pel.cpp b/extensions/openpower-pels/pel.cpp index 262865f..d1c9620 100644 --- a/extensions/openpower-pels/pel.cpp +++ b/extensions/openpower-pels/pel.cpp @@ -153,6 +153,28 @@ std::vector<uint8_t> PEL::data() const return pelData; } +size_t PEL::size() const +{ + size_t size = 0; + + if (_ph) + { + size += _ph->header().size; + } + + if (_uh) + { + size += _uh->header().size; + } + + for (const auto& section : _optionalSections) + { + size += section->header().size; + } + + return size; +} + std::optional<SRC*> PEL::primarySRC() const { auto src = std::find_if( diff --git a/extensions/openpower-pels/pel.hpp b/extensions/openpower-pels/pel.hpp index ccbef91..c3c9f5a 100644 --- a/extensions/openpower-pels/pel.hpp +++ b/extensions/openpower-pels/pel.hpp @@ -198,6 +198,13 @@ class PEL std::vector<uint8_t> data() const; /** + * @brief Returns the size of the PEL + * + * @return size_t The PEL size in bytes + */ + size_t size() const; + + /** * @brief Says if the PEL is valid (the sections are all valid) * * @return bool - if the PEL is valid |