-void prune_flush(void)
-{
- avl_node_t *node, *next;
-cp
- for(node = prune_tree->head; node; node = next)
- {
- next = node->next;
- avl_delete_node(prune_tree, node);
- }
-cp
-}
-
-/* Lookup functions */
-
-connection_t *lookup_active(ipv4_t address, short unsigned int port)
-{
- connection_t cl;
-cp
- cl.address = address;
- cl.port = port;
-
- return avl_search(active_tree, &cl);
-}
-
-connection_t *lookup_id(char *name)
-{
- connection_t cl, *p;
-cp
- cl.name = name;
- p = avl_search(id_tree, &cl);
- if(p)
- return p;
- else
- return NULL;
-}
-
-/* Debugging */
-
-void dump_connection_list(void)
-{
- avl_node_t *node;
- connection_t *cl;
-cp
- syslog(LOG_DEBUG, _("Connection list:"));
-
- for(node = connection_tree->head; node; node = node->next)
- {
- cl = (connection_t *)node->data;
- syslog(LOG_DEBUG, _(" %s at %s port %hd options %ld sockets %d, %d status %04x"),
- cl->name, cl->hostname, cl->port, cl->options,
- cl->socket, cl->meta_socket, cl->status);
- }
-
- syslog(LOG_DEBUG, _("Known hosts:"));
-
- for(node = id_tree->head; node; node = node->next)
- {
- cl = (connection_t *)node->data;
- syslog(LOG_DEBUG, _(" %s at %s port %hd options %ld sockets %d, %d status %04x"),
- cl->name, cl->hostname, cl->port, cl->options,
- cl->socket, cl->meta_socket, cl->status);
- }
-
- syslog(LOG_DEBUG, _("End of connection list."));
-cp
-}
+bool dump_connections(connection_t *cdump) {
+ for list_each(connection_t, c, connection_list) {
+ send_request(cdump, "%d %d %s %s %x %d %x",
+ CONTROL, REQ_DUMP_CONNECTIONS,
+ c->name, c->hostname, c->options, c->socket,
+ bitfield_to_int(&c->status, sizeof c->status));
+ }