summaryrefslogtreecommitdiffstats
path: root/cpukit
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2009-02-19 18:54:00 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2009-02-19 18:54:00 +0000
commit4e54befe7b96360378df3a5367e8af946780ef44 (patch)
tree7a7413c47d703779f67ae314b671c872d6834ecd /cpukit
parentRegenerate. (diff)
downloadrtems-4e54befe7b96360378df3a5367e8af946780ef44.tar.bz2
2009-02-19 Joel Sherrill <joel.sherrill@oarcorp.com>
* libmisc/Makefile.am, libmisc/shell/shellconfig.h: Add halt command to shell which results in the shutting RTEMS down. * libmisc/shell/main_halt.c: New file.
Diffstat (limited to 'cpukit')
-rw-r--r--cpukit/ChangeLog6
-rw-r--r--cpukit/libmisc/Makefile.am12
-rw-r--r--cpukit/libmisc/shell/main_halt.c41
-rw-r--r--cpukit/libmisc/shell/shellconfig.h6
4 files changed, 59 insertions, 6 deletions
diff --git a/cpukit/ChangeLog b/cpukit/ChangeLog
index 97d69f6aab..3e16c90c9a 100644
--- a/cpukit/ChangeLog
+++ b/cpukit/ChangeLog
@@ -1,3 +1,9 @@
+2009-02-19 Joel Sherrill <joel.sherrill@oarcorp.com>
+
+ * libmisc/Makefile.am, libmisc/shell/shellconfig.h: Add halt command to
+ shell which results in the shutting RTEMS down.
+ * libmisc/shell/main_halt.c: New file.
+
2009-02-17 Joel Sherrill <joel.sherrill@OARcorp.com>
PR 1377/shell
diff --git a/cpukit/libmisc/Makefile.am b/cpukit/libmisc/Makefile.am
index 55ce5cc14a..6bf7c40531 100644
--- a/cpukit/libmisc/Makefile.am
+++ b/cpukit/libmisc/Makefile.am
@@ -68,13 +68,13 @@ libshell_a_SOURCES = shell/cat_file.c shell/cmds.c shell/internal.h \
shell/main_alias.c shell/main_cat.c shell/main_cd.c shell/cmp-ls.c \
shell/main_chdir.c shell/main_chmod.c shell/main_chroot.c \
shell/main_cp.c shell/main_cpuuse.c shell/main_date.c shell/main_dir.c \
- shell/main_echo.c shell/main_exit.c shell/main_help.c shell/main_id.c \
- shell/main_logoff.c shell/main_ls.c shell/main_mallocinfo.c \
- shell/main_mdump.c shell/main_medit.c shell/main_mfill.c \
- shell/main_mkdir.c shell/main_mount.c \
+ shell/main_echo.c shell/main_exit.c shell/main_halt.c shell/main_help.c \
+ shell/main_id.c shell/main_logoff.c shell/main_ls.c \
+ shell/main_mallocinfo.c shell/main_mdump.c shell/main_medit.c \
+ shell/main_mfill.c shell/main_mkdir.c shell/main_mount.c \
shell/main_mount_msdos.c shell/main_mmove.c shell/main_msdosfmt.c \
- shell/main_mv.c shell/main_mwdump.c shell/main_perioduse.c shell/main_pwd.c \
- shell/main_rm.c shell/main_rmdir.c shell/main_sleep.c \
+ shell/main_mv.c shell/main_mwdump.c shell/main_perioduse.c \
+ shell/main_pwd.c shell/main_rm.c shell/main_rmdir.c shell/main_sleep.c \
shell/main_stackuse.c shell/main_tty.c shell/main_umask.c \
shell/main_unmount.c shell/main_blksync.c shell/main_whoami.c \
shell/shell.c shell/shell_cmdset.c shell/shell_getchar.c \
diff --git a/cpukit/libmisc/shell/main_halt.c b/cpukit/libmisc/shell/main_halt.c
new file mode 100644
index 0000000000..060a74695a
--- /dev/null
+++ b/cpukit/libmisc/shell/main_halt.c
@@ -0,0 +1,41 @@
+/*
+ * Halt Command Implementation
+ *
+ * Author: Fernando RUIZ CASAS
+ * Work: fernando.ruiz@ctv.es
+ * Home: correo@fernando-ruiz.com
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.rtems.com/license/LICENSE.
+ *
+ * $Id$
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <stdlib.h>
+
+#include <rtems.h>
+#include <rtems/shell.h>
+#include "internal.h"
+
+int rtems_shell_main_halt(
+ int argc __attribute__((unused)),
+ char *argv[] __attribute__((unused))
+)
+{
+ exit(0);
+ return 0;
+}
+
+rtems_shell_cmd_t rtems_shell_HALT_Command = {
+ "halt", /* name */
+ "halt", /* usage */
+ "rtems", /* topic */
+ rtems_shell_main_halt, /* command */
+ NULL, /* alias */
+ NULL /* next */
+};
diff --git a/cpukit/libmisc/shell/shellconfig.h b/cpukit/libmisc/shell/shellconfig.h
index 8b34cd04d4..f064617b06 100644
--- a/cpukit/libmisc/shell/shellconfig.h
+++ b/cpukit/libmisc/shell/shellconfig.h
@@ -54,6 +54,7 @@ extern rtems_shell_cmd_t rtems_shell_MOUNT_Command;
extern rtems_shell_cmd_t rtems_shell_UNMOUNT_Command;
extern rtems_shell_cmd_t rtems_shell_BLKSYNC_Command;
+extern rtems_shell_cmd_t rtems_shell_HALT_Command;
extern rtems_shell_cmd_t rtems_shell_CPUUSE_Command;
extern rtems_shell_cmd_t rtems_shell_STACKUSE_Command;
extern rtems_shell_cmd_t rtems_shell_PERIODUSE_Command;
@@ -305,6 +306,11 @@ extern rtems_shell_filesystems_t *rtems_shell_Mount_filesystems[];
* RTEMS Related commands
*/
#if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
+ !defined(CONFIGURE_SHELL_NO_COMMAND_HALT)) || \
+ defined(CONFIGURE_SHELL_COMMAND_HALT)
+ &rtems_shell_HALT_Command,
+ #endif
+ #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
!defined(CONFIGURE_SHELL_NO_COMMAND_CPUUSE)) || \
defined(CONFIGURE_SHELL_COMMAND_CPUUSE)
&rtems_shell_CPUUSE_Command,