]> git.ipfire.org Git - thirdparty/systemd.git/blame - src/network/wait-online/manager.h
tree-wide: beautify remaining copyright statements
[thirdparty/systemd.git] / src / network / wait-online / manager.h
CommitLineData
53e1b683 1/* SPDX-License-Identifier: LGPL-2.1+ */
0ef6f454
LP
2#pragma once
3
3a67e927 4/***
96b2fb93 5 Copyright © 2014 Tom Gundersen <teg@jklm.no>
3a67e927
TG
6***/
7
3a67e927 8#include "sd-event.h"
1c4baffc 9#include "sd-netlink.h"
7de12ae7 10#include "sd-network.h"
3a67e927 11
7de12ae7 12#include "hashmap.h"
3a67e927 13
79b1f37d 14typedef struct Manager Manager;
c5fcf6e4 15typedef struct Link Link;
79b1f37d
TG
16
17struct Manager {
7de12ae7
TG
18 Hashmap *links;
19 Hashmap *links_by_name;
20
21 char **interfaces;
79b1f37d 22 char **ignore;
7de12ae7 23
1c4baffc 24 sd_netlink *rtnl;
7de12ae7
TG
25 sd_event_source *rtnl_event_source;
26
27 sd_network_monitor *network_monitor;
28 sd_event_source *network_monitor_event_source;
29
30 sd_event *event;
79b1f37d 31};
3a67e927
TG
32
33void manager_free(Manager *m);
e56cdb7a 34int manager_new(Manager **ret, char **interfaces, char **ignore, usec_t timeout);
3a67e927
TG
35
36DEFINE_TRIVIAL_CLEANUP_FUNC(Manager*, manager_free);
7de12ae7
TG
37
38bool manager_all_configured(Manager *m);
79b1f37d 39bool manager_ignore_link(Manager *m, Link *link);