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