]> gitweb.ps.run Git - ps-cgit/blob - cache.h
use __attribute__ to catch printf format mistakes
[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 *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  */
25 extern 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 */
30 extern int cache_ls(const char *path);
31
32 /* Print a message to stdout */
33 __attribute__((format (printf,1,2)))
34 extern void cache_log(const char *format, ...);
35
36 extern unsigned long hash_str(const char *str);
37
38 #endif /* CGIT_CACHE_H */