10 default_proto_free(struct interface_proto_state *proto)
16 default_proto_handler(struct interface_proto_state *proto,
17 enum interface_proto_cmd cmd, bool force)
22 struct interface_proto_state *get_default_proto(void)
24 struct interface_proto_state *proto;
26 proto = calloc(1, sizeof(*proto));
27 proto->handler = default_proto_handler;
28 proto->free = default_proto_free;
29 proto->flags = PROTO_FLAG_IMMEDIATE;
34 int interface_proto_event(struct interface_proto_state *proto,
35 enum interface_proto_cmd cmd, bool force)
37 enum interface_event ev;
40 ret = proto->handler(proto, cmd, force);
41 if (ret || !(proto->flags & PROTO_FLAG_IMMEDIATE))
48 case PROTO_CMD_TEARDOWN:
54 proto->proto_event(proto, ev);