X-Git-Url: http://git.archive.openwrt.org/?a=blobdiff_plain;ds=sidebyside;f=proto.h;h=8ec5072efccbfcb7d55f3e2a3f026aa926ffb93e;hb=7622440f6ddb0facdaca208186f72b345a6f7c3d;hp=c1b97b267e1bcaf892c7108666c009b2bc659ec0;hpb=f782148ef2be32343f13b033c0df04a56fb9c38e;p=project%2Fnetifd.git diff --git a/proto.h b/proto.h index c1b97b2..8ec5072 100644 --- a/proto.h +++ b/proto.h @@ -8,6 +8,7 @@ struct proto_handler; enum interface_proto_event { IFPEV_UP, IFPEV_DOWN, + IFPEV_LINK_LOST, }; enum interface_proto_cmd { @@ -18,6 +19,7 @@ enum interface_proto_cmd { enum { PROTO_FLAG_IMMEDIATE = (1 << 0), PROTO_FLAG_NODEV = (1 << 1), + PROTO_FLAG_INIT_AVAILABLE = (1 << 2), }; struct interface_proto_state { @@ -46,12 +48,16 @@ struct proto_handler { struct interface *iface, struct blob_attr *attr); }; +extern const struct config_param_list proto_ip_attr; + void add_proto_handler(struct proto_handler *p); void proto_init_interface(struct interface *iface, struct blob_attr *attr); void proto_attach_interface(struct interface *iface, const char *proto_name); int interface_proto_event(struct interface_proto_state *proto, enum interface_proto_cmd cmd, bool force); -int proto_apply_static_settings(struct interface_proto_state *state, - struct blob_attr *attr); + +unsigned int parse_netmask_string(const char *str, bool v6); +int proto_apply_ip_settings(struct interface *iface, struct blob_attr *attr, bool ext); + #endif