diff options
Diffstat (limited to '')
-rw-r--r-- | cpukit/libmisc/capture/capture.h | 2 | ||||
-rw-r--r-- | cpukit/libmisc/shell/shell.c | 4 | ||||
-rw-r--r-- | cpukit/libmisc/shell/shell.h | 15 |
3 files changed, 19 insertions, 2 deletions
diff --git a/cpukit/libmisc/capture/capture.h b/cpukit/libmisc/capture/capture.h index 11b9835e93..558beaaa5d 100644 --- a/cpukit/libmisc/capture/capture.h +++ b/cpukit/libmisc/capture/capture.h @@ -121,7 +121,7 @@ typedef struct rtems_capture_control_s RTEMS_CAPTURE_EXITTED) /** - * rtems_capture_control_t + * rtems_capture_task_t * * DESCRIPTION: * diff --git a/cpukit/libmisc/shell/shell.c b/cpukit/libmisc/shell/shell.c index cd2dc7c899..6eff7adaae 100644 --- a/cpukit/libmisc/shell/shell.c +++ b/cpukit/libmisc/shell/shell.c @@ -599,7 +599,9 @@ rtems_boolean shell_shell_loop( term.c_oflag &= ~OPOST; term.c_oflag |= (OPOST|ONLCR); /* But with cr+nl on output */ term.c_lflag &= ~(ECHO|ECHONL|ICANON|ISIG|IEXTEN); - term.c_cflag = CLOCAL | CREAD |(shell_env->tcflag); + if (shell_env->tcflag) + term.c_cflag = shell_env->tcflag; + term.c_cflag |= CLOCAL | CREAD; term.c_cc[VMIN] = 1; term.c_cc[VTIME] = 0; if (tcsetattr (fileno(stdin), TCSADRAIN, &term) < 0) { diff --git a/cpukit/libmisc/shell/shell.h b/cpukit/libmisc/shell/shell.h index 3cce16acb3..4e4cb96044 100644 --- a/cpukit/libmisc/shell/shell.h +++ b/cpukit/libmisc/shell/shell.h @@ -69,6 +69,21 @@ int shell_scanline(char * line,int size,FILE * in,FILE * out) ; void cat_file(FILE * out,char *name); void write_file(char *name,char * content); +/** + * Initialise the shell creating tasks to login and run the shell + * sessions. + * + * @param task_name Name of the shell task. + * @param task_stacksize The size of the stack. If 0 the default size is used. + * @param task_priority The priority the shell runs at. + * @param tcflag The termios c_cflag value. If 0 the default is used, if + * not 0 the value is ORed with CLOCAL and CREAD. + * @param forever Repeat logins. + * + * @todo CCJ I am not sure this termios flag setting is a good idea. The shell + * needs to adjust the termios for its use but it should assume the + * settings are set by the user for things like baudrate etc. + */ rtems_status_code shell_init( char *task_name, uint32_t task_stacksize, /*0 default*/ |