xref: /openbmc/bmcweb/features/redfish/include/generated/enums/protocol.hpp (revision 853c0dc5486bbab77b2d1f158152de93847c20d9)
1*853c0dc5SEd Tanous #pragma once
2*853c0dc5SEd Tanous #include <nlohmann/json.hpp>
3*853c0dc5SEd Tanous 
4*853c0dc5SEd Tanous namespace protocol
5*853c0dc5SEd Tanous {
6*853c0dc5SEd Tanous // clang-format off
7*853c0dc5SEd Tanous 
8*853c0dc5SEd Tanous enum class Protocol{
9*853c0dc5SEd Tanous     Invalid,
10*853c0dc5SEd Tanous     PCIe,
11*853c0dc5SEd Tanous     AHCI,
12*853c0dc5SEd Tanous     UHCI,
13*853c0dc5SEd Tanous     SAS,
14*853c0dc5SEd Tanous     SATA,
15*853c0dc5SEd Tanous     USB,
16*853c0dc5SEd Tanous     NVMe,
17*853c0dc5SEd Tanous     FC,
18*853c0dc5SEd Tanous     iSCSI,
19*853c0dc5SEd Tanous     FCoE,
20*853c0dc5SEd Tanous     FCP,
21*853c0dc5SEd Tanous     FICON,
22*853c0dc5SEd Tanous     NVMeOverFabrics,
23*853c0dc5SEd Tanous     SMB,
24*853c0dc5SEd Tanous     NFSv3,
25*853c0dc5SEd Tanous     NFSv4,
26*853c0dc5SEd Tanous     HTTP,
27*853c0dc5SEd Tanous     HTTPS,
28*853c0dc5SEd Tanous     FTP,
29*853c0dc5SEd Tanous     SFTP,
30*853c0dc5SEd Tanous     iWARP,
31*853c0dc5SEd Tanous     RoCE,
32*853c0dc5SEd Tanous     RoCEv2,
33*853c0dc5SEd Tanous     I2C,
34*853c0dc5SEd Tanous     TCP,
35*853c0dc5SEd Tanous     UDP,
36*853c0dc5SEd Tanous     TFTP,
37*853c0dc5SEd Tanous     GenZ,
38*853c0dc5SEd Tanous     MultiProtocol,
39*853c0dc5SEd Tanous     InfiniBand,
40*853c0dc5SEd Tanous     Ethernet,
41*853c0dc5SEd Tanous     NVLink,
42*853c0dc5SEd Tanous     OEM,
43*853c0dc5SEd Tanous     DisplayPort,
44*853c0dc5SEd Tanous     HDMI,
45*853c0dc5SEd Tanous     VGA,
46*853c0dc5SEd Tanous     DVI,
47*853c0dc5SEd Tanous };
48*853c0dc5SEd Tanous 
49*853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(Protocol, {
50*853c0dc5SEd Tanous     {Protocol::Invalid, "Invalid"},
51*853c0dc5SEd Tanous     {Protocol::PCIe, "PCIe"},
52*853c0dc5SEd Tanous     {Protocol::AHCI, "AHCI"},
53*853c0dc5SEd Tanous     {Protocol::UHCI, "UHCI"},
54*853c0dc5SEd Tanous     {Protocol::SAS, "SAS"},
55*853c0dc5SEd Tanous     {Protocol::SATA, "SATA"},
56*853c0dc5SEd Tanous     {Protocol::USB, "USB"},
57*853c0dc5SEd Tanous     {Protocol::NVMe, "NVMe"},
58*853c0dc5SEd Tanous     {Protocol::FC, "FC"},
59*853c0dc5SEd Tanous     {Protocol::iSCSI, "iSCSI"},
60*853c0dc5SEd Tanous     {Protocol::FCoE, "FCoE"},
61*853c0dc5SEd Tanous     {Protocol::FCP, "FCP"},
62*853c0dc5SEd Tanous     {Protocol::FICON, "FICON"},
63*853c0dc5SEd Tanous     {Protocol::NVMeOverFabrics, "NVMeOverFabrics"},
64*853c0dc5SEd Tanous     {Protocol::SMB, "SMB"},
65*853c0dc5SEd Tanous     {Protocol::NFSv3, "NFSv3"},
66*853c0dc5SEd Tanous     {Protocol::NFSv4, "NFSv4"},
67*853c0dc5SEd Tanous     {Protocol::HTTP, "HTTP"},
68*853c0dc5SEd Tanous     {Protocol::HTTPS, "HTTPS"},
69*853c0dc5SEd Tanous     {Protocol::FTP, "FTP"},
70*853c0dc5SEd Tanous     {Protocol::SFTP, "SFTP"},
71*853c0dc5SEd Tanous     {Protocol::iWARP, "iWARP"},
72*853c0dc5SEd Tanous     {Protocol::RoCE, "RoCE"},
73*853c0dc5SEd Tanous     {Protocol::RoCEv2, "RoCEv2"},
74*853c0dc5SEd Tanous     {Protocol::I2C, "I2C"},
75*853c0dc5SEd Tanous     {Protocol::TCP, "TCP"},
76*853c0dc5SEd Tanous     {Protocol::UDP, "UDP"},
77*853c0dc5SEd Tanous     {Protocol::TFTP, "TFTP"},
78*853c0dc5SEd Tanous     {Protocol::GenZ, "GenZ"},
79*853c0dc5SEd Tanous     {Protocol::MultiProtocol, "MultiProtocol"},
80*853c0dc5SEd Tanous     {Protocol::InfiniBand, "InfiniBand"},
81*853c0dc5SEd Tanous     {Protocol::Ethernet, "Ethernet"},
82*853c0dc5SEd Tanous     {Protocol::NVLink, "NVLink"},
83*853c0dc5SEd Tanous     {Protocol::OEM, "OEM"},
84*853c0dc5SEd Tanous     {Protocol::DisplayPort, "DisplayPort"},
85*853c0dc5SEd Tanous     {Protocol::HDMI, "HDMI"},
86*853c0dc5SEd Tanous     {Protocol::VGA, "VGA"},
87*853c0dc5SEd Tanous     {Protocol::DVI, "DVI"},
88*853c0dc5SEd Tanous });
89*853c0dc5SEd Tanous 
90*853c0dc5SEd Tanous }
91*853c0dc5SEd Tanous // clang-format on
92