X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fnetwork%2Fnetworkd-wait-online.h;h=66b865cfe2bf127bf617933ec1d3f309447df332;hb=484adfd914504cd7e95867cea20ca7af71b888f2;hp=91edce1f60e5cec82448ad306cdb6c1b75818178;hpb=cef8b0735831b2bfeaf21d8a245d8024c3de816a;p=elogind.git diff --git a/src/network/networkd-wait-online.h b/src/network/networkd-wait-online.h index 91edce1f6..66b865cfe 100644 --- a/src/network/networkd-wait-online.h +++ b/src/network/networkd-wait-online.h @@ -23,15 +23,35 @@ #include "sd-event.h" #include "sd-rtnl.h" +#include "sd-network.h" #include "util.h" +#include "hashmap.h" + +typedef struct Manager Manager; + +#include "networkd-wait-online-link.h" + +struct Manager { + Hashmap *links; + Hashmap *links_by_name; + + char **interfaces; + char **ignore; -typedef struct Manager { - sd_event *event; sd_rtnl *rtnl; -} Manager; + sd_event_source *rtnl_event_source; + + sd_network_monitor *network_monitor; + sd_event_source *network_monitor_event_source; + + sd_event *event; +}; void manager_free(Manager *m); +int manager_new(Manager **ret, char **interfaces, char **ignore, usec_t timeout); DEFINE_TRIVIAL_CLEANUP_FUNC(Manager*, manager_free); -#define _cleanup_manager_free_ _cleanup_(manager_freep) + +bool manager_all_configured(Manager *m); +bool manager_ignore_link(Manager *m, Link *link);