summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--elog-errors.hpp1935
-rw-r--r--error-HostEvent.hpp37
-rw-r--r--storageaddsel.cpp53
3 files changed, 2006 insertions, 19 deletions
diff --git a/elog-errors.hpp b/elog-errors.hpp
new file mode 100644
index 0000000..73e2dc1
--- /dev/null
+++ b/elog-errors.hpp
@@ -0,0 +1,1935 @@
+// This file was autogenerated. Do not edit!
+// See elog-gen.py for more details
+#pragma once
+
+#include <string>
+#include <tuple>
+#include <type_traits>
+#include <sdbusplus/exception.hpp>
+#include <phosphor-logging/log.hpp>
+#include <phosphor-logging/elog.hpp>
+
+namespace sdbusplus
+{
+namespace xyz
+{
+namespace openbmc_project
+{
+namespace Dump
+{
+namespace Create
+{
+namespace Error
+{
+ struct QuotaExceeded;
+} // namespace Error
+} // namespace Create
+} // namespace Dump
+} // namespace openbmc_project
+} // namespace xyz
+} // namespace sdbusplus
+
+namespace sdbusplus
+{
+namespace org
+{
+namespace open_power
+{
+namespace Host
+{
+namespace Event
+{
+namespace Error
+{
+ struct Event;
+} // namespace Error
+} // namespace Event
+} // namespace Host
+} // namespace open_power
+} // namespace org
+} // namespace sdbusplus
+
+namespace sdbusplus
+{
+namespace xyz
+{
+namespace openbmc_project
+{
+namespace State
+{
+namespace Host
+{
+namespace Error
+{
+ struct SoftOffTimeout;
+} // namespace Error
+} // namespace Host
+} // namespace State
+} // namespace openbmc_project
+} // namespace xyz
+} // namespace sdbusplus
+
+namespace sdbusplus
+{
+namespace xyz
+{
+namespace openbmc_project
+{
+namespace Sensor
+{
+namespace Device
+{
+namespace Error
+{
+ struct ReadFailure;
+} // namespace Error
+} // namespace Device
+} // namespace Sensor
+} // namespace openbmc_project
+} // namespace xyz
+} // namespace sdbusplus
+
+namespace sdbusplus
+{
+namespace xyz
+{
+namespace openbmc_project
+{
+namespace Control
+{
+namespace Device
+{
+namespace Error
+{
+ struct WriteFailure;
+} // namespace Error
+} // namespace Device
+} // namespace Control
+} // namespace openbmc_project
+} // namespace xyz
+} // namespace sdbusplus
+
+namespace sdbusplus
+{
+namespace xyz
+{
+namespace openbmc_project
+{
+namespace Common
+{
+namespace File
+{
+namespace Error
+{
+ struct Seek;
+} // namespace Error
+} // namespace File
+} // namespace Common
+} // namespace openbmc_project
+} // namespace xyz
+} // namespace sdbusplus
+
+namespace sdbusplus
+{
+namespace xyz
+{
+namespace openbmc_project
+{
+namespace Control
+{
+namespace Host
+{
+namespace Error
+{
+ struct CommandNotSupported;
+} // namespace Error
+} // namespace Host
+} // namespace Control
+} // namespace openbmc_project
+} // namespace xyz
+} // namespace sdbusplus
+
+namespace sdbusplus
+{
+namespace xyz
+{
+namespace openbmc_project
+{
+namespace Common
+{
+namespace Error
+{
+ struct InternalFailure;
+} // namespace Error
+} // namespace Common
+} // namespace openbmc_project
+} // namespace xyz
+} // namespace sdbusplus
+
+namespace sdbusplus
+{
+namespace xyz
+{
+namespace openbmc_project
+{
+namespace Common
+{
+namespace Callout
+{
+namespace Error
+{
+ struct Device;
+} // namespace Error
+} // namespace Callout
+} // namespace Common
+} // namespace openbmc_project
+} // namespace xyz
+} // namespace sdbusplus
+
+namespace sdbusplus
+{
+namespace org
+{
+namespace open_power
+{
+namespace Host
+{
+namespace Access
+{
+namespace Error
+{
+ struct WriteCFAM;
+} // namespace Error
+} // namespace Access
+} // namespace Host
+} // namespace open_power
+} // namespace org
+} // namespace sdbusplus
+
+namespace sdbusplus
+{
+namespace xyz
+{
+namespace openbmc_project
+{
+namespace Common
+{
+namespace File
+{
+namespace Error
+{
+ struct Open;
+} // namespace Error
+} // namespace File
+} // namespace Common
+} // namespace openbmc_project
+} // namespace xyz
+} // namespace sdbusplus
+
+namespace sdbusplus
+{
+namespace org
+{
+namespace open_power
+{
+namespace Host
+{
+namespace Error
+{
+ struct Checkstop;
+} // namespace Error
+} // namespace Host
+} // namespace open_power
+} // namespace org
+} // namespace sdbusplus
+
+namespace sdbusplus
+{
+namespace xyz
+{
+namespace openbmc_project
+{
+namespace Common
+{
+namespace File
+{
+namespace Error
+{
+ struct Write;
+} // namespace Error
+} // namespace File
+} // namespace Common
+} // namespace openbmc_project
+} // namespace xyz
+} // namespace sdbusplus
+
+namespace sdbusplus
+{
+namespace xyz
+{
+namespace openbmc_project
+{
+namespace Common
+{
+namespace Callout
+{
+namespace Error
+{
+ struct GPIO;
+} // namespace Error
+} // namespace Callout
+} // namespace Common
+} // namespace openbmc_project
+} // namespace xyz
+} // namespace sdbusplus
+
+namespace sdbusplus
+{
+namespace xyz
+{
+namespace openbmc_project
+{
+namespace Common
+{
+namespace Error
+{
+ struct InvalidArgument;
+} // namespace Error
+} // namespace Common
+} // namespace openbmc_project
+} // namespace xyz
+} // namespace sdbusplus
+
+namespace sdbusplus
+{
+namespace xyz
+{
+namespace openbmc_project
+{
+namespace Dump
+{
+namespace Create
+{
+namespace Error
+{
+ struct Disabled;
+} // namespace Error
+} // namespace Create
+} // namespace Dump
+} // namespace openbmc_project
+} // namespace xyz
+} // namespace sdbusplus
+
+namespace sdbusplus
+{
+namespace xyz
+{
+namespace openbmc_project
+{
+namespace Common
+{
+namespace Callout
+{
+namespace Error
+{
+ struct IPMISensor;
+} // namespace Error
+} // namespace Callout
+} // namespace Common
+} // namespace openbmc_project
+} // namespace xyz
+} // namespace sdbusplus
+
+namespace sdbusplus
+{
+namespace xyz
+{
+namespace openbmc_project
+{
+namespace Common
+{
+namespace Error
+{
+ struct Timeout;
+} // namespace Error
+} // namespace Common
+} // namespace openbmc_project
+} // namespace xyz
+} // namespace sdbusplus
+
+namespace sdbusplus
+{
+namespace xyz
+{
+namespace openbmc_project
+{
+namespace Common
+{
+namespace Callout
+{
+namespace Error
+{
+ struct Inventory;
+} // namespace Error
+} // namespace Callout
+} // namespace Common
+} // namespace openbmc_project
+} // namespace xyz
+} // namespace sdbusplus
+
+namespace sdbusplus
+{
+namespace xyz
+{
+namespace openbmc_project
+{
+namespace Common
+{
+namespace Callout
+{
+namespace Error
+{
+ struct IIC;
+} // namespace Error
+} // namespace Callout
+} // namespace Common
+} // namespace openbmc_project
+} // namespace xyz
+} // namespace sdbusplus
+
+namespace sdbusplus
+{
+namespace org
+{
+namespace open_power
+{
+namespace Host
+{
+namespace Error
+{
+ struct WatchdogTimedOut;
+} // namespace Error
+} // namespace Host
+} // namespace open_power
+} // namespace org
+} // namespace sdbusplus
+
+namespace sdbusplus
+{
+namespace org
+{
+namespace open_power
+{
+namespace Host
+{
+namespace Access
+{
+namespace Error
+{
+ struct ReadCFAM;
+} // namespace Error
+} // namespace Access
+} // namespace Host
+} // namespace open_power
+} // namespace org
+} // namespace sdbusplus
+
+
+namespace phosphor
+{
+
+namespace logging
+{
+
+namespace xyz
+{
+namespace openbmc_project
+{
+namespace Common
+{
+namespace Callout
+{
+namespace _Device
+{
+
+struct CALLOUT_ERRNO
+{
+ static constexpr auto str = "CALLOUT_ERRNO=%d";
+ static constexpr auto str_short = "CALLOUT_ERRNO";
+ using type = std::tuple<std::decay_t<decltype(str)>,int32_t>;
+ explicit constexpr CALLOUT_ERRNO(int32_t a) : _entry(entry(str, a)) {};
+ type _entry;
+};
+struct CALLOUT_DEVICE_PATH
+{
+ static constexpr auto str = "CALLOUT_DEVICE_PATH=%s";
+ static constexpr auto str_short = "CALLOUT_DEVICE_PATH";
+ using type = std::tuple<std::decay_t<decltype(str)>,const char*>;
+ explicit constexpr CALLOUT_DEVICE_PATH(const char* a) : _entry(entry(str, a)) {};
+ type _entry;
+};
+
+} // namespace _Device
+
+struct Device
+{
+ static constexpr auto L = level::ERR;
+ using CALLOUT_ERRNO = _Device::CALLOUT_ERRNO;
+ using CALLOUT_DEVICE_PATH = _Device::CALLOUT_DEVICE_PATH;
+ using metadata_types = std::tuple<CALLOUT_ERRNO, CALLOUT_DEVICE_PATH>;
+
+};
+
+} // namespace Callout
+} // namespace Common
+} // namespace openbmc_project
+} // namespace xyz
+
+
+namespace details
+{
+
+template <>
+struct map_exception_type<sdbusplus::xyz::openbmc_project::Common::Callout::Error::Device>
+{
+ using type = xyz::openbmc_project::Common::Callout::Device;
+};
+
+}
+
+namespace xyz
+{
+namespace openbmc_project
+{
+namespace Common
+{
+namespace Callout
+{
+namespace _GPIO
+{
+
+struct CALLOUT_GPIO_NUM
+{
+ static constexpr auto str = "CALLOUT_GPIO_NUM=%u";
+ static constexpr auto str_short = "CALLOUT_GPIO_NUM";
+ using type = std::tuple<std::decay_t<decltype(str)>,uint32_t>;
+ explicit constexpr CALLOUT_GPIO_NUM(uint32_t a) : _entry(entry(str, a)) {};
+ type _entry;
+};
+
+} // namespace _GPIO
+
+struct GPIO
+{
+ static constexpr auto L = level::ERR;
+ using CALLOUT_GPIO_NUM = _GPIO::CALLOUT_GPIO_NUM;
+ using CALLOUT_ERRNO = xyz::openbmc_project::Common::Callout::Device::CALLOUT_ERRNO;
+ using CALLOUT_DEVICE_PATH = xyz::openbmc_project::Common::Callout::Device::CALLOUT_DEVICE_PATH;
+ using metadata_types = std::tuple<CALLOUT_GPIO_NUM, CALLOUT_ERRNO, CALLOUT_DEVICE_PATH>;
+
+};
+
+} // namespace Callout
+} // namespace Common
+} // namespace openbmc_project
+} // namespace xyz
+
+
+namespace details
+{
+
+template <>
+struct map_exception_type<sdbusplus::xyz::openbmc_project::Common::Callout::Error::GPIO>
+{
+ using type = xyz::openbmc_project::Common::Callout::GPIO;
+};
+
+}
+
+namespace xyz
+{
+namespace openbmc_project
+{
+namespace Common
+{
+namespace Callout
+{
+namespace _IIC
+{
+
+struct CALLOUT_IIC_BUS
+{
+ static constexpr auto str = "CALLOUT_IIC_BUS=%s";
+ static constexpr auto str_short = "CALLOUT_IIC_BUS";
+ using type = std::tuple<std::decay_t<decltype(str)>,const char*>;
+ explicit constexpr CALLOUT_IIC_BUS(const char* a) : _entry(entry(str, a)) {};
+ type _entry;
+};
+struct CALLOUT_IIC_ADDR
+{
+ static constexpr auto str = "CALLOUT_IIC_ADDR=0x%hx";
+ static constexpr auto str_short = "CALLOUT_IIC_ADDR";
+ using type = std::tuple<std::decay_t<decltype(str)>,uint16_t>;
+ explicit constexpr CALLOUT_IIC_ADDR(uint16_t a) : _entry(entry(str, a)) {};
+ type _entry;
+};
+
+} // namespace _IIC
+
+struct IIC
+{
+ static constexpr auto L = level::ERR;
+ using CALLOUT_IIC_BUS = _IIC::CALLOUT_IIC_BUS;
+ using CALLOUT_IIC_ADDR = _IIC::CALLOUT_IIC_ADDR;
+ using CALLOUT_ERRNO = xyz::openbmc_project::Common::Callout::Device::CALLOUT_ERRNO;
+ using CALLOUT_DEVICE_PATH = xyz::openbmc_project::Common::Callout::Device::CALLOUT_DEVICE_PATH;
+ using metadata_types = std::tuple<CALLOUT_IIC_BUS, CALLOUT_IIC_ADDR, CALLOUT_ERRNO, CALLOUT_DEVICE_PATH>;
+
+};
+
+} // namespace Callout
+} // namespace Common
+} // namespace openbmc_project
+} // namespace xyz
+
+
+namespace details
+{
+
+template <>
+struct map_exception_type<sdbusplus::xyz::openbmc_project::Common::Callout::Error::IIC>
+{
+ using type = xyz::openbmc_project::Common::Callout::IIC;
+};
+
+}
+
+namespace xyz
+{
+namespace openbmc_project
+{
+namespace Common
+{
+namespace Callout
+{
+namespace _Inventory
+{
+
+struct CALLOUT_INVENTORY_PATH
+{
+ static constexpr auto str = "CALLOUT_INVENTORY_PATH=%s";
+ static constexpr auto str_short = "CALLOUT_INVENTORY_PATH";
+ using type = std::tuple<std::decay_t<decltype(str)>,const char*>;
+ explicit constexpr CALLOUT_INVENTORY_PATH(const char* a) : _entry(entry(str, a)) {};
+ type _entry;
+};
+
+} // namespace _Inventory
+
+struct Inventory
+{
+ static constexpr auto L = level::ERR;
+ using CALLOUT_INVENTORY_PATH = _Inventory::CALLOUT_INVENTORY_PATH;
+ using metadata_types = std::tuple<CALLOUT_INVENTORY_PATH>;
+
+};
+
+} // namespace Callout
+} // namespace Common
+} // namespace openbmc_project
+} // namespace xyz
+
+
+namespace details
+{
+
+template <>
+struct map_exception_type<sdbusplus::xyz::openbmc_project::Common::Callout::Error::Inventory>
+{
+ using type = xyz::openbmc_project::Common::Callout::Inventory;
+};
+
+}
+
+namespace xyz
+{
+namespace openbmc_project
+{
+namespace Common
+{
+namespace Callout
+{
+namespace _IPMISensor
+{
+
+struct CALLOUT_IPMI_SENSOR_NUM
+{
+ static constexpr auto str = "CALLOUT_IPMI_SENSOR_NUM=%u";
+ static constexpr auto str_short = "CALLOUT_IPMI_SENSOR_NUM";
+ using type = std::tuple<std::decay_t<decltype(str)>,uint32_t>;
+ explicit constexpr CALLOUT_IPMI_SENSOR_NUM(uint32_t a) : _entry(entry(str, a)) {};
+ type _entry;
+};
+
+} // namespace _IPMISensor
+
+struct IPMISensor
+{
+ static constexpr auto L = level::ERR;
+ using CALLOUT_IPMI_SENSOR_NUM = _IPMISensor::CALLOUT_IPMI_SENSOR_NUM;
+ using metadata_types = std::tuple<CALLOUT_IPMI_SENSOR_NUM>;
+
+};
+
+} // namespace Callout
+} // namespace Common
+} // namespace openbmc_project
+} // namespace xyz
+
+
+namespace details
+{
+
+template <>
+struct map_exception_type<sdbusplus::xyz::openbmc_project::Common::Callout::Error::IPMISensor>
+{
+ using type = xyz::openbmc_project::Common::Callout::IPMISensor;
+};
+
+}
+
+namespace xyz
+{
+namespace openbmc_project
+{
+namespace Common
+{
+namespace _Timeout
+{
+
+struct TIMEOUT_IN_MSEC
+{
+ static constexpr auto str = "TIMEOUT_IN_MSEC=%llu";
+ static constexpr auto str_short = "TIMEOUT_IN_MSEC";
+ using type = std::tuple<std::decay_t<decltype(str)>,uint64_t>;
+ explicit constexpr TIMEOUT_IN_MSEC(uint64_t a) : _entry(entry(str, a)) {};
+ type _entry;
+};
+
+} // namespace _Timeout
+
+struct Timeout
+{
+ static constexpr auto L = level::ERR;
+ using TIMEOUT_IN_MSEC = _Timeout::TIMEOUT_IN_MSEC;
+ using metadata_types = std::tuple<TIMEOUT_IN_MSEC>;
+
+};
+
+} // namespace Common
+} // namespace openbmc_project
+} // namespace xyz
+
+
+namespace details
+{
+
+template <>
+struct map_exception_type<sdbusplus::xyz::openbmc_project::Common::Error::Timeout>
+{
+ using type = xyz::openbmc_project::Common::Timeout;
+};
+
+}
+
+namespace xyz
+{
+namespace openbmc_project
+{
+namespace Common
+{
+namespace _InternalFailure
+{
+
+
+} // namespace _InternalFailure
+
+struct InternalFailure
+{
+ static constexpr auto L = level::ERR;
+ using metadata_types = std::tuple<>;
+
+};
+
+} // namespace Common
+} // namespace openbmc_project
+} // namespace xyz
+
+
+namespace details
+{
+
+template <>
+struct map_exception_type<sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure>
+{
+ using type = xyz::openbmc_project::Common::InternalFailure;
+};
+
+}
+
+namespace xyz
+{
+namespace openbmc_project
+{
+namespace Common
+{
+namespace _InvalidArgument
+{
+
+struct ARGUMENT_NAME
+{
+ static constexpr auto str = "ARGUMENT_NAME=%s";
+ static constexpr auto str_short = "ARGUMENT_NAME";
+ using type = std::tuple<std::decay_t<decltype(str)>,const char*>;
+ explicit constexpr ARGUMENT_NAME(const char* a) : _entry(entry(str, a)) {};
+ type _entry;
+};
+struct ARGUMENT_VALUE
+{
+ static constexpr auto str = "ARGUMENT_VALUE=%s";
+ static constexpr auto str_short = "ARGUMENT_VALUE";
+ using type = std::tuple<std::decay_t<decltype(str)>,const char*>;
+ explicit constexpr ARGUMENT_VALUE(const char* a) : _entry(entry(str, a)) {};
+ type _entry;
+};
+
+} // namespace _InvalidArgument
+
+struct InvalidArgument
+{
+ static constexpr auto L = level::ERR;
+ using ARGUMENT_NAME = _InvalidArgument::ARGUMENT_NAME;
+ using ARGUMENT_VALUE = _InvalidArgument::ARGUMENT_VALUE;
+ using metadata_types = std::tuple<ARGUMENT_NAME, ARGUMENT_VALUE>;
+
+};
+
+} // namespace Common
+} // namespace openbmc_project
+} // namespace xyz
+
+
+namespace details
+{
+
+template <>
+struct map_exception_type<sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument>
+{
+ using type = xyz::openbmc_project::Common::InvalidArgument;
+};
+
+}
+
+namespace example
+{
+namespace xyz
+{
+namespace openbmc_project
+{
+namespace Example
+{
+namespace Device
+{
+namespace _Callout
+{
+
+struct CALLOUT_ERRNO_TEST
+{
+ static constexpr auto str = "CALLOUT_ERRNO_TEST=%d";
+ static constexpr auto str_short = "CALLOUT_ERRNO_TEST";
+ using type = std::tuple<std::decay_t<decltype(str)>,int32_t>;
+ explicit constexpr CALLOUT_ERRNO_TEST(int32_t a) : _entry(entry(str, a)) {};
+ type _entry;
+};
+struct CALLOUT_DEVICE_PATH_TEST
+{
+ static constexpr auto str = "CALLOUT_DEVICE_PATH_TEST=%s";
+ static constexpr auto str_short = "CALLOUT_DEVICE_PATH_TEST";
+ using type = std::tuple<std::decay_t<decltype(str)>,const char*>;
+ explicit constexpr CALLOUT_DEVICE_PATH_TEST(const char* a) : _entry(entry(str, a)) {};
+ type _entry;
+};
+
+} // namespace _Callout
+
+struct Callout : public sdbusplus::exception_t
+{
+ static constexpr auto errName = "example.xyz.openbmc_project.Example.Device.Callout";
+ static constexpr auto errDesc = "Generic device callout";
+ static constexpr auto L = level::ERR;
+ using CALLOUT_ERRNO_TEST = _Callout::CALLOUT_ERRNO_TEST;
+ using CALLOUT_DEVICE_PATH_TEST = _Callout::CALLOUT_DEVICE_PATH_TEST;
+ using metadata_types = std::tuple<CALLOUT_ERRNO_TEST, CALLOUT_DEVICE_PATH_TEST>;
+
+ const char* name() const noexcept
+ {
+ return errName;
+ }
+
+ const char* description() const noexcept
+ {
+ return errDesc;
+ }
+
+ const char* what() const noexcept
+ {
+ return errName;
+ }
+};
+
+} // namespace Device
+} // namespace Example
+} // namespace openbmc_project
+} // namespace xyz
+} // namespace example
+
+
+
+namespace xyz
+{
+namespace openbmc_project
+{
+namespace Sensor
+{
+namespace Device
+{
+namespace _ReadFailure
+{
+
+
+} // namespace _ReadFailure
+
+struct ReadFailure
+{
+ static constexpr auto L = level::ERR;
+ using CALLOUT_ERRNO = xyz::openbmc_project::Common::Callout::Device::CALLOUT_ERRNO;
+ using CALLOUT_DEVICE_PATH = xyz::openbmc_project::Common::Callout::Device::CALLOUT_DEVICE_PATH;
+ using metadata_types = std::tuple<CALLOUT_ERRNO, CALLOUT_DEVICE_PATH>;
+
+};
+
+} // namespace Device
+} // namespace Sensor
+} // namespace openbmc_project
+} // namespace xyz
+
+
+namespace details
+{
+
+template <>
+struct map_exception_type<sdbusplus::xyz::openbmc_project::Sensor::Device::Error::ReadFailure>
+{
+ using type = xyz::openbmc_project::Sensor::Device::ReadFailure;
+};
+
+}
+
+namespace org
+{
+namespace open_power
+{
+namespace Host
+{
+namespace _Checkstop
+{
+
+
+} // namespace _Checkstop
+
+struct Checkstop
+{
+ static constexpr auto L = level::ERR;
+ using metadata_types = std::tuple<>;
+
+};
+
+} // namespace Host
+} // namespace open_power
+} // namespace org
+
+
+namespace details
+{
+
+template <>
+struct map_exception_type<sdbusplus::org::open_power::Host::Error::Checkstop>
+{
+ using type = org::open_power::Host::Checkstop;
+};
+
+}
+
+namespace org
+{
+namespace open_power
+{
+namespace Host
+{
+namespace _WatchdogTimedOut
+{
+
+
+} // namespace _WatchdogTimedOut
+
+struct WatchdogTimedOut
+{
+ static constexpr auto L = level::ERR;
+ using metadata_types = std::tuple<>;
+
+};
+
+} // namespace Host
+} // namespace open_power
+} // namespace org
+
+
+namespace details
+{
+
+template <>
+struct map_exception_type<sdbusplus::org::open_power::Host::Error::WatchdogTimedOut>
+{
+ using type = org::open_power::Host::WatchdogTimedOut;
+};
+
+}
+
+namespace example
+{
+namespace xyz
+{
+namespace openbmc_project
+{
+namespace Example
+{
+namespace Elog
+{
+namespace _TestErrorTwo
+{
+
+struct DEV_ADDR
+{
+ static constexpr auto str = "DEV_ADDR=0x%.8X";
+ static constexpr auto str_short = "DEV_ADDR";
+ using type = std::tuple<std::decay_t<decltype(str)>,uint32_t>;
+ explicit constexpr DEV_ADDR(uint32_t a) : _entry(entry(str, a)) {};
+ type _entry;
+};
+struct DEV_ID
+{
+ static constexpr auto str = "DEV_ID=%u";
+ static constexpr auto str_short = "DEV_ID";
+ using type = std::tuple<std::decay_t<decltype(str)>,uint32_t>;
+ explicit constexpr DEV_ID(uint32_t a) : _entry(entry(str, a)) {};
+ type _entry;
+};
+struct DEV_NAME
+{
+ static constexpr auto str = "DEV_NAME=%s";
+ static constexpr auto str_short = "DEV_NAME";
+ using type = std::tuple<std::decay_t<decltype(str)>,const char*>;
+ explicit constexpr DEV_NAME(const char* a) : _entry(entry(str, a)) {};
+ type _entry;
+};
+
+} // namespace _TestErrorTwo
+
+struct TestErrorTwo : public sdbusplus::exception_t
+{
+ static constexpr auto errName = "example.xyz.openbmc_project.Example.Elog.TestErrorTwo";
+ static constexpr auto errDesc = "This is test error two";
+ static constexpr auto L = level::ERR;
+ using DEV_ADDR = _TestErrorTwo::DEV_ADDR;
+ using DEV_ID = _TestErrorTwo::DEV_ID;
+ using DEV_NAME = _TestErrorTwo::DEV_NAME;
+ using metadata_types = std::tuple<DEV_ADDR, DEV_ID, DEV_NAME>;
+
+ const char* name() const noexcept
+ {
+ return errName;
+ }
+
+ const char* description() const noexcept
+ {
+ return errDesc;
+ }
+
+ const char* what() const noexcept
+ {
+ return errName;
+ }
+};
+
+} // namespace Elog
+} // namespace Example
+} // namespace openbmc_project
+} // namespace xyz
+} // namespace example
+
+
+
+namespace example
+{
+namespace xyz
+{
+namespace openbmc_project
+{
+namespace Example
+{
+namespace Elog
+{
+namespace _AutoTestSimple
+{
+
+struct STRING
+{
+ static constexpr auto str = "STRING=%s";
+ static constexpr auto str_short = "STRING";
+ using type = std::tuple<std::decay_t<decltype(str)>,const char*>;
+ explicit constexpr STRING(const char* a) : _entry(entry(str, a)) {};
+ type _entry;
+};
+
+} // namespace _AutoTestSimple
+
+struct AutoTestSimple : public sdbusplus::exception_t
+{
+ static constexpr auto errName = "example.xyz.openbmc_project.Example.Elog.AutoTestSimple";
+ static constexpr auto errDesc = "This is a simple test error.";
+ static constexpr auto L = level::ERR;
+ using STRING = _AutoTestSimple::STRING;
+ using metadata_types = std::tuple<STRING>;
+
+ const char* name() const noexcept
+ {
+ return errName;
+ }
+
+ const char* description() const noexcept
+ {
+ return errDesc;
+ }
+
+ const char* what() const noexcept
+ {
+ return errName;
+ }
+};
+
+} // namespace Elog
+} // namespace Example
+} // namespace openbmc_project
+} // namespace xyz
+} // namespace example
+
+
+
+namespace example
+{
+namespace xyz
+{
+namespace openbmc_project
+{
+namespace Example
+{
+namespace Elog
+{
+namespace _TestCallout
+{
+
+struct DEV_ADDR
+{
+ static constexpr auto str = "DEV_ADDR=0x%.8X";
+ static constexpr auto str_short = "DEV_ADDR";
+ using type = std::tuple<std::decay_t<decltype(str)>,uint32_t>;
+ explicit constexpr DEV_ADDR(uint32_t a) : _entry(entry(str, a)) {};
+ type _entry;
+};
+
+} // namespace _TestCallout
+
+struct TestCallout : public sdbusplus::exception_t
+{
+ static constexpr auto errName = "example.xyz.openbmc_project.Example.Elog.TestCallout";
+ static constexpr auto errDesc = "This is test error TestCallout";
+ static constexpr auto L = level::ERR;
+ using DEV_ADDR = _TestCallout::DEV_ADDR;
+ using CALLOUT_ERRNO_TEST = example::xyz::openbmc_project::Example::Device::Callout::CALLOUT_ERRNO_TEST;
+ using CALLOUT_DEVICE_PATH_TEST = example::xyz::openbmc_project::Example::Device::Callout::CALLOUT_DEVICE_PATH_TEST;
+ using metadata_types = std::tuple<DEV_ADDR, CALLOUT_ERRNO_TEST, CALLOUT_DEVICE_PATH_TEST>;
+
+ const char* name() const noexcept
+ {
+ return errName;
+ }
+
+ const char* description() const noexcept
+ {
+ return errDesc;
+ }
+
+ const char* what() const noexcept
+ {
+ return errName;
+ }
+};
+
+} // namespace Elog
+} // namespace Example
+} // namespace openbmc_project
+} // namespace xyz
+} // namespace example
+
+
+
+namespace org
+{
+namespace open_power
+{
+namespace Host
+{
+namespace Event
+{
+namespace _Event
+{
+
+struct ESEL
+{
+ static constexpr auto str = "ESEL=%s";
+ static constexpr auto str_short = "ESEL";
+ using type = std::tuple<std::decay_t<decltype(str)>,const char*>;
+ explicit constexpr ESEL(const char* a) : _entry(entry(str, a)) {};
+ type _entry;
+};
+
+} // namespace _Event
+
+struct Event
+{
+ static constexpr auto L = level::ERR;
+ using ESEL = _Event::ESEL;
+ using CALLOUT_INVENTORY_PATH = xyz::openbmc_project::Common::Callout::Inventory::CALLOUT_INVENTORY_PATH;
+ using metadata_types = std::tuple<ESEL, CALLOUT_INVENTORY_PATH>;
+
+};
+
+} // namespace Event
+} // namespace Host
+} // namespace open_power
+} // namespace org
+
+
+namespace details
+{
+
+template <>
+struct map_exception_type<sdbusplus::org::open_power::Host::Event::Error::Event>
+{
+ using type = org::open_power::Host::Event::Event;
+};
+
+}
+
+namespace xyz
+{
+namespace openbmc_project
+{
+namespace Control
+{
+namespace Device
+{
+namespace _WriteFailure
+{
+
+
+} // namespace _WriteFailure
+
+struct WriteFailure
+{
+ static constexpr auto L = level::ERR;
+ using CALLOUT_ERRNO = xyz::openbmc_project::Common::Callout::Device::CALLOUT_ERRNO;
+ using CALLOUT_DEVICE_PATH = xyz::openbmc_project::Common::Callout::Device::CALLOUT_DEVICE_PATH;
+ using metadata_types = std::tuple<CALLOUT_ERRNO, CALLOUT_DEVICE_PATH>;
+
+};
+
+} // namespace Device
+} // namespace Control
+} // namespace openbmc_project
+} // namespace xyz
+
+
+namespace details
+{
+
+template <>
+struct map_exception_type<sdbusplus::xyz::openbmc_project::Control::Device::Error::WriteFailure>
+{
+ using type = xyz::openbmc_project::Control::Device::WriteFailure;
+};
+
+}
+
+namespace xyz
+{
+namespace openbmc_project
+{
+namespace Common
+{
+namespace File
+{
+namespace _Open
+{
+
+struct ERRNO
+{
+ static constexpr auto str = "ERRNO=%d";
+ static constexpr auto str_short = "ERRNO";
+ using type = std::tuple<std::decay_t<decltype(str)>,int32_t>;
+ explicit constexpr ERRNO(int32_t a) : _entry(entry(str, a)) {};
+ type _entry;
+};
+struct PATH
+{
+ static constexpr auto str = "PATH=%s";
+ static constexpr auto str_short = "PATH";
+ using type = std::tuple<std::decay_t<decltype(str)>,const char*>;
+ explicit constexpr PATH(const char* a) : _entry(entry(str, a)) {};
+ type _entry;
+};
+
+} // namespace _Open
+
+struct Open
+{
+ static constexpr auto L = level::ERR;
+ using ERRNO = _Open::ERRNO;
+ using PATH = _Open::PATH;
+ using metadata_types = std::tuple<ERRNO, PATH>;
+
+};
+
+} // namespace File
+} // namespace Common
+} // namespace openbmc_project
+} // namespace xyz
+
+
+namespace details
+{
+
+template <>
+struct map_exception_type<sdbusplus::xyz::openbmc_project::Common::File::Error::Open>
+{
+ using type = xyz::openbmc_project::Common::File::Open;
+};
+
+}
+
+namespace xyz
+{
+namespace openbmc_project
+{
+namespace Common
+{
+namespace File
+{
+namespace _Seek
+{
+
+struct OFFSET
+{
+ static constexpr auto str = "OFFSET=%ll";
+ static constexpr auto str_short = "OFFSET";
+ using type = std::tuple<std::decay_t<decltype(str)>,int64_t>;
+ explicit constexpr OFFSET(int64_t a) : _entry(entry(str, a)) {};
+ type _entry;
+};
+struct WHENCE
+{
+ static constexpr auto str = "WHENCE=%d";
+ static constexpr auto str_short = "WHENCE";
+ using type = std::tuple<std::decay_t<decltype(str)>,int32_t>;
+ explicit constexpr WHENCE(int32_t a) : _entry(entry(str, a)) {};
+ type _entry;
+};
+struct ERRNO
+{
+ static constexpr auto str = "ERRNO=%d";
+ static constexpr auto str_short = "ERRNO";
+ using type = std::tuple<std::decay_t<decltype(str)>,int32_t>;
+ explicit constexpr ERRNO(int32_t a) : _entry(entry(str, a)) {};
+ type _entry;
+};
+struct PATH
+{
+ static constexpr auto str = "PATH=%s";
+ static constexpr auto str_short = "PATH";
+ using type = std::tuple<std::decay_t<decltype(str)>,const char*>;
+ explicit constexpr PATH(const char* a) : _entry(entry(str, a)) {};
+ type _entry;
+};
+
+} // namespace _Seek
+
+struct Seek
+{
+ static constexpr auto L = level::ERR;
+ using OFFSET = _Seek::OFFSET;
+ using WHENCE = _Seek::WHENCE;
+ using ERRNO = _Seek::ERRNO;
+ using PATH = _Seek::PATH;
+ using metadata_types = std::tuple<OFFSET, WHENCE, ERRNO, PATH>;
+
+};
+
+} // namespace File
+} // namespace Common
+} // namespace openbmc_project
+} // namespace xyz
+
+
+namespace details
+{
+
+template <>
+struct map_exception_type<sdbusplus::xyz::openbmc_project::Common::File::Error::Seek>
+{
+ using type = xyz::openbmc_project::Common::File::Seek;
+};
+
+}
+
+namespace xyz
+{
+namespace openbmc_project
+{
+namespace Common
+{
+namespace File
+{
+namespace _Write
+{
+
+struct ERRNO
+{
+ static constexpr auto str = "ERRNO=%d";
+ static constexpr auto str_short = "ERRNO";
+ using type = std::tuple<std::decay_t<decltype(str)>,int32_t>;
+ explicit constexpr ERRNO(int32_t a) : _entry(entry(str, a)) {};
+ type _entry;
+};
+struct PATH
+{
+ static constexpr auto str = "PATH=%s";
+ static constexpr auto str_short = "PATH";
+ using type = std::tuple<std::decay_t<decltype(str)>,const char*>;
+ explicit constexpr PATH(const char* a) : _entry(entry(str, a)) {};
+ type _entry;
+};
+
+} // namespace _Write
+
+struct Write
+{
+ static constexpr auto L = level::ERR;
+ using ERRNO = _Write::ERRNO;
+ using PATH = _Write::PATH;
+ using metadata_types = std::tuple<ERRNO, PATH>;
+
+};
+
+} // namespace File
+} // namespace Common
+} // namespace openbmc_project
+} // namespace xyz
+
+
+namespace details
+{
+
+template <>
+struct map_exception_type<sdbusplus::xyz::openbmc_project::Common::File::Error::Write>
+{
+ using type = xyz::openbmc_project::Common::File::Write;
+};
+
+}
+
+namespace org
+{
+namespace open_power
+{
+namespace Host
+{
+namespace Access
+{
+namespace _WriteCFAM
+{
+
+struct ADDRESS
+{
+ static constexpr auto str = "ADDRESS=0x%X";
+ static constexpr auto str_short = "ADDRESS";
+ using type = std::tuple<std::decay_t<decltype(str)>,uint32_t>;
+ explicit constexpr ADDRESS(uint32_t a) : _entry(entry(str, a)) {};
+ type _entry;
+};
+
+} // namespace _WriteCFAM
+
+struct WriteCFAM
+{
+ static constexpr auto L = level::ERR;
+ using ADDRESS = _WriteCFAM::ADDRESS;
+ using CALLOUT_ERRNO = xyz::openbmc_project::Common::Callout::Device::CALLOUT_ERRNO;
+ using CALLOUT_DEVICE_PATH = xyz::openbmc_project::Common::Callout::Device::CALLOUT_DEVICE_PATH;
+ using metadata_types = std::tuple<ADDRESS, CALLOUT_ERRNO, CALLOUT_DEVICE_PATH>;
+
+};
+
+} // namespace Access
+} // namespace Host
+} // namespace open_power
+} // namespace org
+
+
+namespace details
+{
+
+template <>
+struct map_exception_type<sdbusplus::org::open_power::Host::Access::Error::WriteCFAM>
+{
+ using type = org::open_power::Host::Access::WriteCFAM;
+};
+
+}
+
+namespace org
+{
+namespace open_power
+{
+namespace Host
+{
+namespace Access
+{
+namespace _ReadCFAM
+{
+
+struct ADDRESS
+{
+ static constexpr auto str = "ADDRESS=0x%X";
+ static constexpr auto str_short = "ADDRESS";
+ using type = std::tuple<std::decay_t<decltype(str)>,uint32_t>;
+ explicit constexpr ADDRESS(uint32_t a) : _entry(entry(str, a)) {};
+ type _entry;
+};
+
+} // namespace _ReadCFAM
+
+struct ReadCFAM
+{
+ static constexpr auto L = level::ERR;
+ using ADDRESS = _ReadCFAM::ADDRESS;
+ using CALLOUT_ERRNO = xyz::openbmc_project::Common::Callout::Device::CALLOUT_ERRNO;
+ using CALLOUT_DEVICE_PATH = xyz::openbmc_project::Common::Callout::Device::CALLOUT_DEVICE_PATH;
+ using metadata_types = std::tuple<ADDRESS, CALLOUT_ERRNO, CALLOUT_DEVICE_PATH>;
+
+};
+
+} // namespace Access
+} // namespace Host
+} // namespace open_power
+} // namespace org
+
+
+namespace details
+{
+
+template <>
+struct map_exception_type<sdbusplus::org::open_power::Host::Access::Error::ReadCFAM>
+{
+ using type = org::open_power::Host::Access::ReadCFAM;
+};
+
+}
+
+namespace xyz
+{
+namespace openbmc_project
+{
+namespace State
+{
+namespace Host
+{
+namespace _SoftOffTimeout
+{
+
+
+} // namespace _SoftOffTimeout
+
+struct SoftOffTimeout
+{
+ static constexpr auto L = level::ERR;
+ using TIMEOUT_IN_MSEC = xyz::openbmc_project::Common::Timeout::TIMEOUT_IN_MSEC;
+ using metadata_types = std::tuple<TIMEOUT_IN_MSEC>;
+
+};
+
+} // namespace Host
+} // namespace State
+} // namespace openbmc_project
+} // namespace xyz
+
+
+namespace details
+{
+
+template <>
+struct map_exception_type<sdbusplus::xyz::openbmc_project::State::Host::Error::SoftOffTimeout>
+{
+ using type = xyz::openbmc_project::State::Host::SoftOffTimeout;
+};
+
+}
+
+namespace xyz
+{
+namespace openbmc_project
+{
+namespace Dump
+{
+namespace Create
+{
+namespace _Disabled
+{
+
+
+} // namespace _Disabled
+
+struct Disabled
+{
+ static constexpr auto L = level::ERR;
+ using metadata_types = std::tuple<>;
+
+};
+
+} // namespace Create
+} // namespace Dump
+} // namespace openbmc_project
+} // namespace xyz
+
+
+namespace details
+{
+
+template <>
+struct map_exception_type<sdbusplus::xyz::openbmc_project::Dump::Create::Error::Disabled>
+{
+ using type = xyz::openbmc_project::Dump::Create::Disabled;
+};
+
+}
+
+namespace xyz
+{
+namespace openbmc_project
+{
+namespace Dump
+{
+namespace Create
+{
+namespace _QuotaExceeded
+{
+
+struct REASON
+{
+ static constexpr auto str = "REASON = %s";
+ static constexpr auto str_short = "REASON ";
+ using type = std::tuple<std::decay_t<decltype(str)>,const char*>;
+ explicit constexpr REASON (const char* a) : _entry(entry(str, a)) {};
+ type _entry;
+};
+
+} // namespace _QuotaExceeded
+
+struct QuotaExceeded
+{
+ static constexpr auto L = level::ERR;
+ using REASON = _QuotaExceeded::REASON ;
+ using metadata_types = std::tuple<REASON >;
+
+};
+
+} // namespace Create
+} // namespace Dump
+} // namespace openbmc_project
+} // namespace xyz
+
+
+namespace details
+{
+
+template <>
+struct map_exception_type<sdbusplus::xyz::openbmc_project::Dump::Create::Error::QuotaExceeded>
+{
+ using type = xyz::openbmc_project::Dump::Create::QuotaExceeded;
+};
+
+}
+
+namespace xyz
+{
+namespace openbmc_project
+{
+namespace Control
+{
+namespace Host
+{
+namespace _CommandNotSupported
+{
+
+
+} // namespace _CommandNotSupported
+
+struct CommandNotSupported
+{
+ static constexpr auto L = level::ERR;
+ using metadata_types = std::tuple<>;
+
+};
+
+} // namespace Host
+} // namespace Control
+} // namespace openbmc_project
+} // namespace xyz
+
+
+namespace details
+{
+
+template <>
+struct map_exception_type<sdbusplus::xyz::openbmc_project::Control::Host::Error::CommandNotSupported>
+{
+ using type = xyz::openbmc_project::Control::Host::CommandNotSupported;
+};
+
+}
+
+namespace example
+{
+namespace xyz
+{
+namespace openbmc_project
+{
+namespace Example
+{
+namespace Elog
+{
+namespace _TestErrorOne
+{
+
+struct ERRNUM
+{
+ static constexpr auto str = "ERRNUM=0x%.4X";
+ static constexpr auto str_short = "ERRNUM";
+ using type = std::tuple<std::decay_t<decltype(str)>,uint16_t>;
+ explicit constexpr ERRNUM(uint16_t a) : _entry(entry(str, a)) {};
+ type _entry;
+};
+struct FILE_PATH
+{
+ static constexpr auto str = "FILE_PATH=%s";
+ static constexpr auto str_short = "FILE_PATH";
+ using type = std::tuple<std::decay_t<decltype(str)>,const char*>;
+ explicit constexpr FILE_PATH(const char* a) : _entry(entry(str, a)) {};
+ type _entry;
+};
+struct FILE_NAME
+{
+ static constexpr auto str = "FILE_NAME=%s";
+ static constexpr auto str_short = "FILE_NAME";
+ using type = std::tuple<std::decay_t<decltype(str)>,const char*>;
+ explicit constexpr FILE_NAME(const char* a) : _entry(entry(str, a)) {};
+ type _entry;
+};
+
+} // namespace _TestErrorOne
+
+struct TestErrorOne : public sdbusplus::exception_t
+{
+ static constexpr auto errName = "example.xyz.openbmc_project.Example.Elog.TestErrorOne";
+ static constexpr auto errDesc = "this is test error one";
+ static constexpr auto L = level::INFO;
+ using ERRNUM = _TestErrorOne::ERRNUM;
+ using FILE_PATH = _TestErrorOne::FILE_PATH;
+ using FILE_NAME = _TestErrorOne::FILE_NAME;
+ using DEV_ADDR = example::xyz::openbmc_project::Example::Elog::TestErrorTwo::DEV_ADDR;
+ using DEV_ID = example::xyz::openbmc_project::Example::Elog::TestErrorTwo::DEV_ID;
+ using DEV_NAME = example::xyz::openbmc_project::Example::Elog::TestErrorTwo::DEV_NAME;
+ using metadata_types = std::tuple<ERRNUM, FILE_PATH, FILE_NAME, DEV_ADDR, DEV_ID, DEV_NAME>;
+
+ const char* name() const noexcept
+ {
+ return errName;
+ }
+
+ const char* description() const noexcept
+ {
+ return errDesc;
+ }
+
+ const char* what() const noexcept
+ {
+ return errName;
+ }
+};
+
+} // namespace Elog
+} // namespace Example
+} // namespace openbmc_project
+} // namespace xyz
+} // namespace example
+
+
+
+namespace example
+{
+namespace xyz
+{
+namespace openbmc_project
+{
+namespace Example
+{
+namespace Foo
+{
+namespace _Foo
+{
+
+struct FOO_DATA
+{
+ static constexpr auto str = "FOO_DATA=%s";
+ static constexpr auto str_short = "FOO_DATA";
+ using type = std::tuple<std::decay_t<decltype(str)>,const char*>;
+ explicit constexpr FOO_DATA(const char* a) : _entry(entry(str, a)) {};
+ type _entry;
+};
+
+} // namespace _Foo
+
+struct Foo : public sdbusplus::exception_t
+{
+ static constexpr auto errName = "example.xyz.openbmc_project.Example.Foo.Foo";
+ static constexpr auto errDesc = "this is test error Foo";
+ static constexpr auto L = level::INFO;
+ using FOO_DATA = _Foo::FOO_DATA;
+ using ERRNUM = example::xyz::openbmc_project::Example::Elog::TestErrorOne::ERRNUM;
+ using FILE_PATH = example::xyz::openbmc_project::Example::Elog::TestErrorOne::FILE_PATH;
+ using FILE_NAME = example::xyz::openbmc_project::Example::Elog::TestErrorOne::FILE_NAME;
+ using DEV_ADDR = example::xyz::openbmc_project::Example::Elog::TestErrorTwo::DEV_ADDR;
+ using DEV_ID = example::xyz::openbmc_project::Example::Elog::TestErrorTwo::DEV_ID;
+ using DEV_NAME = example::xyz::openbmc_project::Example::Elog::TestErrorTwo::DEV_NAME;
+ using metadata_types = std::tuple<FOO_DATA, ERRNUM, FILE_PATH, FILE_NAME, DEV_ADDR, DEV_ID, DEV_NAME>;
+
+ const char* name() const noexcept
+ {
+ return errName;
+ }
+
+ const char* description() const noexcept
+ {
+ return errDesc;
+ }
+
+ const char* what() const noexcept
+ {
+ return errName;
+ }
+};
+
+} // namespace Foo
+} // namespace Example
+} // namespace openbmc_project
+} // namespace xyz
+} // namespace example
+
+
+
+namespace example
+{
+namespace xyz
+{
+namespace openbmc_project
+{
+namespace Example
+{
+namespace Bar
+{
+namespace _Bar
+{
+
+struct BAR_DATA
+{
+ static constexpr auto str = "BAR_DATA=%s";
+ static constexpr auto str_short = "BAR_DATA";
+ using type = std::tuple<std::decay_t<decltype(str)>,const char*>;
+ explicit constexpr BAR_DATA(const char* a) : _entry(entry(str, a)) {};
+ type _entry;
+};
+
+} // namespace _Bar
+
+struct Bar : public sdbusplus::exception_t
+{
+ static constexpr auto errName = "example.xyz.openbmc_project.Example.Bar.Bar";
+ static constexpr auto errDesc = "this is test error Bar";
+ static constexpr auto L = level::INFO;
+ using BAR_DATA = _Bar::BAR_DATA;
+ using FOO_DATA = example::xyz::openbmc_project::Example::Foo::Foo::FOO_DATA;
+ using ERRNUM = example::xyz::openbmc_project::Example::Elog::TestErrorOne::ERRNUM;
+ using FILE_PATH = example::xyz::openbmc_project::Example::Elog::TestErrorOne::FILE_PATH;
+ using FILE_NAME = example::xyz::openbmc_project::Example::Elog::TestErrorOne::FILE_NAME;
+ using DEV_ADDR = example::xyz::openbmc_project::Example::Elog::TestErrorTwo::DEV_ADDR;
+ using DEV_ID = example::xyz::openbmc_project::Example::Elog::TestErrorTwo::DEV_ID;
+ using DEV_NAME = example::xyz::openbmc_project::Example::Elog::TestErrorTwo::DEV_NAME;
+ using metadata_types = std::tuple<BAR_DATA, FOO_DATA, ERRNUM, FILE_PATH, FILE_NAME, DEV_ADDR, DEV_ID, DEV_NAME>;
+
+ const char* name() const noexcept
+ {
+ return errName;
+ }
+
+ const char* description() const noexcept
+ {
+ return errDesc;
+ }
+
+ const char* what() const noexcept
+ {
+ return errName;
+ }
+};
+
+} // namespace Bar
+} // namespace Example
+} // namespace openbmc_project
+} // namespace xyz
+} // namespace example
+
+
+
+
+} // namespace logging
+
+} // namespace phosphor
diff --git a/error-HostEvent.hpp b/error-HostEvent.hpp
new file mode 100644
index 0000000..f8abf21
--- /dev/null
+++ b/error-HostEvent.hpp
@@ -0,0 +1,37 @@
+#pragma once
+
+#include <sdbusplus/exception.hpp>
+
+namespace sdbusplus
+{
+namespace org
+{
+namespace open_power
+{
+namespace Host
+{
+namespace Event
+{
+namespace Error
+{
+
+struct Event final : public sdbusplus::exception_t
+{
+ static constexpr auto errName = "org.open_power.Host.Event.Error.Event";
+ static constexpr auto errDesc =
+ "A host system event was received";
+ static constexpr auto errWhat =
+ "org.open_power.Host.Event.Error.Event: A host system event was received";
+
+ const char* name() const noexcept override;
+ const char* description() const noexcept override;
+ const char* what() const noexcept override;
+};
+
+} // namespace Error
+} // namespace Event
+} // namespace Host
+} // namespace open_power
+} // namespace org
+} // namespace sdbusplus
+
diff --git a/storageaddsel.cpp b/storageaddsel.cpp
index 9cebf9e..bd48edc 100644
--- a/storageaddsel.cpp
+++ b/storageaddsel.cpp
@@ -9,14 +9,17 @@
#include <systemd/sd-bus.h>
#include <mapper.h>
#include <phosphor-logging/elog.hpp>
-#include <phosphor-logging/elog-errors-HostEvent.hpp>
#include "host-ipmid/ipmid-api.h"
+#include "elog-errors.hpp"
+#include "error-HostEvent.hpp"
#include "sensorhandler.h"
#include "storagehandler.h"
+#include "types.hpp"
using namespace std;
using namespace phosphor::logging;
+extern const ipmi::sensor::InvObjectIDMap invSensors;
//////////////////////////
struct esel_section_headers_t {
@@ -130,25 +133,29 @@ const char *create_esel_severity(const uint8_t *buffer) {
return sev_lookup(severity);
}
-int create_esel_association(const uint8_t *buffer, char **m) {
-
+int create_esel_association(const uint8_t *buffer, std::string& inventoryPath)
+{
ipmi_add_sel_request_t *p;
- dbus_interface_t dbusint;
uint8_t sensor;
p = ( ipmi_add_sel_request_t *) buffer;
sensor = p->sensornumber;
- find_openbmc_path(sensor, &dbusint);
-
- // Simply no associations if the sensor can not be found
- if (strlen(dbusint.path) < 1) {
- printf("Sensor 0x%x not found\n", sensor);
- memset(dbusint.path,0,sizeof(dbusint.path));
- }
+ inventoryPath = {};
- *m = strdup(dbusint.path);
+ /*
+ * Search the sensor number to inventory path mapping to figure out the
+ * inventory associated with the ESEL.
+ */
+ for (auto const &iter : invSensors)
+ {
+ if (iter.second.sensorID == sensor)
+ {
+ inventoryPath = iter.first;
+ break;
+ }
+ }
return 0;
}
@@ -178,7 +185,12 @@ int create_esel_description(const uint8_t *buffer, const char *sev, char **messa
}
-int send_esel_to_dbus(const char *desc, const char *sev, const char *details, uint8_t *debug, size_t debuglen) {
+int send_esel_to_dbus(const char *desc,
+ const char *sev,
+ const std::string& inventoryPath,
+ uint8_t *debug,
+ size_t debuglen)
+{
// Allocate enough space to represent the data in hex separated by spaces,
// to mimic how IPMI would display the data.
@@ -190,20 +202,24 @@ int send_esel_to_dbus(const char *desc, const char *sev, const char *details, ui
}
selData[debuglen*3] = '\0';
- using error = org::open_power::Error::Host::Event;
- report<error>(error::ESEL(selData.get()));
+ using error = sdbusplus::org::open_power::Host::Event::Error::Event;
+ using metadata = org::open_power::Host::Event::Event;
+
+ report<error>(metadata::ESEL(selData.get()),
+ metadata::CALLOUT_INVENTORY_PATH(inventoryPath.c_str()));
return 0;
}
void send_esel(uint16_t recordid) {
- char *desc, *assoc;
+ char *desc;
const char *sev;
uint8_t *buffer = NULL;
const char *path = "/tmp/esel";
ssize_t sz;
int r;
+ std::string inventoryPath;
sz = getfilestream(path, &buffer);
if (sz == 0) {
@@ -212,15 +228,14 @@ void send_esel(uint16_t recordid) {
}
sev = create_esel_severity(buffer);
- create_esel_association(buffer, &assoc);
+ create_esel_association(buffer, inventoryPath);
create_esel_description(buffer, sev, &desc);
- r = send_esel_to_dbus(desc, sev, assoc, buffer, sz);
+ r = send_esel_to_dbus(desc, sev, inventoryPath, buffer, sz);
if (r < 0) {
fprintf(stderr, "Failed to send esel to dbus\n");
}
- free(assoc);
free(desc);
delete[] buffer;
OpenPOWER on IntegriCloud