blob: fa53ac7d8027552f79dafcc2898974f4acc3637a [file] [log] [blame]
William A. Kennington III61d5f7b2018-02-09 15:23:53 -08001#pragma once
Patrick Venture5e6ac712017-10-25 12:16:19 -07002
Vernon Mauerye08fbff2019-04-03 09:19:34 -07003#include <ipmid/api.hpp>
Patrick Venture5e6ac712017-10-25 12:16:19 -07004
5/** @brief The RESET watchdog IPMI command.
Patrick Venture5e6ac712017-10-25 12:16:19 -07006 */
Vernon Mauery11df4f62019-03-25 14:17:54 -07007ipmi::RspType<> ipmiAppResetWatchdogTimer();
Patrick Venture5e6ac712017-10-25 12:16:19 -07008
Deepak Kumar Sahucfae9482019-05-20 14:58:58 +00009/**@brief The setWatchdogTimer ipmi command.
William A. Kennington III61d5f7b2018-02-09 15:23:53 -080010 *
Deepak Kumar Sahucfae9482019-05-20 14:58:58 +000011 * @param
12 * - timerUse
13 * - dontStopTimer
14 * - dontLog
15 * - timerAction
16 * - pretimeout
17 * - expireFlags
18 * - initialCountdown
William A. Kennington III61d5f7b2018-02-09 15:23:53 -080019 *
Deepak Kumar Sahucfae9482019-05-20 14:58:58 +000020 * @return completion code on success.
21 **/
22ipmi::RspType<> ipmiSetWatchdogTimer(
23 uint3_t timerUse, uint3_t reserved, bool dontStopTimer, bool dontLog,
24 uint3_t timeoutAction, uint1_t reserved1, uint3_t preTimeoutInterrupt,
Yong Lia729bf42019-10-14 12:42:10 +080025 uint1_t reserved2, uint8_t preTimeoutInterval, std::bitset<8> expFlagValue,
26 uint16_t initialCountdown);
William A. Kennington III73f44512018-02-09 15:28:46 -080027
Deepak Kumar Sahucfae9482019-05-20 14:58:58 +000028/**@brief The getWatchdogTimer ipmi command.
William A. Kennington III73f44512018-02-09 15:28:46 -080029 *
Deepak Kumar Sahucfae9482019-05-20 14:58:58 +000030 * @return
31 * - timerUse
32 * - timerActions
33 * - pretimeout
34 * - timeruseFlags
35 * - initialCountdown
36 * - presentCountdown
37 **/
Yong Li4dd71af2019-09-29 14:18:07 +080038ipmi::RspType<uint3_t, uint3_t, bool, bool, // timerUse
39 uint3_t, uint1_t, uint3_t, uint1_t, // timerAction
40 uint8_t, // pretimeout
Yong Lia729bf42019-10-14 12:42:10 +080041 std::bitset<8>, // expireFlags
Deepak Kumar Sahucfae9482019-05-20 14:58:58 +000042 uint16_t, // initial Countdown - Little Endian (deciseconds)
43 uint16_t // present Countdown - Little Endian (deciseconds)
44 >
45 ipmiGetWatchdogTimer();