1*0ec8b83dSEd Tanous #pragma once 2*0ec8b83dSEd Tanous #include <nlohmann/json.hpp> 3*0ec8b83dSEd Tanous 4*0ec8b83dSEd Tanous namespace pcie_slots 5*0ec8b83dSEd Tanous { 6*0ec8b83dSEd Tanous // clang-format off 7*0ec8b83dSEd Tanous 8*0ec8b83dSEd Tanous enum class SlotTypes{ 9*0ec8b83dSEd Tanous Invalid, 10*0ec8b83dSEd Tanous FullLength, 11*0ec8b83dSEd Tanous HalfLength, 12*0ec8b83dSEd Tanous LowProfile, 13*0ec8b83dSEd Tanous Mini, 14*0ec8b83dSEd Tanous M2, 15*0ec8b83dSEd Tanous OEM, 16*0ec8b83dSEd Tanous OCP3Small, 17*0ec8b83dSEd Tanous OCP3Large, 18*0ec8b83dSEd Tanous U2, 19*0ec8b83dSEd Tanous }; 20*0ec8b83dSEd Tanous 21*0ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(SlotTypes, { 22*0ec8b83dSEd Tanous {SlotTypes::Invalid, "Invalid"}, 23*0ec8b83dSEd Tanous {SlotTypes::FullLength, "FullLength"}, 24*0ec8b83dSEd Tanous {SlotTypes::HalfLength, "HalfLength"}, 25*0ec8b83dSEd Tanous {SlotTypes::LowProfile, "LowProfile"}, 26*0ec8b83dSEd Tanous {SlotTypes::Mini, "Mini"}, 27*0ec8b83dSEd Tanous {SlotTypes::M2, "M2"}, 28*0ec8b83dSEd Tanous {SlotTypes::OEM, "OEM"}, 29*0ec8b83dSEd Tanous {SlotTypes::OCP3Small, "OCP3Small"}, 30*0ec8b83dSEd Tanous {SlotTypes::OCP3Large, "OCP3Large"}, 31*0ec8b83dSEd Tanous {SlotTypes::U2, "U2"}, 32*0ec8b83dSEd Tanous }); 33*0ec8b83dSEd Tanous 34*0ec8b83dSEd Tanous } 35*0ec8b83dSEd Tanous // clang-format on 36