+typedef bool (*config_scan_action_t)(struct meshlink_handle *mesh, const char *name, void *arg);
+
+extern bool config_read_file(struct meshlink_handle *mesh, FILE *f, struct config_t *, const void *key);
+extern bool config_write_file(struct meshlink_handle *mesh, FILE *f, const struct config_t *, const void *key);
+extern void config_free(struct config_t *config);
+
+extern bool meshlink_confbase_exists(struct meshlink_handle *mesh);
+
+extern bool config_init(struct meshlink_handle *mesh, const char *conf_subdir);
+extern bool config_destroy(const char *confbase, const char *conf_subdir);
+extern bool config_copy(struct meshlink_handle *mesh, const char *src_dir_name, const void *src_key, const char *dst_dir_name, const void *dst_key);
+extern bool config_rename(struct meshlink_handle *mesh, const char *old_conf_subdir, const char *new_conf_subdir);
+extern bool config_sync(struct meshlink_handle *mesh, const char *conf_subdir);