]>
Commit | Line | Data |
---|---|---|
ca5ad760 YW |
1 | /* SPDX-License-Identifier: LGPL-2.1+ */ |
2 | #pragma once | |
3 | ||
4 | #include "conf-parser.h" | |
5 | #include "dhcp-identifier.h" | |
6 | #include "time-util.h" | |
7 | ||
8 | #define DHCP_ROUTE_METRIC 1024 | |
9 | ||
10 | typedef enum DHCPUseDomains { | |
11 | DHCP_USE_DOMAINS_NO, | |
12 | DHCP_USE_DOMAINS_YES, | |
13 | DHCP_USE_DOMAINS_ROUTE, | |
14 | _DHCP_USE_DOMAINS_MAX, | |
15 | _DHCP_USE_DOMAINS_INVALID = -1, | |
16 | } DHCPUseDomains; | |
17 | ||
2e5580a8 YW |
18 | typedef enum DHCPOptionDataType { |
19 | DHCP_OPTION_DATA_UINT8, | |
20 | DHCP_OPTION_DATA_UINT16, | |
21 | DHCP_OPTION_DATA_UINT32, | |
22 | DHCP_OPTION_DATA_STRING, | |
23 | DHCP_OPTION_DATA_IPV4ADDRESS, | |
e7d5fe17 | 24 | DHCP_OPTION_DATA_IPV6ADDRESS, |
2e5580a8 YW |
25 | _DHCP_OPTION_DATA_MAX, |
26 | _DHCP_OPTION_DATA_INVALID, | |
27 | } DHCPOptionDataType; | |
28 | ||
ca5ad760 YW |
29 | typedef struct DUID { |
30 | /* Value of Type in [DHCP] section */ | |
31 | DUIDType type; | |
32 | ||
33 | uint8_t raw_data_len; | |
34 | uint8_t raw_data[MAX_DUID_LEN]; | |
35 | usec_t llt_time; | |
36 | } DUID; | |
37 | ||
38 | const char* dhcp_use_domains_to_string(DHCPUseDomains p) _const_; | |
39 | DHCPUseDomains dhcp_use_domains_from_string(const char *s) _pure_; | |
40 | ||
2e5580a8 YW |
41 | const char *dhcp_option_data_type_to_string(DHCPOptionDataType d) _const_; |
42 | DHCPOptionDataType dhcp_option_data_type_from_string(const char *d) _pure_; | |
43 | ||
ca5ad760 | 44 | CONFIG_PARSER_PROTOTYPE(config_parse_dhcp); |
bdad94d0 | 45 | CONFIG_PARSER_PROTOTYPE(config_parse_dhcp_route_metric); |
4f7331a8 | 46 | CONFIG_PARSER_PROTOTYPE(config_parse_dhcp_use_dns); |
ca5ad760 | 47 | CONFIG_PARSER_PROTOTYPE(config_parse_dhcp_use_domains); |
4f7331a8 | 48 | CONFIG_PARSER_PROTOTYPE(config_parse_dhcp_use_ntp); |
ca5ad760 YW |
49 | CONFIG_PARSER_PROTOTYPE(config_parse_iaid); |
50 | CONFIG_PARSER_PROTOTYPE(config_parse_section_route_table); | |
f37f2a6b | 51 | CONFIG_PARSER_PROTOTYPE(config_parse_dhcp_user_class); |
ed0d1b2e | 52 | CONFIG_PARSER_PROTOTYPE(config_parse_dhcp_vendor_class); |
0e96961d | 53 | CONFIG_PARSER_PROTOTYPE(config_parse_dhcp_send_option); |
35f6a5cb | 54 | CONFIG_PARSER_PROTOTYPE(config_parse_dhcp_request_options); |