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 allow_deny 7853c0dc5SEd Tanous { 8853c0dc5SEd Tanous // clang-format off 9853c0dc5SEd Tanous 10853c0dc5SEd Tanous enum class IPAddressType{ 11853c0dc5SEd Tanous Invalid, 12853c0dc5SEd Tanous IPv4, 13853c0dc5SEd Tanous IPv6, 14853c0dc5SEd Tanous }; 15853c0dc5SEd Tanous 16853c0dc5SEd Tanous enum class AllowType{ 17853c0dc5SEd Tanous Invalid, 18853c0dc5SEd Tanous Allow, 19853c0dc5SEd Tanous Deny, 20853c0dc5SEd Tanous }; 21853c0dc5SEd Tanous 22853c0dc5SEd Tanous enum class DataDirection{ 23853c0dc5SEd Tanous Invalid, 24853c0dc5SEd Tanous Ingress, 25853c0dc5SEd Tanous Egress, 26853c0dc5SEd Tanous }; 27853c0dc5SEd Tanous 28853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(IPAddressType, { 29853c0dc5SEd Tanous {IPAddressType::Invalid, "Invalid"}, 30853c0dc5SEd Tanous {IPAddressType::IPv4, "IPv4"}, 31853c0dc5SEd Tanous {IPAddressType::IPv6, "IPv6"}, 32853c0dc5SEd Tanous }); 33853c0dc5SEd Tanous 34853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(AllowType, { 35853c0dc5SEd Tanous {AllowType::Invalid, "Invalid"}, 36853c0dc5SEd Tanous {AllowType::Allow, "Allow"}, 37853c0dc5SEd Tanous {AllowType::Deny, "Deny"}, 38853c0dc5SEd Tanous }); 39853c0dc5SEd Tanous 40853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(DataDirection, { 41853c0dc5SEd Tanous {DataDirection::Invalid, "Invalid"}, 42853c0dc5SEd Tanous {DataDirection::Ingress, "Ingress"}, 43853c0dc5SEd Tanous {DataDirection::Egress, "Egress"}, 44853c0dc5SEd Tanous }); 45853c0dc5SEd Tanous 46853c0dc5SEd Tanous } 47853c0dc5SEd Tanous // clang-format on 48