lokinet/llarp/net/interface_info.hpp

32 lines
674 B
C++
Raw Normal View History

#pragma once
#include "ip_range.hpp"
2023-10-19 21:59:57 +00:00
#include <llarp/util/formattable.hpp>
2022-10-06 17:50:05 +00:00
#include <optional>
#include <string>
#include <vector>
2023-10-19 21:59:57 +00:00
namespace llarp::net
{
/// info about a network interface lokinet does not own
struct InterfaceInfo
{
/// human readable name of interface
std::string name;
/// interface's index
int index;
/// the addresses owned by this interface
std::vector<IPRange> addrs;
/// a gateway we can use if it exists
std::optional<ipaddr_t> gateway;
2022-10-06 17:50:05 +00:00
std::string
ToString() const;
};
} // namespace llarp::net
2022-10-06 17:50:05 +00:00
template <>
inline constexpr bool llarp::IsToStringFormattable<llarp::net::InterfaceInfo> = true;