X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fnetwork%2Fnetworkd.h;h=aebb2859206691f7788a495fcfb51b2fa5309589;hb=bbf7c04821a71fec67eaf0e7a34d17afc5913c13;hp=4a62fb839690996e1b388905e9e5119b4379443e;hpb=505f8da7325591defe5f751f328bd26915267602;p=elogind.git diff --git a/src/network/networkd.h b/src/network/networkd.h index 4a62fb839..aebb28592 100644 --- a/src/network/networkd.h +++ b/src/network/networkd.h @@ -190,6 +190,7 @@ typedef enum LinkState { LINK_STATE_SETTING_ADDRESSES, LINK_STATE_SETTING_ROUTES, LINK_STATE_CONFIGURED, + LINK_STATE_UNMANAGED, LINK_STATE_FAILED, _LINK_STATE_MAX, _LINK_STATE_INVALID = -1 @@ -205,6 +206,7 @@ struct Link { struct udev_device *udev_device; unsigned flags; + uint8_t operstate; Network *network; @@ -230,6 +232,8 @@ struct Manager { sd_event_source *sigterm_event_source; sd_event_source *sigint_event_source; + char *state_file; + Hashmap *links; Hashmap *netdevs; LIST_HEAD(Network, networks); @@ -254,6 +258,7 @@ int manager_udev_listen(Manager *m); int manager_bus_listen(Manager *m); int manager_update_resolv_conf(Manager *m); +int manager_save(Manager *m); DEFINE_TRIVIAL_CLEANUP_FUNC(Manager*, manager_free); #define _cleanup_manager_free_ _cleanup_(manager_freep) @@ -375,6 +380,8 @@ int link_initialized(Link *link, struct udev_device *device); int link_save(Link *link); +bool link_has_carrier(unsigned flags, uint8_t operstate); + const char* link_state_to_string(LinkState s) _const_; LinkState link_state_from_string(const char *s) _pure_;