Diffstat (limited to 'cache.h')
| -rw-r--r-- | cache.h | 38 |
1 files changed, 12 insertions, 26 deletions
@@ -6,32 +6,18 @@ #ifndef CGIT_CACHE_H #define CGIT_CACHE_H -typedef void (*cache_fill_fn)(void); +struct cacheitem { + char *name; + struct stat st; + int ttl; + int fd; +}; - -/* Print cached content to stdout, generate the content if necessary. - * - * Parameters - * size max number of cache files - * path directory used to store cache files - * key the key used to lookup cache files - * ttl max cache time in seconds for this key - * fn content generator function for this key - * - * Return value - * 0 indicates success, everything else is an error - */ -extern int cache_process(int size, const char *path, const char *key, int ttl, - cache_fill_fn fn); - - -/* List info about all cache entries on stdout */ -extern int cache_ls(const char *path); - -/* Print a message to stdout */ -__attribute__((format (printf,1,2))) -extern void cache_log(const char *format, ...); - -extern unsigned long hash_str(const char *str); +extern char *cache_safe_filename(const char *unsafe); +extern int cache_lock(struct cacheitem *item); +extern int cache_unlock(struct cacheitem *item); +extern int cache_cancel_lock(struct cacheitem *item); +extern int cache_exist(struct cacheitem *item); +extern int cache_expired(struct cacheitem *item); #endif /* CGIT_CACHE_H */ |