1 // SPDX-License-Identifier: Apache-2.0 2 // SPDX-FileCopyrightText: Copyright OpenBMC Authors 3 #pragma once 4 #include <nlohmann/json.hpp> 5 6 namespace acceleration_function 7 { 8 // clang-format off 9 10 enum class AccelerationFunctionType{ 11 Invalid, 12 Encryption, 13 Compression, 14 PacketInspection, 15 PacketSwitch, 16 Scheduler, 17 AudioProcessing, 18 VideoProcessing, 19 OEM, 20 }; 21 22 NLOHMANN_JSON_SERIALIZE_ENUM(AccelerationFunctionType, { 23 {AccelerationFunctionType::Invalid, "Invalid"}, 24 {AccelerationFunctionType::Encryption, "Encryption"}, 25 {AccelerationFunctionType::Compression, "Compression"}, 26 {AccelerationFunctionType::PacketInspection, "PacketInspection"}, 27 {AccelerationFunctionType::PacketSwitch, "PacketSwitch"}, 28 {AccelerationFunctionType::Scheduler, "Scheduler"}, 29 {AccelerationFunctionType::AudioProcessing, "AudioProcessing"}, 30 {AccelerationFunctionType::VideoProcessing, "VideoProcessing"}, 31 {AccelerationFunctionType::OEM, "OEM"}, 32 }); 33 34 } 35 // clang-format on 36