bitcoin/src/util/netif.h
laanwj e02030432b net: Add netif utility
This adds an utility header with two functions that will be needed for
PCP, `QueryDefaultGateway` and `GetLocalAddresses`.

Co-authored-by: Vasil Dimov <vd@FreeBSD.org>
2024-09-21 15:42:28 +02:00

21 lines
720 B
C++

// Copyright (c) 2024 The Bitcoin Core developers
// Distributed under the MIT software license, see the accompanying
// file COPYING or https://www.opensource.org/licenses/mit-license.php.
#ifndef BITCOIN_UTIL_NETIF_H
#define BITCOIN_UTIL_NETIF_H
#include <netaddress.h>
#include <optional>
//! Query the OS for the default gateway for `network`. This only makes sense for NET_IPV4 and NET_IPV6.
//! Returns std::nullopt if it cannot be found, or there is no support for this OS.
std::optional<CNetAddr> QueryDefaultGateway(Network network);
// TODO share with Discover()
//! Return all local non-loopback IPv4 and IPv6 network addresses.
std::vector<CNetAddr> GetLocalAddresses();
#endif // BITCOIN_UTIL_NETIF_H