1 /* 2 * du.h: the function which actually performs the disk scan. 3 */ 4 5 #include <sys/types.h> 6 #include <sys/stat.h> 7 8 /* 9 * Function called to report a file or directory, its size and its 10 * last-access time. 11 * 12 * Returns non-zero if recursion should proceed into this file's 13 * contents (if it's a directory); zero if it should not. If the 14 * file isn't a directory, the return value is ignored. 15 */ 16 typedef int (*gotdata_fn_t)(void *ctx, 17 const char *pathname, 18 const STRUCT_STAT *st); 19 20 /* 21 * Function called to report an error during scanning. The ctx is 22 * the same one passed to gotdata_fn_t. 23 */ 24 typedef void (*err_fn_t)(void *vctx, const char *fmt, ...); 25 26 /* 27 * Recursively scan a directory tree and report every 28 * space-consuming item in it to gotdata(). 29 */ 30 void du(const char *path, gotdata_fn_t gotdata, err_fn_t err, 31 void *gotdata_ctx); 32