xref: /openbmc/bmcweb/redfish-core/include/registries/platform_message_registry.hpp (revision 4a102cd48c588d32c0a4d6610b4a9ed616f255f3)
1 // SPDX-License-Identifier: Apache-2.0
2 // SPDX-FileCopyrightText: Copyright OpenBMC Authors
3 #pragma once
4 /****************************************************************
5  *                 READ THIS WARNING FIRST
6  * This is an auto-generated header which contains definitions
7  * for Redfish DMTF defined messages.
8  * DO NOT modify this registry outside of running the
9  * parse_registries.py script.  The definitions contained within
10  * this file are owned by DMTF.  Any modifications to these files
11  * should be first pushed to the relevant registry in the DMTF
12  * github organization.
13  ***************************************************************/
14 #include "registries.hpp"
15 
16 #include <array>
17 
18 // clang-format off
19 
20 namespace redfish::registries
21 {
22 struct Platform
23 {
24 static constexpr Header header = {
25     "Copyright 2023 DMTF. All rights reserved.",
26     "#MessageRegistry.v1_6_2.MessageRegistry",
27     1,
28     0,
29     1,
30     "Compute Platform Message Registry",
31     "en",
32     "This registry defines messages for compute platforms, covering topics related to processor, memory, and I/O device connectivity.",
33     "Platform",
34     "DMTF",
35 };
36 
37 static constexpr const char* url =
38     "https://redfish.dmtf.org/registries/Platform.1.0.1.json";
39 
40 static constexpr std::array registry =
41 {
42     MessageEntry{
43         "OperatingSystemCrash",
44         {
45             "Indicates the operating system was halted due to a catastrophic error.",
46             "An operating system crash occurred.",
47             "Critical",
48             0,
49             {},
50             "Check additional diagnostic data if available.",
51         }},
52     MessageEntry{
53         "PlatformError",
54         {
55             "Indicates that a platform error occurred.",
56             "A platform error occurred.",
57             "Warning",
58             0,
59             {},
60             "Check additional diagnostic data if available.",
61         }},
62     MessageEntry{
63         "PlatformErrorAtLocation",
64         {
65             "Indicates that a platform error occurred and device or other location information is available.",
66             "A platform error occurred at location '%1'.",
67             "Warning",
68             1,
69             {
70                 "string",
71             },
72             "Check additional diagnostic data if available.",
73         }},
74     MessageEntry{
75         "UnhandledExceptionDetectedAfterReset",
76         {
77             "Indicates that an unhandled exception caused the platform to reset.",
78             "An unhandled exception caused a platform reset.",
79             "Critical",
80             0,
81             {},
82             "Check additional diagnostic data if available.",
83         }},
84 
85 };
86 
87 enum class Index
88 {
89     operatingSystemCrash = 0,
90     platformError = 1,
91     platformErrorAtLocation = 2,
92     unhandledExceptionDetectedAfterReset = 3,
93 };
94 }; // struct platform
95 
registerPlatform()96 [[gnu::constructor]] inline void registerPlatform()
97 { registerRegistry<Platform>(); }
98 
99 } // namespace redfish::registries
100