1 #include <unistd.h>
2 
3 #include <watchdog_dbus.hpp>
4 #include <watchdog_handler.hpp>
5 #include <watchdog_logging.hpp>
6 
7 namespace watchdog
8 {
9 namespace dump
10 {
11 
12 /**
13  * @brief Log an event handled by the dump handler
14  *
15  * @param additional - Additional PEL data
16  * @param timeout - timeout interval in seconds
17  */
18 void event(std::map<std::string, std::string>& additional,
19            const uint32_t timeout)
20 {
21 
22     std::string eventName = "org.open_power.Host.Boot.Error.WatchdogTimeout";
23 
24     // CreatePELWithFFDCFiles requires a vector of FFDCTuple.
25     auto emptyFfdc = std::vector<FFDCTuple>{};
26 
27     // Create PEL with additional data.
28     auto pelId = createPel(eventName, additional, emptyFfdc);
29 
30     requestDump(pelId, timeout); // will not return until dump is complete
31 }
32 
33 void eventWatchdogTimeout(const uint32_t timeout)
34 {
35     // Additional data to be added to PEL object
36     // Currently we don't have anything to add
37     // Keeping this for now in case if we have to add
38     // any data corresponding to watchdog timeout
39     std::map<std::string, std::string> additionalData;
40     event(additionalData, timeout);
41 }
42 
43 } // namespace dump
44 } // namespace watchdog
45