1 /* SPDX-License-Identifier: LGPL-2.1-or-later */ 2 #pragma once 3 4 #include <inttypes.h> 5 6 #include "conf-parser.h" 7 #include "in-addr-util.h" 8 #include "networkd-util.h" 9 10 typedef struct Link Link; 11 typedef struct Network Network; 12 13 typedef struct AddressLabel { 14 Network *network; 15 ConfigSection *section; 16 17 uint32_t label; 18 struct in6_addr prefix; 19 unsigned char prefixlen; 20 bool prefix_set; 21 } AddressLabel; 22 23 AddressLabel *address_label_free(AddressLabel *label); 24 25 void network_drop_invalid_address_labels(Network *network); 26 27 int link_request_static_address_labels(Link *link); 28 29 CONFIG_PARSER_PROTOTYPE(config_parse_address_label); 30 CONFIG_PARSER_PROTOTYPE(config_parse_address_label_prefix); 31