blob: ca0587562a78fa70508ceceb81999bca00b1d803 [file] [log] [blame]
Matt Spinlerf1e85e22019-11-01 11:31:31 -05001#pragma once
2
3#include <cstdint>
4#include <tuple>
5
6namespace openpower
7{
8namespace pels
9{
10namespace 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 */
27std::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