* libmisc/shell/cat_file.c, libmisc/shell/main_alias.c,
libmisc/shell/main_blksync.c, libmisc/shell/main_cat.c,
libmisc/shell/main_chdir.c, libmisc/shell/main_chmod.c,
libmisc/shell/main_chroot.c, libmisc/shell/main_cpuuse.c,
libmisc/shell/main_date.c, libmisc/shell/main_help.c,
libmisc/shell/main_id.c, libmisc/shell/main_logoff.c,
libmisc/shell/main_ls.c, libmisc/shell/main_mallocinfo.c,
libmisc/shell/main_mdump.c, libmisc/shell/main_medit.c,
libmisc/shell/main_mfill.c, libmisc/shell/main_mkdir.c,
libmisc/shell/main_mmove.c, libmisc/shell/main_mount.c,
libmisc/shell/main_mount_nfs.c, libmisc/shell/main_msdosfmt.c,
libmisc/shell/main_mwdump.c, libmisc/shell/main_perioduse.c,
libmisc/shell/main_pwd.c, libmisc/shell/main_rm.c,
libmisc/shell/main_rmdir.c, libmisc/shell/main_stackuse.c,
libmisc/shell/main_tty.c, libmisc/shell/main_umask.c,
libmisc/shell/main_unmount.c, libmisc/shell/main_whoami.c,
libmisc/shell/shell.h: Clean up done while writing documentation.
Some command improvements such as date now allows setting of the
current TOD. Often commands did not use stdout/stderr per
expectations and did not return -1 on an error.
* configure.ac: fixed bug that always enabled strict order
mutexes.
* score/inline/rtems/score/coremutex.inl: Fixed coding standard.
* score/src/coremutex.c: Add the holder's thread to the lock_mutex
list if the mutex is initialised locked.
* libnetworking/rtems/rtems_glue.c: Changed semaphore error
message to show the error is an rtems-net error.
* libmisc/monitor/mon-network.c: Removed warnings.
* telnetd/icmds.c: Changed shell_* to rtems_shell_*.
* score/Makefile.am: Fixed typo that stopped 'make tags' working.
* libmisc/shell/err.c, libmisc/shell/err.h, libmisc/shell/errx.c,
libmisc/shell/extern-cp.h, libmisc/shell/fts.c,
libmisc/shell/fts.h, libmisc/shell/main_cp.c,
libmisc/shell/utils-cp.c, libmisc/shell/verr.c,
libmisc/shell/verrx.c, libmisc/shell/vwarn.c,
libmisc/shell/vwarnx.c, libmisc/shell/warn.c,
libmisc/shell/warnx.c: New. Ported from BSD.
* libmisc/shell/shellconfig.h: Add the cp command.
* libmisc/Makefile.am: Add the new files to the shell.
* libmisc/shell/shell.c, libmisc/shell/shell.h: Add scripting
support.
* libblock/src/flashdisk.c: Fixed disk drive count size setting
bug.
* libnetworking/rtems/tftp.h: Provide a decl to the TFTP file
system opts table.
* libnetworking/rtems/ftpfs.h: Provide a decl to the FTP file
system opts table.
* libmisc/Makefile.am: Add the mount command and supporting files.
* libmisc/preinstall.am: Rebuilt.
* libmisc/shell/cat_file.c, libmisc/shell/cmds.c,
libmisc/shell/main_alias.c, libmisc/shell/main_cat.c,
libmisc/shell/main_cd.c, libmisc/shell/main_chdir.c,
libmisc/shell/main_chmod.c, libmisc/shell/main_chroot.c,
libmisc/shell/main_cpuuse.c, libmisc/shell/main_date.c,
libmisc/shell/main_dir.c, libmisc/shell/main_exit.c,
libmisc/shell/main_help.c, libmisc/shell/main_id.c,
libmisc/shell/main_logoff.c, libmisc/shell/main_ls.c,
libmisc/shell/main_mallocdump.c, libmisc/shell/main_mdump.c,
libmisc/shell/main_medit.c, libmisc/shell/main_mfill.c,
libmisc/shell/main_mkdir.c, libmisc/shell/main_mmove.c,
libmisc/shell/main_mwdump.c, libmisc/shell/main_pwd.c,
libmisc/shell/main_rm.c, libmisc/shell/main_rmdir.c,
libmisc/shell/main_stackuse.c, libmisc/shell/main_tty.c,
libmisc/shell/main_umask.c, libmisc/shell/main_whoami.c,
libmisc/shell/shell.c, libmisc/shell/shell_cmdset.c,
libmisc/shell/shell_makeargs.c, libmisc/shell/str2int.c,
libmisc/shell/write_file.c: Move all shell_* types, variables and
functions to rtems_shell_* to avoid namespace clashes with
applications. The is an RTEMS shell after all.
* libmisc/shell/shell.h, libmisc/shell/internal.h,
libmisc/shell/shellconfig.h: Move all shell_* types, variables and
functions to rtems_shell_* to avoid namespace clashes with
applications. Add the mount command supporting types.
* libmisc/shell/main_mount.c, libmisc/shell/main_mount_ftp.c,
libmisc/shell/main_mount_msdos.c, libmisc/shell/main_mount_nfs.c,
libmisc/shell/main_mount_tftp.c: New.
* libmisc/Makefile.am, libmisc/shell/cmd_help.c, libmisc/shell/cmds.c,
libmisc/shell/internal.h, libmisc/shell/shell.c,
libmisc/shell/shell.h, libmisc/shell/shellconfig.h: Command set
processing now separated from main command loop. Addition of user
commands and aliases tested. Monitor registration now explicit.
* libmisc/shell/shell_cmdset.c, libmisc/shell/shell_makeargs.c,
libmisc/shell/write_file.c: New files.
* ChangeLog, preinstall.am, libmisc/Makefile.am, libmisc/shell/cmds.c,
libmisc/shell/shell.c, libmisc/shell/shell.h: Split shell commands
into multiple files and add initial stages of command configuration.
This seems to work but the monitor commands need to be integrated
this way and the ability to configure user commands needs to be
tested.
* libmisc/shell/cat_file.c, libmisc/shell/cmd_alias.c,
libmisc/shell/cmd_cat.c, libmisc/shell/cmd_cd.c,
libmisc/shell/cmd_chdir.c, libmisc/shell/cmd_chmod.c,
libmisc/shell/cmd_chroot.c, libmisc/shell/cmd_date.c,
libmisc/shell/cmd_dir.c, libmisc/shell/cmd_exit.c,
libmisc/shell/cmd_help.c, libmisc/shell/cmd_id.c,
libmisc/shell/cmd_logoff.c, libmisc/shell/cmd_ls.c,
libmisc/shell/cmd_mallocdump.c, libmisc/shell/cmd_mdump.c,
libmisc/shell/cmd_medit.c, libmisc/shell/cmd_mfill.c,
libmisc/shell/cmd_mkdir.c, libmisc/shell/cmd_mmove.c,
libmisc/shell/cmd_mwdump.c, libmisc/shell/cmd_pwd.c,
libmisc/shell/cmd_rm.c, libmisc/shell/cmd_rmdir.c,
libmisc/shell/cmd_tty.c, libmisc/shell/cmd_umask.c,
libmisc/shell/cmd_whoami.c, libmisc/shell/internal.h,
libmisc/shell/shellconfig.c, libmisc/shell/shellconfig.h,
libmisc/shell/str2int.c: New files.
* libmisc/shell/shell.h: Added comments for the parameters to the
shell_init function.
* libmisc/shell/shell.c: Only set cflags if tcflags is
non-zero. This means the shell can use the current cflags settings
and the application does not need to know the baudrate etc.
* libmisc/capture/capture.h: Fix the comment.
* libmisc/shell/shell.c, libmisc/shell/shell.h: Much cleanup but much
of the focus was on the beginning stages of making the login checker
pluggable just like the shell.
* 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.