1 #pragma once
2 
3 #include <ipmid/api.hpp>
4 
5 /** @brief The RESET watchdog IPMI command.
6  */
7 ipmi::RspType<> ipmiAppResetWatchdogTimer();
8 
9 /**@brief The setWatchdogTimer ipmi command.
10  *
11  * @param
12  * - timerUse
13  * - dontStopTimer
14  * - dontLog
15  * - timerAction
16  * - pretimeout
17  * - expireFlags
18  * - initialCountdown
19  *
20  * @return completion code on success.
21  **/
22 ipmi::RspType<> ipmiSetWatchdogTimer(
23     uint3_t timerUse, uint3_t reserved, bool dontStopTimer, bool dontLog,
24     uint3_t timeoutAction, uint1_t reserved1, uint3_t preTimeoutInterrupt,
25     uint1_t reserved2, uint8_t preTimeoutInterval, std::bitset<8> expFlagValue,
26     uint16_t initialCountdown);
27 
28 /**@brief The getWatchdogTimer ipmi command.
29  *
30  * @return
31  * - timerUse
32  * - timerActions
33  * - pretimeout
34  * - timeruseFlags
35  * - initialCountdown
36  * - presentCountdown
37  **/
38 ipmi::RspType<uint3_t, uint3_t, bool, bool,       // timerUse
39               uint3_t, uint1_t, uint3_t, uint1_t, // timerAction
40               uint8_t,                            // pretimeout
41               std::bitset<8>,                     // expireFlags
42               uint16_t, // initial Countdown - Little Endian (deciseconds)
43               uint16_t  // present Countdown - Little Endian (deciseconds)
44               >
45     ipmiGetWatchdogTimer();
46