#include <stdint.h>#include "../../srv/vfs/vfs.h"#include <fibril_synch.h>#include <adt/hash_table.h>#include <adt/list.h>Go to the source code of this file.
Data Structures | |
| struct | block |
Defines | |
| #define | BLOCK_FLAGS_NONE 0 |
| This macro is a symbolic value for situations where no special flags are needed. | |
| #define | BLOCK_FLAGS_NOREAD 1 |
| When the client of block_get() intends to overwrite the current contents of the block, this flag is used to avoid the unnecessary read. | |
Enumerations | |
| enum | cache_mode { CACHE_MODE_WT, CACHE_MODE_WB } |
| Caching mode. More... | |
Functions | |
| void * | block_bb_get (devmap_handle_t devmap_handle) |
| int | block_bb_read (devmap_handle_t devmap_handle, aoff64_t ba) |
| int | block_cache_fini (devmap_handle_t devmap_handle) |
| int | block_cache_init (devmap_handle_t devmap_handle, size_t size, unsigned blocks, enum cache_mode mode) |
| void | block_fini (devmap_handle_t devmap_handle) |
| int | block_get (block_t **block, devmap_handle_t devmap_handle, aoff64_t ba, int flags) |
| Instantiate a block in memory and get a reference to it. | |
| int | block_get_bsize (devmap_handle_t devmap_handle, size_t *bsize) |
| Get device block size. | |
| int | block_get_nblocks (devmap_handle_t devmap_handle, aoff64_t *nblocks) |
| Get number of blocks on device. | |
| int | block_init (devmap_handle_t devmap_handle, size_t comm_size) |
| int | block_put (block_t *block) |
| Release a reference to a block. | |
| int | block_read_direct (devmap_handle_t devmap_handle, aoff64_t ba, size_t cnt, void *buf) |
| Read blocks directly from device (bypass cache). | |
| int | block_seqread (devmap_handle_t devmap_handle, size_t *bufpos, size_t *buflen, aoff64_t *pos, void *dst, size_t size) |
| Read sequential data from a block device. | |
| int | block_write_direct (devmap_handle_t devmap_handle, aoff64_t ba, size_t cnt, const void *data) |
| Write blocks directly to device (bypass cache). | |
Definition in file libblock.h.
1.4.7