xref: /openbmc/bmcweb/redfish-core/include/generated/enums/protocol.hpp (revision c6d7a45d427f9a6d9e761afcf305761dca60d7cf)
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     UET,
54 };
55 
56 NLOHMANN_JSON_SERIALIZE_ENUM(Protocol, {
57     {Protocol::Invalid, "Invalid"},
58     {Protocol::PCIe, "PCIe"},
59     {Protocol::AHCI, "AHCI"},
60     {Protocol::UHCI, "UHCI"},
61     {Protocol::SAS, "SAS"},
62     {Protocol::SATA, "SATA"},
63     {Protocol::USB, "USB"},
64     {Protocol::NVMe, "NVMe"},
65     {Protocol::FC, "FC"},
66     {Protocol::iSCSI, "iSCSI"},
67     {Protocol::FCoE, "FCoE"},
68     {Protocol::FCP, "FCP"},
69     {Protocol::FICON, "FICON"},
70     {Protocol::NVMeOverFabrics, "NVMeOverFabrics"},
71     {Protocol::SMB, "SMB"},
72     {Protocol::NFSv3, "NFSv3"},
73     {Protocol::NFSv4, "NFSv4"},
74     {Protocol::HTTP, "HTTP"},
75     {Protocol::HTTPS, "HTTPS"},
76     {Protocol::FTP, "FTP"},
77     {Protocol::SFTP, "SFTP"},
78     {Protocol::iWARP, "iWARP"},
79     {Protocol::RoCE, "RoCE"},
80     {Protocol::RoCEv2, "RoCEv2"},
81     {Protocol::I2C, "I2C"},
82     {Protocol::TCP, "TCP"},
83     {Protocol::UDP, "UDP"},
84     {Protocol::TFTP, "TFTP"},
85     {Protocol::GenZ, "GenZ"},
86     {Protocol::MultiProtocol, "MultiProtocol"},
87     {Protocol::InfiniBand, "InfiniBand"},
88     {Protocol::Ethernet, "Ethernet"},
89     {Protocol::NVLink, "NVLink"},
90     {Protocol::OEM, "OEM"},
91     {Protocol::DisplayPort, "DisplayPort"},
92     {Protocol::HDMI, "HDMI"},
93     {Protocol::VGA, "VGA"},
94     {Protocol::DVI, "DVI"},
95     {Protocol::CXL, "CXL"},
96     {Protocol::UPI, "UPI"},
97     {Protocol::QPI, "QPI"},
98     {Protocol::eMMC, "eMMC"},
99     {Protocol::UET, "UET"},
100 });
101 
102 }
103 // clang-format on
104