tcp_address.hpp
Go to the documentation of this file.
1 /* SPDX-License-Identifier: MPL-2.0 */
2 
3 #ifndef __ZMQ_TCP_ADDRESS_HPP_INCLUDED__
4 #define __ZMQ_TCP_ADDRESS_HPP_INCLUDED__
5 
6 #if !defined ZMQ_HAVE_WINDOWS
7 #include <sys/socket.h>
8 #include <netinet/in.h>
9 #endif
10 
11 #include "ip_resolver.hpp"
12 
13 namespace zmq
14 {
16 {
17  public:
18  tcp_address_t ();
19  tcp_address_t (const sockaddr *sa_, socklen_t sa_len_);
20 
21  // This function translates textual TCP address into an address
22  // structure. If 'local' is true, names are resolved as local interface
23  // names. If it is false, names are resolved as remote hostnames.
24  // If 'ipv6' is true, the name may resolve to IPv6 address.
25  int resolve (const char *name_, bool local_, bool ipv6_);
26 
27  // The opposite to resolve()
28  int to_string (std::string &addr_) const;
29 
30 #if defined ZMQ_HAVE_WINDOWS
31  unsigned short family () const;
32 #else
33  sa_family_t family () const;
34 #endif
35  const sockaddr *addr () const;
36  socklen_t addrlen () const;
37 
38  const sockaddr *src_addr () const;
39  socklen_t src_addrlen () const;
40  bool has_src_addr () const;
41 
42  private:
46 };
47 
49 {
50  public:
52 
53  // This function enhances tcp_address_t::resolve() with ability to parse
54  // additional cidr-like(/xx) mask value at the end of the name string.
55  // Works only with remote hostnames.
56  int resolve (const char *name_, bool ipv6_);
57 
58  bool match_address (const struct sockaddr *ss_, socklen_t ss_len_) const;
59 
60  private:
63 };
64 }
65 
66 #endif
zmq::tcp_address_t::to_string
int to_string(std::string &addr_) const
Definition: tcp_address.cpp:111
zmq::tcp_address_t::addr
const sockaddr * addr() const
Definition: tcp_address.cpp:142
zmq::tcp_address_t::src_addrlen
socklen_t src_addrlen() const
Definition: tcp_address.cpp:157
zmq::tcp_address_mask_t
Definition: tcp_address.hpp:48
zmq::tcp_address_t::_source_address
ip_addr_t _source_address
Definition: tcp_address.hpp:44
zmq::tcp_address_mask_t::_address_mask
int _address_mask
Definition: tcp_address.hpp:62
string
GLsizei const GLchar *const * string
Definition: glcorearb.h:3083
zmq
Definition: zmq.hpp:229
zmq::tcp_address_t::addrlen
socklen_t addrlen() const
Definition: tcp_address.cpp:147
zmq::tcp_address_t
Definition: tcp_address.hpp:15
zmq::tcp_address_mask_t::match_address
bool match_address(const struct sockaddr *ss_, socklen_t ss_len_) const
Definition: tcp_address.cpp:237
zmq::ip_addr_t
Definition: ip_resolver.hpp:16
zmq::tcp_address_t::tcp_address_t
tcp_address_t()
Definition: tcp_address.cpp:25
zmq::tcp_address_t::family
sa_family_t family() const
Definition: tcp_address.cpp:170
zmq::tcp_address_t::resolve
int resolve(const char *name_, bool local_, bool ipv6_)
Definition: tcp_address.cpp:46
zmq::tcp_address_mask_t::_network_address
ip_addr_t _network_address
Definition: tcp_address.hpp:61
name_
string name_
Definition: googletest.cc:182
zmq::tcp_address_t::src_addr
const sockaddr * src_addr() const
Definition: tcp_address.cpp:152
zmq::tcp_address_t::_has_src_addr
bool _has_src_addr
Definition: tcp_address.hpp:45
zmq::tcp_address_t::_address
ip_addr_t _address
Definition: tcp_address.hpp:43
zmq::tcp_address_mask_t::tcp_address_mask_t
tcp_address_mask_t()
Definition: tcp_address.cpp:176
zmq::tcp_address_t::has_src_addr
bool has_src_addr() const
Definition: tcp_address.cpp:162
ip_resolver.hpp
zmq::tcp_address_mask_t::resolve
int resolve(const char *name_, bool ipv6_)
Definition: tcp_address.cpp:181


libaditof
Author(s):
autogenerated on Wed May 21 2025 02:06:59