diff options
-rw-r--r-- | TODO | 1 | ||||
-rw-r--r-- | src/network/sd-network.c | 58 | ||||
-rw-r--r-- | src/systemd/sd-network.h | 4 |
3 files changed, 0 insertions, 63 deletions
@@ -29,7 +29,6 @@ Features: releases (probably not even a directory in /run for it) - the order between ipv6 and ipv4 dns servers probably matters, hence the current DNS apis won't suffice - - sd_network_get_ifindices() sounds redundant, rtnetlink can do that too * resolved: - IDN (?) diff --git a/src/network/sd-network.c b/src/network/sd-network.c index 0844e58686..91d6275056 100644 --- a/src/network/sd-network.c +++ b/src/network/sd-network.c @@ -206,64 +206,6 @@ _public_ int sd_network_dhcp_use_ntp(int ifindex) { return network_get_boolean("DHCP_USE_NTP", ifindex); } -_public_ int sd_network_get_ifindices(int **ifindices) { - _cleanup_closedir_ DIR *d; - int r = 0; - unsigned n = 0; - _cleanup_free_ int *l = NULL; - - d = opendir("/run/systemd/netif/links/"); - if (!d) - return -errno; - - for (;;) { - struct dirent *de; - int k; - int ifindex; - - errno = 0; - de = readdir(d); - if (!de && errno != 0) - return -errno; - - if (!de) - break; - - dirent_ensure_type(d, de); - - if (!dirent_is_file(de)) - continue; - - k = safe_atoi(de->d_name, &ifindex); - if (k < 0) - continue; - - if (ifindices) { - if ((unsigned) r >= n) { - int *t; - - n = MAX(16, 2*r); - t = realloc(l, sizeof(int) * n); - if (!t) - return -ENOMEM; - - l = t; - } - - assert((unsigned) r < n); - l[r++] = ifindex; - } else - r++; - } - - if (ifindices) { - *ifindices = l; - l = NULL; - } - - return r; -} - static inline int MONITOR_TO_FD(sd_network_monitor *m) { return (int) (unsigned long) m - 1; } diff --git a/src/systemd/sd-network.h b/src/systemd/sd-network.h index 0f32c448f8..e4547057f1 100644 --- a/src/systemd/sd-network.h +++ b/src/systemd/sd-network.h @@ -88,10 +88,6 @@ int sd_network_get_dns(int ifindex, struct in_addr **addr); /* Get IPv6 DNS entries statically configured for the link */ int sd_network_get_dns6(int ifindex, struct in6_addr **addr); -/* Get all network interfaces' indices, and store them in *indices. Returns - * the number of indices. If indices is NULL, only returns the number of indices. */ -int sd_network_get_ifindices(int **ifindices); - /* Monitor object */ typedef struct sd_network_monitor sd_network_monitor; |