xref: /openbmc/bmcweb/features/redfish/include/generated/enums/protocol.hpp (revision e9cc1bc93c4ad9662c93e2a98d4c787e2dbf9f07)
1853c0dc5SEd Tanous #pragma once
2853c0dc5SEd Tanous #include <nlohmann/json.hpp>
3853c0dc5SEd Tanous 
4853c0dc5SEd Tanous namespace protocol
5853c0dc5SEd Tanous {
6853c0dc5SEd Tanous // clang-format off
7853c0dc5SEd Tanous 
8853c0dc5SEd Tanous enum class Protocol{
9853c0dc5SEd Tanous     Invalid,
10853c0dc5SEd Tanous     PCIe,
11853c0dc5SEd Tanous     AHCI,
12853c0dc5SEd Tanous     UHCI,
13853c0dc5SEd Tanous     SAS,
14853c0dc5SEd Tanous     SATA,
15853c0dc5SEd Tanous     USB,
16853c0dc5SEd Tanous     NVMe,
17853c0dc5SEd Tanous     FC,
18853c0dc5SEd Tanous     iSCSI,
19853c0dc5SEd Tanous     FCoE,
20853c0dc5SEd Tanous     FCP,
21853c0dc5SEd Tanous     FICON,
22853c0dc5SEd Tanous     NVMeOverFabrics,
23853c0dc5SEd Tanous     SMB,
24853c0dc5SEd Tanous     NFSv3,
25853c0dc5SEd Tanous     NFSv4,
26853c0dc5SEd Tanous     HTTP,
27853c0dc5SEd Tanous     HTTPS,
28853c0dc5SEd Tanous     FTP,
29853c0dc5SEd Tanous     SFTP,
30853c0dc5SEd Tanous     iWARP,
31853c0dc5SEd Tanous     RoCE,
32853c0dc5SEd Tanous     RoCEv2,
33853c0dc5SEd Tanous     I2C,
34853c0dc5SEd Tanous     TCP,
35853c0dc5SEd Tanous     UDP,
36853c0dc5SEd Tanous     TFTP,
37853c0dc5SEd Tanous     GenZ,
38853c0dc5SEd Tanous     MultiProtocol,
39853c0dc5SEd Tanous     InfiniBand,
40853c0dc5SEd Tanous     Ethernet,
41853c0dc5SEd Tanous     NVLink,
42853c0dc5SEd Tanous     OEM,
43853c0dc5SEd Tanous     DisplayPort,
44853c0dc5SEd Tanous     HDMI,
45853c0dc5SEd Tanous     VGA,
46853c0dc5SEd Tanous     DVI,
47a8d8f9d8SEd Tanous     CXL,
48*e9cc1bc9SEd Tanous     UPI,
49*e9cc1bc9SEd Tanous     QPI,
50853c0dc5SEd Tanous };
51853c0dc5SEd Tanous 
52853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(Protocol, {
53853c0dc5SEd Tanous     {Protocol::Invalid, "Invalid"},
54853c0dc5SEd Tanous     {Protocol::PCIe, "PCIe"},
55853c0dc5SEd Tanous     {Protocol::AHCI, "AHCI"},
56853c0dc5SEd Tanous     {Protocol::UHCI, "UHCI"},
57853c0dc5SEd Tanous     {Protocol::SAS, "SAS"},
58853c0dc5SEd Tanous     {Protocol::SATA, "SATA"},
59853c0dc5SEd Tanous     {Protocol::USB, "USB"},
60853c0dc5SEd Tanous     {Protocol::NVMe, "NVMe"},
61853c0dc5SEd Tanous     {Protocol::FC, "FC"},
62853c0dc5SEd Tanous     {Protocol::iSCSI, "iSCSI"},
63853c0dc5SEd Tanous     {Protocol::FCoE, "FCoE"},
64853c0dc5SEd Tanous     {Protocol::FCP, "FCP"},
65853c0dc5SEd Tanous     {Protocol::FICON, "FICON"},
66853c0dc5SEd Tanous     {Protocol::NVMeOverFabrics, "NVMeOverFabrics"},
67853c0dc5SEd Tanous     {Protocol::SMB, "SMB"},
68853c0dc5SEd Tanous     {Protocol::NFSv3, "NFSv3"},
69853c0dc5SEd Tanous     {Protocol::NFSv4, "NFSv4"},
70853c0dc5SEd Tanous     {Protocol::HTTP, "HTTP"},
71853c0dc5SEd Tanous     {Protocol::HTTPS, "HTTPS"},
72853c0dc5SEd Tanous     {Protocol::FTP, "FTP"},
73853c0dc5SEd Tanous     {Protocol::SFTP, "SFTP"},
74853c0dc5SEd Tanous     {Protocol::iWARP, "iWARP"},
75853c0dc5SEd Tanous     {Protocol::RoCE, "RoCE"},
76853c0dc5SEd Tanous     {Protocol::RoCEv2, "RoCEv2"},
77853c0dc5SEd Tanous     {Protocol::I2C, "I2C"},
78853c0dc5SEd Tanous     {Protocol::TCP, "TCP"},
79853c0dc5SEd Tanous     {Protocol::UDP, "UDP"},
80853c0dc5SEd Tanous     {Protocol::TFTP, "TFTP"},
81853c0dc5SEd Tanous     {Protocol::GenZ, "GenZ"},
82853c0dc5SEd Tanous     {Protocol::MultiProtocol, "MultiProtocol"},
83853c0dc5SEd Tanous     {Protocol::InfiniBand, "InfiniBand"},
84853c0dc5SEd Tanous     {Protocol::Ethernet, "Ethernet"},
85853c0dc5SEd Tanous     {Protocol::NVLink, "NVLink"},
86853c0dc5SEd Tanous     {Protocol::OEM, "OEM"},
87853c0dc5SEd Tanous     {Protocol::DisplayPort, "DisplayPort"},
88853c0dc5SEd Tanous     {Protocol::HDMI, "HDMI"},
89853c0dc5SEd Tanous     {Protocol::VGA, "VGA"},
90853c0dc5SEd Tanous     {Protocol::DVI, "DVI"},
91a8d8f9d8SEd Tanous     {Protocol::CXL, "CXL"},
92*e9cc1bc9SEd Tanous     {Protocol::UPI, "UPI"},
93*e9cc1bc9SEd Tanous     {Protocol::QPI, "QPI"},
94853c0dc5SEd Tanous });
95853c0dc5SEd Tanous 
96853c0dc5SEd Tanous }
97853c0dc5SEd Tanous // clang-format on
98