]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
network: define string lookup table for the DHCP info bits
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Thu, 2 Apr 2020 15:33:38 +0000 (17:33 +0200)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Fri, 10 Apr 2020 15:53:10 +0000 (17:53 +0200)
src/network/networkd-util.c
src/network/networkd-util.h

index deba9953726afbfafd33dc2afb60f95154ead026..3d1d3bd68456454d39ee0423dd29a641d5e7f075 100644 (file)
@@ -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,
index 28dd9d3fe564720a3761ebc17ac54becfcc85dd6..48411b0cf52c93e232c36c5e48e0c76cc4c4b014 100644 (file)
@@ -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);