1/* 2 * debugfs.h --- header file for the debugfs program 3 */ 4 5#include "ext2fs/ext2_fs.h" 6#include "ext2fs/ext2fs.h" 7 8#ifdef __STDC__ 9#define NOARGS void 10#else 11#define NOARGS 12#define const 13#endif 14 15/* 16 * Flags used by the common argument processing functions 17 */ 18#define CHECK_FS_RW 0x0001 19#define CHECK_FS_BITMAPS 0x0002 20#define CHECK_FS_NOTOPEN 0x0004 21 22extern ext2_filsys current_fs; 23extern ext2_ino_t root, cwd; 24 25extern void reset_getopt(void); 26extern FILE *open_pager(void); 27extern void close_pager(FILE *stream); 28extern int check_fs_open(char *name); 29extern int check_fs_not_open(char *name); 30extern int check_fs_read_write(char *name); 31extern int check_fs_bitmaps(char *name); 32extern ext2_ino_t string_to_inode(char *str); 33extern char *time_to_string(__u32); 34extern time_t string_to_time(const char *); 35extern unsigned long parse_ulong(const char *str, const char *cmd, 36 const char *descr, int *err); 37extern int strtoblk(const char *cmd, const char *str, blk_t *ret); 38extern int common_args_process(int argc, char *argv[], int min_argc, 39 int max_argc, const char *cmd, 40 const char *usage, int flags); 41extern int common_inode_args_process(int argc, char *argv[], 42 ext2_ino_t *inode, int flags); 43extern int common_block_args_process(int argc, char *argv[], 44 blk_t *block, blk_t *count); 45extern int debugfs_read_inode(ext2_ino_t ino, struct ext2_inode * inode, 46 const char *cmd); 47extern int debugfs_read_inode_full(ext2_ino_t ino, struct ext2_inode * inode, 48 const char *cmd, int bufsize); 49extern int debugfs_write_inode(ext2_ino_t ino, struct ext2_inode * inode, 50 const char *cmd); 51extern int debugfs_write_new_inode(ext2_ino_t ino, struct ext2_inode * inode, 52 const char *cmd); 53 54/* ss command functions */ 55 56/* dump.c */ 57extern void do_dump(int argc, char **argv); 58extern void do_cat(int argc, char **argv); 59extern void do_rdump(int argc, char **argv); 60 61/* htree.c */ 62extern void do_htree_dump(int argc, char **argv); 63extern void do_dx_hash(int argc, char **argv); 64extern void do_dirsearch(int argc, char **argv); 65 66/* logdump.c */ 67extern void do_logdump(int argc, char **argv); 68 69/* lsdel.c */ 70extern void do_lsdel(int argc, char **argv); 71 72/* icheck.c */ 73extern void do_icheck(int argc, char **argv); 74 75/* ncheck.c */ 76extern void do_ncheck(int argc, char **argv); 77 78/* set_fields.c */ 79extern void do_set_super(int argc, char **); 80extern void do_set_inode(int argc, char **); 81 82/* unused.c */ 83extern void do_dump_unused(int argc, char **argv); 84 85/* debugfs.c */ 86extern void internal_dump_inode(FILE *, const char *, ext2_ino_t, 87 struct ext2_inode *, int); 88 89extern void do_dirty_filesys(int argc, char **argv); 90extern void do_open_filesys(int argc, char **argv); 91extern void do_close_filesys(int argc, char **argv); 92extern void do_lcd(int argc, char **argv); 93extern void do_init_filesys(int argc, char **argv); 94extern void do_show_super_stats(int argc, char **argv); 95extern void do_kill_file(int argc, char **argv); 96extern void do_rm(int argc, char **argv); 97extern void do_link(int argc, char **argv); 98extern void do_undel(int argc, char **argv); 99extern void do_unlink(int argc, char **argv); 100extern void do_find_free_block(int argc, char **argv); 101extern void do_find_free_inode(int argc, char **argv); 102extern void do_stat(int argc, char **argv); 103 104extern void do_chroot(int argc, char **argv); 105extern void do_clri(int argc, char **argv); 106extern void do_freei(int argc, char **argv); 107extern void do_seti(int argc, char **argv); 108extern void do_testi(int argc, char **argv); 109extern void do_freeb(int argc, char **argv); 110extern void do_setb(int argc, char **argv); 111extern void do_testb(int argc, char **argv); 112extern void do_modify_inode(int argc, char **argv); 113extern void do_list_dir(int argc, char **argv); 114extern void do_change_working_dir(int argc, char **argv); 115extern void do_print_working_directory(int argc, char **argv); 116extern void do_write(int argc, char **argv); 117extern void do_mknod(int argc, char **argv); 118extern void do_mkdir(int argc, char **argv); 119extern void do_rmdir(int argc, char **argv); 120extern void do_show_debugfs_params(int argc, char **argv); 121extern void do_expand_dir(int argc, char **argv); 122extern void do_features(int argc, char **argv); 123extern void do_bmap(int argc, char **argv); 124extern void do_imap(int argc, char **argv); 125extern void do_set_current_time(int argc, char **argv); 126 127