Initialize root directory to have proper i_size.
[omfsprogs.git] / check.h
blob4f3c9551db9a7b9d62c16550fbbd6ad98e0c3e1d
1 #ifndef _CHECK_H
2 #define _CHECK_H
4 #include "config.h"
5 #include "omfs.h"
7 typedef enum
9 E_NONE,
10 E_HEADER_XOR,
11 E_HEADER_CRC,
12 E_BIT_SET,
13 E_BIT_CLEAR,
14 E_BITMAP,
15 E_HASH_WRONG,
16 E_BLOCKSIZE,
17 E_SYS_BLOCKSIZE,
18 E_MIRRORS,
19 E_EXTENT_COUNT,
20 E_TERMINATOR,
21 E_MAGIC,
22 E_FILE_MAGIC,
23 E_SELF_PTR,
24 E_PARENT_PTR,
25 E_READ_SUPER,
26 E_READ_ROOT,
27 E_INSANE,
28 E_SCAN,
29 E_LOOP
30 } check_error_t;
32 typedef struct check_context
34 u8 *bitmap;
35 u8 *visited;
36 omfs_inode_t *current_inode;
37 omfs_info_t *omfs_info;
38 u64 parent; /* parent inode number */
39 u64 block;
40 int hash;
41 } check_context_t;
43 int check_fs(FILE *fp);
44 int check_fix(check_context_t *fix, check_error_t error_code);
46 #endif