-extern int read_config_file(avl_tree_t *, const char *);
-extern bool read_server_config(void);
-extern FILE *ask_and_safe_open(const char *, const char *, bool, const char *);
-extern bool is_safe_path(const char *);
+extern config_t *parse_config_line(char *, const char *, int);
+extern bool read_config_file(struct splay_tree_t *, const char *);
+extern bool write_config_file(const struct splay_tree_t *, const char *);
+
+extern bool read_server_config(struct meshlink_handle *mesh);
+extern bool read_host_config(struct meshlink_handle *mesh, struct splay_tree_t *, const char *);
+extern bool write_host_config(struct meshlink_handle *mesh, const struct splay_tree_t *, const char *);
+extern bool modify_config_file(struct meshlink_handle *mesh, const char *name, const char *key, const char *value, int trim);
+extern bool append_config_file(struct meshlink_handle *mesh, const char *name, const char *key, const char *value);