1*40e9b92eSEd Tanous // SPDX-License-Identifier: Apache-2.0 2*40e9b92eSEd Tanous // SPDX-FileCopyrightText: Copyright OpenBMC Authors 3853c0dc5SEd Tanous #pragma once 4853c0dc5SEd Tanous #include <nlohmann/json.hpp> 5853c0dc5SEd Tanous 6853c0dc5SEd Tanous namespace secure_boot 7853c0dc5SEd Tanous { 8853c0dc5SEd Tanous // clang-format off 9853c0dc5SEd Tanous 10853c0dc5SEd Tanous enum class SecureBootCurrentBootType{ 11853c0dc5SEd Tanous Invalid, 12853c0dc5SEd Tanous Enabled, 13853c0dc5SEd Tanous Disabled, 14853c0dc5SEd Tanous }; 15853c0dc5SEd Tanous 16853c0dc5SEd Tanous enum class SecureBootModeType{ 17853c0dc5SEd Tanous Invalid, 18853c0dc5SEd Tanous SetupMode, 19853c0dc5SEd Tanous UserMode, 20853c0dc5SEd Tanous AuditMode, 21853c0dc5SEd Tanous DeployedMode, 22853c0dc5SEd Tanous }; 23853c0dc5SEd Tanous 24853c0dc5SEd Tanous enum class ResetKeysType{ 25853c0dc5SEd Tanous Invalid, 26853c0dc5SEd Tanous ResetAllKeysToDefault, 27853c0dc5SEd Tanous DeleteAllKeys, 28853c0dc5SEd Tanous DeletePK, 29853c0dc5SEd Tanous }; 30853c0dc5SEd Tanous 31853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(SecureBootCurrentBootType, { 32853c0dc5SEd Tanous {SecureBootCurrentBootType::Invalid, "Invalid"}, 33853c0dc5SEd Tanous {SecureBootCurrentBootType::Enabled, "Enabled"}, 34853c0dc5SEd Tanous {SecureBootCurrentBootType::Disabled, "Disabled"}, 35853c0dc5SEd Tanous }); 36853c0dc5SEd Tanous 37853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(SecureBootModeType, { 38853c0dc5SEd Tanous {SecureBootModeType::Invalid, "Invalid"}, 39853c0dc5SEd Tanous {SecureBootModeType::SetupMode, "SetupMode"}, 40853c0dc5SEd Tanous {SecureBootModeType::UserMode, "UserMode"}, 41853c0dc5SEd Tanous {SecureBootModeType::AuditMode, "AuditMode"}, 42853c0dc5SEd Tanous {SecureBootModeType::DeployedMode, "DeployedMode"}, 43853c0dc5SEd Tanous }); 44853c0dc5SEd Tanous 45853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(ResetKeysType, { 46853c0dc5SEd Tanous {ResetKeysType::Invalid, "Invalid"}, 47853c0dc5SEd Tanous {ResetKeysType::ResetAllKeysToDefault, "ResetAllKeysToDefault"}, 48853c0dc5SEd Tanous {ResetKeysType::DeleteAllKeys, "DeleteAllKeys"}, 49853c0dc5SEd Tanous {ResetKeysType::DeletePK, "DeletePK"}, 50853c0dc5SEd Tanous }); 51853c0dc5SEd Tanous 52853c0dc5SEd Tanous } 53853c0dc5SEd Tanous // clang-format on 54