X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=debugfs%2Fdebugfs.h;h=0e75cee4ed51d4898cef6ff2b9063c5a905e2002;hb=e13ebfdd5f13876de1b978c8a5ed5a322ed7ba62;hp=cb6ba850ba8400b5df00a75004e0672759cddc7c;hpb=544349270e4c74a6feb971123884a8cf5052a7ee;p=tools%2Fe2fsprogs.git diff --git a/debugfs/debugfs.h b/debugfs/debugfs.h index cb6ba85..0e75cee 100644 --- a/debugfs/debugfs.h +++ b/debugfs/debugfs.h @@ -2,8 +2,10 @@ * debugfs.h --- header file for the debugfs program */ +#include "ss/ss.h" #include "ext2fs/ext2_fs.h" #include "ext2fs/ext2fs.h" +#include "quota/quotaio.h" #ifdef __STDC__ #define NOARGS void @@ -20,7 +22,10 @@ #define CHECK_FS_NOTOPEN 0x0004 extern ext2_filsys current_fs; +extern quota_ctx_t current_qctx; extern ext2_ino_t root, cwd; +extern int sci_idx; +extern ss_request_table debug_cmds, extent_cmds; extern void reset_getopt(void); extern FILE *open_pager(void); @@ -31,20 +36,31 @@ extern int check_fs_read_write(char *name); extern int check_fs_bitmaps(char *name); extern ext2_ino_t string_to_inode(char *str); extern char *time_to_string(__u32); +extern time_t string_to_time(const char *); extern unsigned long parse_ulong(const char *str, const char *cmd, const char *descr, int *err); -extern int strtoblk(const char *cmd, const char *str, blk_t *ret); +extern unsigned long long parse_ulonglong(const char *str, const char *cmd, + const char *descr, int *err); +extern int strtoblk(const char *cmd, const char *str, const char *errmsg, + blk64_t *ret); extern int common_args_process(int argc, char *argv[], int min_argc, int max_argc, const char *cmd, const char *usage, int flags); extern int common_inode_args_process(int argc, char *argv[], ext2_ino_t *inode, int flags); extern int common_block_args_process(int argc, char *argv[], - blk_t *block, int *count); + blk64_t *block, blk64_t *count); extern int debugfs_read_inode(ext2_ino_t ino, struct ext2_inode * inode, const char *cmd); +extern int debugfs_read_inode_full(ext2_ino_t ino, struct ext2_inode * inode, + const char *cmd, int bufsize); extern int debugfs_write_inode(ext2_ino_t ino, struct ext2_inode * inode, const char *cmd); +extern int debugfs_write_inode_full(ext2_ino_t ino, struct ext2_inode * inode, + const char *cmd, int bufsize); +extern int debugfs_write_new_inode(ext2_ino_t ino, struct ext2_inode * inode, + const char *cmd); +extern int ext2_file_type(unsigned int mode); /* ss command functions */ @@ -53,6 +69,32 @@ extern void do_dump(int argc, char **argv); extern void do_cat(int argc, char **argv); extern void do_rdump(int argc, char **argv); +/* extent_inode.c */ +extern void do_extent_open(int argc, char **argv); +extern void do_extent_close(int argc, char **argv); +extern void do_current_node(int argc, char **argv); +extern void do_root_node(int argc, char **argv); +extern void do_last_leaf(int argc, char **argv); +extern void do_first_sib(int argc, char **argv); +extern void do_last_sib(int argc, char **argv); +extern void do_next_sib(int argc, char **argv); +extern void do_prev_sib(int argc, char **argv); +extern void do_next_leaf(int argc, char **argv); +extern void do_prev_leaf(int argc, char **argv); +extern void do_next(int argc, char **argv); +extern void do_prev(int argc, char **argv); +extern void do_up(int argc, char **argv); +extern void do_down(int argc, char **argv); +extern void do_delete_node(int argc, char **argv); +extern void do_replace_node(int argc, char **argv); +extern void do_split_node(int argc, char **argv); +extern void do_insert_node(int argc, char **argv); +extern void do_set_bmap(int argc, char **argv); +extern void do_print_all(int argc, char **argv); +extern void do_fix_parents(int argc, char **argv); +extern void do_info(int argc, char **argv); +extern void do_goto_block(int argc, char **argv); + /* htree.c */ extern void do_htree_dump(int argc, char **argv); extern void do_dx_hash(int argc, char **argv); @@ -70,14 +112,16 @@ extern void do_icheck(int argc, char **argv); /* ncheck.c */ extern void do_ncheck(int argc, char **argv); -/* set_super.c */ +/* set_fields.c */ extern void do_set_super(int argc, char **); +extern void do_set_inode(int argc, char **); +extern void do_set_block_group_descriptor(int argc, char **); /* unused.c */ extern void do_dump_unused(int argc, char **argv); /* debugfs.c */ -extern void internal_dump_inode(FILE *, const char *, ext2_ino_t, +extern void internal_dump_inode(FILE *, const char *, ext2_ino_t, struct ext2_inode *, int); extern void do_dirty_filesys(int argc, char **argv); @@ -94,6 +138,8 @@ extern void do_unlink(int argc, char **argv); extern void do_find_free_block(int argc, char **argv); extern void do_find_free_inode(int argc, char **argv); extern void do_stat(int argc, char **argv); +extern void do_dump_extents(int argc, char **argv); +extern void do_blocks(int argc, char *argv[]); extern void do_chroot(int argc, char **argv); extern void do_clri(int argc, char **argv); @@ -116,4 +162,25 @@ extern void do_expand_dir(int argc, char **argv); extern void do_features(int argc, char **argv); extern void do_bmap(int argc, char **argv); extern void do_imap(int argc, char **argv); +extern void do_set_current_time(int argc, char **argv); +extern void do_supported_features(int argc, char **argv); +extern void do_punch(int argc, char **argv); +extern void do_symlink(int argc, char **argv); + +extern void do_dump_mmp(int argc, char **argv); +extern void do_set_mmp_value(int argc, char **argv); + +extern void do_freefrag(int argc, char **argv); +extern void do_filefrag(int argc, char *argv[]); + +/* quota.c */ +extern void do_list_quota(int argc, char *argv[]); +extern void do_get_quota(int argc, char *argv[]); + +/* util.c */ +extern time_t string_to_time(const char *arg); +/* zap.c */ +extern void do_zap_block(int argc, char **argv); +extern void do_block_dump(int argc, char **argv); +extern void do_byte_hexdump(FILE *fp, unsigned char *buf, size_t bufsize);