1 /* SPDX-License-Identifier: LGPL-2.1-or-later */ 2 #pragma once 3 4 #include "conf-parser.h" 5 #include "macro.h" 6 7 typedef enum DHCP6ClientStartMode { 8 DHCP6_CLIENT_START_MODE_NO, 9 DHCP6_CLIENT_START_MODE_INFORMATION_REQUEST, 10 DHCP6_CLIENT_START_MODE_SOLICIT, 11 _DHCP6_CLIENT_START_MODE_MAX, 12 _DHCP6_CLIENT_START_MODE_INVALID = -EINVAL, 13 } DHCP6ClientStartMode; 14 15 typedef struct Link Link; 16 17 bool link_dhcp6_with_address_enabled(Link *link); 18 int dhcp6_check_ready(Link *link); 19 int dhcp6_update_mac(Link *link); 20 int dhcp6_start(Link *link); 21 int dhcp6_start_on_ra(Link *link, bool information_request); 22 23 int link_request_dhcp6_client(Link *link); 24 25 int link_serialize_dhcp6_client(Link *link, FILE *f); 26 27 CONFIG_PARSER_PROTOTYPE(config_parse_dhcp6_pd_prefix_hint); 28 CONFIG_PARSER_PROTOTYPE(config_parse_dhcp6_mud_url); 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_; 33