1 #pragma once 2 #include <nlohmann/json.hpp> 3 4 namespace key 5 { 6 // clang-format off 7 8 enum class KeyType{ 9 Invalid, 10 NVMeoF, 11 SSH, 12 }; 13 14 enum class NVMeoFSecurityProtocolType{ 15 Invalid, 16 DHHC, 17 TLS_PSK, 18 OEM, 19 }; 20 21 enum class NVMeoFSecureHashType{ 22 Invalid, 23 SHA256, 24 SHA384, 25 SHA512, 26 }; 27 28 NLOHMANN_JSON_SERIALIZE_ENUM(KeyType, { 29 {KeyType::Invalid, "Invalid"}, 30 {KeyType::NVMeoF, "NVMeoF"}, 31 {KeyType::SSH, "SSH"}, 32 }); 33 34 NLOHMANN_JSON_SERIALIZE_ENUM(NVMeoFSecurityProtocolType, { 35 {NVMeoFSecurityProtocolType::Invalid, "Invalid"}, 36 {NVMeoFSecurityProtocolType::DHHC, "DHHC"}, 37 {NVMeoFSecurityProtocolType::TLS_PSK, "TLS_PSK"}, 38 {NVMeoFSecurityProtocolType::OEM, "OEM"}, 39 }); 40 41 NLOHMANN_JSON_SERIALIZE_ENUM(NVMeoFSecureHashType, { 42 {NVMeoFSecureHashType::Invalid, "Invalid"}, 43 {NVMeoFSecureHashType::SHA256, "SHA256"}, 44 {NVMeoFSecureHashType::SHA384, "SHA384"}, 45 {NVMeoFSecureHashType::SHA512, "SHA512"}, 46 }); 47 48 } 49 // clang-format on 50