diff options
Diffstat (limited to '')
-rw-r--r-- | tools/schedsim/shell/shared/main_help.c | 150 |
1 files changed, 0 insertions, 150 deletions
diff --git a/tools/schedsim/shell/shared/main_help.c b/tools/schedsim/shell/shared/main_help.c deleted file mode 100644 index 1938b1c58e..0000000000 --- a/tools/schedsim/shell/shared/main_help.c +++ /dev/null @@ -1,150 +0,0 @@ -/* - * Shell Help Command - * - * COPYRIGHT (c) 1989-2010. - * 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$ - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include <stdio.h> -#include <time.h> -#include <string.h> - -#include "shell.h" -#include <schedsim_shell.h> - -/* - * show the help for one command. - */ -int rtems_shell_help_cmd( - rtems_shell_cmd_t *shell_cmd -) -{ - const char * pc; - int col,line; - - printf("%-20.20s - ",shell_cmd->name); - col = 14; - line = 1; - if (shell_cmd->alias) { - printf("is an <alias> for command '%s'",shell_cmd->alias->name); - } else if (shell_cmd->usage) { - pc = shell_cmd->usage; - while (*pc) { - switch(*pc) { - case '\r': - break; - case '\n': - putchar('\n'); - col = 0; - break; - default: - putchar(*pc); - col++; - break; - } - pc++; - if (col>78) { /* What daring... 78?*/ - if (*pc) { - putchar('\n'); - col = 0; - } - } - if (!col && *pc) { - printf(" "); - col = 12;line++; - } - } - } - puts(""); - return line; -} - -/* - * show the help. The first command implemented. - * Can you see the header of routine? Known? - * The same with all the commands.... - */ -int rtems_shell_help( - int argc, - char * argv[] -) -{ - int col,line,arg; - rtems_shell_topic_t *topic; - rtems_shell_cmd_t * shell_cmd = rtems_shell_first_cmd; - - if (argc<2) { - printf("help: ('r' repeat last cmd - 'e' edit last cmd)\n" - " TOPIC? The topics are\n"); - topic = rtems_shell_first_topic; - col = 0; - while (topic) { - if (!col){ - col = printf(" %s",topic->topic); - } else { - if ((col+strlen(topic->topic)+2)>78){ - printf("\n"); - col = printf(" %s",topic->topic); - } else { - col+= printf(", %s",topic->topic); - } - } - topic = topic->next; - } - printf("\n"); - return 1; - } - line = 0; - for (arg = 1;arg<argc;arg++) { - if (line>16) { - printf("Press any key to continue...");getchar(); - printf("\n"); - line = 0; - } - topic = rtems_shell_lookup_topic(argv[arg]); - if (!topic){ - if ((shell_cmd = rtems_shell_lookup_cmd(argv[arg])) == NULL) { - printf("help: topic or cmd '%s' not found. Try <help> alone for a list\n", - argv[arg]); - line++; - } else { - line+= rtems_shell_help_cmd(shell_cmd); - } - continue; - } - printf("help: list for the topic '%s'\n",argv[arg]); - line++; - while (shell_cmd) { - if (!strcmp(topic->topic,shell_cmd->topic)) - line+= rtems_shell_help_cmd(shell_cmd); - if (line>16) { - printf("Press any key to continue..."); - getchar(); - printf("\n"); - line = 0; - } - shell_cmd = shell_cmd->next; - } - } - puts(""); - return 0; -} - -rtems_shell_cmd_t rtems_shell_HELP_Command = { - "help", /* name */ - "help [topic] # list of usage of commands", /* usage */ - "help", /* topic */ - rtems_shell_help, /* command */ - NULL, /* alias */ - NULL /* next */ -}; |