-struct ccan_file {
- struct list_node list;
-
- /* Name (usually, within m->dir). */
- char *name;
-
- /* Full path name. */
- char *fullname;
-
- /* Pristine version of the original file.
- * Use get_ccan_file_contents to fill this. */
- const char *contents;
- size_t contents_size;
-
- /* Use get_ccan_file_lines / get_ccan_line_info to fill these. */
- unsigned int num_lines;
- char **lines;
- struct line_info *line_info;
-
- struct list_head *doc_sections;
-
- /* If this file gets compiled (eg. .C file to .o file), result here. */
- char *compiled[COMPILE_TYPES];
-
- /* Filename containing output from valgrind. */
- char *valgrind_log;
-
- /* Leak output from valgrind. */
- char *leak_info;
-
- /* Simplified stream (lowercase letters and single spaces) */
- char *simplified;
-};
-
-/* A new ccan_file, with the given name (talloc_steal onto returned value). */
-struct ccan_file *new_ccan_file(const void *ctx, const char *dir, char *name);
-
-/* Use this rather than accessing f->contents directly: loads on demand. */
-const char *get_ccan_file_contents(struct ccan_file *f);
-
-/* Use this rather than accessing f->lines directly: loads on demand. */
-char **get_ccan_file_lines(struct ccan_file *f);
-