diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2001-04-20 20:35:45 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2001-04-20 20:35:45 +0000 |
commit | dd74e612f1ffe208ad1e20f28ac4da3f08764879 (patch) | |
tree | 52d3f65d7197ccbe922d6c2e5b211da8be2ec552 /cpukit/libmisc/shell/shell.h | |
parent | 2001-04-20 Radzislaw Galler <rgaller@et.put.poznan.pl> (diff) | |
download | rtems-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.h | 72 |
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 |