X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fnetwork%2Fnetworkd.h;h=e6d84f105b81257692493a32a2f03474249c2c0e;hb=a97dcc12e486ecff531809802930a26c4da827f2;hp=075aefec7172693eb670f6621b8f9e8ddfd1cffe;hpb=5fae368bda9419d9d378ea32077c8fd183dd4b81;p=elogind.git diff --git a/src/network/networkd.h b/src/network/networkd.h index 075aefec7..e6d84f105 100644 --- a/src/network/networkd.h +++ b/src/network/networkd.h @@ -72,6 +72,17 @@ typedef enum LLMNRSupport { _LLMNR_SUPPORT_INVALID = -1, } LLMNRSupport; +typedef enum LinkOperationalState { + LINK_OPERSTATE_OFF, + LINK_OPERSTATE_NO_CARRIER, + LINK_OPERSTATE_DORMANT, + LINK_OPERSTATE_CARRIER, + LINK_OPERSTATE_DEGRADED, + LINK_OPERSTATE_ROUTABLE, + _LINK_OPERSTATE_MAX, + _LINK_OPERSTATE_INVALID = -1 +} LinkOperationalState; + struct FdbEntry { Network *network; unsigned section; @@ -206,7 +217,10 @@ struct Manager { struct udev_monitor *udev_monitor; sd_event_source *udev_event_source; + bool enumerating; + char *state_file; + LinkOperationalState operational_state; Hashmap *links; Hashmap *netdevs; @@ -220,15 +234,20 @@ extern const char* const network_dirs[]; /* Manager */ +extern const sd_bus_vtable manager_vtable[]; + int manager_new(Manager **ret); void manager_free(Manager *m); +int manager_run(Manager *m); + int manager_load_config(Manager *m); bool manager_should_reload(Manager *m); int manager_rtnl_enumerate_links(Manager *m); int manager_rtnl_enumerate_addresses(Manager *m); +int manager_send_changed(Manager *m, const char *property, ...) _sentinel_; int manager_save(Manager *m); int manager_address_pool_acquire(Manager *m, int family, unsigned prefixlen, union in_addr_union *found); @@ -392,3 +411,8 @@ const char *address_family_boolean_to_string(AddressFamilyBoolean b) _const_; AddressFamilyBoolean address_family_boolean_from_string(const char *s) _const_; int config_parse_address_family_boolean(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata); + +/* Opeartional State */ + +const char* link_operstate_to_string(LinkOperationalState s) _const_; +LinkOperationalState link_operstate_from_string(const char *s) _pure_;