+void init_nodes(struct meshlink_handle *mesh);
+void exit_nodes(struct meshlink_handle *mesh);
+node_t *new_node(void) __attribute__((__malloc__));
+void free_node(node_t *n);
+void node_add(struct meshlink_handle *mesh, node_t *n);
+void node_del(struct meshlink_handle *mesh, node_t *n);
+node_t *lookup_node(struct meshlink_handle *mesh, const char *name) __attribute__((__warn_unused_result__));
+node_t *lookup_node_udp(struct meshlink_handle *mesh, const sockaddr_t *sa) __attribute__((__warn_unused_result__));
+void update_node_udp(struct meshlink_handle *mesh, node_t *n, const sockaddr_t *sa);
+bool node_add_recent_address(struct meshlink_handle *mesh, node_t *n, const sockaddr_t *addr);
+
+#endif