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