We temporarily need a BeOS compatible cache implementation.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7830 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
69debf9e84
commit
56b4e8289c
50
headers/private/kernel/cache.h
Normal file
50
headers/private/kernel/cache.h
Normal file
@ -0,0 +1,50 @@
|
||||
/*
|
||||
Copyright 1999-2001, Be Incorporated. All Rights Reserved.
|
||||
This file may be used under the terms of the Be Sample Code License.
|
||||
*/
|
||||
|
||||
#ifndef _CACHE_H_
|
||||
#define _CACHE_H_
|
||||
|
||||
#include <OS.h>
|
||||
|
||||
#define ALLOW_WRITES 1
|
||||
#define NO_WRITES 0
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
extern int init_block_cache(int max_blocks, int flags);
|
||||
extern void shutdown_block_cache(void);
|
||||
|
||||
extern void force_cache_flush(int dev, int prefer_log_blocks);
|
||||
extern int flush_blocks(int dev, off_t bnum, int nblocks);
|
||||
extern int flush_device(int dev, int warn_locked);
|
||||
|
||||
extern int init_cache_for_device(int fd, off_t max_blocks);
|
||||
extern int remove_cached_device_blocks(int dev, int allow_write);
|
||||
|
||||
extern void *get_block(int dev, off_t bnum, int bsize);
|
||||
extern void *get_empty_block(int dev, off_t bnum, int bsize);
|
||||
extern int release_block(int dev, off_t bnum);
|
||||
extern int mark_blocks_dirty(int dev, off_t bnum, int nblocks);
|
||||
|
||||
|
||||
extern int cached_read(int dev, off_t bnum, void *data, off_t num_blocks, int bsize);
|
||||
extern int cached_write(int dev, off_t bnum, const void *data,
|
||||
off_t num_blocks, int bsize);
|
||||
extern int cached_write_locked(int dev, off_t bnum, const void *data,
|
||||
off_t num_blocks, int bsize);
|
||||
extern int set_blocks_info(int dev, off_t *blocks, int nblocks,
|
||||
void (*func)(off_t bnum, size_t nblocks, void *arg),
|
||||
void *arg);
|
||||
|
||||
extern size_t read_phys_blocks(int fd, off_t bnum, void *data, uint num_blocks, int bsize);
|
||||
extern size_t write_phys_blocks(int fd, off_t bnum, void *data, uint num_blocks, int bsize);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _CACHE_H_ */
|
Loading…
Reference in New Issue
Block a user