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