]> git.ipfire.org Git - thirdparty/systemd.git/blob - src/network/networkd-dhcp6.h
network: Allow DHCPv6 client to start solicit mode
[thirdparty/systemd.git] / src / network / networkd-dhcp6.h
1 /* SPDX-License-Identifier: LGPL-2.1+ */
2 #pragma once
3
4 #include "sd-dhcp6-client.h"
5
6 #include "conf-parser.h"
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,
14 _DHCP6_CLIENT_START_MODE_INVALID = -1,
15 } DHCP6ClientStartMode;
16
17 typedef struct Link Link;
18 typedef struct Manager Manager;
19
20 int dhcp6_request_prefix_delegation(Link *link);
21 int dhcp6_configure(Link *link);
22 int dhcp6_request_address(Link *link, int ir);
23 int dhcp6_lease_pd_prefix_lost(sd_dhcp6_client *client, Link* link);
24 int dhcp6_prefix_remove(Manager *m, struct in6_addr *addr);
25
26 CONFIG_PARSER_PROTOTYPE(config_parse_dhcp6_pd_hint);
27 CONFIG_PARSER_PROTOTYPE(config_parse_dhcp6_mud_url);
28 CONFIG_PARSER_PROTOTYPE(config_parse_dhcp6_delegated_prefix_token);
29 CONFIG_PARSER_PROTOTYPE(config_parse_dhcp6_client_start_mode);
30
31 const char* dhcp6_client_start_mode_to_string(DHCP6ClientStartMode i) _const_;
32 DHCP6ClientStartMode dhcp6_client_start_mode_from_string(const char *s) _pure_;