]>
Commit | Line | Data |
---|---|---|
db9ecf05 | 1 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ |
ca5ad760 YW |
2 | #pragma once |
3 | ||
4 | #include "sd-dhcp6-client.h" | |
5 | ||
6 | #include "conf-parser.h" | |
838d39af SS |
7 | #include "macro.h" |
8 | ||
9 | typedef enum DHCP6ClientStartMode { | |
10 | DHCP6_CLIENT_START_MODE_NO, | |
11 | DHCP6_CLIENT_START_MODE_INFORMATION_REQUEST, | |
12 | DHCP6_CLIENT_START_MODE_SOLICIT, | |
13 | _DHCP6_CLIENT_START_MODE_MAX, | |
2d93c20e | 14 | _DHCP6_CLIENT_START_MODE_INVALID = -EINVAL, |
838d39af | 15 | } DHCP6ClientStartMode; |
ca5ad760 YW |
16 | |
17 | typedef struct Link Link; | |
04ed9949 | 18 | typedef struct Manager Manager; |
ca5ad760 | 19 | |
1633c457 YW |
20 | typedef struct DHCP6DelegatedPrefix { |
21 | struct in6_addr prefix; /* Prefix assigned to the link */ | |
22 | struct in6_addr pd_prefix; /* PD prefix provided by DHCP6 lease */ | |
23 | Link *link; | |
24 | } DHCP6DelegatedPrefix; | |
25 | ||
26 | DHCP6DelegatedPrefix *dhcp6_pd_free(DHCP6DelegatedPrefix *p); | |
27 | DEFINE_TRIVIAL_CLEANUP_FUNC(DHCP6DelegatedPrefix*, dhcp6_pd_free); | |
28 | ||
8cd37e43 | 29 | bool link_dhcp6_with_address_enabled(Link *link); |
1633c457 YW |
30 | bool link_dhcp6_pd_is_enabled(Link *link); |
31 | int dhcp6_pd_remove(Link *link); | |
ca5ad760 | 32 | int dhcp6_configure(Link *link); |
eebba6dc | 33 | int dhcp6_update_mac(Link *link); |
294f129b | 34 | int dhcp6_start(Link *link); |
76c5a0f2 | 35 | int dhcp6_request_information(Link *link, int ir); |
1633c457 | 36 | int dhcp6_request_prefix_delegation(Link *link); |
c24dd739 | 37 | |
5460bde5 YW |
38 | int link_serialize_dhcp6_client(Link *link, FILE *f); |
39 | ||
c24dd739 YW |
40 | CONFIG_PARSER_PROTOTYPE(config_parse_dhcp6_pd_hint); |
41 | CONFIG_PARSER_PROTOTYPE(config_parse_dhcp6_mud_url); | |
838d39af | 42 | CONFIG_PARSER_PROTOTYPE(config_parse_dhcp6_client_start_mode); |
99e015e2 | 43 | CONFIG_PARSER_PROTOTYPE(config_parse_dhcp6_pd_subnet_id); |
838d39af SS |
44 | |
45 | const char* dhcp6_client_start_mode_to_string(DHCP6ClientStartMode i) _const_; | |
46 | DHCP6ClientStartMode dhcp6_client_start_mode_from_string(const char *s) _pure_; |