X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fnetwork%2Fnetworkd.h;h=67f70d9e60f8278c53f51054751c9f8f299d884e;hb=ed942a9eb22d50f667909ad6184b45015d28d054;hp=b7b1d903b2526e9553f270ee76cb63ba32298385;hpb=68ceb9df6a39a7f86ffc3cf8266ca677a5d5271b;p=elogind.git diff --git a/src/network/networkd.h b/src/network/networkd.h index b7b1d903b..67f70d9e6 100644 --- a/src/network/networkd.h +++ b/src/network/networkd.h @@ -131,6 +131,15 @@ struct NetDev { LIST_HEAD(netdev_enslave_callback, callbacks); }; +typedef enum DHCPSupport { + DHCP_SUPPORT_NONE, + DHCP_SUPPORT_BOTH, + DHCP_SUPPORT_V4, + DHCP_SUPPORT_V6, + _DHCP_SUPPORT_MAX, + _DHCP_SUPPORT_INVALID = -1, +} DHCPSupport; + struct Network { Manager *manager; @@ -153,7 +162,7 @@ struct Network { Hashmap *vlans; Hashmap *macvlans; Hashmap *vxlans; - bool dhcp; + DHCPSupport dhcp; bool dhcp_dns; bool dhcp_ntp; bool dhcp_mtu; @@ -161,7 +170,6 @@ struct Network { bool dhcp_domainname; bool dhcp_critical; bool ipv4ll; - bool dhcp6; bool dhcp_server; @@ -472,6 +480,15 @@ LinkOperationalState link_operstate_from_string(const char *s) _pure_; DEFINE_TRIVIAL_CLEANUP_FUNC(Link*, link_unref); #define _cleanup_link_unref_ _cleanup_(link_unrefp) +/* DHCP support */ + +const char* dhcp_support_to_string(DHCPSupport i) _const_; +DHCPSupport dhcp_support_from_string(const char *s) _pure_; + +int config_parse_dhcp(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); + /* Address Pool */ int address_pool_new(Manager *m, AddressPool **ret, unsigned family, const union in_addr_union *u, unsigned prefixlen);