#pragma once #include #include // for size_t #include #include #include namespace attn { constexpr auto pathLogging = "/xyz/openbmc_project/logging"; constexpr auto levelPelError = "xyz.openbmc_project.Logging.Entry.Level.Error"; constexpr auto levelPelInfo = "xyz.openbmc_project.Logging.Entry.Level.Informational"; constexpr auto eventPelTerminate = "xyz.open_power.Attn.Error.Terminate"; /** @brief Logging event types */ enum class EventType { Checkstop = 0, Terminate = 1, Vital = 2, HwDiagsFail = 3, AttentionFail = 4, PhalSbeChipop = 5 }; /** @brief Commit special attention TI event to log */ void eventTerminate(std::map i_additionalData, char* i_tiInfoData); /** @brief Commit SBE vital event to log * * @param[in] severity - the PEL severity level of the event * * @return platform event log (PEL) ID * */ uint32_t eventVital(std::string severity); /** @brief Commit attention handler failure event to log */ void eventAttentionFail(int i_error); } // namespace attn