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