cache.h (view raw)
1/*
2 * Since git has it's own cache.h which we include,
3 * lets test on CGIT_CACHE_H to avoid confusion
4 */
5
6#ifndef CGIT_CACHE_H
7#define CGIT_CACHE_H
8
9typedef void (*cache_fill_fn)(void *cbdata);
10
11
12/* Print cached content to stdout, generate the content if necessary.
13 *
14 * Parameters
15 * size max number of cache files
16 * path directory used to store cache files
17 * key the key used to lookup cache files
18 * ttl max cache time in seconds for this key
19 * fn content generator function for this key
20 * cbdata user-supplied data to the content generator function
21 *
22 * Return value
23 * 0 indicates success, everyting else is an error
24 */
25extern int cache_process(int size, const char *path, const char *key, int ttl,
26 cache_fill_fn fn, void *cbdata);
27
28
29/* List info about all cache entries on stdout */
30extern int cache_ls(const char *path);
31
32/* Print a message to stdout */
33__attribute__((format (printf,1,2)))
34extern void cache_log(const char *format, ...);
35
36extern unsigned long hash_str(const char *str);
37
38#endif /* CGIT_CACHE_H */