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