Yanfeng Liu
31908b3128
nshlib/prompt: extend NSH prompt string management
...
Currently NSH prompt is defined at build time, thus improper for AMP cases
where the same NSH binary is used on different nodes as the same NSH prompt
shows on all nodes.
This patch attempts to support runtime prompt string population from ordered
sources:
- the environment variable defined by NSH_PROMPT_ENV plus suffix
- the NSH_PROMPT_STRING
- the HOSTNAME plus suffix
The suffix is defined by NSH_PROMPT_SUFFIX so that to clearly separate the
command inputs.
Changes in `nshlib/`
- Kconfig: add configs NSH_PROMPT_MAX/ENV/SUFFIX etc
- nsh.h: adjust g_nshprompt defs, add nsh_update_prompt
- nsh_parse.c relocate g_nshpromt to nsh_prompt.c
- nsh_init.c revise to use nsh_update_prompt once
- nsh_session.c revise to use methods in nsh_prompt.c
- Makefile add nsh_prompt.c
- CMakeLists.txt add nsh_prompt.c
New additions in `nshlib/`
- nsh_prompt.c prompt related data structures and methods.
Signed-off-by: Yanfeng Liu <yfliu2008@qq.com>
2024-02-25 00:55:47 -08:00
fangxinyong
385f707382
nshlib: move etc romfs mount from nsh to nuttx
...
This commit corresponds to apache/nuttx#11498 in nuttx.
Move etc romfs mount to sched/init for compatibility with kernel/protected mode.
changes:
- move etc romfs mount from nsh to Nuttx, but keep the script to parse and execute.
- move and rename the related CONFIG, move customized nsh_romfsimg.h to etc_romfs.c
in boards, and no need declaration for romfs_img/romfs_img_len.
Signed-off-by: fangxinyong <fangxinyong@xiaomi.com>
2024-01-09 21:25:19 -08:00
Ville Juven
f9dfb51001
nsh/nshlib: Add alias support for nsh
...
This adds support for string aliases into nsh. There are some nuances that
are not handled correctly yet:
- Reserved words can be overloaded, which is a clear POSIX violation
2023-03-23 22:10:19 +02:00
Huang Qi
95f32fd018
nsh: Decouple with CONFIG_FILE_STREAM
...
Replace all fwrite/fread/fgets/... to write/read/...
Before:
```
text data bss dec hex filename
109827 601 6608 117036 1c92c nuttx/nuttx
```
After:
```
text data bss dec hex filename
108053 601 6608 115262 1c23e nuttx/nuttx
```
After with CONFIG_FILE_STREAM disabled:
```
text data bss dec hex filename
105667 601 6608 112876 1b8ec nuttx/nuttx
```
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2023-02-22 13:47:41 +08:00
Alin Jerpelea
ec339bc49a
Makefiles: Gregory Nutt: update licenses to Apache
...
Gregory Nutt is the copyright holder for those files and he has submitted the
SGA as a result we can migrate the licenses to Apache.
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-06-07 21:35:33 -05:00
Xiang Xiao
ecae66fe59
Replace all CONFIG_NFILE_STREAMS with CONFIG_FILE_STREAM
...
follow up the kernel side change
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: Ic27ad65d7cc2ea570921e0c17098dcb6bfe1893a
2020-09-11 17:57:58 +08:00
Xiang Xiao
deaa6c5b7b
build: Replace $(TOPDIR)/Make.defs with $(APPDIR)/Make.defs
...
and move NUTTXLIB defintion to the common place
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-07-09 15:17:37 -03:00
Xiang Xiao
ead498a788
build: Remove the workaround for the inexistence of .config/Make.defs
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-05-21 17:43:42 +01:00
Gregory Nutt
3a23523147
Makefiles: This reverts part of commit cf0365ea9
. It restores 'conditional' inclusion of TOPDIR/Make.defs. Otherwise all make targets fail if the board has not been configured. That is okay most of the time, but not for things like clean and distclean which should not depend on being configured.
2019-10-15 09:25:48 +08:00
Xiang Xiao
cf0365ea92
Clean up Makefile under apps folder no functional changes.
2019-10-04 08:35:46 -06:00
Gregory Nutt
94a0d92b54
This commit removes the private network initialization logic from NSH and puts in a common location at apps/netutils/netinit. Now that netork initialization logic can be used by applications that do not include NSH.
...
Squashed commit of the following:
apps/nshlib: Remove NSH initialization. Now uses the common apps/netutils/netinit logic (which was cloned from nshlib to begin with).
apps/netutils/netinit: Clone network initialization logic from NSH to this directory so that it can be available for general use.
2019-04-29 10:22:56 -06:00
Gregory Nutt
9db029e318
The file system can no longer be disabled. Remove all conditional logic based on CONFIG_NFILE_DESCRIPTORS==0
2019-02-11 13:10:10 -06:00
GregoryN
3bf4b6d245
Merged altconsole into master
2018-12-08 18:53:54 -06:00
Alan Carvalho de Assis
c21d640eaf
apps/nshlib: Add support to use SLCD as NSH Console
2018-11-29 18:42:02 -06:00
Gregory Nutt
e9edfd064f
apps/nshlib: Add support for NSH local variables if CONFIG_NSH_VARS are set. These are like environment variables but are local to NSH. The importance of this is that these variables are *not* inherited when NSH creates a new task. The new command 'export' was added. In this case, the NSH variable will be promoted to an environment variable and will then be inherited by any tasks executed by NSH.
2018-10-01 13:30:25 -06:00
anchao
b5cfd93444
apps/: Modification to build system: Unified application compilation rules
2018-09-03 09:29:56 -06:00
Gregory Nutt
7a8561728c
The last change added .PRECIOUS: $(BIN) to everyway Makefile in hopes the libapps.a will not be deleted on Control-C (unproven so far). However, $(BIN) may contain back slashes in some build platforms and that causes problems for make: It can't handle the backslashes in the .PRECIOUS dependency list. $(BIN) replaced with ../../libapp.a, where the number of ../ depends on the depth of the Makefile in the apps/ source tree.
2017-08-13 11:03:17 -06:00
Gregory Nutt
a66da34f18
All Makefiles: Add .PRECIOUS: apps/libapps.a to every Makefile. Hopefully this will end awkward problems when you Control-C out of a build and libapps.a is deleted.
2017-08-13 09:35:14 -06:00
Gregory Nutt
8c1446671c
apps/nshlib: Add a new option CONFIG_NSH_NETLOCAL that will suppress some built in operations and will support manual configuration of a wireless network
2017-05-21 12:00:55 -06:00
Simon Piriou
523d7645c4
wapi: add basic wapi_event_stream_extract implementation
2017-05-21 16:24:49 +02:00
Gregory Nutt
a0915850b9
wireless/wapi: wpa_driver_wext_associate() now accepts a configuration parameter that can be used to specify the wireless properties. nshlib: NSH now has configuration options to select the wireless properties. It builds the configuration structure and passes this to wpa_driver_wext_associate() so that it will setwork the network as configured.
2017-05-06 11:28:11 -06:00
Alan Carvalho de Assis
cdedb412ed
apps/nshlib: Add printf command to NSH, e.g., controlling /dev/userleds from command line: nsh> printf \x01 > /dev/userleds
2016-10-01 07:44:15 -06:00
Gregory Nutt
4eda22b4db
Revert "This commit adds nsh_consolechild(). I noticed that there are several examples that call nsh_consolemain.c to create to create a new NSH session. That will not always work because nsh_consolemain() performs the one-time initialization needed by the NSH library: Mounting, reading, and running the start-up script, configuring USB tracing. Some of those actions will cause failures if attempted twice."
...
This reverts commit 4d364d836a
.
2016-08-25 14:19:36 -06:00
Gregory Nutt
4d364d836a
This commit adds nsh_consolechild(). I noticed that there are several examples that call nsh_consolemain.c to create to create a new NSH session. That will not always work because nsh_consolemain() performs the one-time initialization needed by the NSH library: Mounting, reading, and running the start-up script, configuring USB tracing. Some of those actions will cause failures if attempted twice.
...
Here are some offenders: examples/cc3000/shell.c, examples/nsh/nsh_main.c, examples/nxterm/nxterm_main.c, and examples/pty_test/pty_test.c. It is possible that for some of those, that represents the first call to nsh_consolemain(). But probably not.
To give other initialization options, I added nsh_consolechild() which is identical to nsh_consolemain() other than it omits all of the one-time initialization. Of course, you would not get the result that you wanted if nsh_consolechild() were called without nsh_consolemain().
2016-08-25 14:14:23 -06:00
Gregory Nutt
e39cfc97c7
Add logic to support an NSH-specific system command
2016-08-25 11:34:36 -06:00
Sebastien Lorquet
bfff5e7179
Add empty preconfig rules to 'leaf' makefiles
2016-06-02 16:24:30 +02:00
Gregory Nutt
0720f9a357
NSH: Add option to use platform-specific logic to verify login credentials; Add option to add a delay after each failed login attempt
2016-01-22 10:46:19 -06:00
Gregory Nutt
07cf99130c
nsh_stdsession() cannot use the same login logic as nsh_session(); Also put telnet login in a separate file for symmetry
2016-01-20 15:22:02 -06:00
Gregory Nutt
93d9d5e4ca
apps/nshlib: All NSH sessions may now be protected with passwords stored in the encrypted /etc/passwd file
2016-01-20 14:42:39 -06:00
Gregory Nutt
fe05a8444f
apps/nshlib: Add useradd, userdel, and passwd commends
2016-01-20 09:37:25 -06:00
Gregory Nutt
f0a21d3d48
NSH: Add module commands: insmod, rmmod, and lsmod
2015-12-13 09:55:52 -06:00
Gregory Nutt
32b992971b
apps/nshlib: The 'ifconfig' command now uses /proc/net/stat to show network statistics. A consequence of this is that you cannot view network statistics if the procfs is not enabled and mounted at /proc
2015-11-27 13:04:11 -06:00
Gregory Nutt
a18ed33d99
NSH now supports a shutdown command if CONFIG_BOARDCTL_POWEROFF-y
2015-07-04 08:20:19 -06:00
Gregory Nutt
23075e0b30
Allow NSH date command with no RTC. This command is useful without an RTC too. Also, this permits testing on the simulator which never has an RTC
2015-04-11 12:13:18 -06:00
Gregory Nutt
d6bcd1a93a
Add an install target to all makefiles. For the import build, the top-level Makefile now does two passes: (1) builds libapp.a, then (2) installs the programs (not yet finished)
2014-09-06 08:00:47 -06:00
Gregory Nutt
9a49735c4b
NSH: Add an option to take stdin from a USB keyboard device
2014-07-03 16:25:02 -06:00
Gregory Nutt
819a4b5779
NSH: Separate command line parsing from command execution. Add support for multiple, semicolone separated commands on each line
2014-01-10 15:23:26 -06:00
Gregory Nutt
ff88e86ef2
Add NSH addroute and delroute commands
2013-10-05 15:42:20 -06:00
Gregory Nutt
c4e46f5b62
Changes to NSH and readline to permit NSH to work on a platform with no file system
2013-09-30 11:34:04 -06:00
patacongo
978d3212ff
Add support for a login script (in addition to the init script); Add logic so that a USB console session can connect and reconnect to the USB serial device
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5582 42af7a65-404d-4744-a932-0658087f49c3
2013-01-29 22:11:04 +00:00
patacongo
140d3e4374
NSH will now run files from the file system; Add logic to unload and clean-up after running a task from a file system; Extensions to builtin apps from Mike Smith
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5529 42af7a65-404d-4744-a932-0658087f49c3
2013-01-17 18:32:13 +00:00
patacongo
b81afc12fd
Implement redirection of output from NSH builtin commands to a file in a mounted volume
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5521 42af7a65-404d-4744-a932-0658087f49c3
2013-01-15 21:01:37 +00:00
patacongo
b104cce86b
Remove .context kludge from apps/ directory
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5455 42af7a65-404d-4744-a932-0658087f49c3
2012-12-23 22:17:09 +00:00
patacongo
08f0823241
Missing comma in EVERY DELFILE/DELDIR macro call in every Makefile
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5373 42af7a65-404d-4744-a932-0658087f49c3
2012-11-20 15:47:41 +00:00
patacongo
1d7bb0fa07
Most of the changes needed to support Windows native clean; distclean is has a problem
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5367 42af7a65-404d-4744-a932-0658087f49c3
2012-11-17 18:54:53 +00:00
patacongo
c729930c69
Move some (hopefully) un-necessary quotes in Makefiles for Mike
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5356 42af7a65-404d-4744-a932-0658087f49c3
2012-11-15 17:43:29 +00:00
patacongo
fdb8f8a0de
Changes to get a clean ez80 build using the ZDS 5.1.1 toolchain
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5341 42af7a65-404d-4744-a932-0658087f49c3
2012-11-12 15:22:27 +00:00
patacongo
3e25d82213
Correct some issues with last check-in; ez80 still does not build
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5339 42af7a65-404d-4744-a932-0658087f49c3
2012-11-11 23:44:31 +00:00
patacongo
ffe4fc1c0c
Partial change: Removing bash ARCHIVE loop
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5336 42af7a65-404d-4744-a932-0658087f49c3
2012-11-11 16:24:40 +00:00
patacongo
97fd74fbdd
Add apps/netutils/codecs and associated NSH commands from Darcy Gong
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5280 42af7a65-404d-4744-a932-0658087f49c3
2012-10-31 14:36:00 +00:00