X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fnetwork%2Fnetworkd.h;h=147b21acdc9c096012cf8c1335ed49c1228544af;hb=73cb1c149dc05abef5ad2814d6193cc33a991082;hp=e6d84f105b81257692493a32a2f03474249c2c0e;hpb=a97dcc12e486ecff531809802930a26c4da827f2;p=elogind.git diff --git a/src/network/networkd.h b/src/network/networkd.h index e6d84f105..147b21acd 100644 --- a/src/network/networkd.h +++ b/src/network/networkd.h @@ -97,13 +97,13 @@ struct Network { Manager *manager; char *filename; + char *name; struct ether_addr *match_mac; char *match_path; char *match_driver; char *match_type; char *match_name; - char *dhcp_vendor_class_identifier; Condition *match_host; Condition *match_virt; @@ -115,6 +115,7 @@ struct Network { NetDev *bond; Hashmap *stacked_netdevs; AddressFamilyBoolean dhcp; + char *dhcp_vendor_class_identifier; bool dhcp_dns; bool dhcp_ntp; bool dhcp_mtu; @@ -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,7 @@ 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); @@ -264,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); @@ -317,6 +321,11 @@ int config_parse_vxlan_group_address(const char *unit, void *data, void *userdata); +extern const sd_bus_vtable network_vtable[]; + +int network_node_enumerator(sd_bus *bus, const char *path, void *userdata, char ***nodes, sd_bus_error *error); +int network_object_find(sd_bus *bus, const char *path, const char *interface, void *userdata, void **found, sd_bus_error *error); + /* gperf */ const struct ConfigPerfItem* network_network_gperf_lookup(const char *key, unsigned length);