Subversion Repositories HelenOS

Rev

Rev 4553 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4553 Rev 4572
Line 82... Line 82...
82
    link_t hash_link;
82
    link_t hash_link;
83
    /** Buffer with the block data. */
83
    /** Buffer with the block data. */
84
    void *data;
84
    void *data;
85
} block_t;
85
} block_t;
86
 
86
 
-
 
87
/** Caching mode */
-
 
88
enum cache_mode {
-
 
89
    /** Write-Through */
-
 
90
    CACHE_MODE_WT,
-
 
91
    /** Write-Back */
-
 
92
    CACHE_MODE_WB
-
 
93
};
-
 
94
 
87
extern int block_init(dev_handle_t, size_t);
95
extern int block_init(dev_handle_t, size_t);
88
extern void block_fini(dev_handle_t);
96
extern void block_fini(dev_handle_t);
89
 
97
 
90
extern int block_bb_read(dev_handle_t, off_t, size_t);
98
extern int block_bb_read(dev_handle_t, off_t, size_t);
91
extern void *block_bb_get(dev_handle_t);
99
extern void *block_bb_get(dev_handle_t);
92
 
100
 
93
extern int block_cache_init(dev_handle_t, size_t, unsigned);
101
extern int block_cache_init(dev_handle_t, size_t, unsigned, enum cache_mode);
94
 
102
 
95
extern block_t *block_get(dev_handle_t, bn_t, int flags);
103
extern block_t *block_get(dev_handle_t, bn_t, int flags);
96
extern void block_put(block_t *);
104
extern void block_put(block_t *);
97
 
105
 
98
extern int block_read(dev_handle_t, off_t *, size_t *, off_t *, void *, size_t,
106
extern int block_read(dev_handle_t, off_t *, size_t *, off_t *, void *, size_t,