blob: 09a915d24303ada5e876abdd8c8cf7632e894979 [file] [log] [blame]
#pragma once
#include <cstdint>
#include <nlohmann/json.hpp>
namespace key
{
// clang-format off
enum class KeyType : std::uint8_t{
Invalid,
NVMeoF,
SSH,
};
enum class NVMeoFSecurityProtocolType : std::uint8_t{
Invalid,
DHHC,
TLS_PSK,
OEM,
};
enum class NVMeoFSecureHashType : std::uint8_t{
Invalid,
SHA256,
SHA384,
SHA512,
};
NLOHMANN_JSON_SERIALIZE_ENUM(KeyType, {
{KeyType::Invalid, "Invalid"},
{KeyType::NVMeoF, "NVMeoF"},
{KeyType::SSH, "SSH"},
});
NLOHMANN_JSON_SERIALIZE_ENUM(NVMeoFSecurityProtocolType, {
{NVMeoFSecurityProtocolType::Invalid, "Invalid"},
{NVMeoFSecurityProtocolType::DHHC, "DHHC"},
{NVMeoFSecurityProtocolType::TLS_PSK, "TLS_PSK"},
{NVMeoFSecurityProtocolType::OEM, "OEM"},
});
NLOHMANN_JSON_SERIALIZE_ENUM(NVMeoFSecureHashType, {
{NVMeoFSecureHashType::Invalid, "Invalid"},
{NVMeoFSecureHashType::SHA256, "SHA256"},
{NVMeoFSecureHashType::SHA384, "SHA384"},
{NVMeoFSecureHashType::SHA512, "SHA512"},
});
} // namespace key
// clang-format on