a210692525
This makes most header files easier to look at. Also Emacs gets really slow when browsing through large sections of overly long prototypes, which is much improved by this macro. We should probably not do something similar with too many other cases, as macros like this might help readability for some, but make it worse for others. But I think given the complexity of this specific prototype and how often we use it, it's worth doing.
39 lines
983 B
C
39 lines
983 B
C
/* SPDX-License-Identifier: LGPL-2.1+ */
|
|
#pragma once
|
|
|
|
/***
|
|
This file is part of systemd.
|
|
|
|
Copyright 2017 Intel Corporation. All rights reserved.
|
|
***/
|
|
|
|
#include "conf-parser.h"
|
|
#include "networkd-address.h"
|
|
#include "networkd-link.h"
|
|
|
|
typedef struct Prefix Prefix;
|
|
|
|
struct Prefix {
|
|
Network *network;
|
|
NetworkConfigSection *section;
|
|
|
|
sd_radv_prefix *radv_prefix;
|
|
|
|
LIST_FIELDS(Prefix, prefixes);
|
|
};
|
|
|
|
int prefix_new(Prefix **ret);
|
|
void prefix_free(Prefix *prefix);
|
|
int prefix_new_static(Network *network, const char *filename, unsigned section, Prefix **ret);
|
|
|
|
DEFINE_TRIVIAL_CLEANUP_FUNC(Prefix*, prefix_free);
|
|
|
|
CONFIG_PARSER_PROTOTYPE(config_parse_router_prefix_delegation);
|
|
CONFIG_PARSER_PROTOTYPE(config_parse_router_preference);
|
|
CONFIG_PARSER_PROTOTYPE(config_parse_prefix);
|
|
CONFIG_PARSER_PROTOTYPE(config_parse_prefix_flags);
|
|
CONFIG_PARSER_PROTOTYPE(config_parse_prefix_lifetime);
|
|
|
|
int radv_emit_dns(Link *link);
|
|
int radv_configure(Link *link);
|