11ac6162dSShantappa Teekappanavar #pragma once 21ac6162dSShantappa Teekappanavar 31ac6162dSShantappa Teekappanavar #include <stdint.h> 41ac6162dSShantappa Teekappanavar 51ac6162dSShantappa Teekappanavar /** 6*41d507e5SShantappa Teekappanavar * @brief dump collection handler 71ac6162dSShantappa Teekappanavar * 81ac6162dSShantappa Teekappanavar * Handle collection due to host going down 91ac6162dSShantappa Teekappanavar */ 101ac6162dSShantappa Teekappanavar 111ac6162dSShantappa Teekappanavar namespace watchdog 121ac6162dSShantappa Teekappanavar { 131ac6162dSShantappa Teekappanavar namespace dump 141ac6162dSShantappa Teekappanavar { 151ac6162dSShantappa Teekappanavar 16*41d507e5SShantappa Teekappanavar /** @brief Dump types supported by dump request */ 17*41d507e5SShantappa Teekappanavar enum class DumpType 18*41d507e5SShantappa Teekappanavar { 19*41d507e5SShantappa Teekappanavar Hostboot, 20*41d507e5SShantappa Teekappanavar SBE 21*41d507e5SShantappa Teekappanavar }; 22*41d507e5SShantappa Teekappanavar 23*41d507e5SShantappa Teekappanavar /** @brief Structure for dump request parameters */ 24*41d507e5SShantappa Teekappanavar struct DumpParameters 25*41d507e5SShantappa Teekappanavar { 26*41d507e5SShantappa Teekappanavar uint32_t logId; 27*41d507e5SShantappa Teekappanavar uint32_t unitId; 28*41d507e5SShantappa Teekappanavar uint32_t timeout; 29*41d507e5SShantappa Teekappanavar DumpType dumpType; 30*41d507e5SShantappa Teekappanavar }; 31*41d507e5SShantappa Teekappanavar 32*41d507e5SShantappa Teekappanavar /** @brief Dump progress states */ 33*41d507e5SShantappa Teekappanavar enum class DumpProgressStatus 34*41d507e5SShantappa Teekappanavar { 35*41d507e5SShantappa Teekappanavar InProgress, 36*41d507e5SShantappa Teekappanavar Completed, 37*41d507e5SShantappa Teekappanavar Failed 38*41d507e5SShantappa Teekappanavar }; 39*41d507e5SShantappa Teekappanavar 401ac6162dSShantappa Teekappanavar /** 411ac6162dSShantappa Teekappanavar * @brief Request a dump from the dump manager 421ac6162dSShantappa Teekappanavar * 431ac6162dSShantappa Teekappanavar * Request a dump from the dump manager and register a monitor for observing 441ac6162dSShantappa Teekappanavar * the dump progress. 451ac6162dSShantappa Teekappanavar * 46*41d507e5SShantappa Teekappanavar * @param dumpParameters - parameters for the dump request 471ac6162dSShantappa Teekappanavar * 481ac6162dSShantappa Teekappanavar */ 49*41d507e5SShantappa Teekappanavar void requestDump(const DumpParameters&); 501ac6162dSShantappa Teekappanavar 511ac6162dSShantappa Teekappanavar } // namespace dump 521ac6162dSShantappa Teekappanavar } // namespace watchdog 53