X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=extras%2Fvom%2Fvom%2Fapi_types.hpp;h=8d898f4c8805b8cbd56e4c611d9610edc4e36f80;hb=cbe25aab3be72154f2c706c39eeba6a77f34450f;hp=96e2c47f5580151bcd4e2d658f028fb22ad7cf9a;hpb=8c8acc027871f97370ee549306876690030c3bbb;p=vpp.git diff --git a/extras/vom/vom/api_types.hpp b/extras/vom/vom/api_types.hpp index 96e2c47f558..8d898f4c880 100644 --- a/extras/vom/vom/api_types.hpp +++ b/extras/vom/vom/api_types.hpp @@ -14,27 +14,57 @@ */ #include +#include #include #include #include +#include namespace VOM { +struct invalid_decode +{ + invalid_decode(const std::string reason); + const std::string reason; +}; + typedef boost::asio::ip::address ip_address_t; +vapi_enum_ip_neighbor_flags to_api(const neighbour::flags_t& f); +const neighbour::flags_t from_api(vapi_enum_ip_neighbor_flags f); + void to_api(const ip_address_t& a, vapi_type_address& v); +void to_api(const boost::asio::ip::address_v4& a, vapi_type_ip4_address& v); +void to_api(const boost::asio::ip::address_v6& a, vapi_type_ip6_address& v); +void to_api(const boost::asio::ip::address& a, + vapi_union_address_union& u, + vapi_enum_address_family& af); +void to_api(const boost::asio::ip::address& a, vapi_union_address_union& u); +vapi_enum_address_family to_api(const l3_proto_t p); +boost::asio::ip::address_v4 from_api(const vapi_type_ip4_address& v); +boost::asio::ip::address_v6 from_api(const vapi_type_ip6_address& v); ip_address_t from_api(const vapi_type_address& v); +ip_address_t from_api(const vapi_union_address_union& u, + vapi_enum_address_family af); +ip_address_t from_api(const vapi_union_address_union& u, + vapi_enum_fib_path_nh_proto proto); -vapi_type_mac_address to_api(const mac_address_t& a); +void to_api(const mac_address_t& a, vapi_type_mac_address& m); mac_address_t from_api(const vapi_type_mac_address& v); route::prefix_t from_api(const vapi_type_prefix&); +route::mprefix_t from_api(const vapi_type_mprefix&); vapi_type_prefix to_api(const route::prefix_t&); -}; +vapi_type_mprefix to_api(const route::mprefix_t&); + +vapi_enum_fib_path_nh_proto to_api(const nh_proto_t&); +const nh_proto_t& from_api(vapi_enum_fib_path_nh_proto); + +}; // VOM /* * fd.io coding-style-patch-verification: ON