| #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 |