X-Git-Url: https://git.distorted.org.uk/u/mdw/catacomb/blobdiff_plain/07290a455e008c37adc233554eff8ad468608161..813390c45f438f411662b1a55678e63f11681eb4:/cc.h diff --git a/cc.h b/cc.h index 7d93fa3..f3a03f3 100644 --- a/cc.h +++ b/cc.h @@ -44,6 +44,9 @@ #include #include +#include +#include + #include #include "key.h" @@ -329,10 +332,12 @@ extern const encodeops *getencoding(const char */*ename*/); typedef struct fhashstate { const gchash *gch; unsigned f; + struct fhent *ents; } fhashstate; #define FHF_BINARY 0x100u #define FHF_PROGRESS 0x200u +#define FHF_JUNK 0x400u #define FHF_MASK 0xff00u @@ -347,6 +352,15 @@ typedef struct fhashstate { extern const gchash *gethash(const char */*name*/); +/* --- @describefile@ --- * + * + * Arguments: @const struct stat *st@ = pointer to file state + * + * Returns: A snappy one-word description of the file. + */ + +extern const char *describefile(const struct stat */*st*/); + /* --- @fhash_init@ ---* * * Arguments: @fhashstate *fh@ = pointer to fhash state to initialize @@ -385,6 +399,25 @@ extern void fhash_free(fhashstate */*fh*/); extern int fhash(fhashstate */*fh*/, const char */*file*/, void */*buf*/); +/* --- @fhash_junk@ --- * + * + * Arguments: @fhashstate *fh@ = pointer to fhash state + * @void (*func)(const char *, const struct stat *, void *)@ + * @void *p@ = pointer to pass to function + * + * Returns: Positive if any junk was found, negative on error, zero if + * everything was fine. + * + * Use: Reports junk files in any directories covered by the hash + * state. + */ + +extern int fhash_junk(fhashstate */*fh*/, + int (*/*func*/)(const char *, + const struct stat *, + void *), + void */*p*/); + /* --- @hfparse@ --- * * * Arguments: @hfpctx *hfp@ = pointer to the context structure