1 #pragma once
2 
3 #include <cstdint>
4 #include <tuple>
5 
6 namespace openpower
7 {
8 namespace pels
9 {
10 namespace pel_rules
11 {
12 
13 /**
14  * @brief Ensure certain PEL fields are in agreement, and fix them if they
15  *        aren't.  These rules are documented in the README.md in this
16  *        directory.
17  *
18  * Note: The message registry schema enforces that there are no undefined
19  *       bits set in these fields.
20  *
21  * @param[in] actionFlags - The current Action Flags value
22  * @param[in] eventType - The current Event Type value
23  * @param[in] severity - The current Severity value
24  *
25  * @return std::tuple<actionFlags, eventType> - The corrected values.
26  */
27 std::tuple<uint16_t, uint8_t> check(uint16_t actionFlags, uint8_t eventType,
28                                     uint8_t severity);
29 
30 } // namespace pel_rules
31 } // namespace pels
32 } // namespace openpower
33