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