summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/ChangeLog9
-rw-r--r--doc/Makefile.am2
-rw-r--r--doc/configure.ac1
-rw-r--r--doc/index.html.in10
-rw-r--r--doc/shell/.cvsignore32
-rw-r--r--doc/shell/Makefile.am51
-rw-r--r--doc/shell/file.t1031
-rw-r--r--doc/shell/general.t462
-rw-r--r--doc/shell/memory.t399
-rw-r--r--doc/shell/network.t210
-rw-r--r--doc/shell/preface.texi17
-rw-r--r--doc/shell/rtems.t966
-rw-r--r--doc/shell/shell.texi113
13 files changed, 3302 insertions, 1 deletions
diff --git a/doc/ChangeLog b/doc/ChangeLog
index d8fa589089..0e6b22755d 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,12 @@
+2008-02-20 Joel Sherrill <joel.sherrill@oarcorp.com>
+
+ * Makefile.am, configure.ac, index.html.in: Add initial version of
+ RTEMS Shell Manual. This is largely a starting point but has most of
+ the required structure.
+ * shell/.cvsignore, shell/Makefile.am, shell/file.t, shell/general.t,
+ shell/memory.t, shell/network.t, shell/preface.texi, shell/rtems.t,
+ shell/shell.texi: New files.
+
2008-02-05 Joel Sherrill <joel.sherrill@oarcorp.com>
* networking/networkapp.t: Add configuration parameters for network
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 4a8ed1b53f..8f67ac1c1b 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -9,7 +9,7 @@ ACLOCAL_AMFLAGS = -I ../aclocal
SUBDIRS = tools started user bsp_howto porting develenv posix_users \
posix1003.1 filesystem itron3.0 networking ada_user started_ada \
- new_chapters relnotes cpu_supplement
+ new_chapters relnotes cpu_supplement shell
if USE_HTML
html_DATA = index.html HELP.html
diff --git a/doc/configure.ac b/doc/configure.ac
index 1bff2b82d8..79b8393807 100644
--- a/doc/configure.ac
+++ b/doc/configure.ac
@@ -212,5 +212,6 @@ started_ada/Makefile
relnotes/Makefile
new_chapters/Makefile
cpu_supplement/Makefile
+shell/Makefile
])
AC_OUTPUT
diff --git a/doc/index.html.in b/doc/index.html.in
index 40ee7ee655..1ea55525ed 100644
--- a/doc/index.html.in
+++ b/doc/index.html.in
@@ -59,6 +59,16 @@
<A HREF="networking/index.html">
RTEMS Network Supplement</A>
</LI>
+
+ <LI><A HREF="../pdf/shell.pdf">
+ <IMG SRC="images/pdf1.gif" HEIGHT=18 WIDTH=16></A>
+ <A HREF="../ps/shell.ps">
+ <IMG SRC="images/ps.gif" HEIGHT=18 WIDTH=16></A>
+ <A HREF="../dvi/shell.dvi">
+ <IMG SRC="images/dvi.gif" HEIGHT=18 WIDTH=16></A>
+ <A HREF="shell/index.html">
+ RTEMS Shell</A>
+ </LI>
</MENU>
<LI>Ada Manuals</LI>
<MENU>
diff --git a/doc/shell/.cvsignore b/doc/shell/.cvsignore
new file mode 100644
index 0000000000..2dc2a4531f
--- /dev/null
+++ b/doc/shell/.cvsignore
@@ -0,0 +1,32 @@
+file.texi
+general.texi
+memory.texi
+network.texi
+rtems.texi
+shell
+shell-?
+shell-??
+shell.aux
+shell.cp
+shell.cps
+shell.dvi
+shell.fn
+shell.fns
+shell*.html
+shell.info
+shell.info-?
+shell.info-??
+shell.ky
+shell.log
+shell.pdf
+shell.pg
+shell.ps
+shell.toc
+shell.tp
+shell.vr
+index.html
+Makefile
+Makefile.in
+mdate-sh
+rtems_footer.html
+rtems_header.html
diff --git a/doc/shell/Makefile.am b/doc/shell/Makefile.am
new file mode 100644
index 0000000000..506fd6b4e5
--- /dev/null
+++ b/doc/shell/Makefile.am
@@ -0,0 +1,51 @@
+#
+# COPYRIGHT (c) 1988-2007
+# On-Line Applications Research Corporation (OAR).
+# All rights reserved.
+#
+# $Id$
+#
+
+PROJECT = shell
+EDITION = 1
+
+include $(top_srcdir)/project.am
+include $(top_srcdir)/main.am
+
+FILES = shell.texi preface.texi
+
+GENERATED_FILES = general.texi file.texi memory.texi rtems.texi network.texi
+
+COMMON_FILES += $(top_srcdir)/common/cpright.texi
+
+info_TEXINFOS = shell.texi
+shell_TEXINFOS = $(FILES) $(COMMON_FILES) $(GENERATED_FILES)
+
+general.texi: general.t
+ $(BMENU2) -p "Preface" \
+ -u "Top" \
+ -n "" < $< > $@
+
+file.texi: file.t
+ $(BMENU2) -p "" \
+ -u "Top" \
+ -n "" < $< > $@
+
+memory.texi: memory.t
+ $(BMENU2) -p "" \
+ -u "Top" \
+ -n "" < $< > $@
+
+rtems.texi: rtems.t
+ $(BMENU2) -p "" \
+ -u "Top" \
+ -n "" < $< > $@
+
+network.texi: network.t
+ $(BMENU2) -p "" \
+ -u "Top" \
+ -n "" < $< > $@
+
+EXTRA_DIST = general.t file.t memory.t rtems.t network.t
+
+CLEANFILES += shell.info shell.info-? shell.info-??
diff --git a/doc/shell/file.t b/doc/shell/file.t
new file mode 100644
index 0000000000..fb710636f9
--- /dev/null
+++ b/doc/shell/file.t
@@ -0,0 +1,1031 @@
+@c
+@c COPYRIGHT (c) 1988-2008.
+@c On-Line Applications Research Corporation (OAR).
+@c All rights reserved.
+@c
+@c $
+@c
+
+@chapter File and Directory Commands
+
+@section Introduction
+
+The RTEMS shell has the following file and directory commands:
+
+@itemize @bullet
+
+
+@item @code{umask} - Set file mode creation mask
+
+@item @code{cp} - copy files
+
+@item @code{pwd} - print work directory
+
+@item @code{ls} - list files in the directory
+
+@item @code{chdir} - change the current directory
+
+@item @code{mkdir} - create a directory
+
+@item @code{rmdir} - remove directory
+
+@item @code{chroot} - change the root directory
+
+@item @code{chmod} - change permissions of a file
+
+@item @code{cat} - display file contents
+
+@item @code{msdosfmt} - format disk
+
+@item @code{rm} - remove files
+
+@item @code{mount} - mount disk
+
+@item @code{unmount} - unmount disk
+
+@item @code{blksync} - sync the block driver
+
+@item @code{dir} - alias for ls
+
+@item @code{cd} - alias for chdir
+
+@end itemize
+
+@section Commands
+
+@c
+@c
+@c
+@page
+@subsection umask - set file mode creation mask
+
+@pgindex umask
+
+@subheading SYNOPSYS:
+
+umask [new_umask]
+
+@subheading DESCRIPTION:
+
+This command XXX
+
+@subheading NOTES:
+
+NONE
+
+@subheading EXAMPLES:
+
+The following is an example of how to use umask:
+
+@example
+EXAMPLE_TBD
+@end example
+
+@subheading CONFIGURATION:
+
+@findex CONFIGURE_SHELL_NO_COMMAND_UMASK
+@findex CONFIGURE_SHELL_COMMAND_UMASK
+
+In order to disable this command out if you are configuring all commands,
+define @code{CONFIGURE_SHELL_NO_COMMAND_UMASK}.
+
+In order to enable this command if you are building a custom command set
+define @code{CONFIGURE_SHELL_COMMAND_UMASK}.
+
+
+@subheading PROGRAMMING INFORMATION:
+
+@findex rtems_shell_rtems_main_umask
+
+The @code{COMMAND} is implemented by a C language function
+which has the following prototype:
+
+@example
+int rtems_shell_rtems_main_umask(
+ int argc,
+ char **argv
+);
+@end example
+
+The configuration structure for the @code{COMMAND} has the
+following prototype:
+
+@example
+extern rtems_shell_cmd_t rtems_shell_UMASK_Command;
+@end example
+
+@c
+@c
+@c
+@page
+@subsection cp - copy files
+
+@pgindex cp
+
+@subheading SYNOPSYS:
+
+cp [-R [-H | -L | -P]] [-f | -i] [-pv] src target # copy
+
+@subheading DESCRIPTION:
+
+This command XXX
+
+@subheading NOTES:
+
+NONE
+
+@subheading EXAMPLES:
+
+The following is an example of how to use cp:
+
+@example
+EXAMPLE_TBD
+@end example
+
+@subheading CONFIGURATION:
+
+@findex CONFIGURE_SHELL_NO_COMMAND_CP
+@findex CONFIGURE_SHELL_COMMAND_CP
+
+In order to disable this command out if you are configuring all commands,
+define @code{CONFIGURE_SHELL_NO_COMMAND_CP}.
+
+In order to enable this command if you are building a custom command set
+define @code{CONFIGURE_SHELL_COMMAND_CP}.
+
+
+@subheading PROGRAMMING INFORMATION:
+
+@findex rtems_shell_rtems_main_cp
+
+The @code{COMMAND} is implemented by a C language function
+which has the following prototype:
+
+@example
+int rtems_shell_rtems_main_cp(
+ int argc,
+ char **argv
+);
+@end example
+
+The configuration structure for the @code{COMMAND} has the
+following prototype:
+
+@example
+extern rtems_shell_cmd_t rtems_shell_CP_Command;
+@end example
+
+@c
+@c
+@c
+@page
+@subsection pwd - print work directory
+
+@pgindex pwd
+
+@subheading SYNOPSYS:
+
+pwd
+
+@subheading DESCRIPTION:
+
+This command XXX
+
+@subheading NOTES:
+
+NONE
+
+@subheading EXAMPLES:
+
+The following is an example of how to use pwd:
+
+@example
+EXAMPLE_TBD
+@end example
+
+@subheading CONFIGURATION:
+
+@findex CONFIGURE_SHELL_NO_COMMAND_PWD
+@findex CONFIGURE_SHELL_COMMAND_PWD
+
+In order to disable this command out if you are configuring all commands,
+define @code{CONFIGURE_SHELL_NO_COMMAND_PWD}.
+
+In order to enable this command if you are building a custom command set
+define @code{CONFIGURE_SHELL_COMMAND_PWD}.
+
+
+@subheading PROGRAMMING INFORMATION:
+
+@findex rtems_shell_rtems_main_pwd
+
+The @code{COMMAND} is implemented by a C language function
+which has the following prototype:
+
+@example
+int rtems_shell_rtems_main_pwd(
+ int argc,
+ char **argv
+);
+@end example
+
+The configuration structure for the @code{COMMAND} has the
+following prototype:
+
+@example
+extern rtems_shell_cmd_t rtems_shell_PWD_Command;
+@end example
+
+@c
+@c
+@c
+@page
+@subsection ls - list files in the directory
+
+@pgindex ls
+
+@subheading SYNOPSYS:
+
+ls [dir]
+
+@subheading DESCRIPTION:
+
+This command XXX
+
+@subheading NOTES:
+
+NONE
+
+@subheading EXAMPLES:
+
+The following is an example of how to use ls:
+
+@example
+EXAMPLE_TBD
+@end example
+
+@subheading CONFIGURATION:
+
+@findex CONFIGURE_SHELL_NO_COMMAND_LS
+@findex CONFIGURE_SHELL_COMMAND_LS
+
+In order to disable this command out if you are configuring all commands,
+define @code{CONFIGURE_SHELL_NO_COMMAND_LS}.
+
+In order to enable this command if you are building a custom command set
+define @code{CONFIGURE_SHELL_COMMAND_LS}.
+
+
+@subheading PROGRAMMING INFORMATION:
+
+@findex rtems_shell_rtems_main_ls
+
+The @code{COMMAND} is implemented by a C language function
+which has the following prototype:
+
+@example
+int rtems_shell_rtems_main_ls(
+ int argc,
+ char **argv
+);
+@end example
+
+The configuration structure for the @code{COMMAND} has the
+following prototype:
+
+@example
+extern rtems_shell_cmd_t rtems_shell_LS_Command;
+@end example
+
+@c
+@c
+@c
+@page
+@subsection chdir - change the current directory
+
+@pgindex chdir
+
+@subheading SYNOPSYS:
+
+chdir [dir]
+
+@subheading DESCRIPTION:
+
+This command XXX
+
+@subheading NOTES:
+
+NONE
+
+@subheading EXAMPLES:
+
+The following is an example of how to use chdir:
+
+@example
+EXAMPLE_TBD
+@end example
+
+@subheading CONFIGURATION:
+
+@findex CONFIGURE_SHELL_NO_COMMAND_CHDIR
+@findex CONFIGURE_SHELL_COMMAND_CHDIR
+
+In order to disable this command out if you are configuring all commands,
+define @code{CONFIGURE_SHELL_NO_COMMAND_CHDIR}.
+
+In order to enable this command if you are building a custom command set
+define @code{CONFIGURE_SHELL_COMMAND_CHDIR}.
+
+
+@subheading PROGRAMMING INFORMATION:
+
+@findex rtems_shell_rtems_main_chdir
+
+The @code{COMMAND} is implemented by a C language function
+which has the following prototype:
+
+@example
+int rtems_shell_rtems_main_chdir(
+ int argc,
+ char **argv
+);
+@end example
+
+The configuration structure for the @code{COMMAND} has the
+following prototype:
+
+@example
+extern rtems_shell_cmd_t rtems_shell_CHDIR_Command;
+@end example
+
+@c
+@c
+@c
+@page
+@subsection mkdir - create a directory
+
+@pgindex mkdir
+
+@subheading SYNOPSYS:
+
+mkdir dir
+
+@subheading DESCRIPTION:
+
+This command XXX
+
+@subheading NOTES:
+
+NONE
+
+@subheading EXAMPLES:
+
+The following is an example of how to use mkdir:
+
+@example
+EXAMPLE_TBD
+@end example
+
+@subheading CONFIGURATION:
+
+@findex CONFIGURE_SHELL_NO_COMMAND_MKDIR
+@findex CONFIGURE_SHELL_COMMAND_MKDIR
+
+In order to disable this command out if you are configuring all commands,
+define @code{CONFIGURE_SHELL_NO_COMMAND_MKDIR}.
+
+In order to enable this command if you are building a custom command set
+define @code{CONFIGURE_SHELL_COMMAND_MKDIR}.
+
+
+@subheading PROGRAMMING INFORMATION:
+
+@findex rtems_shell_rtems_main_mkdir
+
+The @code{COMMAND} is implemented by a C language function
+which has the following prototype:
+
+@example
+int rtems_shell_rtems_main_mkdir(
+ int argc,
+ char **argv
+);
+@end example
+
+The configuration structure for the @code{COMMAND} has the
+following prototype:
+
+@example
+extern rtems_shell_cmd_t rtems_shell_MKDIR_Command;
+@end example
+
+@c
+@c
+@c
+@page
+@subsection rmdir - remove directory
+
+@pgindex rmdir
+
+@subheading SYNOPSYS:
+
+rmdir dir
+
+@subheading DESCRIPTION:
+
+This command XXX
+
+@subheading NOTES:
+
+NONE
+
+@subheading EXAMPLES:
+
+The following is an example of how to use rmdir:
+
+@example
+EXAMPLE_TBD
+@end example
+
+@subheading CONFIGURATION:
+
+@findex CONFIGURE_SHELL_NO_COMMAND_RMDIR
+@findex CONFIGURE_SHELL_COMMAND_RMDIR
+
+In order to disable this command out if you are configuring all commands,
+define @code{CONFIGURE_SHELL_NO_COMMAND_RMDIR}.
+
+In order to enable this command if you are building a custom command set
+define @code{CONFIGURE_SHELL_COMMAND_RMDIR}.
+
+
+@subheading PROGRAMMING INFORMATION:
+
+@findex rtems_shell_rtems_main_rmdir
+
+The @code{COMMAND} is implemented by a C language function
+which has the following prototype:
+
+@example
+int rtems_shell_rtems_main_rmdir(
+ int argc,
+ char **argv
+);
+@end example
+
+The configuration structure for the @code{COMMAND} has the
+following prototype:
+
+@example
+extern rtems_shell_cmd_t rtems_shell_RMDIR_Command;
+@end example
+
+@c
+@c
+@c
+@page
+@subsection chroot - change the root directory
+
+@pgindex chroot
+
+@subheading SYNOPSYS:
+
+chroot [dir]
+
+@subheading DESCRIPTION:
+
+This command XXX
+
+@subheading NOTES:
+
+NONE
+
+@subheading EXAMPLES:
+
+The following is an example of how to use chroot:
+
+@example
+EXAMPLE_TBD
+@end example
+
+@subheading CONFIGURATION:
+
+@findex CONFIGURE_SHELL_NO_COMMAND_CHROOT
+@findex CONFIGURE_SHELL_COMMAND_CHROOT
+
+In order to disable this command out if you are configuring all commands,
+define @code{CONFIGURE_SHELL_NO_COMMAND_CHROOT}.
+
+In order to enable this command if you are building a custom command set
+define @code{CONFIGURE_SHELL_COMMAND_CHROOT}.
+
+
+@subheading PROGRAMMING INFORMATION:
+
+@findex rtems_shell_rtems_main_chroot
+
+The @code{COMMAND} is implemented by a C language function
+which has the following prototype:
+
+@example
+int rtems_shell_rtems_main_chroot(
+ int argc,
+ char **argv
+);
+@end example
+
+The configuration structure for the @code{COMMAND} has the
+following prototype:
+
+@example
+extern rtems_shell_cmd_t rtems_shell_CHROOT_Command;
+@end example
+
+@c
+@c
+@c
+@page
+@subsection chmod - change permissions of a file
+
+@pgindex chmod
+
+@subheading SYNOPSYS:
+
+chmod 0777 n1 n2...
+
+@subheading DESCRIPTION:
+
+This command XXX
+
+@subheading NOTES:
+
+NONE
+
+@subheading EXAMPLES:
+
+The following is an example of how to use chmod:
+
+@example
+EXAMPLE_TBD
+@end example
+
+@subheading CONFIGURATION:
+
+@findex CONFIGURE_SHELL_NO_COMMAND_CHMOD
+@findex CONFIGURE_SHELL_COMMAND_CHMOD
+
+In order to disable this command out if you are configuring all commands,
+define @code{CONFIGURE_SHELL_NO_COMMAND_CHMOD}.
+
+In order to enable this command if you are building a custom command set
+define @code{CONFIGURE_SHELL_COMMAND_CHMOD}.
+
+
+@subheading PROGRAMMING INFORMATION:
+
+@findex rtems_shell_rtems_main_chmod
+
+The @code{COMMAND} is implemented by a C language function
+which has the following prototype:
+
+@example
+int rtems_shell_rtems_main_chmod(
+ int argc,
+ char **argv
+);
+@end example
+
+The configuration structure for the @code{COMMAND} has the
+following prototype:
+
+@example
+extern rtems_shell_cmd_t rtems_shell_CHMOD_Command;
+@end example
+
+@c
+@c
+@c
+@page
+@subsection cat - display file contents
+
+@pgindex cat
+
+@subheading SYNOPSYS:
+
+cat n1 [n2 [n3...]]
+
+@subheading DESCRIPTION:
+
+This command XXX
+
+@subheading NOTES:
+
+NONE
+
+@subheading EXAMPLES:
+
+The following is an example of how to use cat:
+
+@example
+EXAMPLE_TBD
+@end example
+
+@subheading CONFIGURATION:
+
+@findex CONFIGURE_SHELL_NO_COMMAND_CAT
+@findex CONFIGURE_SHELL_COMMAND_CAT
+
+In order to disable this command out if you are configuring all commands,
+define @code{CONFIGURE_SHELL_NO_COMMAND_CAT}.
+
+In order to enable this command if you are building a custom command set
+define @code{CONFIGURE_SHELL_COMMAND_CAT}.
+
+
+@subheading PROGRAMMING INFORMATION:
+
+@findex rtems_shell_rtems_main_cat
+
+The @code{COMMAND} is implemented by a C language function
+which has the following prototype:
+
+@example
+int rtems_shell_rtems_main_cat(
+ int argc,
+ char **argv
+);
+@end example
+
+The configuration structure for the @code{COMMAND} has the
+following prototype:
+
+@example
+extern rtems_shell_cmd_t rtems_shell_CAT_Command;
+@end example
+
+@c
+@c
+@c
+@page
+@subsection rm - remove files
+
+@pgindex rm
+
+@subheading SYNOPSYS:
+
+rm n1 [n2 [n3...]]
+
+@subheading DESCRIPTION:
+
+This command XXX
+
+@subheading NOTES:
+
+NONE
+
+@subheading EXAMPLES:
+
+The following is an example of how to use rm:
+
+@example
+EXAMPLE_TBD
+@end example
+
+@subheading CONFIGURATION:
+
+@findex CONFIGURE_SHELL_NO_COMMAND_RM
+@findex CONFIGURE_SHELL_COMMAND_RM
+
+In order to disable this command out if you are configuring all commands,
+define @code{CONFIGURE_SHELL_NO_COMMAND_RM}.
+
+In order to enable this command if you are building a custom command set
+define @code{CONFIGURE_SHELL_COMMAND_RM}.
+
+
+@subheading PROGRAMMING INFORMATION:
+
+@findex rtems_shell_rtems_main_rm
+
+The @code{COMMAND} is implemented by a C language function
+which has the following prototype:
+
+@example
+int rtems_shell_rtems_main_rm(
+ int argc,
+ char **argv
+);
+@end example
+
+The configuration structure for the @code{COMMAND} has the
+following prototype:
+
+@example
+extern rtems_shell_cmd_t rtems_shell_RM_Command;
+@end example
+
+@c
+@c
+@c
+@page
+@subsection mount - mount disk
+
+@pgindex mount
+
+@subheading SYNOPSYS:
+
+mount [-t fstype] [-r] [-L] device path
+
+@subheading DESCRIPTION:
+
+This command XXX
+
+@subheading NOTES:
+
+NONE
+
+@subheading EXAMPLES:
+
+The following is an example of how to use mount:
+
+@example
+EXAMPLE_TBD
+@end example
+
+@subheading CONFIGURATION:
+
+@findex CONFIGURE_SHELL_NO_COMMAND_MOUNT
+@findex CONFIGURE_SHELL_COMMAND_MOUNT
+
+In order to disable this command out if you are configuring all commands,
+define @code{CONFIGURE_SHELL_NO_COMMAND_MOUNT}.
+
+In order to enable this command if you are building a custom command set
+define @code{CONFIGURE_SHELL_COMMAND_MOUNT}.
+
+
+@subheading PROGRAMMING INFORMATION:
+
+@findex rtems_shell_rtems_main_mount
+
+The @code{COMMAND} is implemented by a C language function
+which has the following prototype:
+
+@example
+int rtems_shell_rtems_main_mount(
+ int argc,
+ char **argv
+);
+@end example
+
+The configuration structure for the @code{COMMAND} has the
+following prototype:
+
+@example
+extern rtems_shell_cmd_t rtems_shell_MOUNT_Command;
+@end example
+
+@c
+@c
+@c
+@page
+@subsection unmount - unmount disk
+
+@pgindex unmount
+
+@subheading SYNOPSYS:
+
+unmount path
+
+@subheading DESCRIPTION:
+
+This command XXX
+
+@subheading NOTES:
+
+NONE
+
+@subheading EXAMPLES:
+
+The following is an example of how to use unmount:
+
+@example
+EXAMPLE_TBD
+@end example
+
+@subheading CONFIGURATION:
+
+@findex CONFIGURE_SHELL_NO_COMMAND_UNMOUNT
+@findex CONFIGURE_SHELL_COMMAND_UNMOUNT
+
+In order to disable this command out if you are configuring all commands,
+define @code{CONFIGURE_SHELL_NO_COMMAND_UNMOUNT}.
+
+In order to enable this command if you are building a custom command set
+define @code{CONFIGURE_SHELL_COMMAND_UNMOUNT}.
+
+
+@subheading PROGRAMMING INFORMATION:
+
+@findex rtems_shell_rtems_main_unmount
+
+The @code{COMMAND} is implemented by a C language function
+which has the following prototype:
+
+@example
+int rtems_shell_rtems_main_unmount(
+ int argc,
+ char **argv
+);
+@end example
+
+The configuration structure for the @code{COMMAND} has the
+following prototype:
+
+@example
+extern rtems_shell_cmd_t rtems_shell_UNMOUNT_Command;
+@end example
+
+@c
+@c
+@c
+@page
+@subsection blksync - sync the block driver
+
+@pgindex blksync
+
+@subheading SYNOPSYS:
+
+blksync driver
+
+@subheading DESCRIPTION:
+
+This command XXX
+
+@subheading NOTES:
+
+NONE
+
+@subheading EXAMPLES:
+
+The following is an example of how to use blksync:
+
+@example
+EXAMPLE_TBD
+@end example
+
+@subheading CONFIGURATION:
+
+@findex CONFIGURE_SHELL_NO_COMMAND_BLKSYNC
+@findex CONFIGURE_SHELL_COMMAND_BLKSYNC
+
+In order to disable this command out if you are configuring all commands,
+define @code{CONFIGURE_SHELL_NO_COMMAND_BLKSYNC}.
+
+In order to enable this command if you are building a custom command set
+define @code{CONFIGURE_SHELL_COMMAND_BLKSYNC}.
+
+
+@subheading PROGRAMMING INFORMATION:
+
+@findex rtems_shell_rtems_main_blksync
+
+The @code{COMMAND} is implemented by a C language function
+which has the following prototype:
+
+@example
+int rtems_shell_rtems_main_blksync(
+ int argc,
+ char **argv
+);
+@end example
+
+The configuration structure for the @code{COMMAND} has the
+following prototype:
+
+@example
+extern rtems_shell_cmd_t rtems_shell_BLKSYNC_Command;
+@end example
+
+@c
+@c
+@c
+@page
+@subsection dir - alias for ls
+
+@pgindex dir
+
+@subheading SYNOPSYS:
+
+display directory contents
+
+@subheading DESCRIPTION:
+
+This command XXX
+
+@subheading NOTES:
+
+NONE
+
+@subheading EXAMPLES:
+
+The following is an example of how to use dir:
+
+@example
+EXAMPLE_TBD
+@end example
+
+@subheading CONFIGURATION:
+
+@findex CONFIGURE_SHELL_NO_COMMAND_DIR
+@findex CONFIGURE_SHELL_COMMAND_DIR
+
+In order to disable this command out if you are configuring all commands,
+define @code{CONFIGURE_SHELL_NO_COMMAND_DIR}.
+
+In order to enable this command if you are building a custom command set
+define @code{CONFIGURE_SHELL_COMMAND_DIR}.
+
+
+@subheading PROGRAMMING INFORMATION:
+
+@findex rtems_shell_rtems_main_dir
+
+The @code{COMMAND} is implemented by a C language function
+which has the following prototype:
+
+@example
+int rtems_shell_rtems_main_dir(
+ int argc,
+ char **argv
+);
+@end example
+
+The configuration structure for the @code{COMMAND} has the
+following prototype:
+
+@example
+extern rtems_shell_cmd_t rtems_shell_DIR_Command;
+@end example
+
+@c
+@c
+@c
+@page
+@subsection cd - alias for chdir
+
+@pgindex cd
+
+@subheading SYNOPSYS:
+
+change the current directory
+
+@subheading DESCRIPTION:
+
+This command XXX
+
+@subheading NOTES:
+
+NONE
+
+@subheading EXAMPLES:
+
+The following is an example of how to use cd:
+
+@example
+EXAMPLE_TBD
+@end example
+
+@subheading CONFIGURATION:
+
+@findex CONFIGURE_SHELL_NO_COMMAND_CD
+@findex CONFIGURE_SHELL_COMMAND_CD
+
+In order to disable this command out if you are configuring all commands,
+define @code{CONFIGURE_SHELL_NO_COMMAND_CD}.
+
+In order to enable this command if you are building a custom command set
+define @code{CONFIGURE_SHELL_COMMAND_CD}.
+
+
+@subheading PROGRAMMING INFORMATION:
+
+@findex rtems_shell_rtems_main_cd
+
+The @code{COMMAND} is implemented by a C language function
+which has the following prototype:
+
+@example
+int rtems_shell_rtems_main_cd(
+ int argc,
+ char **argv
+);
+@end example
+
+The configuration structure for the @code{COMMAND} has the
+following prototype:
+
+@example
+extern rtems_shell_cmd_t rtems_shell_CD_Command;
+@end example
+
diff --git a/doc/shell/general.t b/doc/shell/general.t
new file mode 100644
index 0000000000..9a3efe6bec
--- /dev/null
+++ b/doc/shell/general.t
@@ -0,0 +1,462 @@
+@c
+@c COPYRIGHT (c) 1988-2008.
+@c On-Line Applications Research Corporation (OAR).
+@c All rights reserved.
+@c
+@c $
+@c
+
+@chapter General Commands
+
+@section Introduction
+
+The RTEMS shell has the following general commands:
+
+@itemize @bullet
+
+
+@item @code{alias} - Add alias for an existing command
+
+@item @code{date} - Print current date and time
+
+@item @code{id} - show uid gid euid and egid
+
+@item @code{tty} - show ttyname
+
+@item @code{whoami} - show current user
+
+@item @code{logoff} - logoff from the system
+
+@item @code{exit} - alias for logoff command
+
+@end itemize
+
+@section Commands
+
+@c
+@c
+@c
+@page
+@subsection alias - add alias for an existing command
+
+@pgindex alias
+
+@subheading SYNOPSYS:
+
+alias oldCommand newCommand
+
+@subheading DESCRIPTION:
+
+This command XXX
+
+@subheading NOTES:
+
+NONE
+
+@subheading EXAMPLES:
+
+The following is an example of how to use alias:
+
+@example
+EXAMPLE_TBD
+@end example
+
+@subheading CONFIGURATION:
+
+@findex CONFIGURE_SHELL_NO_COMMAND_ALIAS
+@findex CONFIGURE_SHELL_COMMAND_ALIAS
+
+In order to disable this command out if you are configuring all commands,
+define @code{CONFIGURE_SHELL_NO_COMMAND_ALIAS}.
+
+In order to enable this command if you are building a custom command set
+define @code{CONFIGURE_SHELL_COMMAND_ALIAS}.
+
+
+@subheading PROGRAMMING INFORMATION:
+
+@findex rtems_shell_rtems_main_alias
+
+The @code{COMMAND} is implemented by a C language function
+which has the following prototype:
+
+@example
+int rtems_shell_rtems_main_alias(
+ int argc,
+ char **argv
+);
+@end example
+
+The configuration structure for the @code{COMMAND} has the
+following prototype:
+
+@example
+extern rtems_shell_cmd_t rtems_shell_ALIAS_Command;
+@end example
+
+@c
+@c
+@c
+@page
+@subsection date - print current date and time
+
+@pgindex date
+
+@subheading SYNOPSYS:
+
+date
+
+@subheading DESCRIPTION:
+
+This command XXX
+
+@subheading NOTES:
+
+NONE
+
+@subheading EXAMPLES:
+
+The following is an example of how to use date:
+
+@example
+EXAMPLE_TBD
+@end example
+
+@subheading CONFIGURATION:
+
+@findex CONFIGURE_SHELL_NO_COMMAND_DATE
+@findex CONFIGURE_SHELL_COMMAND_DATE
+
+In order to disable this command out if you are configuring all commands,
+define @code{CONFIGURE_SHELL_NO_COMMAND_DATE}.
+
+In order to enable this command if you are building a custom command set
+define @code{CONFIGURE_SHELL_COMMAND_DATE}.
+
+
+@subheading PROGRAMMING INFORMATION:
+
+@findex rtems_shell_rtems_main_date
+
+The @code{COMMAND} is implemented by a C language function
+which has the following prototype:
+
+@example
+int rtems_shell_rtems_main_date(
+ int argc,
+ char **argv
+);
+@end example
+
+The configuration structure for the @code{COMMAND} has the
+following prototype:
+
+@example
+extern rtems_shell_cmd_t rtems_shell_DATE_Command;
+@end example
+
+@c
+@c
+@c
+@page
+@subsection id - show uid gid euid and egid
+
+@pgindex id
+
+@subheading SYNOPSYS:
+
+id
+
+@subheading DESCRIPTION:
+
+This command XXX
+
+@subheading NOTES:
+
+NONE
+
+@subheading EXAMPLES:
+
+The following is an example of how to use id:
+
+@example
+EXAMPLE_TBD
+@end example
+
+@subheading CONFIGURATION:
+
+@findex CONFIGURE_SHELL_NO_COMMAND_ID
+@findex CONFIGURE_SHELL_COMMAND_ID
+
+In order to disable this command out if you are configuring all commands,
+define @code{CONFIGURE_SHELL_NO_COMMAND_ID}.
+
+In order to enable this command if you are building a custom command set
+define @code{CONFIGURE_SHELL_COMMAND_ID}.
+
+
+@subheading PROGRAMMING INFORMATION:
+
+@findex rtems_shell_rtems_main_id
+
+The @code{COMMAND} is implemented by a C language function
+which has the following prototype:
+
+@example
+int rtems_shell_rtems_main_id(
+ int argc,
+ char **argv
+);
+@end example
+
+The configuration structure for the @code{COMMAND} has the
+following prototype:
+
+@example
+extern rtems_shell_cmd_t rtems_shell_ID_Command;
+@end example
+
+@c
+@c
+@c
+@page
+@subsection tty - show ttyname
+
+@pgindex tty
+
+@subheading SYNOPSYS:
+
+tty
+
+@subheading DESCRIPTION:
+
+This command XXX
+
+@subheading NOTES:
+
+NONE
+
+@subheading EXAMPLES:
+
+The following is an example of how to use tty:
+
+@example
+EXAMPLE_TBD
+@end example
+
+@subheading CONFIGURATION:
+
+@findex CONFIGURE_SHELL_NO_COMMAND_TTY
+@findex CONFIGURE_SHELL_COMMAND_TTY
+
+In order to disable this command out if you are configuring all commands,
+define @code{CONFIGURE_SHELL_NO_COMMAND_TTY}.
+
+In order to enable this command if you are building a custom command set
+define @code{CONFIGURE_SHELL_COMMAND_TTY}.
+
+
+@subheading PROGRAMMING INFORMATION:
+
+@findex rtems_shell_rtems_main_tty
+
+The @code{COMMAND} is implemented by a C language function
+which has the following prototype:
+
+@example
+int rtems_shell_rtems_main_tty(
+ int argc,
+ char **argv
+);
+@end example
+
+The configuration structure for the @code{COMMAND} has the
+following prototype:
+
+@example
+extern rtems_shell_cmd_t rtems_shell_TTY_Command;
+@end example
+
+@c
+@c
+@c
+@page
+@subsection whoami - show current user
+
+@pgindex whoami
+
+@subheading SYNOPSYS:
+
+whoami
+
+@subheading DESCRIPTION:
+
+This command XXX
+
+@subheading NOTES:
+
+NONE
+
+@subheading EXAMPLES:
+
+The following is an example of how to use whoami:
+
+@example
+EXAMPLE_TBD
+@end example
+
+@subheading CONFIGURATION:
+
+@findex CONFIGURE_SHELL_NO_COMMAND_WHOAMI
+@findex CONFIGURE_SHELL_COMMAND_WHOAMI
+
+In order to disable this command out if you are configuring all commands,
+define @code{CONFIGURE_SHELL_NO_COMMAND_WHOAMI}.
+
+In order to enable this command if you are building a custom command set
+define @code{CONFIGURE_SHELL_COMMAND_WHOAMI}.
+
+
+@subheading PROGRAMMING INFORMATION:
+
+@findex rtems_shell_rtems_main_whoami
+
+The @code{COMMAND} is implemented by a C language function
+which has the following prototype:
+
+@example
+int rtems_shell_rtems_main_whoami(
+ int argc,
+ char **argv
+);
+@end example
+
+The configuration structure for the @code{COMMAND} has the
+following prototype:
+
+@example
+extern rtems_shell_cmd_t rtems_shell_WHOAMI_Command;
+@end example
+
+@c
+@c
+@c
+@page
+@subsection logoff - logoff from the system
+
+@pgindex logoff
+
+@subheading SYNOPSYS:
+
+logoff
+
+@subheading DESCRIPTION:
+
+This command XXX
+
+@subheading NOTES:
+
+NONE
+
+@subheading EXAMPLES:
+
+The following is an example of how to use logoff:
+
+@example
+EXAMPLE_TBD
+@end example
+
+@subheading CONFIGURATION:
+
+@findex CONFIGURE_SHELL_NO_COMMAND_LOGOFF
+@findex CONFIGURE_SHELL_COMMAND_LOGOFF
+
+In order to disable this command out if you are configuring all commands,
+define @code{CONFIGURE_SHELL_NO_COMMAND_LOGOFF}.
+
+In order to enable this command if you are building a custom command set
+define @code{CONFIGURE_SHELL_COMMAND_LOGOFF}.
+
+
+@subheading PROGRAMMING INFORMATION:
+
+@findex rtems_shell_rtems_main_logoff
+
+The @code{COMMAND} is implemented by a C language function
+which has the following prototype:
+
+@example
+int rtems_shell_rtems_main_logoff(
+ int argc,
+ char **argv
+);
+@end example
+
+The configuration structure for the @code{COMMAND} has the
+following prototype:
+
+@example
+extern rtems_shell_cmd_t rtems_shell_LOGOFF_Command;
+@end example
+
+@c
+@c
+@c
+@page
+@subsection exit - alias for logoff command
+
+@pgindex exit
+
+@subheading SYNOPSYS:
+
+exit
+
+@subheading DESCRIPTION:
+
+This command XXX
+
+@subheading NOTES:
+
+NONE
+
+@subheading EXAMPLES:
+
+The following is an example of how to use exit:
+
+@example
+EXAMPLE_TBD
+@end example
+
+@subheading CONFIGURATION:
+
+@findex CONFIGURE_SHELL_NO_COMMAND_EXIT
+@findex CONFIGURE_SHELL_COMMAND_EXIT
+
+In order to disable this command out if you are configuring all commands,
+define @code{CONFIGURE_SHELL_NO_COMMAND_EXIT}.
+
+In order to enable this command if you are building a custom command set
+define @code{CONFIGURE_SHELL_COMMAND_EXIT}.
+
+
+@subheading PROGRAMMING INFORMATION:
+
+@findex rtems_shell_rtems_main_exit
+
+The @code{COMMAND} is implemented by a C language function
+which has the following prototype:
+
+@example
+int rtems_shell_rtems_main_exit(
+ int argc,
+ char **argv
+);
+@end example
+
+The configuration structure for the @code{COMMAND} has the
+following prototype:
+
+@example
+extern rtems_shell_cmd_t rtems_shell_EXIT_Command;
+@end example
+
diff --git a/doc/shell/memory.t b/doc/shell/memory.t
new file mode 100644
index 0000000000..dbe58d0f62
--- /dev/null
+++ b/doc/shell/memory.t
@@ -0,0 +1,399 @@
+@c
+@c COPYRIGHT (c) 1988-2008.
+@c On-Line Applications Research Corporation (OAR).
+@c All rights reserved.
+@c
+@c $
+@c
+
+@chapter Memory Commands
+
+@section Introduction
+
+The RTEMS shell has the following memory commands:
+
+@itemize @bullet
+
+
+@item @code{mdump} - Display contents of memory
+
+@item @code{wdump} - Display contents of memory (word)
+
+@item @code{medit} - Modify contents of memory
+
+@item @code{mfill} - File memory with pattern
+
+@item @code{mmove} - Move contents of memory
+
+@item @code{malloc} - Obtain information on C Program Heap
+
+@end itemize
+
+@section Commands
+
+@c
+@c
+@c
+@page
+@subsection mdump - display contents of memory
+
+@pgindex mdump
+
+@subheading SYNOPSYS:
+
+mdump [addr [size]]
+
+@subheading DESCRIPTION:
+
+This command XXX
+
+@subheading NOTES:
+
+NONE
+
+@subheading EXAMPLES:
+
+The following is an example of how to use mdump:
+
+@example
+EXAMPLE_TBD
+@end example
+
+@subheading CONFIGURATION:
+
+@findex CONFIGURE_SHELL_NO_COMMAND_MDUMP
+@findex CONFIGURE_SHELL_COMMAND_MDUMP
+
+In order to disable this command out if you are configuring all commands,
+define @code{CONFIGURE_SHELL_NO_COMMAND_MDUMP}.
+
+In order to enable this command if you are building a custom command set
+define @code{CONFIGURE_SHELL_COMMAND_MDUMP}.
+
+
+@subheading PROGRAMMING INFORMATION:
+
+@findex rtems_shell_rtems_main_mdump
+
+The @code{COMMAND} is implemented by a C language function
+which has the following prototype:
+
+@example
+int rtems_shell_rtems_main_mdump(
+ int argc,
+ char **argv
+);
+@end example
+
+The configuration structure for the @code{COMMAND} has the
+following prototype:
+
+@example
+extern rtems_shell_cmd_t rtems_shell_MDUMP_Command;
+@end example
+
+@c
+@c
+@c
+@page
+@subsection wdump - display contents of memory (word)
+
+@pgindex wdump
+
+@subheading SYNOPSYS:
+
+wdump [addr [size]]
+
+@subheading DESCRIPTION:
+
+This command XXX
+
+@subheading NOTES:
+
+NONE
+
+@subheading EXAMPLES:
+
+The following is an example of how to use wdump:
+
+@example
+EXAMPLE_TBD
+@end example
+
+@subheading CONFIGURATION:
+
+@findex CONFIGURE_SHELL_NO_COMMAND_WDUMP
+@findex CONFIGURE_SHELL_COMMAND_WDUMP
+
+In order to disable this command out if you are configuring all commands,
+define @code{CONFIGURE_SHELL_NO_COMMAND_WDUMP}.
+
+In order to enable this command if you are building a custom command set
+define @code{CONFIGURE_SHELL_COMMAND_WDUMP}.
+
+
+@subheading PROGRAMMING INFORMATION:
+
+@findex rtems_shell_rtems_main_wdump
+
+The @code{COMMAND} is implemented by a C language function
+which has the following prototype:
+
+@example
+int rtems_shell_rtems_main_wdump(
+ int argc,
+ char **argv
+);
+@end example
+
+The configuration structure for the @code{COMMAND} has the
+following prototype:
+
+@example
+extern rtems_shell_cmd_t rtems_shell_WDUMP_Command;
+@end example
+
+@c
+@c
+@c
+@page
+@subsection medit - modify contents of memory
+
+@pgindex medit
+
+@subheading SYNOPSYS:
+
+medit addr value [value ...]
+
+@subheading DESCRIPTION:
+
+This command XXX
+
+@subheading NOTES:
+
+NONE
+
+@subheading EXAMPLES:
+
+The following is an example of how to use medit:
+
+@example
+EXAMPLE_TBD
+@end example
+
+@subheading CONFIGURATION:
+
+@findex CONFIGURE_SHELL_NO_COMMAND_MEDIT
+@findex CONFIGURE_SHELL_COMMAND_MEDIT
+
+In order to disable this command out if you are configuring all commands,
+define @code{CONFIGURE_SHELL_NO_COMMAND_MEDIT}.
+
+In order to enable this command if you are building a custom command set
+define @code{CONFIGURE_SHELL_COMMAND_MEDIT}.
+
+
+@subheading PROGRAMMING INFORMATION:
+
+@findex rtems_shell_rtems_main_medit
+
+The @code{COMMAND} is implemented by a C language function
+which has the following prototype:
+
+@example
+int rtems_shell_rtems_main_medit(
+ int argc,
+ char **argv
+);
+@end example
+
+The configuration structure for the @code{COMMAND} has the
+following prototype:
+
+@example
+extern rtems_shell_cmd_t rtems_shell_MEDIT_Command;
+@end example
+
+@c
+@c
+@c
+@page
+@subsection mfill - file memory with pattern
+
+@pgindex mfill
+
+@subheading SYNOPSYS:
+
+mfill addr size value
+
+@subheading DESCRIPTION:
+
+This command XXX
+
+@subheading NOTES:
+
+NONE
+
+@subheading EXAMPLES:
+
+The following is an example of how to use mfill:
+
+@example
+EXAMPLE_TBD
+@end example
+
+@subheading CONFIGURATION:
+
+@findex CONFIGURE_SHELL_NO_COMMAND_MFILL
+@findex CONFIGURE_SHELL_COMMAND_MFILL
+
+In order to disable this command out if you are configuring all commands,
+define @code{CONFIGURE_SHELL_NO_COMMAND_MFILL}.
+
+In order to enable this command if you are building a custom command set
+define @code{CONFIGURE_SHELL_COMMAND_MFILL}.
+
+
+@subheading PROGRAMMING INFORMATION:
+
+@findex rtems_shell_rtems_main_mfill
+
+The @code{COMMAND} is implemented by a C language function
+which has the following prototype:
+
+@example
+int rtems_shell_rtems_main_mfill(
+ int argc,
+ char **argv
+);
+@end example
+
+The configuration structure for the @code{COMMAND} has the
+following prototype:
+
+@example
+extern rtems_shell_cmd_t rtems_shell_MFILL_Command;
+@end example
+
+@c
+@c
+@c
+@page
+@subsection mmove - move contents of memory
+
+@pgindex mmove
+
+@subheading SYNOPSYS:
+
+mmove dst src size
+
+@subheading DESCRIPTION:
+
+This command XXX
+
+@subheading NOTES:
+
+NONE
+
+@subheading EXAMPLES:
+
+The following is an example of how to use mmove:
+
+@example
+EXAMPLE_TBD
+@end example
+
+@subheading CONFIGURATION:
+
+@findex CONFIGURE_SHELL_NO_COMMAND_MMOVE
+@findex CONFIGURE_SHELL_COMMAND_MMOVE
+
+In order to disable this command out if you are configuring all commands,
+define @code{CONFIGURE_SHELL_NO_COMMAND_MMOVE}.
+
+In order to enable this command if you are building a custom command set
+define @code{CONFIGURE_SHELL_COMMAND_MMOVE}.
+
+
+@subheading PROGRAMMING INFORMATION:
+
+@findex rtems_shell_rtems_main_mmove
+
+The @code{COMMAND} is implemented by a C language function
+which has the following prototype:
+
+@example
+int rtems_shell_rtems_main_mmove(
+ int argc,
+ char **argv
+);
+@end example
+
+The configuration structure for the @code{COMMAND} has the
+following prototype:
+
+@example
+extern rtems_shell_cmd_t rtems_shell_MMOVE_Command;
+@end example
+
+@c
+@c
+@c
+@page
+@subsection malloc - obtain information on c program heap
+
+@pgindex malloc
+
+@subheading SYNOPSYS:
+
+malloc [info|stats]
+
+@subheading DESCRIPTION:
+
+This command XXX
+
+@subheading NOTES:
+
+NONE
+
+@subheading EXAMPLES:
+
+The following is an example of how to use malloc:
+
+@example
+EXAMPLE_TBD
+@end example
+
+@subheading CONFIGURATION:
+
+@findex CONFIGURE_SHELL_NO_COMMAND_MALLOC
+@findex CONFIGURE_SHELL_COMMAND_MALLOC
+
+In order to disable this command out if you are configuring all commands,
+define @code{CONFIGURE_SHELL_NO_COMMAND_MALLOC}.
+
+In order to enable this command if you are building a custom command set
+define @code{CONFIGURE_SHELL_COMMAND_MALLOC}.
+
+
+@subheading PROGRAMMING INFORMATION:
+
+@findex rtems_shell_rtems_main_malloc
+
+The @code{COMMAND} is implemented by a C language function
+which has the following prototype:
+
+@example
+int rtems_shell_rtems_main_malloc(
+ int argc,
+ char **argv
+);
+@end example
+
+The configuration structure for the @code{COMMAND} has the
+following prototype:
+
+@example
+extern rtems_shell_cmd_t rtems_shell_MALLOC_Command;
+@end example
+
diff --git a/doc/shell/network.t b/doc/shell/network.t
new file mode 100644
index 0000000000..e51697c160
--- /dev/null
+++ b/doc/shell/network.t
@@ -0,0 +1,210 @@
+@c
+@c COPYRIGHT (c) 1988-2008.
+@c On-Line Applications Research Corporation (OAR).
+@c All rights reserved.
+@c
+@c $
+@c
+
+@chapter Network Commands
+
+@section Introduction
+
+The RTEMS shell has the following network commands:
+
+@itemize @bullet
+
+
+@item @code{netstats} - obtain network statistics
+
+@item @code{ifconfig} - configure a network interface
+
+@item @code{route} - show or manipulate the IP routing table
+
+@end itemize
+
+@section Commands
+
+@c
+@c
+@c
+@page
+@subsection netstats - obtain network statistics
+
+@pgindex netstats
+
+@subheading SYNOPSYS:
+
+netstats [-Aimfpcutv]
+
+@subheading DESCRIPTION:
+
+This command XXX
+
+@subheading NOTES:
+
+NONE
+
+@subheading EXAMPLES:
+
+The following is an example of how to use netstats:
+
+@example
+EXAMPLE_TBD
+@end example
+
+@subheading CONFIGURATION:
+
+@findex CONFIGURE_SHELL_NO_COMMAND_NETSTATS
+@findex CONFIGURE_SHELL_COMMAND_NETSTATS
+
+In order to disable this command out if you are configuring all commands,
+define @code{CONFIGURE_SHELL_NO_COMMAND_NETSTATS}.
+
+In order to enable this command if you are building a custom command set
+define @code{CONFIGURE_SHELL_COMMAND_NETSTATS}.
+
+
+@subheading PROGRAMMING INFORMATION:
+
+@findex rtems_shell_rtems_main_netstats
+
+The @code{COMMAND} is implemented by a C language function
+which has the following prototype:
+
+@example
+int rtems_shell_rtems_main_netstats(
+ int argc,
+ char **argv
+);
+@end example
+
+The configuration structure for the @code{COMMAND} has the
+following prototype:
+
+@example
+extern rtems_shell_cmd_t rtems_shell_NETSTATS_Command;
+@end example
+
+@c
+@c
+@c
+@page
+@subsection ifconfig - configure a network interface
+
+@pgindex ifconfig
+
+@subheading SYNOPSYS:
+
+ifconfig
+
+@subheading DESCRIPTION:
+
+This command XXX
+
+@subheading NOTES:
+
+NONE
+
+@subheading EXAMPLES:
+
+The following is an example of how to use ifconfig:
+
+@example
+EXAMPLE_TBD
+@end example
+
+@subheading CONFIGURATION:
+
+@findex CONFIGURE_SHELL_NO_COMMAND_IFCONFIG
+@findex CONFIGURE_SHELL_COMMAND_IFCONFIG
+
+In order to disable this command out if you are configuring all commands,
+define @code{CONFIGURE_SHELL_NO_COMMAND_IFCONFIG}.
+
+In order to enable this command if you are building a custom command set
+define @code{CONFIGURE_SHELL_COMMAND_IFCONFIG}.
+
+
+@subheading PROGRAMMING INFORMATION:
+
+@findex rtems_shell_rtems_main_ifconfig
+
+The @code{COMMAND} is implemented by a C language function
+which has the following prototype:
+
+@example
+int rtems_shell_rtems_main_ifconfig(
+ int argc,
+ char **argv
+);
+@end example
+
+The configuration structure for the @code{COMMAND} has the
+following prototype:
+
+@example
+extern rtems_shell_cmd_t rtems_shell_IFCONFIG_Command;
+@end example
+
+@c
+@c
+@c
+@page
+@subsection route - show or manipulate the ip routing table
+
+@pgindex route
+
+@subheading SYNOPSYS:
+
+route [subcommand]
+
+@subheading DESCRIPTION:
+
+This command XXX
+
+@subheading NOTES:
+
+NONE
+
+@subheading EXAMPLES:
+
+The following is an example of how to use route:
+
+@example
+EXAMPLE_TBD
+@end example
+
+@subheading CONFIGURATION:
+
+@findex CONFIGURE_SHELL_NO_COMMAND_ROUTE
+@findex CONFIGURE_SHELL_COMMAND_ROUTE
+
+In order to disable this command out if you are configuring all commands,
+define @code{CONFIGURE_SHELL_NO_COMMAND_ROUTE}.
+
+In order to enable this command if you are building a custom command set
+define @code{CONFIGURE_SHELL_COMMAND_ROUTE}.
+
+
+@subheading PROGRAMMING INFORMATION:
+
+@findex rtems_shell_rtems_main_route
+
+The @code{COMMAND} is implemented by a C language function
+which has the following prototype:
+
+@example
+int rtems_shell_rtems_main_route(
+ int argc,
+ char **argv
+);
+@end example
+
+The configuration structure for the @code{COMMAND} has the
+following prototype:
+
+@example
+extern rtems_shell_cmd_t rtems_shell_ROUTE_Command;
+@end example
+
diff --git a/doc/shell/preface.texi b/doc/shell/preface.texi
new file mode 100644
index 0000000000..c3dfafc299
--- /dev/null
+++ b/doc/shell/preface.texi
@@ -0,0 +1,17 @@
+@c
+@c COPYRIGHT (c) 1988-2008.
+@c On-Line Applications Research Corporation (OAR).
+@c All rights reserved.
+@c
+@c $Id$
+@c
+
+@ifinfo
+@node Preface, General Commands, Top, Top
+@end ifinfo
+@unnumbered Preface
+
+Real-time embedded systems vary widely based upon their
+operational and maintenance requirements. Many of these
+systems now include a command line interface which can
+be used to diagnostic
diff --git a/doc/shell/rtems.t b/doc/shell/rtems.t
new file mode 100644
index 0000000000..e9d791aa22
--- /dev/null
+++ b/doc/shell/rtems.t
@@ -0,0 +1,966 @@
+@c
+@c COPYRIGHT (c) 1988-2008.
+@c On-Line Applications Research Corporation (OAR).
+@c All rights reserved.
+@c
+@c $
+@c
+
+@chapter RTEMS Commands
+
+@section Introduction
+
+The RTEMS shell has the following rtems commands:
+
+@itemize @bullet
+
+
+@item @code{cpuuse} - print or reset per thread cpu usage
+
+@item @code{stackuse} - print per thread stack usage
+
+@item @code{perioduse} - print or reset per period usage
+
+@item @code{wkspace} - Display information on Executive Workspace
+
+@item @code{config} - Show the system configuration.
+
+@item @code{itask} - List init tasks for the system
+
+@item @code{extension} - Display information about extensions
+
+@item @code{task} - Display information about tasks
+
+@item @code{queue} - Display information about message queues
+
+@item @code{sema} - display information about semaphores
+
+@item @code{region} - display information about regions
+
+@item @code{part} - display information about partitions
+
+@item @code{object} - Display information about RTEMS objects
+
+@item @code{driver} - Display the RTEMS device driver table
+
+@item @code{dname} - Displays information about named drivers
+
+@end itemize
+
+@section Commands
+
+@c
+@c
+@c
+@page
+@subsection cpuuse - print or reset per thread cpu usage
+
+@pgindex cpuuse
+
+@subheading SYNOPSYS:
+
+cpuuse [-r]
+
+@subheading DESCRIPTION:
+
+This command XXX
+
+@subheading NOTES:
+
+NONE
+
+@subheading EXAMPLES:
+
+The following is an example of how to use cpuuse:
+
+@example
+EXAMPLE_TBD
+@end example
+
+@subheading CONFIGURATION:
+
+@findex CONFIGURE_SHELL_NO_COMMAND_CPUUSE
+@findex CONFIGURE_SHELL_COMMAND_CPUUSE
+
+In order to disable this command out if you are configuring all commands,
+define @code{CONFIGURE_SHELL_NO_COMMAND_CPUUSE}.
+
+In order to enable this command if you are building a custom command set
+define @code{CONFIGURE_SHELL_COMMAND_CPUUSE}.
+
+
+@subheading PROGRAMMING INFORMATION:
+
+@findex rtems_shell_rtems_main_cpuuse
+
+The @code{COMMAND} is implemented by a C language function
+which has the following prototype:
+
+@example
+int rtems_shell_rtems_main_cpuuse(
+ int argc,
+ char **argv
+);
+@end example
+
+The configuration structure for the @code{COMMAND} has the
+following prototype:
+
+@example
+extern rtems_shell_cmd_t rtems_shell_CPUUSE_Command;
+@end example
+
+@c
+@c
+@c
+@page
+@subsection stackuse - print per thread stack usage
+
+@pgindex stackuse
+
+@subheading SYNOPSYS:
+
+stackuse
+
+@subheading DESCRIPTION:
+
+This command XXX
+
+@subheading NOTES:
+
+NONE
+
+@subheading EXAMPLES:
+
+The following is an example of how to use stackuse:
+
+@example
+EXAMPLE_TBD
+@end example
+
+@subheading CONFIGURATION:
+
+@findex CONFIGURE_SHELL_NO_COMMAND_STACKUSE
+@findex CONFIGURE_SHELL_COMMAND_STACKUSE
+
+In order to disable this command out if you are configuring all commands,
+define @code{CONFIGURE_SHELL_NO_COMMAND_STACKUSE}.
+
+In order to enable this command if you are building a custom command set
+define @code{CONFIGURE_SHELL_COMMAND_STACKUSE}.
+
+
+@subheading PROGRAMMING INFORMATION:
+
+@findex rtems_shell_rtems_main_stackuse
+
+The @code{COMMAND} is implemented by a C language function
+which has the following prototype:
+
+@example
+int rtems_shell_rtems_main_stackuse(
+ int argc,
+ char **argv
+);
+@end example
+
+The configuration structure for the @code{COMMAND} has the
+following prototype:
+
+@example
+extern rtems_shell_cmd_t rtems_shell_STACKUSE_Command;
+@end example
+
+@c
+@c
+@c
+@page
+@subsection perioduse - print or reset per period usage
+
+@pgindex perioduse
+
+@subheading SYNOPSYS:
+
+perioduse [-r]
+
+@subheading DESCRIPTION:
+
+This command XXX
+
+@subheading NOTES:
+
+NONE
+
+@subheading EXAMPLES:
+
+The following is an example of how to use perioduse:
+
+@example
+EXAMPLE_TBD
+@end example
+
+@subheading CONFIGURATION:
+
+@findex CONFIGURE_SHELL_NO_COMMAND_PERIODUSE
+@findex CONFIGURE_SHELL_COMMAND_PERIODUSE
+
+In order to disable this command out if you are configuring all commands,
+define @code{CONFIGURE_SHELL_NO_COMMAND_PERIODUSE}.
+
+In order to enable this command if you are building a custom command set
+define @code{CONFIGURE_SHELL_COMMAND_PERIODUSE}.
+
+
+@subheading PROGRAMMING INFORMATION:
+
+@findex rtems_shell_rtems_main_perioduse
+
+The @code{COMMAND} is implemented by a C language function
+which has the following prototype:
+
+@example
+int rtems_shell_rtems_main_perioduse(
+ int argc,
+ char **argv
+);
+@end example
+
+The configuration structure for the @code{COMMAND} has the
+following prototype:
+
+@example
+extern rtems_shell_cmd_t rtems_shell_PERIODUSE_Command;
+@end example
+
+@c
+@c
+@c
+@page
+@subsection wkspace - display information on executive workspace
+
+@pgindex wkspace
+
+@subheading SYNOPSYS:
+
+wkspace
+
+@subheading DESCRIPTION:
+
+This command XXX
+
+@subheading NOTES:
+
+NONE
+
+@subheading EXAMPLES:
+
+The following is an example of how to use wkspace:
+
+@example
+EXAMPLE_TBD
+@end example
+
+@subheading CONFIGURATION:
+
+@findex CONFIGURE_SHELL_NO_COMMAND_WKSPACE
+@findex CONFIGURE_SHELL_COMMAND_WKSPACE
+
+In order to disable this command out if you are configuring all commands,
+define @code{CONFIGURE_SHELL_NO_COMMAND_WKSPACE}.
+
+In order to enable this command if you are building a custom command set
+define @code{CONFIGURE_SHELL_COMMAND_WKSPACE}.
+
+
+@subheading PROGRAMMING INFORMATION:
+
+@findex rtems_shell_rtems_main_wkspace
+
+The @code{COMMAND} is implemented by a C language function
+which has the following prototype:
+
+@example
+int rtems_shell_rtems_main_wkspace(
+ int argc,
+ char **argv
+);
+@end example
+
+The configuration structure for the @code{COMMAND} has the
+following prototype:
+
+@example
+extern rtems_shell_cmd_t rtems_shell_WKSPACE_Command;
+@end example
+
+@c
+@c
+@c
+@page
+@subsection config - show the system configuration.
+
+@pgindex config
+
+@subheading SYNOPSYS:
+
+config
+
+@subheading DESCRIPTION:
+
+This command XXX
+
+@subheading NOTES:
+
+NONE
+
+@subheading EXAMPLES:
+
+The following is an example of how to use config:
+
+@example
+EXAMPLE_TBD
+@end example
+
+@subheading CONFIGURATION:
+
+@findex CONFIGURE_SHELL_NO_COMMAND_CONFIG
+@findex CONFIGURE_SHELL_COMMAND_CONFIG
+
+In order to disable this command out if you are configuring all commands,
+define @code{CONFIGURE_SHELL_NO_COMMAND_CONFIG}.
+
+In order to enable this command if you are building a custom command set
+define @code{CONFIGURE_SHELL_COMMAND_CONFIG}.
+
+
+@subheading PROGRAMMING INFORMATION:
+
+@findex rtems_shell_rtems_main_config
+
+The @code{COMMAND} is implemented by a C language function
+which has the following prototype:
+
+@example
+int rtems_shell_rtems_main_config(
+ int argc,
+ char **argv
+);
+@end example
+
+The configuration structure for the @code{COMMAND} has the
+following prototype:
+
+@example
+extern rtems_shell_cmd_t rtems_shell_CONFIG_Command;
+@end example
+
+@c
+@c
+@c
+@page
+@subsection itask - list init tasks for the system
+
+@pgindex itask
+
+@subheading SYNOPSYS:
+
+itask
+
+@subheading DESCRIPTION:
+
+This command XXX
+
+@subheading NOTES:
+
+NONE
+
+@subheading EXAMPLES:
+
+The following is an example of how to use itask:
+
+@example
+EXAMPLE_TBD
+@end example
+
+@subheading CONFIGURATION:
+
+@findex CONFIGURE_SHELL_NO_COMMAND_ITASK
+@findex CONFIGURE_SHELL_COMMAND_ITASK
+
+In order to disable this command out if you are configuring all commands,
+define @code{CONFIGURE_SHELL_NO_COMMAND_ITASK}.
+
+In order to enable this command if you are building a custom command set
+define @code{CONFIGURE_SHELL_COMMAND_ITASK}.
+
+
+@subheading PROGRAMMING INFORMATION:
+
+@findex rtems_shell_rtems_main_itask
+
+The @code{COMMAND} is implemented by a C language function
+which has the following prototype:
+
+@example
+int rtems_shell_rtems_main_itask(
+ int argc,
+ char **argv
+);
+@end example
+
+The configuration structure for the @code{COMMAND} has the
+following prototype:
+
+@example
+extern rtems_shell_cmd_t rtems_shell_ITASK_Command;
+@end example
+
+@c
+@c
+@c
+@page
+@subsection extension - display information about extensions
+
+@pgindex extension
+
+@subheading SYNOPSYS:
+
+extension [id [id ...] ]
+
+@subheading DESCRIPTION:
+
+This command XXX
+
+@subheading NOTES:
+
+NONE
+
+@subheading EXAMPLES:
+
+The following is an example of how to use extension:
+
+@example
+EXAMPLE_TBD
+@end example
+
+@subheading CONFIGURATION:
+
+@findex CONFIGURE_SHELL_NO_COMMAND_EXTENSION
+@findex CONFIGURE_SHELL_COMMAND_EXTENSION
+
+In order to disable this command out if you are configuring all commands,
+define @code{CONFIGURE_SHELL_NO_COMMAND_EXTENSION}.
+
+In order to enable this command if you are building a custom command set
+define @code{CONFIGURE_SHELL_COMMAND_EXTENSION}.
+
+
+@subheading PROGRAMMING INFORMATION:
+
+@findex rtems_shell_rtems_main_extension
+
+The @code{COMMAND} is implemented by a C language function
+which has the following prototype:
+
+@example
+int rtems_shell_rtems_main_extension(
+ int argc,
+ char **argv
+);
+@end example
+
+The configuration structure for the @code{COMMAND} has the
+following prototype:
+
+@example
+extern rtems_shell_cmd_t rtems_shell_EXTENSION_Command;
+@end example
+
+@c
+@c
+@c
+@page
+@subsection task - display information about tasks
+
+@pgindex task
+
+@subheading SYNOPSYS:
+
+task [id [id ...] ]
+
+@subheading DESCRIPTION:
+
+This command XXX
+
+@subheading NOTES:
+
+NONE
+
+@subheading EXAMPLES:
+
+The following is an example of how to use task:
+
+@example
+EXAMPLE_TBD
+@end example
+
+@subheading CONFIGURATION:
+
+@findex CONFIGURE_SHELL_NO_COMMAND_TASK
+@findex CONFIGURE_SHELL_COMMAND_TASK
+
+In order to disable this command out if you are configuring all commands,
+define @code{CONFIGURE_SHELL_NO_COMMAND_TASK}.
+
+In order to enable this command if you are building a custom command set
+define @code{CONFIGURE_SHELL_COMMAND_TASK}.
+
+
+@subheading PROGRAMMING INFORMATION:
+
+@findex rtems_shell_rtems_main_task
+
+The @code{COMMAND} is implemented by a C language function
+which has the following prototype:
+
+@example
+int rtems_shell_rtems_main_task(
+ int argc,
+ char **argv
+);
+@end example
+
+The configuration structure for the @code{COMMAND} has the
+following prototype:
+
+@example
+extern rtems_shell_cmd_t rtems_shell_TASK_Command;
+@end example
+
+@c
+@c
+@c
+@page
+@subsection queue - display information about message queues
+
+@pgindex queue
+
+@subheading SYNOPSYS:
+
+queue [id [id ... ] ]
+
+@subheading DESCRIPTION:
+
+This command XXX
+
+@subheading NOTES:
+
+NONE
+
+@subheading EXAMPLES:
+
+The following is an example of how to use queue:
+
+@example
+EXAMPLE_TBD
+@end example
+
+@subheading CONFIGURATION:
+
+@findex CONFIGURE_SHELL_NO_COMMAND_QUEUE
+@findex CONFIGURE_SHELL_COMMAND_QUEUE
+
+In order to disable this command out if you are configuring all commands,
+define @code{CONFIGURE_SHELL_NO_COMMAND_QUEUE}.
+
+In order to enable this command if you are building a custom command set
+define @code{CONFIGURE_SHELL_COMMAND_QUEUE}.
+
+
+@subheading PROGRAMMING INFORMATION:
+
+@findex rtems_shell_rtems_main_queue
+
+The @code{COMMAND} is implemented by a C language function
+which has the following prototype:
+
+@example
+int rtems_shell_rtems_main_queue(
+ int argc,
+ char **argv
+);
+@end example
+
+The configuration structure for the @code{COMMAND} has the
+following prototype:
+
+@example
+extern rtems_shell_cmd_t rtems_shell_QUEUE_Command;
+@end example
+
+@c
+@c
+@c
+@page
+@subsection sema - display information about semaphores
+
+@pgindex sema
+
+@subheading SYNOPSYS:
+
+sema [id [id ... ] ]
+
+@subheading DESCRIPTION:
+
+This command XXX
+
+@subheading NOTES:
+
+NONE
+
+@subheading EXAMPLES:
+
+The following is an example of how to use sema:
+
+@example
+EXAMPLE_TBD
+@end example
+
+@subheading CONFIGURATION:
+
+@findex CONFIGURE_SHELL_NO_COMMAND_SEMA
+@findex CONFIGURE_SHELL_COMMAND_SEMA
+
+In order to disable this command out if you are configuring all commands,
+define @code{CONFIGURE_SHELL_NO_COMMAND_SEMA}.
+
+In order to enable this command if you are building a custom command set
+define @code{CONFIGURE_SHELL_COMMAND_SEMA}.
+
+
+@subheading PROGRAMMING INFORMATION:
+
+@findex rtems_shell_rtems_main_sema
+
+The @code{COMMAND} is implemented by a C language function
+which has the following prototype:
+
+@example
+int rtems_shell_rtems_main_sema(
+ int argc,
+ char **argv
+);
+@end example
+
+The configuration structure for the @code{COMMAND} has the
+following prototype:
+
+@example
+extern rtems_shell_cmd_t rtems_shell_SEMA_Command;
+@end example
+
+@c
+@c
+@c
+@page
+@subsection region - display information about regions
+
+@pgindex region
+
+@subheading SYNOPSYS:
+
+region [id [id ... ] ]
+
+@subheading DESCRIPTION:
+
+This command XXX
+
+@subheading NOTES:
+
+NONE
+
+@subheading EXAMPLES:
+
+The following is an example of how to use region:
+
+@example
+EXAMPLE_TBD
+@end example
+
+@subheading CONFIGURATION:
+
+@findex CONFIGURE_SHELL_NO_COMMAND_REGION
+@findex CONFIGURE_SHELL_COMMAND_REGION
+
+In order to disable this command out if you are configuring all commands,
+define @code{CONFIGURE_SHELL_NO_COMMAND_REGION}.
+
+In order to enable this command if you are building a custom command set
+define @code{CONFIGURE_SHELL_COMMAND_REGION}.
+
+
+@subheading PROGRAMMING INFORMATION:
+
+@findex rtems_shell_rtems_main_region
+
+The @code{COMMAND} is implemented by a C language function
+which has the following prototype:
+
+@example
+int rtems_shell_rtems_main_region(
+ int argc,
+ char **argv
+);
+@end example
+
+The configuration structure for the @code{COMMAND} has the
+following prototype:
+
+@example
+extern rtems_shell_cmd_t rtems_shell_REGION_Command;
+@end example
+
+@c
+@c
+@c
+@page
+@subsection part - display information about partitions
+
+@pgindex part
+
+@subheading SYNOPSYS:
+
+part [id [id ... ] ]
+
+@subheading DESCRIPTION:
+
+This command XXX
+
+@subheading NOTES:
+
+NONE
+
+@subheading EXAMPLES:
+
+The following is an example of how to use part:
+
+@example
+EXAMPLE_TBD
+@end example
+
+@subheading CONFIGURATION:
+
+@findex CONFIGURE_SHELL_NO_COMMAND_PART
+@findex CONFIGURE_SHELL_COMMAND_PART
+
+In order to disable this command out if you are configuring all commands,
+define @code{CONFIGURE_SHELL_NO_COMMAND_PART}.
+
+In order to enable this command if you are building a custom command set
+define @code{CONFIGURE_SHELL_COMMAND_PART}.
+
+
+@subheading PROGRAMMING INFORMATION:
+
+@findex rtems_shell_rtems_main_part
+
+The @code{COMMAND} is implemented by a C language function
+which has the following prototype:
+
+@example
+int rtems_shell_rtems_main_part(
+ int argc,
+ char **argv
+);
+@end example
+
+The configuration structure for the @code{COMMAND} has the
+following prototype:
+
+@example
+extern rtems_shell_cmd_t rtems_shell_PART_Command;
+@end example
+
+@c
+@c
+@c
+@page
+@subsection object - display information about rtems objects
+
+@pgindex object
+
+@subheading SYNOPSYS:
+
+object [id [id ...] ]
+
+@subheading DESCRIPTION:
+
+This command XXX
+
+@subheading NOTES:
+
+NONE
+
+@subheading EXAMPLES:
+
+The following is an example of how to use object:
+
+@example
+EXAMPLE_TBD
+@end example
+
+@subheading CONFIGURATION:
+
+@findex CONFIGURE_SHELL_NO_COMMAND_OBJECT
+@findex CONFIGURE_SHELL_COMMAND_OBJECT
+
+In order to disable this command out if you are configuring all commands,
+define @code{CONFIGURE_SHELL_NO_COMMAND_OBJECT}.
+
+In order to enable this command if you are building a custom command set
+define @code{CONFIGURE_SHELL_COMMAND_OBJECT}.
+
+
+@subheading PROGRAMMING INFORMATION:
+
+@findex rtems_shell_rtems_main_object
+
+The @code{COMMAND} is implemented by a C language function
+which has the following prototype:
+
+@example
+int rtems_shell_rtems_main_object(
+ int argc,
+ char **argv
+);
+@end example
+
+The configuration structure for the @code{COMMAND} has the
+following prototype:
+
+@example
+extern rtems_shell_cmd_t rtems_shell_OBJECT_Command;
+@end example
+
+@c
+@c
+@c
+@page
+@subsection driver - display the rtems device driver table
+
+@pgindex driver
+
+@subheading SYNOPSYS:
+
+driver [ major [ major ... ] ]
+
+@subheading DESCRIPTION:
+
+This command XXX
+
+@subheading NOTES:
+
+NONE
+
+@subheading EXAMPLES:
+
+The following is an example of how to use driver:
+
+@example
+EXAMPLE_TBD
+@end example
+
+@subheading CONFIGURATION:
+
+@findex CONFIGURE_SHELL_NO_COMMAND_DRIVER
+@findex CONFIGURE_SHELL_COMMAND_DRIVER
+
+In order to disable this command out if you are configuring all commands,
+define @code{CONFIGURE_SHELL_NO_COMMAND_DRIVER}.
+
+In order to enable this command if you are building a custom command set
+define @code{CONFIGURE_SHELL_COMMAND_DRIVER}.
+
+
+@subheading PROGRAMMING INFORMATION:
+
+@findex rtems_shell_rtems_main_driver
+
+The @code{COMMAND} is implemented by a C language function
+which has the following prototype:
+
+@example
+int rtems_shell_rtems_main_driver(
+ int argc,
+ char **argv
+);
+@end example
+
+The configuration structure for the @code{COMMAND} has the
+following prototype:
+
+@example
+extern rtems_shell_cmd_t rtems_shell_DRIVER_Command;
+@end example
+
+@c
+@c
+@c
+@page
+@subsection dname - displays information about named drivers
+
+@pgindex dname
+
+@subheading SYNOPSYS:
+
+dname
+
+@subheading DESCRIPTION:
+
+This command XXX
+
+@subheading NOTES:
+
+NONE
+
+@subheading EXAMPLES:
+
+The following is an example of how to use dname:
+
+@example
+EXAMPLE_TBD
+@end example
+
+@subheading CONFIGURATION:
+
+@findex CONFIGURE_SHELL_NO_COMMAND_DNAME
+@findex CONFIGURE_SHELL_COMMAND_DNAME
+
+In order to disable this command out if you are configuring all commands,
+define @code{CONFIGURE_SHELL_NO_COMMAND_DNAME}.
+
+In order to enable this command if you are building a custom command set
+define @code{CONFIGURE_SHELL_COMMAND_DNAME}.
+
+
+@subheading PROGRAMMING INFORMATION:
+
+@findex rtems_shell_rtems_main_dname
+
+The @code{COMMAND} is implemented by a C language function
+which has the following prototype:
+
+@example
+int rtems_shell_rtems_main_dname(
+ int argc,
+ char **argv
+);
+@end example
+
+The configuration structure for the @code{COMMAND} has the
+following prototype:
+
+@example
+extern rtems_shell_cmd_t rtems_shell_DNAME_Command;
+@end example
+
diff --git a/doc/shell/shell.texi b/doc/shell/shell.texi
new file mode 100644
index 0000000000..af6067eb2b
--- /dev/null
+++ b/doc/shell/shell.texi
@@ -0,0 +1,113 @@
+\input texinfo @c -*-texinfo-*-
+@c %**start of header
+@setfilename shell.info
+@syncodeindex vr fn
+@synindex ky cp
+@paragraphindent 0
+@c %**end of header
+
+@c
+@c COPYRIGHT (c) 1988-2008.
+@c On-Line Applications Research Corporation (OAR).
+@c All rights reserved.
+@c
+@c $Id$
+@c
+
+@c
+@c Master file for the Shell User's Guide
+@c
+
+@c Joel's Questions
+@c
+@c 1. Why does paragraphindent only impact makeinfo?
+@c 2. Why does paragraphindent show up in HTML?
+@c
+
+@include version.texi
+@include common/setup.texi
+@include common/rtems.texi
+
+@ifset use-ascii
+@dircategory RTEMS Shell On-Line Manual
+@direntry
+* RTEMS Shell: (shell). The RTEMS Shell User's Guide.
+@end direntry
+@end ifset
+
+@c @syncodeindex fn cp
+
+@c
+@c Title Page Stuff
+@c
+
+@c
+@c I don't really like having a short title page. --joel
+@c
+@c @shorttitlepage RTEMS Shell User's Guide
+
+@setchapternewpage odd
+@settitle RTEMS Shell User's Guide
+@titlepage
+@finalout
+
+@title RTEMS Shell User's Guide
+@subtitle Edition @value{EDITION}, for RTEMS @value{VERSION}
+@sp 1
+@subtitle @value{UPDATED}
+@author On-Line Applications Research Corporation
+@page
+@include common/cpright.texi
+@end titlepage
+
+@c This prevents a black box from being printed on "overflow" lines.
+@c The alternative is to rework a sentence to avoid this problem.
+
+@contents
+
+@include preface.texi
+@include general.texi
+@include file.texi
+@include memory.texi
+@include rtems.texi
+@include network.texi
+@ifinfo
+@node Top, Preface, (dir), (dir)
+@top shell
+
+This is the online version of the RTEMS Shell User's Guide.
+
+@menu
+* Preface::
+* General Commands::
+* File and Directory Commands::
+* Memory Commands::
+* RTEMS Commands::
+* Network Commands::
+* Function and Variable Index::
+* Concept Index::
+* Command Index::
+@end menu
+
+@end ifinfo
+@c
+@c
+@c Need to copy the emacs stuff and "trailer stuff" (index, toc) into here
+@c
+
+@node Function and Variable Index, Concept Index, , Top
+@unnumbered Function and Variable Index
+@printindex fn
+
+@c There are currently no Command and Variable Index entries.
+
+@node Concept Index, Command Index, Function and Variable Index, Top
+@unnumbered Concept Index
+@printindex cp
+
+@node Command Index, , Concept Index, Top
+@unnumbered Command Index
+@printindex pg
+
+@bye
+