]> git.ipfire.org Git - thirdparty/systemd.git/blob - src/network/networkd-radv.h
871d7bc4c3a7e91cc1bb202f7fa73fa7af384119
[thirdparty/systemd.git] / src / network / networkd-radv.h
1 /* SPDX-License-Identifier: LGPL-2.1+ */
2 #pragma once
3
4 /***
5 Copyright 2017 Intel Corporation. All rights reserved.
6 ***/
7
8 #include "conf-parser.h"
9 #include "networkd-address.h"
10 #include "networkd-link.h"
11
12 typedef struct Prefix Prefix;
13
14 struct Prefix {
15 Network *network;
16 NetworkConfigSection *section;
17
18 sd_radv_prefix *radv_prefix;
19
20 LIST_FIELDS(Prefix, prefixes);
21 };
22
23 int prefix_new(Prefix **ret);
24 void prefix_free(Prefix *prefix);
25 int prefix_new_static(Network *network, const char *filename, unsigned section, Prefix **ret);
26
27 DEFINE_TRIVIAL_CLEANUP_FUNC(Prefix*, prefix_free);
28
29 CONFIG_PARSER_PROTOTYPE(config_parse_router_prefix_delegation);
30 CONFIG_PARSER_PROTOTYPE(config_parse_router_preference);
31 CONFIG_PARSER_PROTOTYPE(config_parse_prefix);
32 CONFIG_PARSER_PROTOTYPE(config_parse_prefix_flags);
33 CONFIG_PARSER_PROTOTYPE(config_parse_prefix_lifetime);
34
35 int radv_emit_dns(Link *link);
36 int radv_configure(Link *link);