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