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