+/* Use this rather than accessing f->lines directly: loads on demand. */
+struct line_info *get_ccan_line_info(struct ccan_file *f);
+
+/* Use this rather than accessing f->simplified directly: loads on demand. */
+const char *get_ccan_simplified(struct ccan_file *f);
+
+enum line_compiled {
+ NOT_COMPILED,
+ COMPILED,
+ MAYBE_COMPILED,
+};
+
+/* Simple evaluator. If symbols are set this way, is this condition true?
+ * NULL values mean undefined, NULL symbol terminates. */
+enum line_compiled get_ccan_line_pp(struct pp_conditions *cond,
+ const char *symbol,
+ const unsigned int *value, ...);
+
+/* Get token if it's equal to token. */
+bool get_token(const char **line, const char *token);
+/* Talloc copy of symbol token, or NULL. Increment line. */
+char *get_symbol_token(void *ctx, const char **line);
+