-enum {
- ALL = -1, /* Guardian for allow_request */
- ID = 0, CHALLENGE, CHAL_REPLY, METAKEY, ACK,
- STATUS, ERROR, TERMREQ,
- PING, PONG,
- ADD_HOST, DEL_HOST,
- ADD_SUBNET, DEL_SUBNET,
- KEY_CHANGED, REQ_KEY, ANS_KEY,
- LAST /* Guardian for the highest request number */
-};
-
-extern int (*request_handlers[])(conn_list_t*);
-
-extern int send_id(conn_list_t*);
-extern int send_challenge(conn_list_t*);
-extern int send_chal_reply(conn_list_t*);
-extern int send_metakey(conn_list_t*);
-extern int send_ack(conn_list_t*);
-extern int send_status(conn_list_t*, int, char*);
-extern int send_error(conn_list_t*, int, char*);
-extern int send_termreq(conn_list_t*);
-extern int send_ping(conn_list_t*);
-extern int send_pong(conn_list_t*);
-extern int send_add_host(conn_list_t*, conn_list_t*);
-extern int send_del_host(conn_list_t*, conn_list_t*);
-extern int send_add_subnet(conn_list_t*, subnet_t*);
-extern int send_del_subnet(conn_list_t*, subnet_t*);
-extern int send_key_changed(conn_list_t*, conn_list_t*);
-extern int send_req_key(conn_list_t*, conn_list_t*);
-extern int send_ans_key(conn_list_t*, conn_list_t*, char*);
-
-/* Old functions */
-
-extern int send_tcppacket(conn_list_t *, void *, int);
-extern int notify_others(conn_list_t *, conn_list_t *, int (*function)(conn_list_t*, conn_list_t*));
+extern bool id_h(struct connection_t *, const char *);
+extern bool metakey_h(struct connection_t *, const char *);
+extern bool challenge_h(struct connection_t *, const char *);
+extern bool chal_reply_h(struct connection_t *, const char *);
+extern bool ack_h(struct connection_t *, const char *);
+extern bool status_h(struct connection_t *, const char *);
+extern bool error_h(struct connection_t *, const char *);
+extern bool termreq_h(struct connection_t *, const char *);
+extern bool ping_h(struct connection_t *, const char *);
+extern bool pong_h(struct connection_t *, const char *);
+extern bool add_subnet_h(struct connection_t *, const char *);
+extern bool del_subnet_h(struct connection_t *, const char *);
+extern bool add_edge_h(struct connection_t *, const char *);
+extern bool del_edge_h(struct connection_t *, const char *);
+extern bool key_changed_h(struct connection_t *, const char *);
+extern bool req_key_h(struct connection_t *, const char *);
+extern bool ans_key_h(struct connection_t *, const char *);
+extern bool tcppacket_h(struct connection_t *, const char *);
+extern bool control_h(struct connection_t *, const char *);