1 #pragma once 2 3 #include "elog_entry.hpp" 4 #include "pel_types.hpp" 5 6 #include <optional> 7 8 namespace openpower 9 { 10 namespace pels 11 { 12 13 /** 14 * @brief Convert an OpenBMC event log severity to a PEL severity 15 * 16 * @param[in] severity - The OpenBMC event log severity 17 * 18 * @return uint8_t - The PEL severity value 19 */ 20 uint8_t convertOBMCSeverityToPEL(phosphor::logging::Entry::Level severity); 21 22 /** 23 * @brief Possibly calculate a new LogSeverity value based on the 24 * current LogSeverity and PEL severity. 25 * 26 * Just handles cases where the LogSeverity value is clearly out of 27 * sync with the PEL severity: 28 * - critical PEL but non critical LogSeverity 29 * - info PEL but non info LogSeverity 30 * - non info PEL but info LogSeverity 31 * 32 * @param[in] obmcSeverity - The current LogSeverity 33 * @param[in] pelSeverity - The PEL severity 34 * 35 * @return optional<LogSeverity> The new LogSeverity to use if one was 36 * found, otherwise std::nullopt which means the original one 37 * is good enough. 38 */ 39 std::optional<phosphor::logging::Entry::Level> 40 fixupLogSeverity(phosphor::logging::Entry::Level obmcSeverity, 41 SeverityType pelSeverity); 42 } // namespace pels 43 } // namespace openpower 44