X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=h%2Fcrawl_folders.h;fp=h%2Fcrawl_folders.h;h=d04287a6a22618e3407a85e3dc94347a48c81068;hp=0000000000000000000000000000000000000000;hb=788c353a8bee07520ae1a1de6fb7bdcdf1f4f1c7;hpb=d6ed7408ae67cf31b31a8c42515a160f7dc6330a diff --git a/h/crawl_folders.h b/h/crawl_folders.h new file mode 100644 index 0000000..d04287a --- /dev/null +++ b/h/crawl_folders.h @@ -0,0 +1,18 @@ + +/* + * crawl_folders.h -- crawl folder hierarchy + * + * $Id$ + */ + +#define CRAWL_NUMFOLDERS 100 + +/* Callbacks return TRUE crawl_folders should crawl the children of `folder'. + * Callbacks need not duplicate folder, as crawl_folders does not free it. */ +typedef boolean (crawl_callback_t)(char *folder, void *baton); + +/* Crawl the folder hierarchy rooted at the relative path `dir'. For each + * folder, pass `callback' the folder name (as a path relative to the current + * directory) and `baton'; the callback may direct crawl_folders not to crawl + * its children; see above. */ +void crawl_folders (char *dir, crawl_callback_t *callback, void *baton);