17029e525SBen Tyner #pragma once 2135793a8SBen Tyner #include <cstdint> 37029e525SBen Tyner 47029e525SBen Tyner namespace attn 57029e525SBen Tyner { 67029e525SBen Tyner 77029e525SBen Tyner /** @brief Dump types supported by dump request */ 87029e525SBen Tyner enum class DumpType 97029e525SBen Tyner { 107029e525SBen Tyner Hostboot, 117f6ce6acSBen Tyner Hardware, 127f6ce6acSBen Tyner SBE 137029e525SBen Tyner }; 147029e525SBen Tyner 157029e525SBen Tyner /** @brief Structure for dump request parameters */ 167029e525SBen Tyner class DumpParameters 177029e525SBen Tyner { 187029e525SBen Tyner public: 197029e525SBen Tyner uint32_t unitId; 207029e525SBen Tyner DumpType dumpType; 217029e525SBen Tyner }; 227029e525SBen Tyner 237029e525SBen Tyner /** 247029e525SBen Tyner * Request a dump from the dump manager 257029e525SBen Tyner * 267029e525SBen Tyner * Request a dump from the dump manager and register a monitor for observing 277029e525SBen Tyner * the dump progress. 287029e525SBen Tyner * 29611b3442SZane Shelley * @param i_logId The platform log ID associated with the dump request. 307029e525SBen Tyner * @param dumpParameters Parameters for the dump request 317029e525SBen Tyner */ 32611b3442SZane Shelley void requestDump(uint32_t i_logId, const DumpParameters& dumpParameters); 337029e525SBen Tyner 34*a92dc027SDeepa Karthikeyan /** 35*a92dc027SDeepa Karthikeyan * Enable or disable host watchdog dbus property 36*a92dc027SDeepa Karthikeyan * 37*a92dc027SDeepa Karthikeyan * This property is used in enabling/ disabling host watchdog. 38*a92dc027SDeepa Karthikeyan * 39*a92dc027SDeepa Karthikeyan * @param enable Whether to enable (True) or disable (False) the watchdog 40*a92dc027SDeepa Karthikeyan */ 41*a92dc027SDeepa Karthikeyan void enableWatchdog(bool enable); 42*a92dc027SDeepa Karthikeyan 437029e525SBen Tyner } // namespace attn 44