#pragma once #include #include #include #include #include "sensorhandler.h" namespace ipmi { using DbusObjectPath = std::string; using DbusService = std::string; using DbusInterface = std::string; using DbusObjectInfo = std::pair; using DbusProperty = std::string; using Value = sdbusplus::message::variant; using PropertyMap = std::map; using ObjectTree = std::map>>; namespace sensor { using Offset = uint8_t; using Value = ipmi::Value; struct Values { Value assert; Value deassert; }; using OffsetValueMap = std::map; using DbusProperty = ipmi::DbusProperty; using DbusPropertyMap = std::map; using DbusInterface = ipmi::DbusInterface; using DbusInterfaceMap = std::map; using InstancePath = std::string; using Type = uint8_t; using ReadingType = uint8_t; using Multiplier = uint16_t; using OffsetB = uint16_t; using Exponent = uint8_t; using ScaledOffset = int64_t; struct Info { Type sensorType; InstancePath sensorPath; ReadingType sensorReadingType; Multiplier coefficientM; OffsetB coefficientB; Exponent exponentB; ScaledOffset scaledOffset; std::function updateFunc; DbusInterfaceMap sensorInterfaces; }; using Id = uint8_t; using IdInfoMap = std::map; using PropertyMap = ipmi::PropertyMap; using InterfaceMap = std::map; using Object = sdbusplus::message::object_path; using ObjectMap = std::map; using IpmiUpdateData = sdbusplus::message::message; struct SelData { Id sensorID; Type sensorType; ReadingType eventReadingType; Offset eventOffset; }; using InventoryPath = std::string; using InvObjectIDMap = std::map; }// namespace sensor namespace network { constexpr auto MAC_ADDRESS_FORMAT = "%02hhx:%02hhx:%02hhx:%02hhx:%02hhx:%02hhx"; constexpr auto IP_ADDRESS_FORMAT = "%u.%u.%u.%u"; constexpr auto PREFIX_FORMAT = "%hhd"; constexpr auto ADDR_TYPE_FORMAT = "%hhx"; constexpr auto IPV4_ADDRESS_SIZE_BYTE = 4; constexpr auto IPV6_ADDRESS_SIZE_BYTE = 16; constexpr auto DEFAULT_MAC_ADDRESS = "00:00:00:00:00:00"; constexpr auto DEFAULT_ADDRESS = "0.0.0.0"; constexpr auto MAC_ADDRESS_SIZE_BYTE = 6; constexpr auto VLAN_SIZE_BYTE = 2; constexpr auto BITS_32 = 32; constexpr auto MASK_32_BIT = 0xFFFFFFFF; constexpr auto VLAN_ID_MASK = 0x00000FFF; constexpr auto VLAN_ENABLE_MASK = 0x8000; }//namespace network }//namespace ipmi