]> git.ipfire.org Git - thirdparty/systemd.git/blame - src/network/wait-online/link.h
wait-online: wait for address family
[thirdparty/systemd.git] / src / network / wait-online / link.h
CommitLineData
db9ecf05 1/* SPDX-License-Identifier: LGPL-2.1-or-later */
7de12ae7
TG
2#pragma once
3
c5fcf6e4 4#include "sd-netlink.h"
7de12ae7 5
07e1ffe4 6#include "log-link.h"
f023184e
YW
7#include "network-util.h"
8
c5fcf6e4
TG
9typedef struct Link Link;
10typedef struct Manager Manager;
7de12ae7
TG
11
12struct Link {
13 Manager *manager;
14
15 int ifindex;
16 char *ifname;
17 unsigned flags;
18
c1a38904 19 bool required_for_online;
75cd4a5d 20 LinkOperationalStateRange required_operstate;
f023184e 21 LinkOperationalState operational_state;
6dc4531d
L
22 AddressFamily required_family;
23 LinkAddressState ipv4_address_state;
24 LinkAddressState ipv6_address_state;
7de12ae7
TG
25 char *state;
26};
27
28int link_new(Manager *m, Link **ret, int ifindex, const char *ifname);
29Link *link_free(Link *l);
1c4baffc 30int link_update_rtnl(Link *l, sd_netlink_message *m);
7de12ae7 31int link_update_monitor(Link *l);
7de12ae7
TG
32
33DEFINE_TRIVIAL_CLEANUP_FUNC(Link*, link_free);