all repos — cgit @ d6174b7aab476c2b6a86e59d98cf978d603045f4

a hyperfast web frontend for git written in c

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 */
33extern void cache_log(const char *format, ...);
34
35#endif /* CGIT_CACHE_H */