#3096 closed enhancement (fixed)

Shell internal commands should be public.

Reported by: Chris Johns Owned by: Chris Johns
Priority: normal Milestone: 5.1
Component: shell Version: 5
Severity: normal Keywords: shell
Cc: Blocked By:
Blocking:

Description

A few of the functions held in cpukit/libmisc/shell/internal.h are useful in building system. For example rtems_shell_register_monitor_commands() and rtems_shell_execute_cmd().

The shell commands are important and systems may provide other scripting mechanisms, for example sequences in YAML files. Providing public access lets users know the functions are supported.

Change History (4)

comment:1 Changed on Aug 13, 2017 at 3:45:14 PM by Joel Sherrill

Hard to argue against. The shell evolved and this is just an artifact. We now have a different opinion. Change it.

comment:2 Changed on Aug 13, 2017 at 11:23:14 PM by Chris Johns

I have found there is currently no way to have the commands registered unless you start a shell. The POSIX once call used to add the shell's configured commands is buried inside the main loop of the shell task.

I would like this change to be back ported to 4.11 to make applications compatible between 4.11 and 4.12 and beyond.

comment:3 Changed on Aug 15, 2017 at 1:38:26 AM by Chris Johns <chrisj@…>

Resolution: fixed
Status: assignedclosed

In 2465c01/rtems:

libmisc/shell: Make some internal shell functions public.

  • Add 'rtems_shell_init_environment()' so a user can create the shell environment without needing to run a shell.
  • Move 'rtems_shell_lookup_topic', 'rtems_shell_can_see_cmd', and 'rtems_shell_execute_cmd' from the internal interface to the public interface.

Closes #3096.

comment:4 Changed on Nov 9, 2017 at 6:27:14 AM by Sebastian Huber

Milestone: 4.12.05.1

Milestone renamed

Note: See TracTickets for help on using tickets.