Bitcoin Core 31.0.0
P2P Digital Currency
Loading...
Searching...
No Matches
netaddress.cpp File Reference
#include <netaddress.h>
#include <crypto/common.h>
#include <crypto/sha3.h>
#include <hash.h>
#include <prevector.h>
#include <tinyformat.h>
#include <util/strencodings.h>
#include <util/string.h>
#include <algorithm>
#include <array>
#include <cstdint>
#include <ios>
#include <iterator>
#include <string_view>
#include <tuple>
Include dependency graph for netaddress.cpp:

Go to the source code of this file.

Namespaces

namespace  torv3

Functions

static void torv3::Checksum (std::span< const uint8_t > addr_pubkey, uint8_t(&checksum)[CHECKSUM_LEN])
static std::string IPv4ToString (std::span< const uint8_t > a)
static std::string IPv6ToString (std::span< const uint8_t > a, uint32_t scope_id)
std::string OnionToString (std::span< const uint8_t > addr)
bool operator== (const CNetAddr &a, const CNetAddr &b)
bool operator< (const CNetAddr &a, const CNetAddr &b)
static int GetExtNetwork (const CNetAddr &addr)
bool operator== (const CService &a, const CService &b)
bool operator< (const CService &a, const CService &b)
static int NetmaskBits (uint8_t x)
bool operator== (const CSubNet &a, const CSubNet &b)
bool operator< (const CSubNet &a, const CSubNet &b)
bool ContainsNoNUL (std::string_view str) noexcept
 Check if a string does not contain any embedded NUL (\0) characters.
template<typename T1, size_t PREFIX_LEN>
bool HasPrefix (const T1 &obj, const std::array< uint8_t, PREFIX_LEN > &prefix)
 Check whether a container begins with the given prefix.

Variables

static constexpr size_t torv3::CHECKSUM_LEN = 2
static const unsigned char torv3::VERSION [] = {3}
static constexpr size_t torv3::TOTAL_LEN = ADDR_TORV3_SIZE + CHECKSUM_LEN + sizeof(VERSION)
static const int NET_TEREDO = NET_MAX

Function Documentation

◆ ContainsNoNUL()

bool util::ContainsNoNUL ( std::string_view str)
inlinenodiscardnoexcept

Check if a string does not contain any embedded NUL (\0) characters.

Definition at line 234 of file string.h.

◆ GetExtNetwork()

int GetExtNetwork ( const CNetAddr & addr)
static

Definition at line 705 of file netaddress.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ HasPrefix()

template<typename T1, size_t PREFIX_LEN>
bool util::HasPrefix ( const T1 & obj,
const std::array< uint8_t, PREFIX_LEN > & prefix )
inlinenodiscard

Check whether a container begins with the given prefix.

Definition at line 258 of file string.h.

Here is the caller graph for this function:

◆ IPv4ToString()

std::string IPv4ToString ( std::span< const uint8_t > a)
static

Definition at line 507 of file netaddress.cpp.

Here is the caller graph for this function:

◆ IPv6ToString()

std::string IPv6ToString ( std::span< const uint8_t > a,
uint32_t scope_id )
static

Definition at line 514 of file netaddress.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ NetmaskBits()

int NetmaskBits ( uint8_t x)
inlinestatic
Returns
The number of 1-bits in the prefix of the specified subnet mask. If the specified subnet mask is not a valid one, -1.

Definition at line 945 of file netaddress.cpp.

Here is the caller graph for this function:

◆ OnionToString()

std::string OnionToString ( std::span< const uint8_t > addr)

Definition at line 569 of file netaddress.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator<() [1/3]

bool operator< ( const CNetAddr & a,
const CNetAddr & b )

Definition at line 608 of file netaddress.cpp.

◆ operator<() [2/3]

bool operator< ( const CService & a,
const CService & b )

Definition at line 845 of file netaddress.cpp.

◆ operator<() [3/3]

bool operator< ( const CSubNet & a,
const CSubNet & b )

Definition at line 1090 of file netaddress.cpp.

◆ operator==() [1/3]

bool operator== ( const CNetAddr & a,
const CNetAddr & b )

Definition at line 603 of file netaddress.cpp.

◆ operator==() [2/3]

bool operator== ( const CService & a,
const CService & b )

Definition at line 840 of file netaddress.cpp.

◆ operator==() [3/3]

bool operator== ( const CSubNet & a,
const CSubNet & b )

Definition at line 1085 of file netaddress.cpp.

Variable Documentation

◆ NET_TEREDO

const int NET_TEREDO = NET_MAX
static

Definition at line 704 of file netaddress.cpp.