cctools
file_cache.h
1/*
2Copyright (C) 2003-2004 Douglas Thain and the University of Wisconsin
3Copyright (C) 2022 The University of Notre Dame
4This software is distributed under the GNU General Public License.
5See the file COPYING for details.
6*/
7
8#ifndef FILE_CACHE_H
9#define FILE_CACHE_H
10
11#include <sys/types.h>
12
13#include "int_sizes.h"
14
15struct file_cache *file_cache_init(const char *root);
16void file_cache_fini(struct file_cache *c);
17void file_cache_cleanup(struct file_cache *c);
18
19int file_cache_open(struct file_cache *c, const char *path, int flags, char *lpath, INT64_T size, time_t mtime);
20int file_cache_delete(struct file_cache *f, const char *path);
21int file_cache_contains(struct file_cache *f, const char *path, char *lpath);
22
23int file_cache_begin(struct file_cache *c, const char *path, char *txn);
24int file_cache_commit(struct file_cache *c, const char *path, const char *txn);
25int file_cache_abort(struct file_cache *c, const char *path, const char *txn);
26
27#endif