xref: /openbmc/bmcweb/features/redfish/include/generated/enums/serial_interface.hpp (revision d1a3caa4eda8ca07cd656b4e4e8aa1e4ffe53e1e)
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 };
65 
66 enum class ConnectorType{
67     Invalid,
68     RJ45,
69     RJ11,
70     DB9Female,
71     DB9Male,
72     DB25Female,
73     DB25Male,
74     USB,
75     mUSB,
76     uUSB,
77 };
78 
79 NLOHMANN_JSON_SERIALIZE_ENUM(SignalType, {
80     {SignalType::Invalid, "Invalid"},
81     {SignalType::Rs232, "Rs232"},
82     {SignalType::Rs485, "Rs485"},
83 });
84 
85 NLOHMANN_JSON_SERIALIZE_ENUM(BitRate, {
86     {BitRate::Invalid, "Invalid"},
87     {BitRate::BitRate1200, "1200"},
88     {BitRate::BitRate2400, "2400"},
89     {BitRate::BitRate4800, "4800"},
90     {BitRate::BitRate9600, "9600"},
91     {BitRate::BitRate19200, "19200"},
92     {BitRate::BitRate38400, "38400"},
93     {BitRate::BitRate57600, "57600"},
94     {BitRate::BitRate115200, "115200"},
95     {BitRate::BitRate230400, "230400"},
96 });
97 
98 NLOHMANN_JSON_SERIALIZE_ENUM(Parity, {
99     {Parity::Invalid, "Invalid"},
100     {Parity::None, "None"},
101     {Parity::Even, "Even"},
102     {Parity::Odd, "Odd"},
103     {Parity::Mark, "Mark"},
104     {Parity::Space, "Space"},
105 });
106 
107 NLOHMANN_JSON_SERIALIZE_ENUM(DataBits, {
108     {DataBits::Invalid, "Invalid"},
109     {DataBits::DataBits5, "5"},
110     {DataBits::DataBits6, "6"},
111     {DataBits::DataBits7, "7"},
112     {DataBits::DataBits8, "8"},
113 });
114 
115 NLOHMANN_JSON_SERIALIZE_ENUM(StopBits, {
116     {StopBits::Invalid, "Invalid"},
117     {StopBits::StopBits1, "1"},
118     {StopBits::StopBits2, "2"},
119 });
120 
121 NLOHMANN_JSON_SERIALIZE_ENUM(FlowControl, {
122     {FlowControl::Invalid, "Invalid"},
123     {FlowControl::None, "None"},
124     {FlowControl::Software, "Software"},
125     {FlowControl::Hardware, "Hardware"},
126 });
127 
128 NLOHMANN_JSON_SERIALIZE_ENUM(PinOut, {
129     {PinOut::Invalid, "Invalid"},
130     {PinOut::Cisco, "Cisco"},
131     {PinOut::Cyclades, "Cyclades"},
132     {PinOut::Digi, "Digi"},
133 });
134 
135 NLOHMANN_JSON_SERIALIZE_ENUM(ConnectorType, {
136     {ConnectorType::Invalid, "Invalid"},
137     {ConnectorType::RJ45, "RJ45"},
138     {ConnectorType::RJ11, "RJ11"},
139     {ConnectorType::DB9Female, "DB9 Female"},
140     {ConnectorType::DB9Male, "DB9 Male"},
141     {ConnectorType::DB25Female, "DB25 Female"},
142     {ConnectorType::DB25Male, "DB25 Male"},
143     {ConnectorType::USB, "USB"},
144     {ConnectorType::mUSB, "mUSB"},
145     {ConnectorType::uUSB, "uUSB"},
146 });
147 
148 }
149 // clang-format on
150