blob: 247413a06cc63fb2b034df87b245a7a4b6c8ba31 [file] [log] [blame]
Theodore Ts'o24b2c7a1997-06-07 20:42:58 +00001/*
2 * banalysis.h --- Block analysis header file
3 */
4
5struct ext2_inode_context {
6 ino_t ino;
7 struct ext2_inode * inode;
8 errcode_t error;
9 ext2_brel brel;
10 void * ctx;
11};
12
13struct ext2_block_analyzer_funcs {
14 int (*pre_analyze)(ext2_filsys fs,
15 struct ext2_inode_context *icontext,
16 void *private);
17 blk_t (*block_analyze)(ext2_filsys fs, blk_t blk,
18 blk_t ref_block, int ref_offset,
19 struct ext2_inode_context *icontext,
20 void *private);
21 void (*post_analyze)(ext2_filsys fs,
22 struct ext2_inode_context *icontext,
23 void *private);
24};
25
26errcode_t ext2_block_analyze(ext2_filsys fs,
27 struct ext2_block_analyzer_funcs *funcs,
28 ext2_brel block_relocation_table,
29 void *private);
30