/* * 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_Htypedef 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 */
/*
* 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 */