119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#
219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project# Copyright (C) 1993 Theodore Ts'o.  This file may be redistributed
319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project# under the terms of the GNU Public License.
419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#
519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectcommand_table debug_cmds;
619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectrequest do_show_debugfs_params, "Show debugfs parameters",
819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	show_debugfs_params, params;
919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
1019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectrequest do_open_filesys, "Open a filesystem",
1119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	open_filesys, open;
1219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
1319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectrequest do_close_filesys, "Close the filesystem",
1419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	close_filesys, close;
1519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
1619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectrequest do_features, "Set/print superblock features",
1719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	feature, features;
1819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
1919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectrequest do_dirty_filesys, "Mark the filesystem as dirty",
2019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	dirty_filesys, dirty;
2119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
223984b61df41c68966bdfbb2a5e5a45ef4b9a536cDmitry Shmidtrequest do_init_filesys, "Initialize a filesystem (DESTROYS DATA)",
2319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	init_filesys;
2419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
2519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectrequest do_show_super_stats, "Show superblock statistics",
2619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	show_super_stats, stats;
2719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
2819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectrequest do_ncheck, "Do inode->name translation",
2919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	ncheck;
3019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
3119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectrequest do_icheck, "Do block->inode translation",
3219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	icheck;
3319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
3419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectrequest do_chroot, "Change root directory",
3519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	change_root_directory, chroot;
3619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
3719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectrequest do_change_working_dir, "Change working directory",
3819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	change_working_directory, cd;
3919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
4019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectrequest do_list_dir, "List directory",
4119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	list_directory, ls;
4219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
4319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectrequest do_stat, "Show inode information ",
4419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	show_inode_info, stat;
4519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
463984b61df41c68966bdfbb2a5e5a45ef4b9a536cDmitry Shmidtrequest do_dump_extents, "Dump extents information ",
473984b61df41c68966bdfbb2a5e5a45ef4b9a536cDmitry Shmidt	dump_extents, extents, ex;
483984b61df41c68966bdfbb2a5e5a45ef4b9a536cDmitry Shmidt
4919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectrequest do_link, "Create directory link",
5019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	link, ln;
5119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
5219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectrequest do_unlink, "Delete a directory link",
5319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	unlink;
5419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
5519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectrequest do_mkdir, "Create a directory",
5619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	mkdir;
5719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
5819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectrequest do_rmdir, "Remove a directory",
5919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	rmdir;
6019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
6119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectrequest do_rm, "Remove a file (unlink and kill_file, if appropriate)",
6219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	rm;
6319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
6419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectrequest do_kill_file, "Deallocate an inode and its blocks",
6519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	kill_file;
6619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
6719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectrequest do_clri, "Clear an inode's contents",
6819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	clri;
6919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
7019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectrequest do_freei, "Clear an inode's in-use flag",
7119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	freei;
7219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
7319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectrequest do_seti, "Set an inode's in-use flag",
7419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	seti;
7519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
7619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectrequest do_testi, "Test an inode's in-use flag",
7719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	testi;
7819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
7919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectrequest do_freeb, "Clear a block's in-use flag",
8019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	freeb;
8119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
8219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectrequest do_setb, "Set a block's in-use flag",
8319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	setb;
8419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
8519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectrequest do_testb, "Test a block's in-use flag",
8619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	testb;
8719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
8819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectrequest do_modify_inode, "Modify an inode by structure",
8919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	modify_inode, mi;
9019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
9119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectrequest do_find_free_block, "Find free block(s)",
9219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	find_free_block, ffb;
9319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
9419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectrequest do_find_free_inode, "Find free inode(s)",
9519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	find_free_inode, ffi;
9619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
9719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectrequest	do_print_working_directory, "Print current working directory",
9819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	print_working_directory, pwd; 
9919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
10019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectrequest	do_expand_dir, "Expand directory",
10119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	expand_dir, expand;
10219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
10319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectrequest do_mknod, "Create a special file",
10419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	mknod;
10519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
10619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectrequest do_lsdel, "List deleted inodes",
10719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	list_deleted_inodes, lsdel;
10819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
10919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectrequest do_undel, "Undelete file",
11019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	undelete, undel;
11119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
11219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectrequest do_write, "Copy a file from your native filesystem",
11319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	write;
11419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
11519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectrequest do_dump, "Dump an inode out to a file",
11619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	dump_inode, dump;
11719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
11819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectrequest do_cat, "Dump an inode out to stdout",
11919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	cat;
12019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
12119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectrequest do_lcd, "Change the current directory on your native filesystem",
12219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	lcd;
12319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
12419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectrequest do_rdump, "Recursively dump a directory to the native filesystem",
12519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	rdump;
12619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
12719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectrequest do_set_super, "Set superblock value",
12819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	set_super_value, ssv;
12919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
13019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectrequest do_set_inode, "Set inode field",
13119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	set_inode_field, sif;
13219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
13319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectrequest do_set_block_group_descriptor, "Set block group descriptor field",
13419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	set_block_group, set_bg;
13519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
13619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectrequest do_logdump, "Dump the contents of the journal",
13719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	logdump;
13819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
13919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectrequest do_htree_dump, "Dump a hash-indexed directory",
14019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	htree_dump, htree;
14119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
14219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectrequest do_dx_hash, "Calculate the directory hash of a filename",
14319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	dx_hash, hash;
14419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
14519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectrequest do_dirsearch, "Search a directory for a particular filename",
14619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	dirsearch;
14719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
14819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectrequest do_bmap, "Calculate the logical->physical block mapping for an inode",
14919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	bmap;
15019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
15119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectrequest do_imap, "Calculate the location of an inode",
15219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	imap;
15319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
15419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectrequest	do_dump_unused, "Dump unused blocks",
15519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	dump_unused;
15619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
15719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectrequest do_set_current_time, "Set current time to use when setting filesystme fields",
15819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	set_current_time;
15919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
1603984b61df41c68966bdfbb2a5e5a45ef4b9a536cDmitry Shmidtrequest do_supported_features, "Print features supported by this version of e2fsprogs",
1613984b61df41c68966bdfbb2a5e5a45ef4b9a536cDmitry Shmidt	supported_features;
1623984b61df41c68966bdfbb2a5e5a45ef4b9a536cDmitry Shmidt
16319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectend;
16419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
165