summaryrefslogtreecommitdiffstats
path: root/cpukit/libmisc/shell/shell.h
diff options
context:
space:
mode:
authorThomas Doerfler <Thomas.Doerfler@embedded-brains.de>2009-04-14 08:50:03 +0000
committerThomas Doerfler <Thomas.Doerfler@embedded-brains.de>2009-04-14 08:50:03 +0000
commitcbd1e8799f8bcd3e083ba5a1affa8267461f256a (patch)
treec752009784973066cca83c8e10b1cc80bd77cee9 /cpukit/libmisc/shell/shell.h
parentFixed return codes of open handler. (diff)
downloadrtems-cbd1e8799f8bcd3e083ba5a1affa8267461f256a.tar.bz2
adapt copyright statements
Diffstat (limited to 'cpukit/libmisc/shell/shell.h')
-rw-r--r--cpukit/libmisc/shell/shell.h60
1 files changed, 38 insertions, 22 deletions
diff --git a/cpukit/libmisc/shell/shell.h b/cpukit/libmisc/shell/shell.h
index 0df4cbec2b..333b03d977 100644
--- a/cpukit/libmisc/shell/shell.h
+++ b/cpukit/libmisc/shell/shell.h
@@ -24,7 +24,6 @@
#include <termios.h>
#include <rtems/fs.h>
#include <rtems/libio.h>
-#include <rtems/login.h>
#ifdef __cplusplus
extern "C" {
@@ -55,6 +54,23 @@ extern "C" {
#define RTEMS_SHELL_KEYS_F9 (16)
#define RTEMS_SHELL_KEYS_F10 (17)
+typedef bool (*rtems_shell_login_check_t)(
+ const char * /* user */,
+ const char * /* passphrase */
+);
+
+bool rtems_shell_login_prompt(
+ FILE *in,
+ FILE *out,
+ const char *device,
+ rtems_shell_login_check_t check
+);
+
+bool rtems_shell_login_check(
+ const char *user,
+ const char *passphrase
+);
+
typedef int (*rtems_shell_command_t)(int argc, char **argv);
struct rtems_shell_cmd_tt;
@@ -133,13 +149,13 @@ int rtems_shell_script_file(
*
*/
rtems_status_code rtems_shell_init(
- const char *task_name,
- size_t task_stacksize, /* 0 default*/
- rtems_task_priority task_priority,
- const char *devname,
- bool forever,
- bool wait,
- rtems_login_check login_check
+ const char *task_name,
+ size_t task_stacksize,
+ rtems_task_priority task_priority,
+ const char *devname,
+ bool forever,
+ bool wait,
+ rtems_shell_login_check_t login_check
);
/**
@@ -172,21 +188,21 @@ rtems_status_code rtems_shell_script(
*/
int rtems_shell_str2int(const char * s);
-typedef struct {
- rtems_name magic; /* 'S','E','N','V': Shell Environment */
- const char *devname;
- const char *taskname;
+typedef struct {
+ rtems_name magic; /* 'S','E','N','V': Shell Environment */
+ const char *devname;
+ const char *taskname;
/* user extensions */
- bool exit_shell; /* logout */
- bool forever; /* repeat login */
- int errorlevel;
- bool echo;
- char cwd[256];
- const char *input;
- const char *output;
- bool output_append;
- rtems_id wake_on_end;
- rtems_login_check login_check;
+ bool exit_shell; /* logout */
+ bool forever; /* repeat login */
+ int errorlevel;
+ bool echo;
+ char cwd [256];
+ const char *input;
+ const char *output;
+ bool output_append;
+ rtems_id wake_on_end;
+ rtems_shell_login_check_t login_check;
} rtems_shell_env_t;
bool rtems_shell_main_loop(