1*40e9b92eSEd Tanous // SPDX-License-Identifier: Apache-2.0 2*40e9b92eSEd Tanous // SPDX-FileCopyrightText: Copyright OpenBMC Authors 3853c0dc5SEd Tanous #pragma once 4853c0dc5SEd Tanous #include <nlohmann/json.hpp> 5853c0dc5SEd Tanous 6853c0dc5SEd Tanous namespace acceleration_function 7853c0dc5SEd Tanous { 8853c0dc5SEd Tanous // clang-format off 9853c0dc5SEd Tanous 10853c0dc5SEd Tanous enum class AccelerationFunctionType{ 11853c0dc5SEd Tanous Invalid, 12853c0dc5SEd Tanous Encryption, 13853c0dc5SEd Tanous Compression, 14853c0dc5SEd Tanous PacketInspection, 15853c0dc5SEd Tanous PacketSwitch, 16853c0dc5SEd Tanous Scheduler, 17853c0dc5SEd Tanous AudioProcessing, 18853c0dc5SEd Tanous VideoProcessing, 19853c0dc5SEd Tanous OEM, 20853c0dc5SEd Tanous }; 21853c0dc5SEd Tanous 22853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(AccelerationFunctionType, { 23853c0dc5SEd Tanous {AccelerationFunctionType::Invalid, "Invalid"}, 24853c0dc5SEd Tanous {AccelerationFunctionType::Encryption, "Encryption"}, 25853c0dc5SEd Tanous {AccelerationFunctionType::Compression, "Compression"}, 26853c0dc5SEd Tanous {AccelerationFunctionType::PacketInspection, "PacketInspection"}, 27853c0dc5SEd Tanous {AccelerationFunctionType::PacketSwitch, "PacketSwitch"}, 28853c0dc5SEd Tanous {AccelerationFunctionType::Scheduler, "Scheduler"}, 29853c0dc5SEd Tanous {AccelerationFunctionType::AudioProcessing, "AudioProcessing"}, 30853c0dc5SEd Tanous {AccelerationFunctionType::VideoProcessing, "VideoProcessing"}, 31853c0dc5SEd Tanous {AccelerationFunctionType::OEM, "OEM"}, 32853c0dc5SEd Tanous }); 33853c0dc5SEd Tanous 34853c0dc5SEd Tanous } 35853c0dc5SEd Tanous // clang-format on 36