Evo C++ Library v0.5.1
Classes | Public Types | Public Member Functions | List of all members
NetworkInterfaces Class Reference

#include <evo/net_interface.h>

Detailed Description

Query network adapter interfaces from OS.

Example
#include <evo/iosock.h>
#include <evo/string.h>
#include <evo/io.h>
using namespace evo;
static Console& c = con();
int main() {
String ipstr;
NetworkInterfaces interfaces;
for (NetworkInterfaces::Iter iter(interfaces); iter; ++iter) {
if (SocketAddressIp::check(iter->addr)) {
SocketAddressIp addr(iter->addr);
addr.format(ipstr.clear());
c.out << iter->name << '\t' << ipstr << NL;
}
}
}

Classes

struct  Item
 Network iterface item. More...
 

Public Types

typedef IteratorFw< NetworkInterfaces >::Const Iter
 Iterator (const) - IteratorFw. More...
 
typedef struct ifaddrs SysItem
 System interface item. More...
 

Public Member Functions

 NetworkInterfaces (int family=AF_UNSPEC, bool active=true)
 Constructor queries OS for interfaces. More...
 
 ~NetworkInterfaces ()
 Destructor frees interface data. More...
 

Member Typedef Documentation

◆ Iter

Iterator (const) - IteratorFw.

◆ SysItem

typedef struct ifaddrs SysItem

System interface item.

Constructor & Destructor Documentation

◆ NetworkInterfaces()

NetworkInterfaces ( int  family = AF_UNSPEC,
bool  active = true 
)
inline

Constructor queries OS for interfaces.

  • Use Iter to iterate through interfaces, which will reference allocated interface data
Parameters
familyFilter by address family, AF_UNSPEC for all
activeFind active interfaces, false for all interfaces

◆ ~NetworkInterfaces()

~NetworkInterfaces ( )
inline

Destructor frees interface data.

  • Any iterators referencing interface data are invalidated

The documentation for this class was generated from the following file: