Whamcloud - gitweb
debugfs: add the freefrag command
[tools/e2fsprogs.git] / debugfs / debugfs.h
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
22 extern ext2_filsys current_fs;
23 extern ext2_ino_t       root, cwd;
24
25 extern void reset_getopt(void);
26 extern FILE *open_pager(void);
27 extern void close_pager(FILE *stream);
28 extern int check_fs_open(char *name);
29 extern int check_fs_not_open(char *name);
30 extern int check_fs_read_write(char *name);
31 extern int check_fs_bitmaps(char *name);
32 extern ext2_ino_t string_to_inode(char *str);
33 extern char *time_to_string(__u32);
34 extern time_t string_to_time(const char *);
35 extern unsigned long parse_ulong(const char *str, const char *cmd,
36                                  const char *descr, int *err);
37 extern unsigned long long parse_ulonglong(const char *str, const char *cmd,
38                                           const char *descr, int *err);
39 extern int strtoblk(const char *cmd, const char *str, blk64_t *ret);
40 extern int common_args_process(int argc, char *argv[], int min_argc,
41                                int max_argc, const char *cmd,
42                                const char *usage, int flags);
43 extern int common_inode_args_process(int argc, char *argv[],
44                                      ext2_ino_t *inode, int flags);
45 extern int common_block_args_process(int argc, char *argv[],
46                                      blk64_t *block, blk64_t *count);
47 extern int debugfs_read_inode(ext2_ino_t ino, struct ext2_inode * inode,
48                               const char *cmd);
49 extern int debugfs_read_inode_full(ext2_ino_t ino, struct ext2_inode * inode,
50                                    const char *cmd, int bufsize);
51 extern int debugfs_write_inode(ext2_ino_t ino, struct ext2_inode * inode,
52                                const char *cmd);
53 extern int debugfs_write_inode_full(ext2_ino_t ino, struct ext2_inode * inode,
54                                     const char *cmd, int bufsize);
55 extern int debugfs_write_new_inode(ext2_ino_t ino, struct ext2_inode * inode,
56                                    const char *cmd);
57
58 /* ss command functions */
59
60 /* dump.c */
61 extern void do_dump(int argc, char **argv);
62 extern void do_cat(int argc, char **argv);
63 extern void do_rdump(int argc, char **argv);
64
65 /* htree.c */
66 extern void do_htree_dump(int argc, char **argv);
67 extern void do_dx_hash(int argc, char **argv);
68 extern void do_dirsearch(int argc, char **argv);
69
70 /* logdump.c */
71 extern void do_logdump(int argc, char **argv);
72
73 /* lsdel.c */
74 extern void do_lsdel(int argc, char **argv);
75
76 /* icheck.c */
77 extern void do_icheck(int argc, char **argv);
78
79 /* ncheck.c */
80 extern void do_ncheck(int argc, char **argv);
81
82 /* set_fields.c */
83 extern void do_set_super(int argc, char **);
84 extern void do_set_inode(int argc, char **);
85 extern void do_set_block_group_descriptor(int argc, char **);
86
87 /* unused.c */
88 extern void do_dump_unused(int argc, char **argv);
89
90 /* debugfs.c */
91 extern void internal_dump_inode(FILE *, const char *, ext2_ino_t,
92                                 struct ext2_inode *, int);
93
94 extern void do_dirty_filesys(int argc, char **argv);
95 extern void do_open_filesys(int argc, char **argv);
96 extern void do_close_filesys(int argc, char **argv);
97 extern void do_lcd(int argc, char **argv);
98 extern void do_init_filesys(int argc, char **argv);
99 extern void do_show_super_stats(int argc, char **argv);
100 extern void do_kill_file(int argc, char **argv);
101 extern void do_rm(int argc, char **argv);
102 extern void do_link(int argc, char **argv);
103 extern void do_undel(int argc, char **argv);
104 extern void do_unlink(int argc, char **argv);
105 extern void do_find_free_block(int argc, char **argv);
106 extern void do_find_free_inode(int argc, char **argv);
107 extern void do_stat(int argc, char **argv);
108 extern void do_dump_extents(int argc, char **argv);
109 extern void do_blocks(int argc, char *argv[]);
110
111 extern void do_chroot(int argc, char **argv);
112 extern void do_clri(int argc, char **argv);
113 extern void do_freei(int argc, char **argv);
114 extern void do_seti(int argc, char **argv);
115 extern void do_testi(int argc, char **argv);
116 extern void do_freeb(int argc, char **argv);
117 extern void do_setb(int argc, char **argv);
118 extern void do_testb(int argc, char **argv);
119 extern void do_modify_inode(int argc, char **argv);
120 extern void do_list_dir(int argc, char **argv);
121 extern void do_change_working_dir(int argc, char **argv);
122 extern void do_print_working_directory(int argc, char **argv);
123 extern void do_write(int argc, char **argv);
124 extern void do_mknod(int argc, char **argv);
125 extern void do_mkdir(int argc, char **argv);
126 extern void do_rmdir(int argc, char **argv);
127 extern void do_show_debugfs_params(int argc, char **argv);
128 extern void do_expand_dir(int argc, char **argv);
129 extern void do_features(int argc, char **argv);
130 extern void do_bmap(int argc, char **argv);
131 extern void do_imap(int argc, char **argv);
132 extern void do_set_current_time(int argc, char **argv);
133 extern void do_supported_features(int argc, char **argv);
134 extern void do_punch(int argc, char **argv);
135
136 extern void do_freefrag(int argc, char **argv);