xref: /openbmc/bmcweb/features/redfish/include/generated/enums/component_integrity.hpp (revision dd5c81e9e330c20f534496174472efb6fe2c112e)
1853c0dc5SEd Tanous #pragma once
2853c0dc5SEd Tanous #include <nlohmann/json.hpp>
3853c0dc5SEd Tanous 
4853c0dc5SEd Tanous namespace component_integrity
5853c0dc5SEd Tanous {
6853c0dc5SEd Tanous // clang-format off
7853c0dc5SEd Tanous 
8853c0dc5SEd Tanous enum class ComponentIntegrityType{
9853c0dc5SEd Tanous     Invalid,
10853c0dc5SEd Tanous     SPDM,
11853c0dc5SEd Tanous     TPM,
12*dd5c81e9SGunnar Mills     TCM,
13*dd5c81e9SGunnar Mills     TPCM,
14853c0dc5SEd Tanous     OEM,
15853c0dc5SEd Tanous };
16853c0dc5SEd Tanous 
17853c0dc5SEd Tanous enum class MeasurementSpecification{
18853c0dc5SEd Tanous     Invalid,
19853c0dc5SEd Tanous     DMTF,
20853c0dc5SEd Tanous };
21853c0dc5SEd Tanous 
22853c0dc5SEd Tanous enum class SPDMmeasurementSummaryType{
23853c0dc5SEd Tanous     Invalid,
24853c0dc5SEd Tanous     TCB,
25853c0dc5SEd Tanous     All,
26853c0dc5SEd Tanous };
27853c0dc5SEd Tanous 
28853c0dc5SEd Tanous enum class DMTFmeasurementTypes{
29853c0dc5SEd Tanous     Invalid,
30853c0dc5SEd Tanous     ImmutableROM,
31853c0dc5SEd Tanous     MutableFirmware,
32853c0dc5SEd Tanous     HardwareConfiguration,
33853c0dc5SEd Tanous     FirmwareConfiguration,
34853c0dc5SEd Tanous     MutableFirmwareVersion,
35853c0dc5SEd Tanous     MutableFirmwareSecurityVersionNumber,
36853c0dc5SEd Tanous     MeasurementManifest,
37853c0dc5SEd Tanous };
38853c0dc5SEd Tanous 
39853c0dc5SEd Tanous enum class VerificationStatus{
40853c0dc5SEd Tanous     Invalid,
41853c0dc5SEd Tanous     Success,
42853c0dc5SEd Tanous     Failed,
43853c0dc5SEd Tanous };
44853c0dc5SEd Tanous 
45853c0dc5SEd Tanous enum class SecureSessionType{
46853c0dc5SEd Tanous     Invalid,
47853c0dc5SEd Tanous     Plain,
48853c0dc5SEd Tanous     EncryptedAuthenticated,
49853c0dc5SEd Tanous     AuthenticatedOnly,
50853c0dc5SEd Tanous };
51853c0dc5SEd Tanous 
52853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(ComponentIntegrityType, {
53853c0dc5SEd Tanous     {ComponentIntegrityType::Invalid, "Invalid"},
54853c0dc5SEd Tanous     {ComponentIntegrityType::SPDM, "SPDM"},
55853c0dc5SEd Tanous     {ComponentIntegrityType::TPM, "TPM"},
56*dd5c81e9SGunnar Mills     {ComponentIntegrityType::TCM, "TCM"},
57*dd5c81e9SGunnar Mills     {ComponentIntegrityType::TPCM, "TPCM"},
58853c0dc5SEd Tanous     {ComponentIntegrityType::OEM, "OEM"},
59853c0dc5SEd Tanous });
60853c0dc5SEd Tanous 
61853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(MeasurementSpecification, {
62853c0dc5SEd Tanous     {MeasurementSpecification::Invalid, "Invalid"},
63853c0dc5SEd Tanous     {MeasurementSpecification::DMTF, "DMTF"},
64853c0dc5SEd Tanous });
65853c0dc5SEd Tanous 
66853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(SPDMmeasurementSummaryType, {
67853c0dc5SEd Tanous     {SPDMmeasurementSummaryType::Invalid, "Invalid"},
68853c0dc5SEd Tanous     {SPDMmeasurementSummaryType::TCB, "TCB"},
69853c0dc5SEd Tanous     {SPDMmeasurementSummaryType::All, "All"},
70853c0dc5SEd Tanous });
71853c0dc5SEd Tanous 
72853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(DMTFmeasurementTypes, {
73853c0dc5SEd Tanous     {DMTFmeasurementTypes::Invalid, "Invalid"},
74853c0dc5SEd Tanous     {DMTFmeasurementTypes::ImmutableROM, "ImmutableROM"},
75853c0dc5SEd Tanous     {DMTFmeasurementTypes::MutableFirmware, "MutableFirmware"},
76853c0dc5SEd Tanous     {DMTFmeasurementTypes::HardwareConfiguration, "HardwareConfiguration"},
77853c0dc5SEd Tanous     {DMTFmeasurementTypes::FirmwareConfiguration, "FirmwareConfiguration"},
78853c0dc5SEd Tanous     {DMTFmeasurementTypes::MutableFirmwareVersion, "MutableFirmwareVersion"},
79853c0dc5SEd Tanous     {DMTFmeasurementTypes::MutableFirmwareSecurityVersionNumber, "MutableFirmwareSecurityVersionNumber"},
80853c0dc5SEd Tanous     {DMTFmeasurementTypes::MeasurementManifest, "MeasurementManifest"},
81853c0dc5SEd Tanous });
82853c0dc5SEd Tanous 
83853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(VerificationStatus, {
84853c0dc5SEd Tanous     {VerificationStatus::Invalid, "Invalid"},
85853c0dc5SEd Tanous     {VerificationStatus::Success, "Success"},
86853c0dc5SEd Tanous     {VerificationStatus::Failed, "Failed"},
87853c0dc5SEd Tanous });
88853c0dc5SEd Tanous 
89853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(SecureSessionType, {
90853c0dc5SEd Tanous     {SecureSessionType::Invalid, "Invalid"},
91853c0dc5SEd Tanous     {SecureSessionType::Plain, "Plain"},
92853c0dc5SEd Tanous     {SecureSessionType::EncryptedAuthenticated, "EncryptedAuthenticated"},
93853c0dc5SEd Tanous     {SecureSessionType::AuthenticatedOnly, "AuthenticatedOnly"},
94853c0dc5SEd Tanous });
95853c0dc5SEd Tanous 
96853c0dc5SEd Tanous }
97853c0dc5SEd Tanous // clang-format on
98