xref: /openbmc/bmcweb/features/redfish/include/generated/enums/serial_interface.hpp (revision 853c0dc5486bbab77b2d1f158152de93847c20d9)
1*853c0dc5SEd Tanous #pragma once
2*853c0dc5SEd Tanous #include <nlohmann/json.hpp>
3*853c0dc5SEd Tanous 
4*853c0dc5SEd Tanous namespace serial_interface
5*853c0dc5SEd Tanous {
6*853c0dc5SEd Tanous // clang-format off
7*853c0dc5SEd Tanous 
8*853c0dc5SEd Tanous enum class SignalType{
9*853c0dc5SEd Tanous     Invalid,
10*853c0dc5SEd Tanous     Rs232,
11*853c0dc5SEd Tanous     Rs485,
12*853c0dc5SEd Tanous };
13*853c0dc5SEd Tanous 
14*853c0dc5SEd Tanous enum class Parity{
15*853c0dc5SEd Tanous     Invalid,
16*853c0dc5SEd Tanous     None,
17*853c0dc5SEd Tanous     Even,
18*853c0dc5SEd Tanous     Odd,
19*853c0dc5SEd Tanous     Mark,
20*853c0dc5SEd Tanous     Space,
21*853c0dc5SEd Tanous };
22*853c0dc5SEd Tanous 
23*853c0dc5SEd Tanous enum class FlowControl{
24*853c0dc5SEd Tanous     Invalid,
25*853c0dc5SEd Tanous     None,
26*853c0dc5SEd Tanous     Software,
27*853c0dc5SEd Tanous     Hardware,
28*853c0dc5SEd Tanous };
29*853c0dc5SEd Tanous 
30*853c0dc5SEd Tanous enum class PinOut{
31*853c0dc5SEd Tanous     Invalid,
32*853c0dc5SEd Tanous     Cisco,
33*853c0dc5SEd Tanous     Cyclades,
34*853c0dc5SEd Tanous     Digi,
35*853c0dc5SEd Tanous };
36*853c0dc5SEd Tanous 
37*853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(SignalType, {
38*853c0dc5SEd Tanous     {SignalType::Invalid, "Invalid"},
39*853c0dc5SEd Tanous     {SignalType::Rs232, "Rs232"},
40*853c0dc5SEd Tanous     {SignalType::Rs485, "Rs485"},
41*853c0dc5SEd Tanous });
42*853c0dc5SEd Tanous 
43*853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(Parity, {
44*853c0dc5SEd Tanous     {Parity::Invalid, "Invalid"},
45*853c0dc5SEd Tanous     {Parity::None, "None"},
46*853c0dc5SEd Tanous     {Parity::Even, "Even"},
47*853c0dc5SEd Tanous     {Parity::Odd, "Odd"},
48*853c0dc5SEd Tanous     {Parity::Mark, "Mark"},
49*853c0dc5SEd Tanous     {Parity::Space, "Space"},
50*853c0dc5SEd Tanous });
51*853c0dc5SEd Tanous 
52*853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(FlowControl, {
53*853c0dc5SEd Tanous     {FlowControl::Invalid, "Invalid"},
54*853c0dc5SEd Tanous     {FlowControl::None, "None"},
55*853c0dc5SEd Tanous     {FlowControl::Software, "Software"},
56*853c0dc5SEd Tanous     {FlowControl::Hardware, "Hardware"},
57*853c0dc5SEd Tanous });
58*853c0dc5SEd Tanous 
59*853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(PinOut, {
60*853c0dc5SEd Tanous     {PinOut::Invalid, "Invalid"},
61*853c0dc5SEd Tanous     {PinOut::Cisco, "Cisco"},
62*853c0dc5SEd Tanous     {PinOut::Cyclades, "Cyclades"},
63*853c0dc5SEd Tanous     {PinOut::Digi, "Digi"},
64*853c0dc5SEd Tanous });
65*853c0dc5SEd Tanous 
66*853c0dc5SEd Tanous }
67*853c0dc5SEd Tanous // clang-format on
68