Public Member Functions | Data Fields

sockaddrs Union Reference

#include <sockets.h>

Public Member Functions

 sockaddrs (const Anope::string &address="")
void clear ()
size_t size () const
int port () const
Anope::string addr () const
bool operator() () const
bool operator== (const sockaddrs &other) const
bool operator!= (const sockaddrs &other) const
void pton (int type, const Anope::string &address, int pport=0)
void ntop (int type, const void *src)

Data Fields

sockaddr sa
sockaddr_in sa4
sockaddr_in6 sa6

Detailed Description

A sockaddr union used to combine IPv4 and IPv6 sockaddrs

Definition at line 28 of file sockets.h.


Constructor & Destructor Documentation

sockaddrs::sockaddrs ( const Anope::string address = ""  ) 

Construct the object, sets everything to 0

Definition at line 31 of file sockets.cpp.

References clear(), Anope::string::empty(), Anope::string::find(), Anope::string::npos, and pton().


Member Function Documentation

Anope::string sockaddrs::addr (  )  const
void sockaddrs::clear (  ) 

Memset the object to 0

Definition at line 38 of file sockets.cpp.

Referenced by sockaddrs().

void sockaddrs::ntop ( int  type,
const void *  src 
)

The equivalent of inet_ntop

Parameters:
type AF_INET or AF_INET6
address The in_addr or in_addr6 structure
Exceptions:
A socket exception if given an invalid structure

Definition at line 149 of file sockets.cpp.

References inet_ntop, sa4, and sa6.

Referenced by MyPacket::Pack(), IRCDMessageNick::Run(), and MyPacket::UnpackResourceRecord().

bool sockaddrs::operator!= ( const sockaddrs other  )  const [inline]

Definition at line 66 of file sockets.h.

bool sockaddrs::operator() (  )  const

Check if this sockaddr has data in it

Definition at line 94 of file sockets.cpp.

References sa.

bool sockaddrs::operator== ( const sockaddrs other  )  const

Compares with sockaddr with another. Compares address type, port, and address

Returns:
true if they are the same

Definition at line 99 of file sockets.cpp.

References sa, sa4, and sa6.

int sockaddrs::port (  )  const

Get the port represented by this addr

Returns:
The port, or -1 on fail

Definition at line 58 of file sockets.cpp.

References sa, sa4, and sa6.

Referenced by ProxyConnect::Ban().

void sockaddrs::pton ( int  type,
const Anope::string address,
int  pport = 0 
)

The equivalent of inet_pton

Parameters:
type AF_INET or AF_INET6
address The address to place in the sockaddr structures
pport An option port to include in the sockaddr structures
Exceptions:
A socket exception if given invalid IPs

Definition at line 116 of file sockets.cpp.

References Anope::string::c_str(), inet_pton, Anope::LastError(), sa4, and sa6.

Referenced by CommandOSDNS::AddIP(), SocketIO::Bind(), cidr::cidr(), SocketIO::Connect(), SSLSocketIO::Connect(), ListenSocket::ListenSocket(), SOCKS5ProxyConnect::OnConnect(), DNSBLResolver::OnLookupComplete(), ModuleProxyScan::OnUserConnect(), ModuleDNSBL::OnUserConnect(), and sockaddrs().

size_t sockaddrs::size (  )  const

Get the size of the sockaddr we represent

Returns:
The size

Definition at line 43 of file sockets.cpp.

References sa, sa4, and sa6.

Referenced by SocketIO::Bind(), SocketIO::Connect(), SSLSocketIO::Connect(), pipe(), and UDPSocket::ProcessWrite().


Field Documentation

sockaddr sockaddrs::sa
sockaddr_in sockaddrs::sa4
sockaddr_in6 sockaddrs::sa6

The documentation for this union was generated from the following files: