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 host_interface 7853c0dc5SEd Tanous { 8853c0dc5SEd Tanous // clang-format off 9853c0dc5SEd Tanous 10853c0dc5SEd Tanous enum class HostInterfaceType{ 11853c0dc5SEd Tanous Invalid, 12853c0dc5SEd Tanous NetworkHostInterface, 13853c0dc5SEd Tanous }; 14853c0dc5SEd Tanous 15853c0dc5SEd Tanous enum class AuthenticationMode{ 16853c0dc5SEd Tanous Invalid, 17853c0dc5SEd Tanous AuthNone, 18853c0dc5SEd Tanous BasicAuth, 19853c0dc5SEd Tanous RedfishSessionAuth, 20853c0dc5SEd Tanous OemAuth, 21853c0dc5SEd Tanous }; 22853c0dc5SEd Tanous 23853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(HostInterfaceType, { 24853c0dc5SEd Tanous {HostInterfaceType::Invalid, "Invalid"}, 25853c0dc5SEd Tanous {HostInterfaceType::NetworkHostInterface, "NetworkHostInterface"}, 26853c0dc5SEd Tanous }); 27853c0dc5SEd Tanous 28853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(AuthenticationMode, { 29853c0dc5SEd Tanous {AuthenticationMode::Invalid, "Invalid"}, 30853c0dc5SEd Tanous {AuthenticationMode::AuthNone, "AuthNone"}, 31853c0dc5SEd Tanous {AuthenticationMode::BasicAuth, "BasicAuth"}, 32853c0dc5SEd Tanous {AuthenticationMode::RedfishSessionAuth, "RedfishSessionAuth"}, 33853c0dc5SEd Tanous {AuthenticationMode::OemAuth, "OemAuth"}, 34853c0dc5SEd Tanous }); 35853c0dc5SEd Tanous 36853c0dc5SEd Tanous } 37853c0dc5SEd Tanous // clang-format on 38