blob: fa53ac7d8027552f79dafcc2898974f4acc3637a [file] [log] [blame]
#pragma once
#include <ipmid/api.hpp>
/** @brief The RESET watchdog IPMI command.
*/
ipmi::RspType<> ipmiAppResetWatchdogTimer();
/**@brief The setWatchdogTimer ipmi command.
*
* @param
* - timerUse
* - dontStopTimer
* - dontLog
* - timerAction
* - pretimeout
* - expireFlags
* - initialCountdown
*
* @return completion code on success.
**/
ipmi::RspType<> ipmiSetWatchdogTimer(
uint3_t timerUse, uint3_t reserved, bool dontStopTimer, bool dontLog,
uint3_t timeoutAction, uint1_t reserved1, uint3_t preTimeoutInterrupt,
uint1_t reserved2, uint8_t preTimeoutInterval, std::bitset<8> expFlagValue,
uint16_t initialCountdown);
/**@brief The getWatchdogTimer ipmi command.
*
* @return
* - timerUse
* - timerActions
* - pretimeout
* - timeruseFlags
* - initialCountdown
* - presentCountdown
**/
ipmi::RspType<uint3_t, uint3_t, bool, bool, // timerUse
uint3_t, uint1_t, uint3_t, uint1_t, // timerAction
uint8_t, // pretimeout
std::bitset<8>, // expireFlags
uint16_t, // initial Countdown - Little Endian (deciseconds)
uint16_t // present Countdown - Little Endian (deciseconds)
>
ipmiGetWatchdogTimer();