- /* If this returns non-NULL, it means the check failed. */
- void *(*check)(struct manifest *m);
-
- /* The non-NULL return from check is passed to one of these: */
-
- /* So, what did this get out of the total_score? (NULL means 0). */
- unsigned int (*score)(struct manifest *m, void *check_result);
-
- /* Verbose description of what was wrong. */
- const char *(*describe)(struct manifest *m, void *check_result);
+ /* keep is set if you should keep the results.
+ * If timeleft is set to 0, means it timed out.
+ * score is the result, and a talloc context freed after all our
+ * depends are done. */
+ void (*check)(struct manifest *m,
+ bool keep, unsigned int *timeleft, struct score *score);