1*a1978b5cSAxel Dörfler /* File System File and Block Caches 2*a1978b5cSAxel Dörfler ** 3*a1978b5cSAxel Dörfler ** Distributed under the terms of the Haiku License. 4*a1978b5cSAxel Dörfler */ 5*a1978b5cSAxel Dörfler #ifndef _FS_CACHE_H 6*a1978b5cSAxel Dörfler #define _FS_CACHE_H 7*a1978b5cSAxel Dörfler 8*a1978b5cSAxel Dörfler 9*a1978b5cSAxel Dörfler #include <fs_interface.h> 10*a1978b5cSAxel Dörfler 11*a1978b5cSAxel Dörfler 12*a1978b5cSAxel Dörfler #ifdef __cplusplus 13*a1978b5cSAxel Dörfler extern "C" { 14*a1978b5cSAxel Dörfler #endif 15*a1978b5cSAxel Dörfler 16*a1978b5cSAxel Dörfler /* file cache */ 17*a1978b5cSAxel Dörfler extern void *file_cache_create(mount_id mountID, vnode_id vnodeID, off_t size, int openMode); 18*a1978b5cSAxel Dörfler extern void file_cache_delete(void *_cacheRef); 19*a1978b5cSAxel Dörfler extern status_t file_cache_set_size(void *_cacheRef, off_t size); 20*a1978b5cSAxel Dörfler 21*a1978b5cSAxel Dörfler extern status_t file_cache_read_pages(void *_cacheRef, off_t offset, 22*a1978b5cSAxel Dörfler const iovec *vecs, size_t count, size_t *_numBytes); 23*a1978b5cSAxel Dörfler extern status_t file_cache_write_pages(void *_cacheRef, off_t offset, 24*a1978b5cSAxel Dörfler const iovec *vecs, size_t count, size_t *_numBytes); 25*a1978b5cSAxel Dörfler extern status_t file_cache_read(void *_cacheRef, off_t offset, void *bufferBase, size_t *_size); 26*a1978b5cSAxel Dörfler extern status_t file_cache_write(void *_cacheRef, off_t offset, const void *buffer, size_t *_size); 27*a1978b5cSAxel Dörfler 28*a1978b5cSAxel Dörfler #ifdef __cplusplus 29*a1978b5cSAxel Dörfler } 30*a1978b5cSAxel Dörfler #endif 31*a1978b5cSAxel Dörfler 32*a1978b5cSAxel Dörfler #endif /* _FS_CACHE_H */ 33