1*40e9b92eSEd Tanous // SPDX-License-Identifier: Apache-2.0 2*40e9b92eSEd Tanous // SPDX-FileCopyrightText: Copyright OpenBMC Authors 30ec8b83dSEd Tanous #pragma once 40ec8b83dSEd Tanous #include <nlohmann/json.hpp> 50ec8b83dSEd Tanous 60ec8b83dSEd Tanous namespace log_entry 70ec8b83dSEd Tanous { 80ec8b83dSEd Tanous // clang-format off 90ec8b83dSEd Tanous 100ec8b83dSEd Tanous enum class EventSeverity{ 110ec8b83dSEd Tanous Invalid, 120ec8b83dSEd Tanous OK, 130ec8b83dSEd Tanous Warning, 140ec8b83dSEd Tanous Critical, 150ec8b83dSEd Tanous }; 160ec8b83dSEd Tanous 170ec8b83dSEd Tanous enum class LogEntryType{ 180ec8b83dSEd Tanous Invalid, 190ec8b83dSEd Tanous Event, 200ec8b83dSEd Tanous SEL, 210ec8b83dSEd Tanous Oem, 22a8d8f9d8SEd Tanous CXL, 230ec8b83dSEd Tanous }; 240ec8b83dSEd Tanous 250ec8b83dSEd Tanous enum class LogDiagnosticDataTypes{ 260ec8b83dSEd Tanous Invalid, 270ec8b83dSEd Tanous Manager, 280ec8b83dSEd Tanous PreOS, 290ec8b83dSEd Tanous OS, 300ec8b83dSEd Tanous OEM, 310ec8b83dSEd Tanous CPER, 320ec8b83dSEd Tanous CPERSection, 330ec8b83dSEd Tanous }; 340ec8b83dSEd Tanous 350ec8b83dSEd Tanous enum class OriginatorTypes{ 360ec8b83dSEd Tanous Invalid, 370ec8b83dSEd Tanous Client, 380ec8b83dSEd Tanous Internal, 390ec8b83dSEd Tanous SupportingService, 400ec8b83dSEd Tanous }; 410ec8b83dSEd Tanous 42a8d8f9d8SEd Tanous enum class CXLEntryType{ 43a8d8f9d8SEd Tanous Invalid, 44a8d8f9d8SEd Tanous DynamicCapacity, 45a8d8f9d8SEd Tanous Informational, 46a8d8f9d8SEd Tanous Warning, 47a8d8f9d8SEd Tanous Failure, 48a8d8f9d8SEd Tanous Fatal, 49a8d8f9d8SEd Tanous }; 50a8d8f9d8SEd Tanous 510ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(EventSeverity, { 520ec8b83dSEd Tanous {EventSeverity::Invalid, "Invalid"}, 530ec8b83dSEd Tanous {EventSeverity::OK, "OK"}, 540ec8b83dSEd Tanous {EventSeverity::Warning, "Warning"}, 550ec8b83dSEd Tanous {EventSeverity::Critical, "Critical"}, 560ec8b83dSEd Tanous }); 570ec8b83dSEd Tanous 580ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(LogEntryType, { 590ec8b83dSEd Tanous {LogEntryType::Invalid, "Invalid"}, 600ec8b83dSEd Tanous {LogEntryType::Event, "Event"}, 610ec8b83dSEd Tanous {LogEntryType::SEL, "SEL"}, 620ec8b83dSEd Tanous {LogEntryType::Oem, "Oem"}, 63a8d8f9d8SEd Tanous {LogEntryType::CXL, "CXL"}, 640ec8b83dSEd Tanous }); 650ec8b83dSEd Tanous 660ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(LogDiagnosticDataTypes, { 670ec8b83dSEd Tanous {LogDiagnosticDataTypes::Invalid, "Invalid"}, 680ec8b83dSEd Tanous {LogDiagnosticDataTypes::Manager, "Manager"}, 690ec8b83dSEd Tanous {LogDiagnosticDataTypes::PreOS, "PreOS"}, 700ec8b83dSEd Tanous {LogDiagnosticDataTypes::OS, "OS"}, 710ec8b83dSEd Tanous {LogDiagnosticDataTypes::OEM, "OEM"}, 720ec8b83dSEd Tanous {LogDiagnosticDataTypes::CPER, "CPER"}, 730ec8b83dSEd Tanous {LogDiagnosticDataTypes::CPERSection, "CPERSection"}, 740ec8b83dSEd Tanous }); 750ec8b83dSEd Tanous 760ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(OriginatorTypes, { 770ec8b83dSEd Tanous {OriginatorTypes::Invalid, "Invalid"}, 780ec8b83dSEd Tanous {OriginatorTypes::Client, "Client"}, 790ec8b83dSEd Tanous {OriginatorTypes::Internal, "Internal"}, 800ec8b83dSEd Tanous {OriginatorTypes::SupportingService, "SupportingService"}, 810ec8b83dSEd Tanous }); 820ec8b83dSEd Tanous 83a8d8f9d8SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(CXLEntryType, { 84a8d8f9d8SEd Tanous {CXLEntryType::Invalid, "Invalid"}, 85a8d8f9d8SEd Tanous {CXLEntryType::DynamicCapacity, "DynamicCapacity"}, 86a8d8f9d8SEd Tanous {CXLEntryType::Informational, "Informational"}, 87a8d8f9d8SEd Tanous {CXLEntryType::Warning, "Warning"}, 88a8d8f9d8SEd Tanous {CXLEntryType::Failure, "Failure"}, 89a8d8f9d8SEd Tanous {CXLEntryType::Fatal, "Fatal"}, 90a8d8f9d8SEd Tanous }); 91a8d8f9d8SEd Tanous 920ec8b83dSEd Tanous } 930ec8b83dSEd Tanous // clang-format on 94