chiark / gitweb /
networkd: add network_get_by_name
[elogind.git] / src / network / networkd.h
index 9f3a5ea9d5992b68971dfe618285efe2cfc38454..d144c11edc75af81135b80ad332d3bf35f68a0e8 100644 (file)
@@ -97,6 +97,7 @@ struct Network {
         Manager *manager;
 
         char *filename;
+        char *name;
 
         struct ether_addr *match_mac;
         char *match_path;
@@ -224,6 +225,7 @@ struct Manager {
 
         Hashmap *links;
         Hashmap *netdevs;
+        Hashmap *networks_by_name;
         LIST_HEAD(Network, networks);
         LIST_HEAD(AddressPool, address_pools);
 
@@ -239,6 +241,9 @@ extern const sd_bus_vtable manager_vtable[];
 int manager_new(Manager **ret);
 void manager_free(Manager *m);
 
+int manager_connect_bus(Manager *m);
+int manager_run(Manager *m);
+
 int manager_load_config(Manager *m);
 bool manager_should_reload(Manager *m);
 
@@ -262,6 +267,7 @@ void network_free(Network *network);
 DEFINE_TRIVIAL_CLEANUP_FUNC(Network*, network_free);
 #define _cleanup_network_free_ _cleanup_(network_freep)
 
+int network_get_by_name(Manager *manager, const char *name, Network **ret);
 int network_get(Manager *manager, struct udev_device *device,
                 const char *ifname, const struct ether_addr *mac,
                 Network **ret);