1 // SPDX-License-Identifier: Apache-2.0 2 // SPDX-FileCopyrightText: Copyright OpenBMC Authors 3 #pragma once 4 #include <nlohmann/json.hpp> 5 6 namespace cxl_logical_device 7 { 8 // clang-format off 9 10 enum class CXLSemantic{ 11 Invalid, 12 CXLio, 13 CXLcache, 14 CXLmem, 15 }; 16 17 NLOHMANN_JSON_SERIALIZE_ENUM(CXLSemantic, { 18 {CXLSemantic::Invalid, "Invalid"}, 19 {CXLSemantic::CXLio, "CXLio"}, 20 {CXLSemantic::CXLcache, "CXLcache"}, 21 {CXLSemantic::CXLmem, "CXLmem"}, 22 }); 23 24 } 25 // clang-format on 26