From: Zbigniew Jędrzejewski-Szmek Date: Thu, 2 Apr 2020 15:33:38 +0000 (+0200) Subject: network: define string lookup table for the DHCP info bits X-Git-Tag: v246-rc1~551^2~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ddc026f303d7c6bab1801d54f7f323de67b1ad5c;p=thirdparty%2Fsystemd.git network: define string lookup table for the DHCP info bits --- diff --git a/src/network/networkd-util.c b/src/network/networkd-util.c index deba9953726..3d1d3bd6845 100644 --- a/src/network/networkd-util.c +++ b/src/network/networkd-util.c @@ -8,14 +8,14 @@ #include "string-util.h" #include "util.h" -static const char * const address_family_table[_ADDRESS_FAMILY_MAX] = { +static const char* const address_family_table[_ADDRESS_FAMILY_MAX] = { [ADDRESS_FAMILY_NO] = "no", [ADDRESS_FAMILY_YES] = "yes", [ADDRESS_FAMILY_IPV4] = "ipv4", [ADDRESS_FAMILY_IPV6] = "ipv6", }; -static const char * const link_local_address_family_table[_ADDRESS_FAMILY_MAX] = { +static const char* const link_local_address_family_table[_ADDRESS_FAMILY_MAX] = { [ADDRESS_FAMILY_NO] = "no", [ADDRESS_FAMILY_YES] = "yes", [ADDRESS_FAMILY_IPV4] = "ipv4", @@ -24,25 +24,34 @@ static const char * const link_local_address_family_table[_ADDRESS_FAMILY_MAX] = [ADDRESS_FAMILY_FALLBACK_IPV4] = "ipv4-fallback", }; -static const char * const routing_policy_rule_address_family_table[_ADDRESS_FAMILY_MAX] = { +static const char* const routing_policy_rule_address_family_table[_ADDRESS_FAMILY_MAX] = { [ADDRESS_FAMILY_YES] = "both", [ADDRESS_FAMILY_IPV4] = "ipv4", [ADDRESS_FAMILY_IPV6] = "ipv6", }; -static const char * const duplicate_address_detection_address_family_table[_ADDRESS_FAMILY_MAX] = { +static const char* const duplicate_address_detection_address_family_table[_ADDRESS_FAMILY_MAX] = { [ADDRESS_FAMILY_NO] = "none", [ADDRESS_FAMILY_YES] = "both", [ADDRESS_FAMILY_IPV4] = "ipv4", [ADDRESS_FAMILY_IPV6] = "ipv6", }; +static const char* const dhcp_lease_info_table[_SD_DHCP_LEASE_INFO_MAX] = { + [SD_DHCP_LEASE_DNS_SERVERS] = "DNS servers", + [SD_DHCP_LEASE_NTP_SERVERS] = "NTP servers", + [SD_DHCP_LEASE_SIP_SERVERS] = "SIP servers", + [SD_DHCP_LEASE_POP3_SERVERS] = "POP3 servers", + [SD_DHCP_LEASE_SMTP_SERVERS] = "SMTP servers", +}; + DEFINE_STRING_TABLE_LOOKUP_WITH_BOOLEAN(address_family, AddressFamily, ADDRESS_FAMILY_YES); DEFINE_STRING_TABLE_LOOKUP_WITH_BOOLEAN(link_local_address_family, AddressFamily, ADDRESS_FAMILY_YES); DEFINE_STRING_TABLE_LOOKUP(routing_policy_rule_address_family, AddressFamily); DEFINE_STRING_TABLE_LOOKUP(duplicate_address_detection_address_family, AddressFamily); DEFINE_CONFIG_PARSE_ENUM(config_parse_link_local_address_family, link_local_address_family, AddressFamily, "Failed to parse option"); +DEFINE_STRING_TABLE_LOOKUP(dhcp_lease_info, sd_dhcp_lease_info); int config_parse_address_family_with_kernel( const char* unit, diff --git a/src/network/networkd-util.h b/src/network/networkd-util.h index 28dd9d3fe56..48411b0cf52 100644 --- a/src/network/networkd-util.h +++ b/src/network/networkd-util.h @@ -1,6 +1,8 @@ /* SPDX-License-Identifier: LGPL-2.1+ */ #pragma once +#include "sd-dhcp-lease.h" + #include "conf-parser.h" #include "hash-funcs.h" #include "macro.h" @@ -38,6 +40,9 @@ AddressFamily routing_policy_rule_address_family_from_string(const char *s) _pur const char *duplicate_address_detection_address_family_to_string(AddressFamily b) _const_; AddressFamily duplicate_address_detection_address_family_from_string(const char *s) _pure_; +const char *dhcp_lease_info_to_string(sd_dhcp_lease_info info) _const_; +sd_dhcp_lease_info dhcp_lease_info_from_string(const char *s) _pure_; + int kernel_route_expiration_supported(void); int network_config_section_new(const char *filename, unsigned line, NetworkConfigSection **s);