| /* | |
| * Since git has it's own cache.h which we include, | |
| * lets test on CGIT_CACHE_H to avoid confusion | |
| */ | |
| #ifndef CGIT_CACHE_H | |
| #define CGIT_CACHE_H | |
| typedef void (*cache_fill_fn)(void); | |
| /* Print cached content to stdout, generate the content if necessary. | |
| * | |
| * Parameters | |
| * size max number of cache files | |
| * path directory used to store cache files | |
| * key the key used to lookup cache files | |
| * ttl max cache time in seconds for this key | |
| * fn content generator function for this key | |
| * | |
| * Return value | |
| * 0 indicates success, everything else is an error | |
| */ | |
| extern int cache_process(int size, const char *path, const char *key, int ttl, | |
| cache_fill_fn fn); | |
| /* List info about all cache entries on stdout */ | |
| extern int cache_ls(const char *path); | |
| /* Print a message to stdout */ | |
| __attribute__((format (printf,1,2))) | |
| extern void cache_log(const char *format, ...); | |
| extern unsigned long hash_str(const char *str); | |
| #endif /* CGIT_CACHE_H */ |