119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project/* 219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project * debugfs.h --- header file for the debugfs program 319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project */ 419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project 519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#include "ext2fs/ext2_fs.h" 619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#include "ext2fs/ext2fs.h" 719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project 819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#ifdef __STDC__ 919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#define NOARGS void 1019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#else 1119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#define NOARGS 1219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#define const 1319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#endif 1419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project 1519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project/* 1619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project * Flags used by the common argument processing functions 1719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project */ 1819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#define CHECK_FS_RW 0x0001 1919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#define CHECK_FS_BITMAPS 0x0002 2019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#define CHECK_FS_NOTOPEN 0x0004 2119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project 2219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern ext2_filsys current_fs; 2319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern ext2_ino_t root, cwd; 2419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project 2519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern void reset_getopt(void); 2619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern FILE *open_pager(void); 2719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern void close_pager(FILE *stream); 2819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern int check_fs_open(char *name); 2919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern int check_fs_not_open(char *name); 3019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern int check_fs_read_write(char *name); 3119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern int check_fs_bitmaps(char *name); 3219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern ext2_ino_t string_to_inode(char *str); 3319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern char *time_to_string(__u32); 3419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern time_t string_to_time(const char *); 3519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern unsigned long parse_ulong(const char *str, const char *cmd, 3619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project const char *descr, int *err); 3719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern int strtoblk(const char *cmd, const char *str, blk_t *ret); 3819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern int common_args_process(int argc, char *argv[], int min_argc, 3919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project int max_argc, const char *cmd, 4019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project const char *usage, int flags); 4119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern int common_inode_args_process(int argc, char *argv[], 4219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project ext2_ino_t *inode, int flags); 4319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern int common_block_args_process(int argc, char *argv[], 4419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project blk_t *block, blk_t *count); 4519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern int debugfs_read_inode(ext2_ino_t ino, struct ext2_inode * inode, 4619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project const char *cmd); 4719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern int debugfs_read_inode_full(ext2_ino_t ino, struct ext2_inode * inode, 4819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project const char *cmd, int bufsize); 4919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern int debugfs_write_inode(ext2_ino_t ino, struct ext2_inode * inode, 5019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project const char *cmd); 5119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern int debugfs_write_new_inode(ext2_ino_t ino, struct ext2_inode * inode, 5219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project const char *cmd); 5319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project 5419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project/* ss command functions */ 5519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project 5619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project/* dump.c */ 5719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern void do_dump(int argc, char **argv); 5819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern void do_cat(int argc, char **argv); 5919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern void do_rdump(int argc, char **argv); 6019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project 6119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project/* htree.c */ 6219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern void do_htree_dump(int argc, char **argv); 6319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern void do_dx_hash(int argc, char **argv); 6419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern void do_dirsearch(int argc, char **argv); 6519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project 6619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project/* logdump.c */ 6719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern void do_logdump(int argc, char **argv); 6819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project 6919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project/* lsdel.c */ 7019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern void do_lsdel(int argc, char **argv); 7119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project 7219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project/* icheck.c */ 7319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern void do_icheck(int argc, char **argv); 7419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project 7519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project/* ncheck.c */ 7619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern void do_ncheck(int argc, char **argv); 7719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project 7819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project/* set_fields.c */ 7919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern void do_set_super(int argc, char **); 8019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern void do_set_inode(int argc, char **); 813984b61df41c68966bdfbb2a5e5a45ef4b9a536cDmitry Shmidtextern void do_set_block_group_descriptor(int argc, char **); 8219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project 8319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project/* unused.c */ 8419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern void do_dump_unused(int argc, char **argv); 8519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project 8619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project/* debugfs.c */ 873984b61df41c68966bdfbb2a5e5a45ef4b9a536cDmitry Shmidtextern void internal_dump_inode(FILE *, const char *, ext2_ino_t, 8819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project struct ext2_inode *, int); 8919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project 9019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern void do_dirty_filesys(int argc, char **argv); 9119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern void do_open_filesys(int argc, char **argv); 9219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern void do_close_filesys(int argc, char **argv); 9319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern void do_lcd(int argc, char **argv); 9419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern void do_init_filesys(int argc, char **argv); 9519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern void do_show_super_stats(int argc, char **argv); 9619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern void do_kill_file(int argc, char **argv); 9719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern void do_rm(int argc, char **argv); 9819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern void do_link(int argc, char **argv); 9919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern void do_undel(int argc, char **argv); 10019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern void do_unlink(int argc, char **argv); 10119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern void do_find_free_block(int argc, char **argv); 10219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern void do_find_free_inode(int argc, char **argv); 10319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern void do_stat(int argc, char **argv); 10419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project 10519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern void do_chroot(int argc, char **argv); 10619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern void do_clri(int argc, char **argv); 10719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern void do_freei(int argc, char **argv); 10819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern void do_seti(int argc, char **argv); 10919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern void do_testi(int argc, char **argv); 11019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern void do_freeb(int argc, char **argv); 11119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern void do_setb(int argc, char **argv); 11219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern void do_testb(int argc, char **argv); 11319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern void do_modify_inode(int argc, char **argv); 11419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern void do_list_dir(int argc, char **argv); 11519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern void do_change_working_dir(int argc, char **argv); 11619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern void do_print_working_directory(int argc, char **argv); 11719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern void do_write(int argc, char **argv); 11819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern void do_mknod(int argc, char **argv); 11919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern void do_mkdir(int argc, char **argv); 12019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern void do_rmdir(int argc, char **argv); 12119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern void do_show_debugfs_params(int argc, char **argv); 12219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern void do_expand_dir(int argc, char **argv); 12319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern void do_features(int argc, char **argv); 12419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern void do_bmap(int argc, char **argv); 12519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern void do_imap(int argc, char **argv); 12619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectextern void do_set_current_time(int argc, char **argv); 1273984b61df41c68966bdfbb2a5e5a45ef4b9a536cDmitry Shmidtextern void do_supported_features(int argc, char **argv); 12819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project 129