📄 ext2fs.h
字号:
extern void ext2fs_badblocks_list_del(ext2_u32_list bb, __u32 blk);extern errcode_t ext2fs_badblocks_list_iterate_begin(ext2_badblocks_list bb, ext2_badblocks_iterate *ret);extern int ext2fs_badblocks_list_iterate(ext2_badblocks_iterate iter, blk_t *blk);extern void ext2fs_badblocks_list_iterate_end(ext2_badblocks_iterate iter);extern errcode_t ext2fs_badblocks_copy(ext2_badblocks_list src, ext2_badblocks_list *dest);extern int ext2fs_badblocks_equal(ext2_badblocks_list bb1, ext2_badblocks_list bb2);extern int ext2fs_u32_list_count(ext2_u32_list bb);/* bb_compat */extern errcode_t badblocks_list_create(badblocks_list *ret, int size);extern errcode_t badblocks_list_add(badblocks_list bb, blk_t blk);extern int badblocks_list_test(badblocks_list bb, blk_t blk);extern errcode_t badblocks_list_iterate_begin(badblocks_list bb, badblocks_iterate *ret);extern int badblocks_list_iterate(badblocks_iterate iter, blk_t *blk);extern void badblocks_list_iterate_end(badblocks_iterate iter);extern void badblocks_list_free(badblocks_list bb);/* bb_inode.c */extern errcode_t ext2fs_update_bb_inode(ext2_filsys fs, ext2_badblocks_list bb_list);/* bitmaps.c */extern errcode_t ext2fs_write_inode_bitmap(ext2_filsys fs);extern errcode_t ext2fs_write_block_bitmap (ext2_filsys fs);extern errcode_t ext2fs_read_inode_bitmap (ext2_filsys fs);extern errcode_t ext2fs_read_block_bitmap(ext2_filsys fs);extern errcode_t ext2fs_allocate_generic_bitmap(__u32 start, __u32 end, __u32 real_end, const char *descr, ext2fs_generic_bitmap *ret);extern errcode_t ext2fs_allocate_block_bitmap(ext2_filsys fs, const char *descr, ext2fs_block_bitmap *ret);extern errcode_t ext2fs_allocate_inode_bitmap(ext2_filsys fs, const char *descr, ext2fs_inode_bitmap *ret);extern errcode_t ext2fs_fudge_inode_bitmap_end(ext2fs_inode_bitmap bitmap, ext2_ino_t end, ext2_ino_t *oend);extern errcode_t ext2fs_fudge_block_bitmap_end(ext2fs_block_bitmap bitmap, blk_t end, blk_t *oend);extern void ext2fs_clear_inode_bitmap(ext2fs_inode_bitmap bitmap);extern void ext2fs_clear_block_bitmap(ext2fs_block_bitmap bitmap);extern errcode_t ext2fs_read_bitmaps(ext2_filsys fs);extern errcode_t ext2fs_write_bitmaps(ext2_filsys fs);/* block.c */extern errcode_t ext2fs_block_iterate(ext2_filsys fs, ext2_ino_t ino, int flags, char *block_buf, int (*func)(ext2_filsys fs, blk_t *blocknr, int blockcnt, void *priv_data), void *priv_data);errcode_t ext2fs_block_iterate2(ext2_filsys fs, ext2_ino_t ino, int flags, char *block_buf, int (*func)(ext2_filsys fs, blk_t *blocknr, e2_blkcnt_t blockcnt, blk_t ref_blk, int ref_offset, void *priv_data), void *priv_data);/* bmap.c */extern errcode_t ext2fs_bmap(ext2_filsys fs, ext2_ino_t ino, struct ext2_inode *inode, char *block_buf, int bmap_flags, blk_t block, blk_t *phys_blk);#if 0/* bmove.c */extern errcode_t ext2fs_move_blocks(ext2_filsys fs, ext2fs_block_bitmap reserve, ext2fs_block_bitmap alloc_map, int flags);#endif/* check_desc.c */extern errcode_t ext2fs_check_desc(ext2_filsys fs);/* closefs.c */extern errcode_t ext2fs_close(ext2_filsys fs);extern errcode_t ext2fs_flush(ext2_filsys fs);extern int ext2fs_bg_has_super(ext2_filsys fs, int group_block);extern int ext2fs_super_and_bgd_loc(ext2_filsys fs, dgrp_t group, blk_t *ret_super_blk, blk_t *ret_old_desc_blk, blk_t *ret_new_desc_blk, int *ret_meta_bg);extern void ext2fs_update_dynamic_rev(ext2_filsys fs);/* cmp_bitmaps.c */extern errcode_t ext2fs_compare_block_bitmap(ext2fs_block_bitmap bm1, ext2fs_block_bitmap bm2);extern errcode_t ext2fs_compare_inode_bitmap(ext2fs_inode_bitmap bm1, ext2fs_inode_bitmap bm2);/* dblist.c */extern errcode_t ext2fs_get_num_dirs(ext2_filsys fs, ext2_ino_t *ret_num_dirs);extern errcode_t ext2fs_init_dblist(ext2_filsys fs, ext2_dblist *ret_dblist);extern errcode_t ext2fs_add_dir_block(ext2_dblist dblist, ext2_ino_t ino, blk_t blk, int blockcnt);extern void ext2fs_dblist_sort(ext2_dblist dblist, int (*sortfunc)(const void *, const void *));extern errcode_t ext2fs_dblist_iterate(ext2_dblist dblist, int (*func)(ext2_filsys fs, struct ext2_db_entry *db_info, void *priv_data), void *priv_data);extern errcode_t ext2fs_set_dir_block(ext2_dblist dblist, ext2_ino_t ino, blk_t blk, int blockcnt);extern errcode_t ext2fs_copy_dblist(ext2_dblist src, ext2_dblist *dest);extern int ext2fs_dblist_count(ext2_dblist dblist);/* dblist_dir.c */extern errcode_t ext2fs_dblist_dir_iterate(ext2_dblist dblist, int flags, char *block_buf, int (*func)(ext2_ino_t dir, int entry, struct ext2_dir_entry *dirent, int offset, int blocksize, char *buf, void *priv_data), void *priv_data);/* dirblock.c */extern errcode_t ext2fs_read_dir_block(ext2_filsys fs, blk_t block, void *buf);extern errcode_t ext2fs_read_dir_block2(ext2_filsys fs, blk_t block, void *buf, int flags);extern errcode_t ext2fs_write_dir_block(ext2_filsys fs, blk_t block, void *buf);extern errcode_t ext2fs_write_dir_block2(ext2_filsys fs, blk_t block, void *buf, int flags);/* dirhash.c */extern errcode_t ext2fs_dirhash(int version, const char *name, int len, const __u32 *seed, ext2_dirhash_t *ret_hash, ext2_dirhash_t *ret_minor_hash);/* dir_iterate.c */extern errcode_t ext2fs_dir_iterate(ext2_filsys fs, ext2_ino_t dir, int flags, char *block_buf, int (*func)(struct ext2_dir_entry *dirent, int offset, int blocksize, char *buf, void *priv_data), void *priv_data);extern errcode_t ext2fs_dir_iterate2(ext2_filsys fs, ext2_ino_t dir, int flags, char *block_buf, int (*func)(ext2_ino_t dir, int entry, struct ext2_dir_entry *dirent, int offset, int blocksize, char *buf, void *priv_data), void *priv_data);/* dupfs.c */extern errcode_t ext2fs_dup_handle(ext2_filsys src, ext2_filsys *dest);/* expanddir.c */extern errcode_t ext2fs_expand_dir(ext2_filsys fs, ext2_ino_t dir);/* ext_attr.c */extern errcode_t ext2fs_read_ext_attr(ext2_filsys fs, blk_t block, void *buf);extern errcode_t ext2fs_write_ext_attr(ext2_filsys fs, blk_t block, void *buf);extern errcode_t ext2fs_adjust_ea_refcount(ext2_filsys fs, blk_t blk, char *block_buf, int adjust, __u32 *newcount);/* fileio.c */extern errcode_t ext2fs_file_open2(ext2_filsys fs, ext2_ino_t ino, struct ext2_inode *inode, int flags, ext2_file_t *ret);extern errcode_t ext2fs_file_open(ext2_filsys fs, ext2_ino_t ino, int flags, ext2_file_t *ret);extern ext2_filsys ext2fs_file_get_fs(ext2_file_t file);extern errcode_t ext2fs_file_close(ext2_file_t file);extern errcode_t ext2fs_file_flush(ext2_file_t file);extern errcode_t ext2fs_file_read(ext2_file_t file, void *buf, unsigned int wanted, unsigned int *got);extern errcode_t ext2fs_file_write(ext2_file_t file, const void *buf, unsigned int nbytes, unsigned int *written);extern errcode_t ext2fs_file_llseek(ext2_file_t file, __u64 offset, int whence, __u64 *ret_pos);extern errcode_t ext2fs_file_lseek(ext2_file_t file, ext2_off_t offset, int whence, ext2_off_t *ret_pos);errcode_t ext2fs_file_get_lsize(ext2_file_t file, __u64 *ret_size);extern ext2_off_t ext2fs_file_get_size(ext2_file_t file);extern errcode_t ext2fs_file_set_size(ext2_file_t file, ext2_off_t size);/* finddev.c */extern char *ext2fs_find_block_device(dev_t device);/* flushb.c */extern errcode_t ext2fs_sync_device(int fd, int flushb);/* freefs.c */extern void ext2fs_free(ext2_filsys fs);extern void ext2fs_free_generic_bitmap(ext2fs_inode_bitmap bitmap);extern void ext2fs_free_block_bitmap(ext2fs_block_bitmap bitmap);extern void ext2fs_free_inode_bitmap(ext2fs_inode_bitmap bitmap);extern void ext2fs_free_dblist(ext2_dblist dblist);extern void ext2fs_badblocks_list_free(ext2_badblocks_list bb);extern void ext2fs_u32_list_free(ext2_u32_list bb);/* getsize.c */extern errcode_t ext2fs_get_device_size(const char *file, int blocksize, blk_t *retblocks);/* getsectsize.c */errcode_t ext2fs_get_device_sectsize(const char *file, int *sectsize);/* imager.c */extern errcode_t ext2fs_image_inode_write(ext2_filsys fs, int fd, int flags);extern errcode_t ext2fs_image_inode_read(ext2_filsys fs, int fd, int flags);extern errcode_t ext2fs_image_super_write(ext2_filsys fs, int fd, int flags);extern errcode_t ext2fs_image_super_read(ext2_filsys fs, int fd, int flags);extern errcode_t ext2fs_image_bitmap_write(ext2_filsys fs, int fd, int flags);extern errcode_t ext2fs_image_bitmap_read(ext2_filsys fs, int fd, int flags);/* ind_block.c */errcode_t ext2fs_read_ind_block(ext2_filsys fs, blk_t blk, void *buf);errcode_t ext2fs_write_ind_block(ext2_filsys fs, blk_t blk, void *buf);/* initialize.c */extern errcode_t ext2fs_initialize(const char *name, int flags, struct ext2_super_block *param, io_manager manager, ext2_filsys *ret_fs);/* icount.c */extern void ext2fs_free_icount(ext2_icount_t icount);extern errcode_t ext2fs_create_icount2(ext2_filsys fs, int flags, unsigned int size, ext2_icount_t hint, ext2_icount_t *ret);extern errcode_t ext2fs_create_icount(ext2_filsys fs, int flags, unsigned int size, ext2_icount_t *ret);extern errcode_t ext2fs_icount_fetch(ext2_icount_t icount, ext2_ino_t ino, __u16 *ret);extern errcode_t ext2fs_icount_increment(ext2_icount_t icount, ext2_ino_t ino, __u16 *ret);extern errcode_t ext2fs_icount_decrement(ext2_icount_t icount, ext2_ino_t ino, __u16 *ret);extern errcode_t ext2fs_icount_store(ext2_icount_t icount, ext2_ino_t ino, __u16 count);extern ext2_ino_t ext2fs_get_icount_size(ext2_icount_t icount);errcode_t ext2fs_icount_validate(ext2_icount_t icount, FILE *);/* inode.c */extern errcode_t ext2fs_flush_icache(ext2_filsys fs);extern errcode_t ext2fs_get_next_inode_full(ext2_inode_scan scan, ext2_ino_t *ino, struct ext2_inode *inode, int bufsize);extern errcode_t ext2fs_open_inode_scan(ext2_filsys fs, int buffer_blocks, ext2_inode_scan *ret_scan);extern void ext2fs_close_inode_scan(ext2_inode_scan scan);extern errcode_t ext2fs_get_next_inode(ext2_inode_scan scan, ext2_ino_t *ino, struct ext2_inode *inode);extern errcode_t ext2fs_inode_scan_goto_blockgroup(ext2_inode_scan scan, int group);extern void ext2fs_set_inode_callback (ext2_inode_scan scan, errcode_t (*done_group)(ext2_filsys fs, dgrp_t group, void * priv_data), void *done_group_data);extern int ext2fs_inode_scan_flags(ext2_inode_scan scan, int set_flags, int clear_flags);extern errcode_t ext2fs_read_inode_full(ext2_filsys fs, ext2_ino_t ino, struct ext2_inode * inode, int bufsize);extern errcode_t ext2fs_read_inode (ext2_filsys fs, ext2_ino_t ino, struct ext2_inode * inode);extern errcode_t ext2fs_write_inode_full(ext2_filsys fs, ext2_ino_t ino, struct ext2_inode * inode, int bufsize);extern errcode_t ext2fs_write_inode(ext2_filsys fs, ext2_ino_t ino, struct ext2_inode * inode);extern errcode_t ext2fs_write_new_inode(ext2_filsys fs, ext2_ino_t ino, struct ext2_inode * inode);extern errcode_t ext2fs_get_blocks(ext2_filsys fs, ext2_ino_t ino, blk_t *blocks);extern errcode_t ext2fs_check_directory(ext2_filsys fs, ext2_ino_t ino);/* inode_io.c */extern io_manager inode_io_manager;extern errcode_t ext2fs_inode_io_intern(ext2_filsys fs, ext2_ino_t ino, char **name);extern errcode_t ext2fs_inode_io_intern2(ext2_filsys fs, ext2_ino_t ino, struct ext2_inode *inode, char **name);/* ismounted.c */extern errcode_t ext2fs_check_if_mounted(const char *file, int *mount_flags);extern errcode_t ext2fs_check_mount_point(const char *device, int *mount_flags, char *mtpt, int mtlen);/* namei.c */extern errcode_t ext2fs_lookup(ext2_filsys fs, ext2_ino_t dir, const char *name, int namelen, char *buf, ext2_ino_t *inode);extern errcode_t ext2fs_namei(ext2_filsys fs, ext2_ino_t root, ext2_ino_t cwd, const char *name, ext2_ino_t *inode);errcode_t ext2fs_namei_follow(ext2_filsys fs, ext2_ino_t root, ext2_ino_t cwd, const char *name, ext2_ino_t *inode);extern errcode_t ext2fs_follow_link(ext2_filsys fs, ext2_ino_t root, ext2_ino_t cwd, ext2_ino_t inode, ext2_ino_t *res_inode);/* native.c */int ext2fs_native_flag(void);/* newdir.c */extern errcode_t ext2fs_new_dir_block(ext2_filsys fs, ext2_ino_t dir_ino, ext2_ino_t parent_ino, char **block);/* mkdir.c */extern errcode_t ext2fs_mkdir(ext2_filsys fs, ext2_ino_t parent, ext2_ino_t inum, const char *name);/* mkjournal.c */extern errcode_t ext2fs_create_journal_superblock(ext2_filsys fs, __u32 size, int flags, char **ret_jsb);extern errcode_t ext2fs_add_journal_device(ext2_filsys fs, ext2_filsys journal_dev);extern errcode_t ext2fs_add_journal_inode(ext2_filsys fs, blk_t size, int flags);/* openfs.c */extern errcode_t ext2fs_open(const char *name, int flags, int superblock, unsigned int block_size, io_manager manager, ext2_filsys *ret_fs);extern errcode_t ext2fs_open2(const char *name, const char *io_options, int flags, int superblock, unsigned int block_size, io_manager manager, ext2_filsys *ret_fs);extern blk_t ext2fs_descriptor_block_loc(ext2_filsys fs, blk_t group_block, dgrp_t i);errcode_t ext2fs_get_data_io(ext2_filsys fs, io_channel *old_io);errcode_t ext2fs_set_data_io(ext2_filsys fs, io_channel new_io);errcode_t ext2fs_rewrite_to_io(ext2_filsys fs, io_channel new_io);/* get_pathname.c */extern errcode_t ext2fs_get_pathname(ext2_filsys fs, ext2_ino_t dir, ext2_ino_t ino, char **name);/* link.c */errcode_t ext2fs_link(ext2_filsys fs, ext2_ino_t dir, const char *name, ext2_ino_t ino, int flags);errcode_t ext2fs_unlink(ext2_filsys fs, ext2_ino_t dir, const char *name, ext2_ino_t ino, int flags);/* read_bb.c */extern errcode_t ext2fs_read_bb_inode(ext2_filsys fs, ext2_badblocks_list *bb_list);/* read_bb_file.c */extern errcode_t ext2fs_read_bb_FILE2(ext2_filsys fs, FILE *f, ext2_badblocks_list *bb_list, void *priv_data, void (*invalid)(ext2_filsys fs, blk_t blk, char *badstr, void *priv_data));extern errcode_t ext2fs_read_bb_FILE(ext2_filsys fs, FILE *f, ext2_badblocks_list *bb_list, void (*invalid)(ext2_filsys fs, blk_t blk));/* res_gdt.c */extern errcode_t ext2fs_create_resize_inode(ext2_filsys fs);/* rs_bitmap.c */extern errcode_t ext2fs_resize_generic_bitmap(__u32 new_end, __u32 new_real_end, ext2fs_generic_bitmap bmap);extern errcode_t ext2fs_resize_inode_bitmap(__u32 new_end, __u32 new_real_end, ext2fs_inode_bitmap bmap);extern errcode_t ext2fs_resize_block_bitmap(__u32 new_end, __u32 new_real_end, ext2fs_block_bitmap bmap);extern errcode_t ext2fs_copy_bitmap(ext2fs_generic_bitmap src, ext2fs_generic_bitmap *dest);/* swapfs.c */extern void ext2fs_swap_ext_attr(char *to, char *from, int bufsize, int has_header);extern void ext2fs_swap_super(struct ext2_super_block * super);extern void ext2fs_swap_group_desc(struct ext2_group_desc *gdp);extern void ext2fs_swap_inode_full(ext2_filsys fs, struct ext2_inode_large *t, struct ext2_inode_large *f, int hostorder, int bufsize);extern void ext2fs_swap_inode(ext2_filsys fs,struct ext2_inode *t, struct ext2_inode *f, int hostorder);/* valid_blk.c */extern int ext2fs_inode_has_valid_blocks(struct ext2_inode *inode);/* version.c */extern int ext2fs_parse_version_string(const char *ver_string);extern int ext2fs_get_library_version(const char **ver_string, const char **date_string);/* write_bb_file.c */extern errcode_t ext2fs_write_bb_FILE(ext2_badblocks_list bb_list, unsigned int flags, FILE *f);/* inline functions */extern errcode_t ext2fs_get_mem(unsigned long size, void *ptr);extern errcode_t ext2fs_free_mem(void *ptr);extern errcode_t ext2fs_resize_mem(unsigned long old_size, unsigned long size, void *ptr);extern void ext2fs_mark_super_dirty(ext2_filsys fs);extern void ext2fs_mark_changed(ext2_filsys fs);extern int ext2fs_test_changed(ext2_filsys fs);extern void ext2fs_mark_valid(ext2_filsys fs);extern void ext2fs_unmark_valid(ext2_filsys fs);extern int ext2fs_test_valid(ext2_filsys fs);extern void ext2fs_mark_ib_dirty(ext2_filsys fs);extern void ext2fs_mark_bb_dirty(ext2_filsys fs);extern int ext2fs_test_ib_dirty(ext2_filsys fs);extern int ext2fs_test_bb_dirty(ext2_filsys fs);extern int ext2fs_group_of_blk(ext2_filsys fs, blk_t blk);extern int ext2fs_group_of_ino(ext2_filsys fs, ext2_ino_t ino);extern blk_t ext2fs_inode_data_blocks(ext2_filsys fs, struct ext2_inode *inode);#ifdef __cplusplus}#endif#endif /* _EXT2FS_EXT2FS_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -