X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fnetwork%2Fsd-network.c;h=50e5d9be1fd63e13f957ec5df17bfb3b74af5139;hb=560852ced07a647e2d288ce2932aaf608712867d;hp=3ebc5d8b13d73d7aa0b3206cd5e41e49205847fb;hpb=85b5673b337048fa881a5afb1d00d1a7b95950fb;p=elogind.git diff --git a/src/network/sd-network.c b/src/network/sd-network.c index 3ebc5d8b1..50e5d9be1 100644 --- a/src/network/sd-network.c +++ b/src/network/sd-network.c @@ -85,9 +85,7 @@ _public_ int sd_network_get_link_state(unsigned index, char **state) { else if (!s) return -EIO; - if (streq(s, "unmanaged")) - return -EUNATCH; - else if (streq(s, "initializing")) + if (streq(s, "initializing")) return -EBUSY; *state = s; @@ -168,13 +166,12 @@ _public_ int sd_network_get_dhcp_lease(unsigned index, sd_dhcp_lease **ret) { return 0; } -static int network_get_in_addr(const char *key, unsigned index, struct in_addr **addr, size_t *addr_size) { +static int network_get_in_addr(const char *key, unsigned index, struct in_addr **addr) { _cleanup_free_ char *p = NULL, *s = NULL; int r; assert_return(index, -EINVAL); assert_return(addr, -EINVAL); - assert_return(addr_size, -EINVAL); if (asprintf(&p, "/run/systemd/netif/links/%u", index) < 0) return -ENOMEM; @@ -185,24 +182,23 @@ static int network_get_in_addr(const char *key, unsigned index, struct in_addr * else if (!s) return -EIO; - return deserialize_in_addrs(addr, addr_size, s); + return deserialize_in_addrs(addr, s); } -_public_ int sd_network_get_dns(unsigned index, struct in_addr **addr, size_t *addr_size) { - return network_get_in_addr("DNS", index, addr, addr_size); +_public_ int sd_network_get_dns(unsigned index, struct in_addr **addr) { + return network_get_in_addr("DNS", index, addr); } -_public_ int sd_network_get_ntp(unsigned index, struct in_addr **addr, size_t *addr_size) { - return network_get_in_addr("NTP", index, addr, addr_size); +_public_ int sd_network_get_ntp(unsigned index, struct in_addr **addr) { + return network_get_in_addr("NTP", index, addr); } -static int network_get_in6_addr(const char *key, unsigned index, struct in6_addr **addr, size_t *addr_size) { +static int network_get_in6_addr(const char *key, unsigned index, struct in6_addr **addr) { _cleanup_free_ char *p = NULL, *s = NULL; int r; assert_return(index, -EINVAL); assert_return(addr, -EINVAL); - assert_return(addr_size, -EINVAL); if (asprintf(&p, "/run/systemd/netif/links/%u", index) < 0) return -ENOMEM; @@ -213,15 +209,15 @@ static int network_get_in6_addr(const char *key, unsigned index, struct in6_addr else if (!s) return -EIO; - return deserialize_in6_addrs(addr, addr_size, s); + return deserialize_in6_addrs(addr, s); } -_public_ int sd_network_get_dns6(unsigned index, struct in6_addr **addr, size_t *addr_size) { - return network_get_in6_addr("DNS", index, addr, addr_size); +_public_ int sd_network_get_dns6(unsigned index, struct in6_addr **addr) { + return network_get_in6_addr("DNS", index, addr); } -_public_ int sd_network_get_ntp6(unsigned index, struct in6_addr **addr, size_t *addr_size) { - return network_get_in6_addr("NTP", index, addr, addr_size); +_public_ int sd_network_get_ntp6(unsigned index, struct in6_addr **addr) { + return network_get_in6_addr("NTP", index, addr); } static int network_get_boolean(const char *key, unsigned index) { @@ -237,7 +233,7 @@ static int network_get_boolean(const char *key, unsigned index) { if (r < 0) return r; else if (!s) - return -EIO; + return false; return parse_boolean(s); } @@ -316,7 +312,7 @@ static inline sd_network_monitor* FD_TO_MONITOR(int fd) { return (sd_network_monitor*) (unsigned long) (fd + 1); } -_public_ int sd_network_monitor_new(const char *category, sd_network_monitor **m) { +_public_ int sd_network_monitor_new(sd_network_monitor **m, const char *category) { int fd, k; bool good = false;