diff options
-rw-r--r-- | include/network.h | 1 | ||||
-rw-r--r-- | src/network.c | 20 |
2 files changed, 21 insertions, 0 deletions
diff --git a/include/network.h b/include/network.h index 9d7f5f90..6e92bc53 100644 --- a/include/network.h +++ b/include/network.h @@ -135,6 +135,7 @@ const char *connman_network_get_enc_mode(struct connman_network *network); int connman_network_set_proxy(struct connman_network *network, const char *proxies); +const char *connman_network_get_ifname(struct connman_network *network); #endif int connman_network_set_name(struct connman_network *network, diff --git a/src/network.c b/src/network.c index 789925a6..1b176a63 100644 --- a/src/network.c +++ b/src/network.c @@ -1788,6 +1788,26 @@ int connman_network_set_proxy(struct connman_network *network, return 0; } + +const char *connman_network_get_ifname(struct connman_network *network) +{ + struct connman_service *service; + struct connman_ipconfig *ipconfig; + const char *ifname = NULL; + + service = connman_service_lookup_from_network(network); + if (service == NULL) + return NULL; + + ipconfig = __connman_service_get_ip4config(service); + + if (ipconfig != NULL) + ifname = __connman_ipconfig_get_ifname(ipconfig); + + DBG("index %d, service %p ip4config %p ifname %s", + network->index, service, ipconfig, ifname); + return ifname; +} #endif int connman_network_set_nameservers(struct connman_network *network, |