diff options
author | June McEnroe <june@causal.agency> | 2020-12-27 18:45:04 -0500 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2020-12-27 18:45:35 -0500 |
commit | 7b715a386a625ea3cf92b1281a4392e2473b830a (patch) | |
tree | 9353eea94b35e91f229be03061835b8fb788570a /www/git.causal.agency/cgit/cache.h | |
parent | Remove 1sh (diff) | |
parent | Squashed 'www/git.causal.agency/cgit/' content from commit 02221fd3 (diff) | |
download | src-7b715a386a625ea3cf92b1281a4392e2473b830a.tar.gz src-7b715a386a625ea3cf92b1281a4392e2473b830a.zip |
Merge commit '85016e706cd00e527dba3fa83b2783dfb56a4ffa' as 'www/git.causal.agency/cgit'
From tag 'v1.2.3'.
Diffstat (limited to '')
-rw-r--r-- | www/git.causal.agency/cgit/cache.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/www/git.causal.agency/cgit/cache.h b/www/git.causal.agency/cgit/cache.h new file mode 100644 index 00000000..470da4fc --- /dev/null +++ b/www/git.causal.agency/cgit/cache.h @@ -0,0 +1,37 @@ +/* + * Since git has it's own cache.h which we include, + * lets test on CGIT_CACHE_H to avoid confusion + */ + +#ifndef CGIT_CACHE_H +#define CGIT_CACHE_H + +typedef void (*cache_fill_fn)(void); + + +/* 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); + +#endif /* CGIT_CACHE_H */ |