Whamcloud - gitweb
ChangeLog, Makefile.in, configure.in:
[tools/e2fsprogs.git] / resize / banalysis.h
1 /*
2  * banalysis.h --- Block analysis header file
3  */
4
5 struct 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
13 struct 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
26 errcode_t ext2_block_analyze(ext2_filsys fs,
27                              struct ext2_block_analyzer_funcs *funcs,
28                              ext2_brel block_relocation_table,
29                              void *private);
30