19e905375SDhruvaraj Subhashchandran #pragma once 29e905375SDhruvaraj Subhashchandran 39e905375SDhruvaraj Subhashchandran #include "dump_utils.hpp" 49e905375SDhruvaraj Subhashchandran 59e905375SDhruvaraj Subhashchandran namespace openpower 69e905375SDhruvaraj Subhashchandran { 79e905375SDhruvaraj Subhashchandran namespace dump 89e905375SDhruvaraj Subhashchandran { 99e905375SDhruvaraj Subhashchandran namespace util 109e905375SDhruvaraj Subhashchandran { 119e905375SDhruvaraj Subhashchandran 129e905375SDhruvaraj Subhashchandran /** @brief Check whether OpenPOWER dumps are enabled 139e905375SDhruvaraj Subhashchandran * 149e905375SDhruvaraj Subhashchandran * param[in] bus - D-Bus handle 159e905375SDhruvaraj Subhashchandran * 169e905375SDhruvaraj Subhashchandran * If the settings service is not running then considering as 179e905375SDhruvaraj Subhashchandran * the dumps are enabled. 189e905375SDhruvaraj Subhashchandran * @return true - if dumps are enabled, false - if dumps are not enabled 199e905375SDhruvaraj Subhashchandran */ 20*8098ca6aSPatrick Williams bool isOPDumpsEnabled(sdbusplus::bus_t& bus); 219e905375SDhruvaraj Subhashchandran 221ddb006bSDhruvaraj Subhashchandran using BIOSAttrValueType = std::variant<int64_t, std::string>; 231ddb006bSDhruvaraj Subhashchandran 241ddb006bSDhruvaraj Subhashchandran /** @brief Read a BIOS attribute value 251ddb006bSDhruvaraj Subhashchandran * 261ddb006bSDhruvaraj Subhashchandran * @param[in] attrName - Name of the BIOS attribute 271ddb006bSDhruvaraj Subhashchandran * @param[in] bus - D-Bus handle 281ddb006bSDhruvaraj Subhashchandran * 291ddb006bSDhruvaraj Subhashchandran * @return The value of the BIOS attribute as a variant of possible types 301ddb006bSDhruvaraj Subhashchandran * 311ddb006bSDhruvaraj Subhashchandran * @throws sdbusplus::exception::SdBusError if failed to read the attribute 321ddb006bSDhruvaraj Subhashchandran */ 331ddb006bSDhruvaraj Subhashchandran BIOSAttrValueType readBIOSAttribute(const std::string& attrName, 34*8098ca6aSPatrick Williams sdbusplus::bus_t& bus); 351ddb006bSDhruvaraj Subhashchandran 361ddb006bSDhruvaraj Subhashchandran /** @brief Check whether a system is in progress or available to offload. 371ddb006bSDhruvaraj Subhashchandran * 381ddb006bSDhruvaraj Subhashchandran * @param[in] bus - D-Bus handle 391ddb006bSDhruvaraj Subhashchandran * 401ddb006bSDhruvaraj Subhashchandran * @return true - A dump is in progress or available to offload 411ddb006bSDhruvaraj Subhashchandran * false - No dump in progress 421ddb006bSDhruvaraj Subhashchandran */ 43*8098ca6aSPatrick Williams bool isSystemDumpInProgress(sdbusplus::bus_t& bus); 449e905375SDhruvaraj Subhashchandran } // namespace util 459e905375SDhruvaraj Subhashchandran } // namespace dump 469e905375SDhruvaraj Subhashchandran } // namespace openpower 47