X-Git-Url: https://git.archive.openwrt.org/?p=project%2Fnetifd.git;a=blobdiff_plain;f=interface.h;h=480f7595c8a02159c10457c4c5266258c24f43d7;hp=92bae5ab170cd3a8b92df49e717df08dcae0c8ef;hb=f6fb6bee2c29f31d13d0b0288f4f680b6b56e9ba;hpb=3a9fe0cb9fa812bdecdf0a6f2d5e81877fe8cd1b diff --git a/interface.h b/interface.h index 92bae5a..480f759 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,14 @@ 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); + +int interface_add_route(struct interface *iface, struct device_route *route); +void interface_del_route(struct interface *iface, struct device_route *route); +void interface_del_all_routes(struct interface *iface); + void start_pending_interfaces(void); #endif