xref: /openbmc/bmcweb/redfish-core/include/generated/enums/protocol.hpp (revision d125652e8a30dfeaad88bbfa5b1e04a80610469c)
140e9b92eSEd Tanous // SPDX-License-Identifier: Apache-2.0
240e9b92eSEd Tanous // SPDX-FileCopyrightText: Copyright OpenBMC Authors
3853c0dc5SEd Tanous #pragma once
4853c0dc5SEd Tanous #include <nlohmann/json.hpp>
5853c0dc5SEd Tanous 
6853c0dc5SEd Tanous namespace protocol
7853c0dc5SEd Tanous {
8853c0dc5SEd Tanous // clang-format off
9853c0dc5SEd Tanous 
10853c0dc5SEd Tanous enum class Protocol{
11853c0dc5SEd Tanous     Invalid,
12853c0dc5SEd Tanous     PCIe,
13853c0dc5SEd Tanous     AHCI,
14853c0dc5SEd Tanous     UHCI,
15853c0dc5SEd Tanous     SAS,
16853c0dc5SEd Tanous     SATA,
17853c0dc5SEd Tanous     USB,
18853c0dc5SEd Tanous     NVMe,
19853c0dc5SEd Tanous     FC,
20853c0dc5SEd Tanous     iSCSI,
21853c0dc5SEd Tanous     FCoE,
22853c0dc5SEd Tanous     FCP,
23853c0dc5SEd Tanous     FICON,
24853c0dc5SEd Tanous     NVMeOverFabrics,
25853c0dc5SEd Tanous     SMB,
26853c0dc5SEd Tanous     NFSv3,
27853c0dc5SEd Tanous     NFSv4,
28853c0dc5SEd Tanous     HTTP,
29853c0dc5SEd Tanous     HTTPS,
30853c0dc5SEd Tanous     FTP,
31853c0dc5SEd Tanous     SFTP,
32853c0dc5SEd Tanous     iWARP,
33853c0dc5SEd Tanous     RoCE,
34853c0dc5SEd Tanous     RoCEv2,
35853c0dc5SEd Tanous     I2C,
36853c0dc5SEd Tanous     TCP,
37853c0dc5SEd Tanous     UDP,
38853c0dc5SEd Tanous     TFTP,
39853c0dc5SEd Tanous     GenZ,
40853c0dc5SEd Tanous     MultiProtocol,
41853c0dc5SEd Tanous     InfiniBand,
42853c0dc5SEd Tanous     Ethernet,
43853c0dc5SEd Tanous     NVLink,
44853c0dc5SEd Tanous     OEM,
45853c0dc5SEd Tanous     DisplayPort,
46853c0dc5SEd Tanous     HDMI,
47853c0dc5SEd Tanous     VGA,
48853c0dc5SEd Tanous     DVI,
49a8d8f9d8SEd Tanous     CXL,
50e9cc1bc9SEd Tanous     UPI,
51e9cc1bc9SEd Tanous     QPI,
52f2a8e57eSGunnar Mills     eMMC,
53*d125652eSGunnar Mills     UEC,
54853c0dc5SEd Tanous };
55853c0dc5SEd Tanous 
56853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(Protocol, {
57853c0dc5SEd Tanous     {Protocol::Invalid, "Invalid"},
58853c0dc5SEd Tanous     {Protocol::PCIe, "PCIe"},
59853c0dc5SEd Tanous     {Protocol::AHCI, "AHCI"},
60853c0dc5SEd Tanous     {Protocol::UHCI, "UHCI"},
61853c0dc5SEd Tanous     {Protocol::SAS, "SAS"},
62853c0dc5SEd Tanous     {Protocol::SATA, "SATA"},
63853c0dc5SEd Tanous     {Protocol::USB, "USB"},
64853c0dc5SEd Tanous     {Protocol::NVMe, "NVMe"},
65853c0dc5SEd Tanous     {Protocol::FC, "FC"},
66853c0dc5SEd Tanous     {Protocol::iSCSI, "iSCSI"},
67853c0dc5SEd Tanous     {Protocol::FCoE, "FCoE"},
68853c0dc5SEd Tanous     {Protocol::FCP, "FCP"},
69853c0dc5SEd Tanous     {Protocol::FICON, "FICON"},
70853c0dc5SEd Tanous     {Protocol::NVMeOverFabrics, "NVMeOverFabrics"},
71853c0dc5SEd Tanous     {Protocol::SMB, "SMB"},
72853c0dc5SEd Tanous     {Protocol::NFSv3, "NFSv3"},
73853c0dc5SEd Tanous     {Protocol::NFSv4, "NFSv4"},
74853c0dc5SEd Tanous     {Protocol::HTTP, "HTTP"},
75853c0dc5SEd Tanous     {Protocol::HTTPS, "HTTPS"},
76853c0dc5SEd Tanous     {Protocol::FTP, "FTP"},
77853c0dc5SEd Tanous     {Protocol::SFTP, "SFTP"},
78853c0dc5SEd Tanous     {Protocol::iWARP, "iWARP"},
79853c0dc5SEd Tanous     {Protocol::RoCE, "RoCE"},
80853c0dc5SEd Tanous     {Protocol::RoCEv2, "RoCEv2"},
81853c0dc5SEd Tanous     {Protocol::I2C, "I2C"},
82853c0dc5SEd Tanous     {Protocol::TCP, "TCP"},
83853c0dc5SEd Tanous     {Protocol::UDP, "UDP"},
84853c0dc5SEd Tanous     {Protocol::TFTP, "TFTP"},
85853c0dc5SEd Tanous     {Protocol::GenZ, "GenZ"},
86853c0dc5SEd Tanous     {Protocol::MultiProtocol, "MultiProtocol"},
87853c0dc5SEd Tanous     {Protocol::InfiniBand, "InfiniBand"},
88853c0dc5SEd Tanous     {Protocol::Ethernet, "Ethernet"},
89853c0dc5SEd Tanous     {Protocol::NVLink, "NVLink"},
90853c0dc5SEd Tanous     {Protocol::OEM, "OEM"},
91853c0dc5SEd Tanous     {Protocol::DisplayPort, "DisplayPort"},
92853c0dc5SEd Tanous     {Protocol::HDMI, "HDMI"},
93853c0dc5SEd Tanous     {Protocol::VGA, "VGA"},
94853c0dc5SEd Tanous     {Protocol::DVI, "DVI"},
95a8d8f9d8SEd Tanous     {Protocol::CXL, "CXL"},
96e9cc1bc9SEd Tanous     {Protocol::UPI, "UPI"},
97e9cc1bc9SEd Tanous     {Protocol::QPI, "QPI"},
98f2a8e57eSGunnar Mills     {Protocol::eMMC, "eMMC"},
99*d125652eSGunnar Mills     {Protocol::UEC, "UEC"},
100853c0dc5SEd Tanous });
101853c0dc5SEd Tanous 
102853c0dc5SEd Tanous }
103853c0dc5SEd Tanous // clang-format on
104