-extern bool id_h(struct connection_t *, char *);
-extern bool metakey_h(struct connection_t *, char *);
-extern bool challenge_h(struct connection_t *, char *);
-extern bool chal_reply_h(struct connection_t *, char *);
-extern bool ack_h(struct connection_t *, char *);
-extern bool status_h(struct connection_t *, char *);
-extern bool error_h(struct connection_t *, char *);
-extern bool termreq_h(struct connection_t *, char *);
-extern bool ping_h(struct connection_t *, char *);
-extern bool pong_h(struct connection_t *, char *);
-extern bool add_subnet_h(struct connection_t *, char *);
-extern bool del_subnet_h(struct connection_t *, char *);
-extern bool add_edge_h(struct connection_t *, char *);
-extern bool del_edge_h(struct connection_t *, char *);
-extern bool key_changed_h(struct connection_t *, char *);
-extern bool req_key_h(struct connection_t *, char *);
-extern bool ans_key_h(struct connection_t *, char *);
-extern bool tcppacket_h(struct connection_t *, char *);
-extern bool control_h(struct connection_t *, char *);
-
-#endif /* __TINC_PROTOCOL_H__ */
+extern request_handler_t id_h;
+extern request_handler_t metakey_h;
+extern request_handler_t challenge_h;
+extern request_handler_t chal_reply_h;
+extern request_handler_t ack_h;
+extern request_handler_t termreq_h;
+extern request_handler_t ping_h;
+extern request_handler_t pong_h;
+extern request_handler_t add_subnet_h;
+extern request_handler_t del_subnet_h;
+extern request_handler_t add_edge_h;
+extern request_handler_t del_edge_h;
+extern request_handler_t key_changed_h;
+extern request_handler_t req_key_h;
+extern request_handler_t ans_key_h;
+extern request_handler_t tcppacket_h;
+extern request_handler_t sptps_tcppacket_h;
+extern request_handler_t control_h;
+extern request_handler_t udp_info_h;
+extern request_handler_t mtu_info_h;
+
+#endif