X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fnetwork%2Fnetworkd-wait-online.h;h=c57f902e9e763108babbee1fd98af2c760b2e8a1;hp=e894351d2e4125916c839884d38323a389e5d2e3;hb=db73295accbec0c6513817f0a64a92018592bb26;hpb=3a9c5a32bec18dc1cca68af46fd1aebfad7e9fd7 diff --git a/src/network/networkd-wait-online.h b/src/network/networkd-wait-online.h index e894351d2..c57f902e9 100644 --- a/src/network/networkd-wait-online.h +++ b/src/network/networkd-wait-online.h @@ -23,16 +23,29 @@ #include "sd-event.h" #include "sd-rtnl.h" +#include "sd-network.h" #include "util.h" +#include "hashmap.h" typedef struct Manager { - sd_event *event; + Hashmap *links; + Hashmap *links_by_name; + + char **interfaces; + sd_rtnl *rtnl; - sd_network_monitor *monitor; + sd_event_source *rtnl_event_source; + + sd_network_monitor *network_monitor; + sd_event_source *network_monitor_event_source; + + sd_event *event; } Manager; void manager_free(Manager *m); +int manager_new(Manager **ret, char **interfaces); DEFINE_TRIVIAL_CLEANUP_FUNC(Manager*, manager_free); -#define _cleanup_manager_free_ _cleanup_(manager_freep) + +bool manager_all_configured(Manager *m);