#include <errno.h>
#include <poll.h>
-#include <string.h>
#include <sys/inotify.h>
#include "sd-network.h"
return network_link_get_string(ifindex, "TIMEZONE", ret);
}
+_public_ int sd_network_link_get_dhcp4_address(int ifindex, char **ret) {
+ return network_link_get_string(ifindex, "DHCP4_ADDRESS", ret);
+}
+
_public_ int sd_network_link_get_dns(int ifindex, char ***ret) {
return network_link_get_strv(ifindex, "DNS", ret);
}
return network_link_get_strv(ifindex, "NTP", ret);
}
+_public_ int sd_network_link_get_sip(int ifindex, char ***ret) {
+ return network_link_get_strv(ifindex, "SIP", ret);
+}
+
_public_ int sd_network_link_get_search_domains(int ifindex, char ***ret) {
return network_link_get_strv(ifindex, "DOMAINS", ret);
}
return network_link_get_strv(ifindex, "ROUTE_DOMAINS", ret);
}
+_public_ int sd_network_link_get_sip_servers(int ifindex, char ***ret) {
+ return network_link_get_strv(ifindex, "SIP", ret);
+}
+
+_public_ int sd_network_link_get_pop3_servers(int ifindex, char ***pop3) {
+ return network_link_get_strv(ifindex, "POP3_SERVERS", pop3);
+}
+
+_public_ int sd_network_link_get_smtp_servers(int ifindex, char ***ret) {
+ return network_link_get_strv(ifindex, "SMTP_SERVERS", ret);
+}
+
_public_ int sd_network_link_get_dns_default_route(int ifindex) {
char path[STRLEN("/run/systemd/netif/links/") + DECIMAL_STR_MAX(ifindex) + 1];
_cleanup_free_ char *s = NULL;
_cleanup_free_ int *ifis = NULL;
_cleanup_free_ char *s = NULL;
size_t allocated = 0, c = 0;
- const char *x;
int r;
assert_return(ifindex > 0, -EINVAL);
if (r < 0)
return r;
- for (x = s;;) {
+ for (const char *x = s;;) {
_cleanup_free_ char *word = NULL;
r = extract_first_word(&x, &word, NULL, 0);
if (r == 0)
break;
- r = parse_ifindex(word, &ifindex);
- if (r < 0)
- return r;
-
if (!GREEDY_REALLOC(ifis, allocated, c + 2))
return -ENOMEM;
- ifis[c++] = ifindex;
+ r = ifis[c++] = parse_ifindex(word);
+ if (r < 0)
+ return r;
}
if (ifis)