diff options
Diffstat (limited to 'cpukit/libmisc/shell/shell.h')
-rw-r--r-- | cpukit/libmisc/shell/shell.h | 60 |
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( |