xref: /openbmc/bmcweb/redfish-core/include/generated/enums/serial_interface.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 serial_interface
7 {
8 // clang-format off
9 
10 enum class SignalType{
11     Invalid,
12     Rs232,
13     Rs485,
14 };
15 
16 enum class BitRate{
17     Invalid,
18     BitRate1200,
19     BitRate2400,
20     BitRate4800,
21     BitRate9600,
22     BitRate19200,
23     BitRate38400,
24     BitRate57600,
25     BitRate115200,
26     BitRate230400,
27 };
28 
29 enum class Parity{
30     Invalid,
31     None,
32     Even,
33     Odd,
34     Mark,
35     Space,
36 };
37 
38 enum class DataBits{
39     Invalid,
40     DataBits5,
41     DataBits6,
42     DataBits7,
43     DataBits8,
44 };
45 
46 enum class StopBits{
47     Invalid,
48     StopBits1,
49     StopBits2,
50 };
51 
52 enum class FlowControl{
53     Invalid,
54     None,
55     Software,
56     Hardware,
57 };
58 
59 enum class PinOut{
60     Invalid,
61     Cisco,
62     Cyclades,
63     Digi,
64     Modbus2Wire,
65     Modbus4Wire,
66     ModbusRs232,
67 };
68 
69 enum class ConnectorType{
70     Invalid,
71     RJ45,
72     RJ11,
73     DB9Female,
74     DB9Male,
75     DB25Female,
76     DB25Male,
77     USB,
78     mUSB,
79     uUSB,
80 };
81 
82 enum class Role{
83     Invalid,
84     Client,
85     Server,
86 };
87 
88 NLOHMANN_JSON_SERIALIZE_ENUM(SignalType, {
89     {SignalType::Invalid, "Invalid"},
90     {SignalType::Rs232, "Rs232"},
91     {SignalType::Rs485, "Rs485"},
92 });
93 
94 NLOHMANN_JSON_SERIALIZE_ENUM(BitRate, {
95     {BitRate::Invalid, "Invalid"},
96     {BitRate::BitRate1200, "1200"},
97     {BitRate::BitRate2400, "2400"},
98     {BitRate::BitRate4800, "4800"},
99     {BitRate::BitRate9600, "9600"},
100     {BitRate::BitRate19200, "19200"},
101     {BitRate::BitRate38400, "38400"},
102     {BitRate::BitRate57600, "57600"},
103     {BitRate::BitRate115200, "115200"},
104     {BitRate::BitRate230400, "230400"},
105 });
106 
107 NLOHMANN_JSON_SERIALIZE_ENUM(Parity, {
108     {Parity::Invalid, "Invalid"},
109     {Parity::None, "None"},
110     {Parity::Even, "Even"},
111     {Parity::Odd, "Odd"},
112     {Parity::Mark, "Mark"},
113     {Parity::Space, "Space"},
114 });
115 
116 NLOHMANN_JSON_SERIALIZE_ENUM(DataBits, {
117     {DataBits::Invalid, "Invalid"},
118     {DataBits::DataBits5, "5"},
119     {DataBits::DataBits6, "6"},
120     {DataBits::DataBits7, "7"},
121     {DataBits::DataBits8, "8"},
122 });
123 
124 NLOHMANN_JSON_SERIALIZE_ENUM(StopBits, {
125     {StopBits::Invalid, "Invalid"},
126     {StopBits::StopBits1, "1"},
127     {StopBits::StopBits2, "2"},
128 });
129 
130 NLOHMANN_JSON_SERIALIZE_ENUM(FlowControl, {
131     {FlowControl::Invalid, "Invalid"},
132     {FlowControl::None, "None"},
133     {FlowControl::Software, "Software"},
134     {FlowControl::Hardware, "Hardware"},
135 });
136 
137 NLOHMANN_JSON_SERIALIZE_ENUM(PinOut, {
138     {PinOut::Invalid, "Invalid"},
139     {PinOut::Cisco, "Cisco"},
140     {PinOut::Cyclades, "Cyclades"},
141     {PinOut::Digi, "Digi"},
142     {PinOut::Modbus2Wire, "Modbus2Wire"},
143     {PinOut::Modbus4Wire, "Modbus4Wire"},
144     {PinOut::ModbusRs232, "ModbusRs232"},
145 });
146 
147 NLOHMANN_JSON_SERIALIZE_ENUM(ConnectorType, {
148     {ConnectorType::Invalid, "Invalid"},
149     {ConnectorType::RJ45, "RJ45"},
150     {ConnectorType::RJ11, "RJ11"},
151     {ConnectorType::DB9Female, "DB9 Female"},
152     {ConnectorType::DB9Male, "DB9 Male"},
153     {ConnectorType::DB25Female, "DB25 Female"},
154     {ConnectorType::DB25Male, "DB25 Male"},
155     {ConnectorType::USB, "USB"},
156     {ConnectorType::mUSB, "mUSB"},
157     {ConnectorType::uUSB, "uUSB"},
158 });
159 
160 NLOHMANN_JSON_SERIALIZE_ENUM(Role, {
161     {Role::Invalid, "Invalid"},
162     {Role::Client, "Client"},
163     {Role::Server, "Server"},
164 });
165 
166 }
167 // clang-format on
168