forked from Imagelibrary/rtems
* monitor/mon-prmisc.c: Correct print line. * shell/Makefile.am: Added new file telnetd.c. * shell/telnetd.c, shell/telnetd.h, shell/pty.c: New files. * shell/shell.c, shell/cmds.c, shell/shell.h: Numerous improvments: - The shell_init has a new parameter 'forever' because in /dev/console you need that this process runs forever but in tcp/ip not. (respawn?) - A new task for every session opened trought tcp/ip telnet client. (the chargen,daytime and more are possible of implementation but I ask me if they are necesary) - Exit from the session delete the task and when the client fails too. - More cmds have been implemented. (very reduced version of these) umask, chmod, id, whoami, rm, cat, ... - A reduced line edit has been implemented. Ctrl-C abort the input, Ctrl-d in the first position gives EOF (logout). '\b' and DEL makes the rubout operation. I think that readline() for every session spents a lot of resources.
#
# $Id$
#
This directory contains a shell user extension
primary features:
+ create a user shell terminal task.
This code has not been extensively tested. It is provided as a tool
for RTEMS users to open more shell terminal.
Suggestions and comments are appreciated.
NOTES:
1. printf() & getchar() works but you can't use
0,1,2 like fildes. You need to use fileno(stdin),fileno(stdout),...
2. You only need a termios dev to start a new session, add your new commands
and enjoy it.
3. If you have tcp/ip inited you can start telnetd daemon.
You need register pseudo-terminals driver into device drivers table.
16 ptyX termios device terminales are created into /dev/.
Calling rtems_initialize_telnetd() starts the daemon.
Enjoy it.
FUTURE:
1. Adding new commands in cmds.c to give file manegement to shell.