X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fnetwork%2Fnetworkd.h;h=30a29c7b67dfa76cb6672bcfc981a934ff45ee8c;hb=428fd0a75873d63b9d567f9db7871551d1ee0d62;hp=3b29842f194b4730f224bd41b87c23793ea47015;hpb=e16cb2e4efaba83f47da8355adc65fd83bbe8327;p=elogind.git diff --git a/src/network/networkd.h b/src/network/networkd.h index 3b29842f1..30a29c7b6 100644 --- a/src/network/networkd.h +++ b/src/network/networkd.h @@ -150,7 +150,7 @@ struct Network { Hashmap *addresses_by_section; Hashmap *routes_by_section; - Set *dns; + LIST_HEAD(Address, dns); LIST_FIELDS(Network, networks); }; @@ -232,6 +232,8 @@ struct Link { unsigned route_messages; unsigned enslaving; + LIST_HEAD(Address, addresses); + sd_dhcp_client *dhcp_client; sd_dhcp_lease *dhcp_lease; char *lease_file; @@ -282,6 +284,12 @@ int manager_save(Manager *m); DEFINE_TRIVIAL_CLEANUP_FUNC(Manager*, manager_free); #define _cleanup_manager_free_ _cleanup_(manager_freep) +const struct ConfigPerfItem* networkd_gperf_lookup(const char *key, unsigned length); + +int config_parse_dnsv(const char *unit, const char *filename, unsigned line, + const char *section, unsigned section_line, const char *lvalue, + int ltype, const char *rvalue, void *data, void *userdata); + /* NetDev */ int netdev_load(Manager *manager); @@ -380,6 +388,7 @@ void address_free(Address *address); int address_configure(Address *address, Link *link, sd_rtnl_message_handler_t callback); int address_update(Address *address, Link *link, sd_rtnl_message_handler_t callback); int address_drop(Address *address, Link *link, sd_rtnl_message_handler_t callback); +bool address_equal(Address *a1, Address *a2); DEFINE_TRIVIAL_CLEANUP_FUNC(Address*, address_free); #define _cleanup_address_free_ _cleanup_(address_freep)