chiark / gitweb /
sd-network: expose global operational state
[elogind.git] / src / network / networkd.h
index 4a62fb839690996e1b388905e9e5119b4379443e..aebb2859206691f7788a495fcfb51b2fa5309589 100644 (file)
@@ -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_;