140e9b92eSEd Tanous // SPDX-License-Identifier: Apache-2.0 240e9b92eSEd 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 25*d1a3caa4SChandramohan Harkude enum class LogEntryCode{ 26*d1a3caa4SChandramohan Harkude Invalid, 27*d1a3caa4SChandramohan Harkude Assert, 28*d1a3caa4SChandramohan Harkude Deassert, 29*d1a3caa4SChandramohan Harkude LowerNoncriticalgoinglow, 30*d1a3caa4SChandramohan Harkude LowerNoncriticalgoinghigh, 31*d1a3caa4SChandramohan Harkude LowerCriticalgoinglow, 32*d1a3caa4SChandramohan Harkude LowerCriticalgoinghigh, 33*d1a3caa4SChandramohan Harkude LowerNonrecoverablegoinglow, 34*d1a3caa4SChandramohan Harkude LowerNonrecoverablegoinghigh, 35*d1a3caa4SChandramohan Harkude UpperNoncriticalgoinglow, 36*d1a3caa4SChandramohan Harkude UpperNoncriticalgoinghigh, 37*d1a3caa4SChandramohan Harkude UpperCriticalgoinglow, 38*d1a3caa4SChandramohan Harkude UpperCriticalgoinghigh, 39*d1a3caa4SChandramohan Harkude UpperNonrecoverablegoinglow, 40*d1a3caa4SChandramohan Harkude UpperNonrecoverablegoinghigh, 41*d1a3caa4SChandramohan Harkude TransitiontoIdle, 42*d1a3caa4SChandramohan Harkude TransitiontoActive, 43*d1a3caa4SChandramohan Harkude TransitiontoBusy, 44*d1a3caa4SChandramohan Harkude StateDeasserted, 45*d1a3caa4SChandramohan Harkude StateAsserted, 46*d1a3caa4SChandramohan Harkude PredictiveFailuredeasserted, 47*d1a3caa4SChandramohan Harkude PredictiveFailureasserted, 48*d1a3caa4SChandramohan Harkude LimitNotExceeded, 49*d1a3caa4SChandramohan Harkude LimitExceeded, 50*d1a3caa4SChandramohan Harkude PerformanceMet, 51*d1a3caa4SChandramohan Harkude PerformanceLags, 52*d1a3caa4SChandramohan Harkude TransitiontoOK, 53*d1a3caa4SChandramohan Harkude TransitiontoNonCriticalfromOK, 54*d1a3caa4SChandramohan Harkude TransitiontoCriticalfromlesssevere, 55*d1a3caa4SChandramohan Harkude TransitiontoNonrecoverablefromlesssevere, 56*d1a3caa4SChandramohan Harkude TransitiontoNonCriticalfrommoresevere, 57*d1a3caa4SChandramohan Harkude TransitiontoCriticalfromNonrecoverable, 58*d1a3caa4SChandramohan Harkude TransitiontoNonrecoverable, 59*d1a3caa4SChandramohan Harkude Monitor, 60*d1a3caa4SChandramohan Harkude Informational, 61*d1a3caa4SChandramohan Harkude DeviceRemovedDeviceAbsent, 62*d1a3caa4SChandramohan Harkude DeviceInsertedDevicePresent, 63*d1a3caa4SChandramohan Harkude DeviceDisabled, 64*d1a3caa4SChandramohan Harkude DeviceEnabled, 65*d1a3caa4SChandramohan Harkude TransitiontoRunning, 66*d1a3caa4SChandramohan Harkude TransitiontoInTest, 67*d1a3caa4SChandramohan Harkude TransitiontoPowerOff, 68*d1a3caa4SChandramohan Harkude TransitiontoOnLine, 69*d1a3caa4SChandramohan Harkude TransitiontoOffLine, 70*d1a3caa4SChandramohan Harkude TransitiontoOffDuty, 71*d1a3caa4SChandramohan Harkude TransitiontoDegraded, 72*d1a3caa4SChandramohan Harkude TransitiontoPowerSave, 73*d1a3caa4SChandramohan Harkude InstallError, 74*d1a3caa4SChandramohan Harkude FullyRedundant, 75*d1a3caa4SChandramohan Harkude RedundancyLost, 76*d1a3caa4SChandramohan Harkude RedundancyDegraded, 77*d1a3caa4SChandramohan Harkude NonredundantSufficientResourcesfromRedundant, 78*d1a3caa4SChandramohan Harkude NonredundantSufficientResourcesfromInsufficientResources, 79*d1a3caa4SChandramohan Harkude NonredundantInsufficientResources, 80*d1a3caa4SChandramohan Harkude RedundancyDegradedfromFullyRedundant, 81*d1a3caa4SChandramohan Harkude RedundancyDegradedfromNonredundant, 82*d1a3caa4SChandramohan Harkude D0PowerState, 83*d1a3caa4SChandramohan Harkude D1PowerState, 84*d1a3caa4SChandramohan Harkude D2PowerState, 85*d1a3caa4SChandramohan Harkude D3PowerState, 86*d1a3caa4SChandramohan Harkude OEM, 87*d1a3caa4SChandramohan Harkude }; 88*d1a3caa4SChandramohan Harkude 89*d1a3caa4SChandramohan Harkude enum class SensorType{ 90*d1a3caa4SChandramohan Harkude Invalid, 91*d1a3caa4SChandramohan Harkude PlatformSecurityViolationAttempt, 92*d1a3caa4SChandramohan Harkude Temperature, 93*d1a3caa4SChandramohan Harkude Voltage, 94*d1a3caa4SChandramohan Harkude Current, 95*d1a3caa4SChandramohan Harkude Fan, 96*d1a3caa4SChandramohan Harkude PhysicalChassisSecurity, 97*d1a3caa4SChandramohan Harkude Processor, 98*d1a3caa4SChandramohan Harkude PowerSupplyConverter, 99*d1a3caa4SChandramohan Harkude PowerUnit, 100*d1a3caa4SChandramohan Harkude CoolingDevice, 101*d1a3caa4SChandramohan Harkude OtherUnitsbasedSensor, 102*d1a3caa4SChandramohan Harkude Memory, 103*d1a3caa4SChandramohan Harkude DriveSlotBay, 104*d1a3caa4SChandramohan Harkude POSTMemoryResize, 105*d1a3caa4SChandramohan Harkude SystemFirmwareProgress, 106*d1a3caa4SChandramohan Harkude EventLoggingDisabled, 107*d1a3caa4SChandramohan Harkude SystemEvent, 108*d1a3caa4SChandramohan Harkude CriticalInterrupt, 109*d1a3caa4SChandramohan Harkude ButtonSwitch, 110*d1a3caa4SChandramohan Harkude ModuleBoard, 111*d1a3caa4SChandramohan Harkude MicrocontrollerCoprocessor, 112*d1a3caa4SChandramohan Harkude AddinCard, 113*d1a3caa4SChandramohan Harkude Chassis, 114*d1a3caa4SChandramohan Harkude ChipSet, 115*d1a3caa4SChandramohan Harkude OtherFRU, 116*d1a3caa4SChandramohan Harkude CableInterconnect, 117*d1a3caa4SChandramohan Harkude Terminator, 118*d1a3caa4SChandramohan Harkude SystemBootRestart, 119*d1a3caa4SChandramohan Harkude BootError, 120*d1a3caa4SChandramohan Harkude BaseOSBootInstallationStatus, 121*d1a3caa4SChandramohan Harkude OSStopShutdown, 122*d1a3caa4SChandramohan Harkude SlotConnector, 123*d1a3caa4SChandramohan Harkude SystemACPIPowerState, 124*d1a3caa4SChandramohan Harkude Watchdog, 125*d1a3caa4SChandramohan Harkude PlatformAlert, 126*d1a3caa4SChandramohan Harkude EntityPresence, 127*d1a3caa4SChandramohan Harkude MonitorASICIC, 128*d1a3caa4SChandramohan Harkude LAN, 129*d1a3caa4SChandramohan Harkude ManagementSubsystemHealth, 130*d1a3caa4SChandramohan Harkude Battery, 131*d1a3caa4SChandramohan Harkude SessionAudit, 132*d1a3caa4SChandramohan Harkude VersionChange, 133*d1a3caa4SChandramohan Harkude FRUState, 134*d1a3caa4SChandramohan Harkude OEM, 135*d1a3caa4SChandramohan Harkude }; 136*d1a3caa4SChandramohan Harkude 1370ec8b83dSEd Tanous enum class LogDiagnosticDataTypes{ 1380ec8b83dSEd Tanous Invalid, 1390ec8b83dSEd Tanous Manager, 1400ec8b83dSEd Tanous PreOS, 1410ec8b83dSEd Tanous OS, 1420ec8b83dSEd Tanous OEM, 1430ec8b83dSEd Tanous CPER, 1440ec8b83dSEd Tanous CPERSection, 145d125652eSGunnar Mills Device, 1460ec8b83dSEd Tanous }; 1470ec8b83dSEd Tanous 1480ec8b83dSEd Tanous enum class OriginatorTypes{ 1490ec8b83dSEd Tanous Invalid, 1500ec8b83dSEd Tanous Client, 1510ec8b83dSEd Tanous Internal, 1520ec8b83dSEd Tanous SupportingService, 1530ec8b83dSEd Tanous }; 1540ec8b83dSEd Tanous 155a8d8f9d8SEd Tanous enum class CXLEntryType{ 156a8d8f9d8SEd Tanous Invalid, 157a8d8f9d8SEd Tanous DynamicCapacity, 158a8d8f9d8SEd Tanous Informational, 159a8d8f9d8SEd Tanous Warning, 160a8d8f9d8SEd Tanous Failure, 161a8d8f9d8SEd Tanous Fatal, 162a8d8f9d8SEd Tanous }; 163a8d8f9d8SEd Tanous 1640ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(EventSeverity, { 1650ec8b83dSEd Tanous {EventSeverity::Invalid, "Invalid"}, 1660ec8b83dSEd Tanous {EventSeverity::OK, "OK"}, 1670ec8b83dSEd Tanous {EventSeverity::Warning, "Warning"}, 1680ec8b83dSEd Tanous {EventSeverity::Critical, "Critical"}, 1690ec8b83dSEd Tanous }); 1700ec8b83dSEd Tanous 1710ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(LogEntryType, { 1720ec8b83dSEd Tanous {LogEntryType::Invalid, "Invalid"}, 1730ec8b83dSEd Tanous {LogEntryType::Event, "Event"}, 1740ec8b83dSEd Tanous {LogEntryType::SEL, "SEL"}, 1750ec8b83dSEd Tanous {LogEntryType::Oem, "Oem"}, 176a8d8f9d8SEd Tanous {LogEntryType::CXL, "CXL"}, 1770ec8b83dSEd Tanous }); 1780ec8b83dSEd Tanous 179*d1a3caa4SChandramohan Harkude NLOHMANN_JSON_SERIALIZE_ENUM(LogEntryCode, { 180*d1a3caa4SChandramohan Harkude {LogEntryCode::Invalid, "Invalid"}, 181*d1a3caa4SChandramohan Harkude {LogEntryCode::Assert, "Assert"}, 182*d1a3caa4SChandramohan Harkude {LogEntryCode::Deassert, "Deassert"}, 183*d1a3caa4SChandramohan Harkude {LogEntryCode::LowerNoncriticalgoinglow, "Lower Non-critical - going low"}, 184*d1a3caa4SChandramohan Harkude {LogEntryCode::LowerNoncriticalgoinghigh, "Lower Non-critical - going high"}, 185*d1a3caa4SChandramohan Harkude {LogEntryCode::LowerCriticalgoinglow, "Lower Critical - going low"}, 186*d1a3caa4SChandramohan Harkude {LogEntryCode::LowerCriticalgoinghigh, "Lower Critical - going high"}, 187*d1a3caa4SChandramohan Harkude {LogEntryCode::LowerNonrecoverablegoinglow, "Lower Non-recoverable - going low"}, 188*d1a3caa4SChandramohan Harkude {LogEntryCode::LowerNonrecoverablegoinghigh, "Lower Non-recoverable - going high"}, 189*d1a3caa4SChandramohan Harkude {LogEntryCode::UpperNoncriticalgoinglow, "Upper Non-critical - going low"}, 190*d1a3caa4SChandramohan Harkude {LogEntryCode::UpperNoncriticalgoinghigh, "Upper Non-critical - going high"}, 191*d1a3caa4SChandramohan Harkude {LogEntryCode::UpperCriticalgoinglow, "Upper Critical - going low"}, 192*d1a3caa4SChandramohan Harkude {LogEntryCode::UpperCriticalgoinghigh, "Upper Critical - going high"}, 193*d1a3caa4SChandramohan Harkude {LogEntryCode::UpperNonrecoverablegoinglow, "Upper Non-recoverable - going low"}, 194*d1a3caa4SChandramohan Harkude {LogEntryCode::UpperNonrecoverablegoinghigh, "Upper Non-recoverable - going high"}, 195*d1a3caa4SChandramohan Harkude {LogEntryCode::TransitiontoIdle, "Transition to Idle"}, 196*d1a3caa4SChandramohan Harkude {LogEntryCode::TransitiontoActive, "Transition to Active"}, 197*d1a3caa4SChandramohan Harkude {LogEntryCode::TransitiontoBusy, "Transition to Busy"}, 198*d1a3caa4SChandramohan Harkude {LogEntryCode::StateDeasserted, "State Deasserted"}, 199*d1a3caa4SChandramohan Harkude {LogEntryCode::StateAsserted, "State Asserted"}, 200*d1a3caa4SChandramohan Harkude {LogEntryCode::PredictiveFailuredeasserted, "Predictive Failure deasserted"}, 201*d1a3caa4SChandramohan Harkude {LogEntryCode::PredictiveFailureasserted, "Predictive Failure asserted"}, 202*d1a3caa4SChandramohan Harkude {LogEntryCode::LimitNotExceeded, "Limit Not Exceeded"}, 203*d1a3caa4SChandramohan Harkude {LogEntryCode::LimitExceeded, "Limit Exceeded"}, 204*d1a3caa4SChandramohan Harkude {LogEntryCode::PerformanceMet, "Performance Met"}, 205*d1a3caa4SChandramohan Harkude {LogEntryCode::PerformanceLags, "Performance Lags"}, 206*d1a3caa4SChandramohan Harkude {LogEntryCode::TransitiontoOK, "Transition to OK"}, 207*d1a3caa4SChandramohan Harkude {LogEntryCode::TransitiontoNonCriticalfromOK, "Transition to Non-Critical from OK"}, 208*d1a3caa4SChandramohan Harkude {LogEntryCode::TransitiontoCriticalfromlesssevere, "Transition to Critical from less severe"}, 209*d1a3caa4SChandramohan Harkude {LogEntryCode::TransitiontoNonrecoverablefromlesssevere, "Transition to Non-recoverable from less severe"}, 210*d1a3caa4SChandramohan Harkude {LogEntryCode::TransitiontoNonCriticalfrommoresevere, "Transition to Non-Critical from more severe"}, 211*d1a3caa4SChandramohan Harkude {LogEntryCode::TransitiontoCriticalfromNonrecoverable, "Transition to Critical from Non-recoverable"}, 212*d1a3caa4SChandramohan Harkude {LogEntryCode::TransitiontoNonrecoverable, "Transition to Non-recoverable"}, 213*d1a3caa4SChandramohan Harkude {LogEntryCode::Monitor, "Monitor"}, 214*d1a3caa4SChandramohan Harkude {LogEntryCode::Informational, "Informational"}, 215*d1a3caa4SChandramohan Harkude {LogEntryCode::DeviceRemovedDeviceAbsent, "Device Removed / Device Absent"}, 216*d1a3caa4SChandramohan Harkude {LogEntryCode::DeviceInsertedDevicePresent, "Device Inserted / Device Present"}, 217*d1a3caa4SChandramohan Harkude {LogEntryCode::DeviceDisabled, "Device Disabled"}, 218*d1a3caa4SChandramohan Harkude {LogEntryCode::DeviceEnabled, "Device Enabled"}, 219*d1a3caa4SChandramohan Harkude {LogEntryCode::TransitiontoRunning, "Transition to Running"}, 220*d1a3caa4SChandramohan Harkude {LogEntryCode::TransitiontoInTest, "Transition to In Test"}, 221*d1a3caa4SChandramohan Harkude {LogEntryCode::TransitiontoPowerOff, "Transition to Power Off"}, 222*d1a3caa4SChandramohan Harkude {LogEntryCode::TransitiontoOnLine, "Transition to On Line"}, 223*d1a3caa4SChandramohan Harkude {LogEntryCode::TransitiontoOffLine, "Transition to Off Line"}, 224*d1a3caa4SChandramohan Harkude {LogEntryCode::TransitiontoOffDuty, "Transition to Off Duty"}, 225*d1a3caa4SChandramohan Harkude {LogEntryCode::TransitiontoDegraded, "Transition to Degraded"}, 226*d1a3caa4SChandramohan Harkude {LogEntryCode::TransitiontoPowerSave, "Transition to Power Save"}, 227*d1a3caa4SChandramohan Harkude {LogEntryCode::InstallError, "Install Error"}, 228*d1a3caa4SChandramohan Harkude {LogEntryCode::FullyRedundant, "Fully Redundant"}, 229*d1a3caa4SChandramohan Harkude {LogEntryCode::RedundancyLost, "Redundancy Lost"}, 230*d1a3caa4SChandramohan Harkude {LogEntryCode::RedundancyDegraded, "Redundancy Degraded"}, 231*d1a3caa4SChandramohan Harkude {LogEntryCode::NonredundantSufficientResourcesfromRedundant, "Non-redundant:Sufficient Resources from Redundant"}, 232*d1a3caa4SChandramohan Harkude {LogEntryCode::NonredundantSufficientResourcesfromInsufficientResources, "Non-redundant:Sufficient Resources from Insufficient Resources"}, 233*d1a3caa4SChandramohan Harkude {LogEntryCode::NonredundantInsufficientResources, "Non-redundant:Insufficient Resources"}, 234*d1a3caa4SChandramohan Harkude {LogEntryCode::RedundancyDegradedfromFullyRedundant, "Redundancy Degraded from Fully Redundant"}, 235*d1a3caa4SChandramohan Harkude {LogEntryCode::RedundancyDegradedfromNonredundant, "Redundancy Degraded from Non-redundant"}, 236*d1a3caa4SChandramohan Harkude {LogEntryCode::D0PowerState, "D0 Power State"}, 237*d1a3caa4SChandramohan Harkude {LogEntryCode::D1PowerState, "D1 Power State"}, 238*d1a3caa4SChandramohan Harkude {LogEntryCode::D2PowerState, "D2 Power State"}, 239*d1a3caa4SChandramohan Harkude {LogEntryCode::D3PowerState, "D3 Power State"}, 240*d1a3caa4SChandramohan Harkude {LogEntryCode::OEM, "OEM"}, 241*d1a3caa4SChandramohan Harkude }); 242*d1a3caa4SChandramohan Harkude 243*d1a3caa4SChandramohan Harkude NLOHMANN_JSON_SERIALIZE_ENUM(SensorType, { 244*d1a3caa4SChandramohan Harkude {SensorType::Invalid, "Invalid"}, 245*d1a3caa4SChandramohan Harkude {SensorType::PlatformSecurityViolationAttempt, "Platform Security Violation Attempt"}, 246*d1a3caa4SChandramohan Harkude {SensorType::Temperature, "Temperature"}, 247*d1a3caa4SChandramohan Harkude {SensorType::Voltage, "Voltage"}, 248*d1a3caa4SChandramohan Harkude {SensorType::Current, "Current"}, 249*d1a3caa4SChandramohan Harkude {SensorType::Fan, "Fan"}, 250*d1a3caa4SChandramohan Harkude {SensorType::PhysicalChassisSecurity, "Physical Chassis Security"}, 251*d1a3caa4SChandramohan Harkude {SensorType::Processor, "Processor"}, 252*d1a3caa4SChandramohan Harkude {SensorType::PowerSupplyConverter, "Power Supply / Converter"}, 253*d1a3caa4SChandramohan Harkude {SensorType::PowerUnit, "PowerUnit"}, 254*d1a3caa4SChandramohan Harkude {SensorType::CoolingDevice, "CoolingDevice"}, 255*d1a3caa4SChandramohan Harkude {SensorType::OtherUnitsbasedSensor, "Other Units-based Sensor"}, 256*d1a3caa4SChandramohan Harkude {SensorType::Memory, "Memory"}, 257*d1a3caa4SChandramohan Harkude {SensorType::DriveSlotBay, "Drive Slot/Bay"}, 258*d1a3caa4SChandramohan Harkude {SensorType::POSTMemoryResize, "POST Memory Resize"}, 259*d1a3caa4SChandramohan Harkude {SensorType::SystemFirmwareProgress, "System Firmware Progress"}, 260*d1a3caa4SChandramohan Harkude {SensorType::EventLoggingDisabled, "Event Logging Disabled"}, 261*d1a3caa4SChandramohan Harkude {SensorType::SystemEvent, "System Event"}, 262*d1a3caa4SChandramohan Harkude {SensorType::CriticalInterrupt, "Critical Interrupt"}, 263*d1a3caa4SChandramohan Harkude {SensorType::ButtonSwitch, "Button/Switch"}, 264*d1a3caa4SChandramohan Harkude {SensorType::ModuleBoard, "Module/Board"}, 265*d1a3caa4SChandramohan Harkude {SensorType::MicrocontrollerCoprocessor, "Microcontroller/Coprocessor"}, 266*d1a3caa4SChandramohan Harkude {SensorType::AddinCard, "Add-in Card"}, 267*d1a3caa4SChandramohan Harkude {SensorType::Chassis, "Chassis"}, 268*d1a3caa4SChandramohan Harkude {SensorType::ChipSet, "ChipSet"}, 269*d1a3caa4SChandramohan Harkude {SensorType::OtherFRU, "Other FRU"}, 270*d1a3caa4SChandramohan Harkude {SensorType::CableInterconnect, "Cable/Interconnect"}, 271*d1a3caa4SChandramohan Harkude {SensorType::Terminator, "Terminator"}, 272*d1a3caa4SChandramohan Harkude {SensorType::SystemBootRestart, "SystemBoot/Restart"}, 273*d1a3caa4SChandramohan Harkude {SensorType::BootError, "Boot Error"}, 274*d1a3caa4SChandramohan Harkude {SensorType::BaseOSBootInstallationStatus, "BaseOSBoot/InstallationStatus"}, 275*d1a3caa4SChandramohan Harkude {SensorType::OSStopShutdown, "OS Stop/Shutdown"}, 276*d1a3caa4SChandramohan Harkude {SensorType::SlotConnector, "Slot/Connector"}, 277*d1a3caa4SChandramohan Harkude {SensorType::SystemACPIPowerState, "System ACPI PowerState"}, 278*d1a3caa4SChandramohan Harkude {SensorType::Watchdog, "Watchdog"}, 279*d1a3caa4SChandramohan Harkude {SensorType::PlatformAlert, "Platform Alert"}, 280*d1a3caa4SChandramohan Harkude {SensorType::EntityPresence, "Entity Presence"}, 281*d1a3caa4SChandramohan Harkude {SensorType::MonitorASICIC, "Monitor ASIC/IC"}, 282*d1a3caa4SChandramohan Harkude {SensorType::LAN, "LAN"}, 283*d1a3caa4SChandramohan Harkude {SensorType::ManagementSubsystemHealth, "Management Subsystem Health"}, 284*d1a3caa4SChandramohan Harkude {SensorType::Battery, "Battery"}, 285*d1a3caa4SChandramohan Harkude {SensorType::SessionAudit, "Session Audit"}, 286*d1a3caa4SChandramohan Harkude {SensorType::VersionChange, "Version Change"}, 287*d1a3caa4SChandramohan Harkude {SensorType::FRUState, "FRUState"}, 288*d1a3caa4SChandramohan Harkude {SensorType::OEM, "OEM"}, 289*d1a3caa4SChandramohan Harkude }); 290*d1a3caa4SChandramohan Harkude 2910ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(LogDiagnosticDataTypes, { 2920ec8b83dSEd Tanous {LogDiagnosticDataTypes::Invalid, "Invalid"}, 2930ec8b83dSEd Tanous {LogDiagnosticDataTypes::Manager, "Manager"}, 2940ec8b83dSEd Tanous {LogDiagnosticDataTypes::PreOS, "PreOS"}, 2950ec8b83dSEd Tanous {LogDiagnosticDataTypes::OS, "OS"}, 2960ec8b83dSEd Tanous {LogDiagnosticDataTypes::OEM, "OEM"}, 2970ec8b83dSEd Tanous {LogDiagnosticDataTypes::CPER, "CPER"}, 2980ec8b83dSEd Tanous {LogDiagnosticDataTypes::CPERSection, "CPERSection"}, 299d125652eSGunnar Mills {LogDiagnosticDataTypes::Device, "Device"}, 3000ec8b83dSEd Tanous }); 3010ec8b83dSEd Tanous 3020ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(OriginatorTypes, { 3030ec8b83dSEd Tanous {OriginatorTypes::Invalid, "Invalid"}, 3040ec8b83dSEd Tanous {OriginatorTypes::Client, "Client"}, 3050ec8b83dSEd Tanous {OriginatorTypes::Internal, "Internal"}, 3060ec8b83dSEd Tanous {OriginatorTypes::SupportingService, "SupportingService"}, 3070ec8b83dSEd Tanous }); 3080ec8b83dSEd Tanous 309a8d8f9d8SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(CXLEntryType, { 310a8d8f9d8SEd Tanous {CXLEntryType::Invalid, "Invalid"}, 311a8d8f9d8SEd Tanous {CXLEntryType::DynamicCapacity, "DynamicCapacity"}, 312a8d8f9d8SEd Tanous {CXLEntryType::Informational, "Informational"}, 313a8d8f9d8SEd Tanous {CXLEntryType::Warning, "Warning"}, 314a8d8f9d8SEd Tanous {CXLEntryType::Failure, "Failure"}, 315a8d8f9d8SEd Tanous {CXLEntryType::Fatal, "Fatal"}, 316a8d8f9d8SEd Tanous }); 317a8d8f9d8SEd Tanous 3180ec8b83dSEd Tanous } 3190ec8b83dSEd Tanous // clang-format on 320