📄 e2fsck.h
字号:
#define PR_4_PASS_HEADER 0x040000 /* Pass 4: Checking reference counts */#define PR_4_ZERO_LEN_INODE 0x040001 /* Unattached zero-length inode */#define PR_4_UNATTACHED_INODE 0x040002 /* Unattached inode */#define PR_4_BAD_REF_COUNT 0x040003 /* Inode ref count wrong */#define PR_4_INCONSISTENT_COUNT 0x040004 /* Inconsistent inode count information cached *//* * Pass 5 errors */#define PR_5_PASS_HEADER 0x050000 /* Pass 5: Checking group summary information */#define PR_5_INODE_BMAP_PADDING 0x050001 /* Padding at end of inode bitmap is not set. */#define PR_5_BLOCK_BMAP_PADDING 0x050002 /* Padding at end of block bitmap is not set. */#define PR_5_BLOCK_BITMAP_HEADER 0x050003 /* Block bitmap differences header */#define PR_5_BLOCK_UNUSED 0x050004 /* Block not used, but marked in bitmap */#define PR_5_BLOCK_USED 0x050005 /* Block used, but not marked used in bitmap */#define PR_5_BLOCK_BITMAP_END 0x050006 /* Block bitmap differences end */#define PR_5_INODE_BITMAP_HEADER 0x050007 /* Inode bitmap differences header */#define PR_5_INODE_UNUSED 0x050008 /* Inode not used, but marked in bitmap */#define PR_5_INODE_USED 0x050009 /* Inode used, but not marked used in bitmap */#define PR_5_INODE_BITMAP_END 0x05000A /* Inode bitmap differences end */#define PR_5_FREE_INODE_COUNT_GROUP 0x05000B /* Free inodes count for group wrong */#define PR_5_FREE_DIR_COUNT_GROUP 0x05000C /* Directories count for group wrong */#define PR_5_FREE_INODE_COUNT 0x05000D /* Free inodes count wrong */#define PR_5_FREE_BLOCK_COUNT_GROUP 0x05000E /* Free blocks count for group wrong */#define PR_5_FREE_BLOCK_COUNT 0x05000F /* Free blocks count wrong */#define PR_5_BMAP_ENDPOINTS 0x050010 /* Programming error: bitmap endpoints don't match */#define PR_5_FUDGE_BITMAP_ERROR 0x050011 /* Internal error: fudging end of bitmap */#define PR_5_COPY_IBITMAP_ERROR 0x050012 /* Error copying in replacement inode bitmap */#define PR_5_COPY_BBITMAP_ERROR 0x050013 /* Error copying in replacement block bitmap */#define PR_5_BLOCK_RANGE_UNUSED 0x050014 /* Block range not used, but marked in bitmap */#define PR_5_BLOCK_RANGE_USED 0x050015 /* Block range used, but not marked used in bitmap */#define PR_5_INODE_RANGE_UNUSED 0x050016 /* Inode range not used, but marked in bitmap */#define PR_5_INODE_RANGE_USED 0x050017 /* Inode rangeused, but not marked used in bitmap *//* * The directory information structure; stores directory information * collected in earlier passes, to avoid disk i/o in fetching the * directory information. */struct dir_info { ext2_ino_t ino; /* Inode number */ ext2_ino_t dotdot; /* Parent according to '..' */ ext2_ino_t parent; /* Parent according to treewalk */};/* * The indexed directory information structure; stores information for * directories which contain a hash tree index. */struct dx_dir_info { ext2_ino_t ino; /* Inode number */ int numblocks; /* number of blocks */ int hashversion; short depth; /* depth of tree */ struct dx_dirblock_info *dx_block; /* Array of size numblocks */};/* * Define the extended attribute refcount structure */typedef struct ea_refcount *ext2_refcount_t;struct e2fsck_struct { ext2_filsys fs; const char *program_name; char *filesystem_name; char *device_name; char *io_options; int flags; /* E2fsck internal flags */ int options; blk_t use_superblock; /* sb requested by user */ blk_t superblock; /* sb used to open fs */ int blocksize; /* blocksize */ blk_t num_blocks; /* Total number of blocks */ int mount_flags; blkid_cache blkid; /* blkid cache */ jmp_buf abort_loc; unsigned long abort_code; int (*progress)(e2fsck_t ctx, int pass, unsigned long cur, unsigned long max); ext2fs_inode_bitmap inode_used_map; /* Inodes which are in use */ ext2fs_inode_bitmap inode_bad_map; /* Inodes which are bad somehow */ ext2fs_inode_bitmap inode_dir_map; /* Inodes which are directories */ ext2fs_inode_bitmap inode_imagic_map; /* AFS inodes */ ext2fs_inode_bitmap inode_reg_map; /* Inodes which are regular files*/ ext2fs_block_bitmap block_found_map; /* Blocks which are in use */ ext2fs_block_bitmap block_dup_map; /* Blks referenced more than once */ ext2fs_block_bitmap block_ea_map; /* Blocks which are used by EA's */ /* * Inode count arrays */ ext2_icount_t inode_count; ext2_icount_t inode_link_info; ext2_refcount_t refcount; ext2_refcount_t refcount_extra; /* * Array of flags indicating whether an inode bitmap, block * bitmap, or inode table is invalid */ int *invalid_inode_bitmap_flag; int *invalid_block_bitmap_flag; int *invalid_inode_table_flag; int invalid_bitmaps; /* There are invalid bitmaps/itable */ /* * Block buffer */ char *block_buf; /* * For pass1_check_directory and pass1_get_blocks */ ext2_ino_t stashed_ino; struct ext2_inode *stashed_inode; /* * Location of the lost and found directory */ ext2_ino_t lost_and_found; int bad_lost_and_found; /* * Directory information */ int dir_info_count; int dir_info_size; struct dir_info *dir_info; /* * Indexed directory information */ int dx_dir_info_count; int dx_dir_info_size; struct dx_dir_info *dx_dir_info; /* * Directories to hash */ ext2_u32_list dirs_to_hash; /* * Tuning parameters */ int process_inode_size; int inode_buffer_blocks; /* * ext3 journal support */ io_channel journal_io; char *journal_name; /* * How we display the progress update (for unix) */ int progress_fd; int progress_pos; int progress_last_percent; unsigned int progress_last_time; int interactive; /* Are we connected directly to a tty? */ char start_meta[2], stop_meta[2]; /* File counts */ int fs_directory_count; int fs_regular_count; int fs_blockdev_count; int fs_chardev_count; int fs_links_count; int fs_symlinks_count; int fs_fast_symlinks_count; int fs_fifo_count; int fs_total_count; int fs_sockets_count; int fs_ind_count; int fs_dind_count; int fs_tind_count; int fs_fragmented; int large_files; int fs_ext_attr_inodes; int fs_ext_attr_blocks; int ext_attr_ver; /* * For the use of callers of the e2fsck functions; not used by * e2fsck functions themselves. */ void *priv_data;};#define tid_gt(x, y) ((x - y) > 0)static inline int tid_geq(tid_t x, tid_t y){ int difference = (x - y); return (difference >= 0);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -