xref: /openbmc/bmcweb/features/redfish/include/generated/enums/serial_interface.hpp (revision 40e9b92ec19acffb46f83a6e55b18974da5d708e)
1*40e9b92eSEd Tanous // SPDX-License-Identifier: Apache-2.0
2*40e9b92eSEd Tanous // SPDX-FileCopyrightText: Copyright OpenBMC Authors
3853c0dc5SEd Tanous #pragma once
4853c0dc5SEd Tanous #include <nlohmann/json.hpp>
5853c0dc5SEd Tanous 
6853c0dc5SEd Tanous namespace serial_interface
7853c0dc5SEd Tanous {
8853c0dc5SEd Tanous // clang-format off
9853c0dc5SEd Tanous 
10853c0dc5SEd Tanous enum class SignalType{
11853c0dc5SEd Tanous     Invalid,
12853c0dc5SEd Tanous     Rs232,
13853c0dc5SEd Tanous     Rs485,
14853c0dc5SEd Tanous };
15853c0dc5SEd Tanous 
16853c0dc5SEd Tanous enum class Parity{
17853c0dc5SEd Tanous     Invalid,
18853c0dc5SEd Tanous     None,
19853c0dc5SEd Tanous     Even,
20853c0dc5SEd Tanous     Odd,
21853c0dc5SEd Tanous     Mark,
22853c0dc5SEd Tanous     Space,
23853c0dc5SEd Tanous };
24853c0dc5SEd Tanous 
25853c0dc5SEd Tanous enum class FlowControl{
26853c0dc5SEd Tanous     Invalid,
27853c0dc5SEd Tanous     None,
28853c0dc5SEd Tanous     Software,
29853c0dc5SEd Tanous     Hardware,
30853c0dc5SEd Tanous };
31853c0dc5SEd Tanous 
32853c0dc5SEd Tanous enum class PinOut{
33853c0dc5SEd Tanous     Invalid,
34853c0dc5SEd Tanous     Cisco,
35853c0dc5SEd Tanous     Cyclades,
36853c0dc5SEd Tanous     Digi,
37853c0dc5SEd Tanous };
38853c0dc5SEd Tanous 
39853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(SignalType, {
40853c0dc5SEd Tanous     {SignalType::Invalid, "Invalid"},
41853c0dc5SEd Tanous     {SignalType::Rs232, "Rs232"},
42853c0dc5SEd Tanous     {SignalType::Rs485, "Rs485"},
43853c0dc5SEd Tanous });
44853c0dc5SEd Tanous 
45853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(Parity, {
46853c0dc5SEd Tanous     {Parity::Invalid, "Invalid"},
47853c0dc5SEd Tanous     {Parity::None, "None"},
48853c0dc5SEd Tanous     {Parity::Even, "Even"},
49853c0dc5SEd Tanous     {Parity::Odd, "Odd"},
50853c0dc5SEd Tanous     {Parity::Mark, "Mark"},
51853c0dc5SEd Tanous     {Parity::Space, "Space"},
52853c0dc5SEd Tanous });
53853c0dc5SEd Tanous 
54853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(FlowControl, {
55853c0dc5SEd Tanous     {FlowControl::Invalid, "Invalid"},
56853c0dc5SEd Tanous     {FlowControl::None, "None"},
57853c0dc5SEd Tanous     {FlowControl::Software, "Software"},
58853c0dc5SEd Tanous     {FlowControl::Hardware, "Hardware"},
59853c0dc5SEd Tanous });
60853c0dc5SEd Tanous 
61853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(PinOut, {
62853c0dc5SEd Tanous     {PinOut::Invalid, "Invalid"},
63853c0dc5SEd Tanous     {PinOut::Cisco, "Cisco"},
64853c0dc5SEd Tanous     {PinOut::Cyclades, "Cyclades"},
65853c0dc5SEd Tanous     {PinOut::Digi, "Digi"},
66853c0dc5SEd Tanous });
67853c0dc5SEd Tanous 
68853c0dc5SEd Tanous }
69853c0dc5SEd Tanous // clang-format on
70