1 // SPDX-License-Identifier: Apache-2.0 2 // SPDX-FileCopyrightText: Copyright OpenBMC Authors 3 #pragma once 4 #include <nlohmann/json.hpp> 5 6 namespace secure_boot 7 { 8 // clang-format off 9 10 enum class SecureBootCurrentBootType{ 11 Invalid, 12 Enabled, 13 Disabled, 14 }; 15 16 enum class SecureBootModeType{ 17 Invalid, 18 SetupMode, 19 UserMode, 20 AuditMode, 21 DeployedMode, 22 }; 23 24 enum class ResetKeysType{ 25 Invalid, 26 ResetAllKeysToDefault, 27 DeleteAllKeys, 28 DeletePK, 29 }; 30 31 NLOHMANN_JSON_SERIALIZE_ENUM(SecureBootCurrentBootType, { 32 {SecureBootCurrentBootType::Invalid, "Invalid"}, 33 {SecureBootCurrentBootType::Enabled, "Enabled"}, 34 {SecureBootCurrentBootType::Disabled, "Disabled"}, 35 }); 36 37 NLOHMANN_JSON_SERIALIZE_ENUM(SecureBootModeType, { 38 {SecureBootModeType::Invalid, "Invalid"}, 39 {SecureBootModeType::SetupMode, "SetupMode"}, 40 {SecureBootModeType::UserMode, "UserMode"}, 41 {SecureBootModeType::AuditMode, "AuditMode"}, 42 {SecureBootModeType::DeployedMode, "DeployedMode"}, 43 }); 44 45 NLOHMANN_JSON_SERIALIZE_ENUM(ResetKeysType, { 46 {ResetKeysType::Invalid, "Invalid"}, 47 {ResetKeysType::ResetAllKeysToDefault, "ResetAllKeysToDefault"}, 48 {ResetKeysType::DeleteAllKeys, "DeleteAllKeys"}, 49 {ResetKeysType::DeletePK, "DeletePK"}, 50 }); 51 52 } 53 // clang-format on 54