libnpupnp
4.1.0
An almost compatible successor for the Portable UPnP reference library
|
Represent a system network interface, its attributes and its addresses. Usually built by the module internal code by querying the system interfaces. More...
#include <netif.h>
Public Types | |
enum | Flags { NONE = 0, HASIPV4 = 1, HASIPV6 = 2, LOOPBACK =4, UP =8, MULTICAST =0x10, HASHWADDR =0x20 } |
Interface attributes. | |
Public Member Functions | |
Interface (const char *nm) | |
Construct empty interface with just the name set. | |
Interface (const std::string &nm) | |
Construct empty interface with just the name set. | |
Interface (const Interface &) | |
Interface & | operator= (const Interface &) |
const std::string & | getname () const |
Return the interface name. | |
const std::string & | getfriendlyname () const |
Return the interface friendly name (same as name except on Windows). | |
const std::string & | gethwaddr () const |
std::string | gethexhwaddr () const |
Return hardware address in traditional colon-separated hex. | |
bool | hasflag (Flags f) const |
test if flag is set | |
bool | trimto (const std::vector< IPAddr > &keep) |
Remove all addresses not in the input vector. | |
const IPAddr * | firstipv4addr () const |
Return the first ipv4 address if any, or nullptr. | |
const IPAddr * | firstipv6addr (IPAddr::Scope scope=IPAddr::Scope::Invalid) const |
Return the first ipv6 address if any, or nullptr. | |
std::pair< const std::vector< IPAddr > &, const std::vector< IPAddr > & > | getaddresses () const |
Return the interface addresses and the corresponding netmasks, as parallel arrays. | |
int | getindex () const |
Return the interface index. | |
std::ostream & | print (std::ostream &) const |
Print out, a bit like "ip addr" output. | |
Friends | |
class | Interfaces |
Represent a system network interface, its attributes and its addresses. Usually built by the module internal code by querying the system interfaces.
const std::string& NetIF::Interface::gethwaddr | ( | ) | const |
Return the hardware (ethernet) address as a binary string (can have embedded null characters). Empty if no hardware address was found for this interface