Unidiff1 files changed, 25 insertions, 13 deletions
|
diff --git a/cache.h b/cache.h index 4dcbea3..66cc41f 100644 --- a/ cache.h+++ b/ cache.h |
|
@@ -5,19 +5,31 @@ |
5 | |
5 | |
6 | #ifndef CGIT_CACHE_H |
6 | #ifndef CGIT_CACHE_H |
7 | #define CGIT_CACHE_H |
7 | #define CGIT_CACHE_H |
8 | |
8 | |
9 | struct cacheitem { |
9 | typedef void (*cache_fill_fn)(void *cbdata); |
10 | char *name; |
10 | |
11 | struct stat st; |
11 | |
12 | int ttl; |
12 | /* Print cached content to stdout, generate the content if necessary. |
13 | int fd; |
13 | * |
14 | }; |
14 | * Parameters |
15 | |
15 | * size max number of cache files |
16 | extern char *cache_safe_filename(const char *unsafe); |
16 | * path directory used to store cache files |
17 | extern int cache_lock(struct cacheitem *item); |
17 | * key the key used to lookup cache files |
18 | extern int cache_unlock(struct cacheitem *item); |
18 | * ttl max cache time in seconds for this key |
19 | extern int cache_cancel_lock(struct cacheitem *item); |
19 | * fn content generator function for this key |
20 | extern int cache_exist(struct cacheitem *item); |
20 | * cbdata user-supplied data to the content generator function |
21 | extern int cache_expired(struct cacheitem *item); |
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 | extern void cache_log(const char *format, ...); |
22 | |
34 | |
23 | #endif /* CGIT_CACHE_H */ |
35 | #endif /* CGIT_CACHE_H */ |
|