]>
Commit | Line | Data |
---|---|---|
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 |
9 | typedef struct Link Link; |
10 | typedef struct Manager Manager; | |
7de12ae7 TG |
11 | |
12 | struct 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 | ||
28 | int link_new(Manager *m, Link **ret, int ifindex, const char *ifname); | |
29 | Link *link_free(Link *l); | |
1c4baffc | 30 | int link_update_rtnl(Link *l, sd_netlink_message *m); |
7de12ae7 | 31 | int link_update_monitor(Link *l); |
7de12ae7 TG |
32 | |
33 | DEFINE_TRIVIAL_CLEANUP_FUNC(Link*, link_free); |