]> gitweb.ps.run Git - ps-cgit/blob - cache.h
filter: pipe_fh should be local
[ps-cgit] / cache.h
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
9 typedef void (*cache_fill_fn)(void);
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  *
21  * Return value
22  *   0 indicates success, everyting else is an error
23  */
24 extern int cache_process(int size, const char *path, const char *key, int ttl,
25                          cache_fill_fn fn);
26
27
28 /* List info about all cache entries on stdout */
29 extern int cache_ls(const char *path);
30
31 /* Print a message to stdout */
32 __attribute__((format (printf,1,2)))
33 extern void cache_log(const char *format, ...);
34
35 extern unsigned long hash_str(const char *str);
36
37 #endif /* CGIT_CACHE_H */