debugfs.h revision 4df6a37bd39c84ea67394ab5049bc82f14b929b5
1/* 2 * debugfs.h --- header file for the debugfs program 3 */ 4 5#include "ss/ss.h" 6#include "ext2fs/ext2_fs.h" 7#include "ext2fs/ext2fs.h" 8 9#ifdef __STDC__ 10#define NOARGS void 11#else 12#define NOARGS 13#define const 14#endif 15 16/* 17 * Flags used by the common argument processing functions 18 */ 19#define CHECK_FS_RW 0x0001 20#define CHECK_FS_BITMAPS 0x0002 21#define CHECK_FS_NOTOPEN 0x0004 22 23extern ext2_filsys current_fs; 24extern ext2_ino_t root, cwd; 25extern int sci_idx; 26extern ss_request_table debug_cmds, extent_cmds; 27 28extern void reset_getopt(void); 29extern FILE *open_pager(void); 30extern void close_pager(FILE *stream); 31extern int check_fs_open(char *name); 32extern int check_fs_not_open(char *name); 33extern int check_fs_read_write(char *name); 34extern int check_fs_bitmaps(char *name); 35extern ext2_ino_t string_to_inode(char *str); 36extern char *time_to_string(__u32); 37extern time_t string_to_time(const char *); 38extern unsigned long parse_ulong(const char *str, const char *cmd, 39 const char *descr, int *err); 40extern unsigned long long parse_ulonglong(const char *str, const char *cmd, 41 const char *descr, int *err); 42extern int strtoblk(const char *cmd, const char *str, blk64_t *ret); 43extern int common_args_process(int argc, char *argv[], int min_argc, 44 int max_argc, const char *cmd, 45 const char *usage, int flags); 46extern int common_inode_args_process(int argc, char *argv[], 47 ext2_ino_t *inode, int flags); 48extern int common_block_args_process(int argc, char *argv[], 49 blk64_t *block, blk64_t *count); 50extern int debugfs_read_inode(ext2_ino_t ino, struct ext2_inode * inode, 51 const char *cmd); 52extern int debugfs_read_inode_full(ext2_ino_t ino, struct ext2_inode * inode, 53 const char *cmd, int bufsize); 54extern int debugfs_write_inode(ext2_ino_t ino, struct ext2_inode * inode, 55 const char *cmd); 56extern int debugfs_write_inode_full(ext2_ino_t ino, struct ext2_inode * inode, 57 const char *cmd, int bufsize); 58extern int debugfs_write_new_inode(ext2_ino_t ino, struct ext2_inode * inode, 59 const char *cmd); 60extern int ext2_file_type(unsigned int mode); 61 62/* ss command functions */ 63 64/* dump.c */ 65extern void do_dump(int argc, char **argv); 66extern void do_cat(int argc, char **argv); 67extern void do_rdump(int argc, char **argv); 68 69/* extent_inode.c */ 70extern void do_extent_open(int argc, char **argv); 71extern void do_extent_close(int argc, char **argv); 72extern void do_current_node(int argc, char **argv); 73extern void do_root_node(int argc, char **argv); 74extern void do_last_leaf(int argc, char **argv); 75extern void do_first_sib(int argc, char **argv); 76extern void do_last_sib(int argc, char **argv); 77extern void do_next_sib(int argc, char **argv); 78extern void do_prev_sib(int argc, char **argv); 79extern void do_next_leaf(int argc, char **argv); 80extern void do_prev_leaf(int argc, char **argv); 81extern void do_next(int argc, char **argv); 82extern void do_prev(int argc, char **argv); 83extern void do_up(int argc, char **argv); 84extern void do_down(int argc, char **argv); 85extern void do_delete_node(int argc, char **argv); 86extern void do_replace_node(int argc, char **argv); 87extern void do_split_node(int argc, char **argv); 88extern void do_insert_node(int argc, char **argv); 89extern void do_set_bmap(int argc, char **argv); 90extern void do_print_all(int argc, char **argv); 91extern void do_fix_parents(int argc, char **argv); 92extern void do_info(int argc, char **argv); 93extern void do_goto_block(int argc, char **argv); 94 95/* htree.c */ 96extern void do_htree_dump(int argc, char **argv); 97extern void do_dx_hash(int argc, char **argv); 98extern void do_dirsearch(int argc, char **argv); 99 100/* logdump.c */ 101extern void do_logdump(int argc, char **argv); 102 103/* lsdel.c */ 104extern void do_lsdel(int argc, char **argv); 105 106/* icheck.c */ 107extern void do_icheck(int argc, char **argv); 108 109/* ncheck.c */ 110extern void do_ncheck(int argc, char **argv); 111 112/* set_fields.c */ 113extern void do_set_super(int argc, char **); 114extern void do_set_inode(int argc, char **); 115extern void do_set_block_group_descriptor(int argc, char **); 116 117/* unused.c */ 118extern void do_dump_unused(int argc, char **argv); 119 120/* debugfs.c */ 121extern void internal_dump_inode(FILE *, const char *, ext2_ino_t, 122 struct ext2_inode *, int); 123 124extern void do_dirty_filesys(int argc, char **argv); 125extern void do_open_filesys(int argc, char **argv); 126extern void do_close_filesys(int argc, char **argv); 127extern void do_lcd(int argc, char **argv); 128extern void do_init_filesys(int argc, char **argv); 129extern void do_show_super_stats(int argc, char **argv); 130extern void do_kill_file(int argc, char **argv); 131extern void do_rm(int argc, char **argv); 132extern void do_link(int argc, char **argv); 133extern void do_undel(int argc, char **argv); 134extern void do_unlink(int argc, char **argv); 135extern void do_find_free_block(int argc, char **argv); 136extern void do_find_free_inode(int argc, char **argv); 137extern void do_stat(int argc, char **argv); 138extern void do_dump_extents(int argc, char **argv); 139extern void do_blocks(int argc, char *argv[]); 140 141extern void do_chroot(int argc, char **argv); 142extern void do_clri(int argc, char **argv); 143extern void do_freei(int argc, char **argv); 144extern void do_seti(int argc, char **argv); 145extern void do_testi(int argc, char **argv); 146extern void do_freeb(int argc, char **argv); 147extern void do_setb(int argc, char **argv); 148extern void do_testb(int argc, char **argv); 149extern void do_modify_inode(int argc, char **argv); 150extern void do_list_dir(int argc, char **argv); 151extern void do_change_working_dir(int argc, char **argv); 152extern void do_print_working_directory(int argc, char **argv); 153extern void do_write(int argc, char **argv); 154extern void do_mknod(int argc, char **argv); 155extern void do_mkdir(int argc, char **argv); 156extern void do_rmdir(int argc, char **argv); 157extern void do_show_debugfs_params(int argc, char **argv); 158extern void do_expand_dir(int argc, char **argv); 159extern void do_features(int argc, char **argv); 160extern void do_bmap(int argc, char **argv); 161extern void do_imap(int argc, char **argv); 162extern void do_set_current_time(int argc, char **argv); 163extern void do_supported_features(int argc, char **argv); 164extern void do_punch(int argc, char **argv); 165extern void do_symlink(int argc, char **argv); 166 167extern void do_dump_mmp(int argc, char **argv); 168extern void do_set_mmp_value(int argc, char **argv); 169 170extern void do_freefrag(int argc, char **argv); 171extern void do_filefrag(int argc, char *argv[]); 172 173/* zap.c */ 174extern void do_zap_block(int argc, char **argv); 175extern void do_block_dump(int argc, char **argv); 176