summaryrefslogtreecommitdiffstats
path: root/cpukit/libmisc/shell/shell.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/libmisc/shell/shell.h')
-rw-r--r--cpukit/libmisc/shell/shell.h83
1 files changed, 50 insertions, 33 deletions
diff --git a/cpukit/libmisc/shell/shell.h b/cpukit/libmisc/shell/shell.h
index 4e4cb96044..e901cb9c5d 100644
--- a/cpukit/libmisc/shell/shell.h
+++ b/cpukit/libmisc/shell/shell.h
@@ -29,41 +29,46 @@ extern "C" {
typedef int (*shell_command_t)(int argc,char * argv[]);
-struct shell_cmd_tt ;
+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;
+ char *name;
+ char *usage;
+ char *topic;
+ shell_command_t command;
+ shell_cmd_t *alias;
+ shell_cmd_t *next;
};
-uint32_t new_rtems_name(char * rtems_name);
+typedef struct {
+ char *name;
+ char *alias;
+} shell_alias_t;
+
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[]);
+shell_cmd_t *shell_add_cmd_struct(
+ shell_cmd_t *shell_cmd
+);
-typedef struct {
- rtems_name magic; /* 'S','E','N','V': Shell Environment */
- char * devname;
- char * taskname;
- tcflag_t tcflag;
- /* user extensions */
- int exit_shell; /* logout */
- int forever ; /* repeat login */
- int errorlevel;
- int mdump_adr;
-} shell_env_t;
+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[]
+);
int shell_scanline(char * line,int size,FILE * in,FILE * out) ;
void cat_file(FILE * out,char *name);
@@ -93,6 +98,24 @@ rtems_status_code shell_init(
int forever
);
+/*
+ * Things that are useful to external entities developing commands and plugging
+ * them in.
+ */
+int str2int(char * s);
+
+typedef struct {
+ rtems_name magic; /* 'S','E','N','V': Shell Environment */
+ char *devname;
+ char *taskname;
+ tcflag_t tcflag;
+ /* user extensions */
+ int exit_shell; /* logout */
+ int forever ; /* repeat login */
+ int errorlevel;
+ uintptr_t mdump_addr;
+} shell_env_t;
+
rtems_boolean shell_shell_loop(
shell_env_t *shell_env
);
@@ -100,12 +123,6 @@ rtems_boolean shell_shell_loop(
extern shell_env_t global_shell_env;
extern shell_env_t *current_shell_env;
-/*--------*/
-/* cmds.c */
-/*--------*/
-int str2int(char * s);
-void register_cmds(void);
-
#ifdef __cplusplus
}
#endif