daasiot_python
net_utils.cpp
Go to the documentation of this file.
1#include "net_utils.h"
2#include <ifaddrs.h>
3#include <net/if.h>
4#include <string.h>
5#include <algorithm>
6#include "daaswrapper.h"
7
8
9std::vector<std::string> listSystemNetworkInterfaces() {
10 std::vector<std::string> interfaces;
11 struct ifaddrs *ifaddr, *ifa;
12
13 if (getifaddrs(&ifaddr) == -1) {
14 return interfaces; // Vuoto se errore
15 }
16
17 for (ifa = ifaddr; ifa != nullptr; ifa = ifa->ifa_next) {
18 if (ifa->ifa_name && (ifa->ifa_flags & IFF_UP)) {
19 std::string name(ifa->ifa_name);
20 if (std::find(interfaces.begin(), interfaces.end(), name) == interfaces.end()) {
21 interfaces.push_back(name);
22 }
23 }
24 }
25
26 freeifaddrs(ifaddr);
27 return interfaces;
28}
std::vector< std::string > listSystemNetworkInterfaces()
Definition net_utils.cpp:9