summaryrefslogtreecommitdiffstats
path: root/cpukit/libmisc/shell/shell.h
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2001-04-20 20:35:45 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2001-04-20 20:35:45 +0000
commitdd74e612f1ffe208ad1e20f28ac4da3f08764879 (patch)
tree52d3f65d7197ccbe922d6c2e5b211da8be2ec552 /cpukit/libmisc/shell/shell.h
parent2001-04-20 Radzislaw Galler <rgaller@et.put.poznan.pl> (diff)
downloadrtems-dd74e612f1ffe208ad1e20f28ac4da3f08764879.tar.bz2
2001-04-20 Correo Fernando-ruiz <correo@fernando-ruiz.com>
* Added initial shell functionality. * Makefile.am, configure.in, wrapup/Makefile.am: * shell/.cvsignore, shell/Makefile.am, shell/README, shell/cmds.c, shell/shell.c, shell/shell.h: New files.
Diffstat (limited to 'cpukit/libmisc/shell/shell.h')
-rw-r--r--cpukit/libmisc/shell/shell.h72
1 files changed, 72 insertions, 0 deletions
diff --git a/cpukit/libmisc/shell/shell.h b/cpukit/libmisc/shell/shell.h
new file mode 100644
index 0000000000..89c70506c4
--- /dev/null
+++ b/cpukit/libmisc/shell/shell.h
@@ -0,0 +1,72 @@
+/*
+ * $Id$
+ */
+
+#ifndef __SHELL_H__
+#define __SHELL_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <rtems.h>
+#include <stdio.h>
+#include <termios.h>
+
+typedef int (*shell_command_t)(int argc,char * argv[]);
+
+struct shell_cmd_tt ;
+typedef struct shell_cmd_tt shell_cmd_t;
+
+struct shell_cmd_tt {
+ char * name;
+ char * usage;
+ char * topic;
+ shell_command_t command;
+ shell_cmd_t * alias;
+ shell_cmd_t * next;
+};
+
+rtems_unsigned32 new_rtems_name(char * rtems_name);
+shell_cmd_t * shell_lookup_cmd(char * cmd);
+shell_cmd_t * shell_add_cmd(char * cmd,
+ char * topic,
+ char * usage,
+ shell_command_t command);
+shell_cmd_t * shell_alias_cmd(char * cmd, char * alias);
+
+int shell_make_args(char * cmd,
+ int * pargc,
+ char * argv[]);
+
+typedef struct {
+ rtems_name magic; /* 'S','E','N','V': Shell Environment */
+ char * devname;
+ char * taskname;
+ tcflag_t tcflag;
+ /* user extensions */
+ int errorlevel;
+ int mdump_adr;
+} shell_env_t;
+
+int shell_scanline(char * line,int size,FILE * in,FILE * out) ;
+
+rtems_status_code shell_init(char * task_name ,
+ rtems_unsigned32 task_stacksize,/*0 default*/
+ rtems_task_priority task_priority ,
+ char * devname ,
+ tcflag_t tcflag );
+
+extern shell_env_t global_shell_env,
+ * current_shell_env;
+/*--------*/
+/* cmds.c */
+/*--------*/
+int str2int(char * s);
+void register_cmds(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif