X-Git-Url: https://git.archive.openwrt.org/?a=blobdiff_plain;f=interface.h;h=2d13b482c7f0520ee7ff198592d2976d8295e83a;hb=273550337f70b8b2175875e0c4f0bbd483cfe326;hp=92bae5ab170cd3a8b92df49e717df08dcae0c8ef;hpb=3a9fe0cb9fa812bdecdf0a6f2d5e81877fe8cd1b;p=project%2Fnetifd.git diff --git a/interface.h b/interface.h index 92bae5a..2d13b48 100644 --- a/interface.h +++ b/interface.h @@ -48,6 +48,8 @@ struct interface { /* primary protocol state */ struct interface_proto_state *proto; + struct list_head address, routes; + /* errors/warnings while trying to bring up the interface */ struct list_head errors; @@ -55,9 +57,11 @@ struct interface { }; struct interface *get_interface(const char *name); -struct interface *alloc_interface(const char *name); +struct interface *alloc_interface(const char *name, struct uci_section *s); void free_interface(struct interface *iface); +void interface_set_proto_state(struct interface *iface, struct interface_proto_state *state); + int set_interface_up(struct interface *iface); int set_interface_down(struct interface *iface); @@ -69,6 +73,10 @@ void interface_add_error(struct interface *iface, const char *subsystem, int interface_attach_bridge(struct interface *iface, struct uci_section *s); +int interface_add_address(struct interface *iface, struct device_addr *addr); +void interface_del_address(struct interface *iface, struct device_addr *addr); +void interface_del_ctx_addr(struct interface *iface, void *ctx); + void start_pending_interfaces(void); #endif