summaryrefslogtreecommitdiffstats
path: root/cpukit/libmisc/shell/shellconfig.h
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2007-12-10 23:14:35 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2007-12-10 23:14:35 +0000
commit4e5299ffc4753255b53ec542050761d07ae0f813 (patch)
tree342f9041b753e865bbe2f4cdbd215b4a165e86de /cpukit/libmisc/shell/shellconfig.h
parent2007-12-10 Joel Sherrill <joel.sherrill@oarcorp.com> (diff)
downloadrtems-4e5299ffc4753255b53ec542050761d07ae0f813.tar.bz2
2007-12-10 Joel Sherrill <joel.sherrill@oarcorp.com>
* ChangeLog, preinstall.am, libmisc/Makefile.am, libmisc/shell/cmds.c, libmisc/shell/shell.c, libmisc/shell/shell.h: Split shell commands into multiple files and add initial stages of command configuration. This seems to work but the monitor commands need to be integrated this way and the ability to configure user commands needs to be tested. * libmisc/shell/cat_file.c, libmisc/shell/cmd_alias.c, libmisc/shell/cmd_cat.c, libmisc/shell/cmd_cd.c, libmisc/shell/cmd_chdir.c, libmisc/shell/cmd_chmod.c, libmisc/shell/cmd_chroot.c, libmisc/shell/cmd_date.c, libmisc/shell/cmd_dir.c, libmisc/shell/cmd_exit.c, libmisc/shell/cmd_help.c, libmisc/shell/cmd_id.c, libmisc/shell/cmd_logoff.c, libmisc/shell/cmd_ls.c, libmisc/shell/cmd_mallocdump.c, libmisc/shell/cmd_mdump.c, libmisc/shell/cmd_medit.c, libmisc/shell/cmd_mfill.c, libmisc/shell/cmd_mkdir.c, libmisc/shell/cmd_mmove.c, libmisc/shell/cmd_mwdump.c, libmisc/shell/cmd_pwd.c, libmisc/shell/cmd_rm.c, libmisc/shell/cmd_rmdir.c, libmisc/shell/cmd_tty.c, libmisc/shell/cmd_umask.c, libmisc/shell/cmd_whoami.c, libmisc/shell/internal.h, libmisc/shell/shellconfig.c, libmisc/shell/shellconfig.h, libmisc/shell/str2int.c: New files.
Diffstat (limited to 'cpukit/libmisc/shell/shellconfig.h')
-rw-r--r--cpukit/libmisc/shell/shellconfig.h197
1 files changed, 197 insertions, 0 deletions
diff --git a/cpukit/libmisc/shell/shellconfig.h b/cpukit/libmisc/shell/shellconfig.h
new file mode 100644
index 0000000000..27ca834c25
--- /dev/null
+++ b/cpukit/libmisc/shell/shellconfig.h
@@ -0,0 +1,197 @@
+/*
+ * RTEMS Shell Command Set Configuration
+ *
+ * COPYRIGHT (c) 1989-2007.
+ * On-Line Applications Research Corporation (OAR).
+ *
+ * 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$
+ */
+
+#ifndef _RTEMS_SHELL_CONFIG_h
+#define _RTEMS_SHELL_CONFIG_h
+
+#include <rtems/shell.h>
+
+/*
+ * Externs for all command definition structures
+ */
+extern shell_cmd_t Shell_HELP_Command;
+extern shell_cmd_t Shell_ALIAS_Command;
+extern shell_cmd_t Shell_LOGOFF_Command;
+
+extern shell_cmd_t Shell_MDUMP_Command;
+extern shell_cmd_t Shell_WDUMP_Command;
+extern shell_cmd_t Shell_MEDIT_Command;
+extern shell_cmd_t Shell_MFILL_Command;
+extern shell_cmd_t Shell_MMOVE_Command;
+
+extern shell_cmd_t Shell_DATE_Command;
+extern shell_cmd_t Shell_ID_Command;
+extern shell_cmd_t Shell_TTY_Command;
+extern shell_cmd_t Shell_WHOAMI_Command;
+
+extern shell_cmd_t Shell_PWD_Command;
+extern shell_cmd_t Shell_LS_Command;
+extern shell_cmd_t Shell_CHDIR_Command;
+extern shell_cmd_t Shell_MKDIR_Command;
+extern shell_cmd_t Shell_RMDIR_Command;
+extern shell_cmd_t Shell_CHROOT_Command;
+extern shell_cmd_t Shell_CHMOD_Command;
+extern shell_cmd_t Shell_CAT_Command;
+extern shell_cmd_t Shell_RM_Command;
+extern shell_cmd_t Shell_UMASK_Command;
+
+extern shell_cmd_t Shell_MALLOC_DUMP_Command;
+
+extern shell_cmd_t *Shell_Initial_commands[];
+
+/*
+ * Extern for alias commands
+ */
+extern shell_alias_t Shell_DIR_Alias;
+extern shell_alias_t Shell_CD_Alias;
+extern shell_alias_t Shell_EXIT_Alias;
+
+extern shell_alias_t *Shell_Initial_aliases[];
+
+/*
+ * If we are configured to alias a command, then make sure the underlying command
+ * is configured.
+ */
+
+#if !defined(CONFIGURE_SHELL_COMMANDS_ALL)
+ #if defined(CONFIGURE_SHELL_COMMANDS_DIR) && !defined(CONFIGURE_SHELL_COMMANDS_LS)
+ #define CONFIGURE_SHELL_COMMANDS_LS
+ #endif
+
+ #if defined(CONFIGURE_SHELL_COMMANDS_CD) && !defined(CONFIGURE_SHELL_COMMANDS_CHDIR)
+ #define CONFIGURE_SHELL_COMMANDS_CHDIR
+ #endif
+
+ #if defined(CONFIGURE_SHELL_COMMANDS_EXIT) && !defined(CONFIGURE_SHELL_COMMANDS_LOGOFF)
+ #define CONFIGURE_SHELL_COMMANDS_LOGOFF
+ #endif
+#endif
+
+#if defined(CONFIGURE_SHELL_COMMANDS_INIT)
+ shell_alias_t *Shell_Initial_aliases[] = {
+ #if defined(CONFIGURE_SHELL_COMMANDS_ALL) || defined(CONFIGURE_SHELL_COMMANDS_DIR)
+ &Shell_DIR_Alias,
+ #endif
+ #if defined(CONFIGURE_SHELL_COMMANDS_ALL) || defined(CONFIGURE_SHELL_COMMANDS_CD)
+ &Shell_CD_Alias,
+ #endif
+ #if defined(CONFIGURE_SHELL_COMMANDS_ALL) || defined(CONFIGURE_SHELL_COMMANDS_EXIT)
+ &Shell_EXIT_Alias,
+ #endif
+
+ /*
+ * User defined shell aliases
+ */
+ #if defined(CONFIGURE_SHELL_USER_ALIASES)
+ CONFIGURE_SHELL_USER_ALIASES
+ #endif
+ NULL
+ };
+
+ shell_cmd_t *Shell_Initial_commands[] = {
+ /*
+ * General comamnds that should be present
+ */
+ &Shell_HELP_Command,
+ &Shell_ALIAS_Command,
+
+ /*
+ * Common commands that can be optional
+ */
+ #if defined(CONFIGURE_SHELL_COMMANDS_ALL) || defined(CONFIGURE_SHELL_COMMAND_DATE)
+ &Shell_DATE_Command,
+ #endif
+ #if defined(CONFIGURE_SHELL_COMMANDS_ALL) || defined(CONFIGURE_SHELL_COMMAND_ID)
+ &Shell_ID_Command,
+ #endif
+ #if defined(CONFIGURE_SHELL_COMMANDS_ALL) || defined(CONFIGURE_SHELL_COMMAND_TTY)
+ &Shell_TTY_Command,
+ #endif
+ #if defined(CONFIGURE_SHELL_COMMANDS_ALL) || defined(CONFIGURE_SHELL_COMMAND_WHOAMI)
+ &Shell_WHOAMI_Command,
+ #endif
+ #if defined(CONFIGURE_SHELL_COMMANDS_ALL) || defined(CONFIGURE_SHELL_COMMAND_LOGOFF)
+ &Shell_LOGOFF_Command,
+ #endif
+
+ /*
+ * Memory printing/modification family commands
+ */
+ #if defined(CONFIGURE_SHELL_COMMANDS_ALL) || defined(CONFIGURE_SHELL_COMMAND_MDUMP)
+ &Shell_MDUMP_Command,
+ #endif
+ #if defined(CONFIGURE_SHELL_COMMANDS_ALL) || defined(CONFIGURE_SHELL_COMMAND_WDUMP)
+ &Shell_WDUMP_Command,
+ #endif
+ #if defined(CONFIGURE_SHELL_COMMANDS_ALL) || defined(CONFIGURE_SHELL_COMMAND_MEDIT)
+ &Shell_MEDIT_Command,
+ #endif
+ #if defined(CONFIGURE_SHELL_COMMANDS_ALL) || defined(CONFIGURE_SHELL_COMMAND_MFILL)
+ &Shell_MFILL_Command,
+ #endif
+ #if defined(CONFIGURE_SHELL_COMMANDS_ALL) || defined(CONFIGURE_SHELL_COMMAND_MMOVE)
+ &Shell_MMOVE_Command,
+ #endif
+
+ /*
+ * File and directory commands
+ */
+ #if defined(CONFIGURE_SHELL_COMMANDS_ALL) || defined(CONFIGURE_SHELL_COMMAND_PWD)
+ &Shell_PWD_Command,
+ #endif
+ #if defined(CONFIGURE_SHELL_COMMANDS_ALL) || defined(CONFIGURE_SHELL_COMMAND_LS)
+ &Shell_LS_Command,
+ #endif
+ #if defined(CONFIGURE_SHELL_COMMANDS_ALL) || defined(CONFIGURE_SHELL_COMMAND_CHDIR)
+ &Shell_CHDIR_Command,
+ #endif
+ #if defined(CONFIGURE_SHELL_COMMANDS_ALL) || defined(CONFIGURE_SHELL_COMMAND_MKDIR)
+ &Shell_MKDIR_Command,
+ #endif
+ #if defined(CONFIGURE_SHELL_COMMANDS_ALL) || defined(CONFIGURE_SHELL_COMMAND_RMDIR)
+ &Shell_RMDIR_Command,
+ #endif
+ #if defined(CONFIGURE_SHELL_COMMANDS_ALL) || defined(CONFIGURE_SHELL_COMMAND_CHROOT)
+ &Shell_CHROOT_Command,
+ #endif
+ #if defined(CONFIGURE_SHELL_COMMANDS_ALL) || defined(CONFIGURE_SHELL_COMMAND_CHMOD)
+ &Shell_CHMOD_Command,
+ #endif
+ #if defined(CONFIGURE_SHELL_COMMANDS_ALL) || defined(CONFIGURE_SHELL_COMMAND_CAT)
+ &Shell_CAT_Command,
+ #endif
+ #if defined(CONFIGURE_SHELL_COMMANDS_ALL) || defined(CONFIGURE_SHELL_COMMAND_RM)
+ &Shell_RM_Command,
+ #endif
+ #if defined(CONFIGURE_SHELL_COMMANDS_ALL) || defined(CONFIGURE_SHELL_COMMAND_UMASK)
+ &Shell_UMASK_Command,
+ #endif
+
+ /*
+ * Malloc family commands
+ */
+ #if defined(CONFIGURE_SHELL_COMMANDS_ALL) || defined(CONFIGURE_SHELL_COMMAND_MALLOC_DUMP)
+ &Shell_MALLOC_DUMP_Command,
+ #endif
+
+ /*
+ * User defined shell commands
+ */
+ #if defined(CONFIGURE_SHELL_USER_COMMANDS)
+ CONFIGURE_SHELL_USER_COMMANDS
+ #endif
+ NULL
+ };
+#endif
+
+#endif