5 #ifndef BITCOIN_NETADDRESS_H 6 #define BITCOIN_NETADDRESS_H 8 #if defined(HAVE_CONFIG_H) 40 explicit CNetAddr(
const struct in_addr& ipv4Addr);
79 unsigned int GetByte(
int n)
const;
81 bool GetInAddr(
struct in_addr* pipv4Addr)
const;
82 std::vector<unsigned char>
GetGroup()
const;
85 explicit CNetAddr(
const struct in6_addr& pipv6Addr,
const uint32_t scope = 0);
86 bool GetIn6Addr(
struct in6_addr* pipv6Addr)
const;
94 template <
typename Stream,
typename Operation>
131 template <
typename Stream,
typename Operation>
148 CService(
const struct in_addr& ipv4Addr,
unsigned short port);
149 explicit CService(
const struct sockaddr_in& addr);
150 unsigned short GetPort()
const;
151 bool GetSockAddr(
struct sockaddr* paddr, socklen_t *addrlen)
const;
156 std::vector<unsigned char>
GetKey()
const;
161 CService(
const struct in6_addr& ipv6Addr,
unsigned short port);
162 explicit CService(
const struct sockaddr_in6& addr);
166 template <
typename Stream,
typename Operation>
173 #endif // BITCOIN_NETADDRESS_H bool IsRFC6052() const
Definition: netaddress.cpp:174
bool IsRFC5737() const
Definition: netaddress.cpp:157
int GetReachabilityFrom(const CNetAddr *paddrPartner=nullptr) const
Definition: netaddress.cpp:511
bool IsLocal() const
Definition: netaddress.cpp:223
Definition: netaddress.h:26
friend bool operator<(const CService &a, const CService &b)
Definition: netaddress.cpp:619
Definition: netaddress.h:28
std::vector< unsigned char > GetKey() const
Definition: netaddress.cpp:669
bool IsRFC4862() const
Definition: netaddress.cpp:185
Definition: netaddress.h:23
std::string ToString() const
Definition: netaddress.cpp:788
std::string ToString() const
Definition: netaddress.cpp:693
Definition: netaddress.h:32
bool IsRFC4193() const
Definition: netaddress.cpp:191
bool IsRFC4843() const
Definition: netaddress.cpp:202
ADD_SERIALIZE_METHODS
Definition: netaddress.h:164
bool IsValid() const
Definition: netaddress.cpp:247
bool IsRFC2544() const
Definition: netaddress.cpp:142
uint8_t netmask[16]
Netmask, in network byte order.
Definition: netaddress.h:108
unsigned short uint16_t
Definition: stdint.h:20
void SetRaw(Network network, const uint8_t *data)
Definition: netaddress.cpp:32
bool IsRFC3927() const
Definition: netaddress.cpp:147
unsigned char uint8_t
Definition: stdint.h:19
std::vector< unsigned char > GetGroup() const
Definition: netaddress.cpp:413
bool IsRFC3849() const
Definition: netaddress.cpp:164
BigEndian< I > WrapBigEndian(I &n)
Definition: serialize.h:530
CSubNet()
Definition: netaddress.cpp:698
friend bool operator!=(const CSubNet &a, const CSubNet &b)
Definition: netaddress.h:126
bool SetInternal(const std::string &name)
Definition: netaddress.cpp:62
friend bool operator<(const CSubNet &a, const CSubNet &b)
Definition: netaddress.cpp:836
CService()
Definition: netaddress.cpp:569
void SetIP(const CNetAddr &ip)
Definition: netaddress.cpp:27
unsigned short GetPort() const
Definition: netaddress.cpp:609
friend bool operator==(const CNetAddr &a, const CNetAddr &b)
Definition: netaddress.cpp:356
void SerializationOp(Stream &s, Operation ser_action)
Definition: netaddress.h:167
bool IsIPv6() const
Definition: netaddress.cpp:129
CNetAddr()
Definition: netaddress.cpp:22
bool IsIPv4() const
Definition: netaddress.cpp:124
unsigned int uint32_t
Definition: stdint.h:21
CNetAddr network
Network (base) address.
Definition: netaddress.h:106
bool IsRFC6598() const
Definition: netaddress.cpp:152
const char * name
Definition: rest.cpp:39
std::string ToStringIP() const
Definition: netaddress.cpp:327
friend bool operator!=(const CService &a, const CService &b)
Definition: netaddress.h:154
unsigned long long uint64_t
Definition: stdint.h:22
std::string ToStringIPPort() const
Definition: netaddress.cpp:684
friend bool operator!=(const CNetAddr &a, const CNetAddr &b)
Definition: netaddress.h:89
bool IsRFC6145() const
Definition: netaddress.cpp:196
uint16_t port
Definition: netaddress.h:143
Network
Definition: netaddress.h:20
friend bool operator<(const CNetAddr &a, const CNetAddr &b)
Definition: netaddress.cpp:361
bool GetIn6Addr(struct in6_addr *pipv6Addr) const
Definition: netaddress.cpp:394
bool valid
Is this value valid? (only used to signal parse errors)
Definition: netaddress.h:110
bool IsRFC3964() const
Definition: netaddress.cpp:169
uint64_t GetHash() const
Definition: netaddress.cpp:489
std::string ToStringPort() const
Definition: netaddress.cpp:679
bool SetSockAddr(const struct sockaddr *paddr)
Definition: netaddress.cpp:595
bool IsInternal() const
Definition: netaddress.cpp:305
ADD_SERIALIZE_METHODS
Definition: netaddress.h:129
std::vector< uint8_t > data
Definition: bech32.cpp:10
Definition: netaddress.h:102
void SerializationOp(Stream &s, Operation ser_action)
Definition: netaddress.h:95
bool IsValid() const
Definition: netaddress.cpp:826
bool IsRFC1918() const
Definition: netaddress.cpp:134
std::string ToString() const
Definition: netaddress.cpp:351
bool IsRFC7343() const
Definition: netaddress.cpp:207
friend bool operator==(const CService &a, const CService &b)
Definition: netaddress.cpp:614
void SerializationOp(Stream &s, Operation ser_action)
Definition: netaddress.h:132
bool IsRoutable() const
Definition: netaddress.cpp:295
unsigned int GetByte(int n) const
Definition: netaddress.cpp:109
Definition: netaddress.h:24
bool IsBindAny() const
Definition: netaddress.cpp:114
Definition: netaddress.h:25
bool SetSpecial(const std::string &strName)
Definition: netaddress.cpp:84
ADD_SERIALIZE_METHODS
Definition: netaddress.h:92
Definition: netaddress.h:140
bool GetInAddr(struct in_addr *pipv4Addr) const
Definition: netaddress.cpp:376
uint32_t scopeId
Definition: netaddress.h:36
signed int int32_t
Definition: stdint.h:17
bool IsRFC4380() const
Definition: netaddress.cpp:180
enum Network GetNetwork() const
Definition: netaddress.cpp:310
bool GetSockAddr(struct sockaddr *paddr, socklen_t *addrlen) const
Definition: netaddress.cpp:636
#define READWRITE(...)
Definition: serialize.h:184
friend bool operator==(const CSubNet &a, const CSubNet &b)
Definition: netaddress.cpp:831
bool Match(const CNetAddr &addr) const
Definition: netaddress.cpp:758
unsigned char ip[16]
Definition: netaddress.h:35
bool IsTor() const
Definition: netaddress.cpp:218
Definition: netaddress.h:22