17#ifndef __RTEMS_SHELL_H__
18#define __RTEMS_SHELL_H__
37#define RTEMS_SHELL_KEYS_EXTENDED (0x8000)
38#define RTEMS_SHELL_KEYS_NORMAL_MASK (0x00ff)
39#define RTEMS_SHELL_KEYS_INS (0)
40#define RTEMS_SHELL_KEYS_DEL (1)
41#define RTEMS_SHELL_KEYS_UARROW (2)
42#define RTEMS_SHELL_KEYS_DARROW (3)
43#define RTEMS_SHELL_KEYS_LARROW (4)
44#define RTEMS_SHELL_KEYS_RARROW (5)
45#define RTEMS_SHELL_KEYS_HOME (6)
46#define RTEMS_SHELL_KEYS_END (7)
47#define RTEMS_SHELL_KEYS_F1 (8)
48#define RTEMS_SHELL_KEYS_F2 (9)
49#define RTEMS_SHELL_KEYS_F3 (10)
50#define RTEMS_SHELL_KEYS_F4 (11)
51#define RTEMS_SHELL_KEYS_F5 (12)
52#define RTEMS_SHELL_KEYS_F6 (13)
53#define RTEMS_SHELL_KEYS_F7 (14)
54#define RTEMS_SHELL_KEYS_F8 (15)
55#define RTEMS_SHELL_KEYS_F9 (16)
56#define RTEMS_SHELL_KEYS_F10 (17)
58typedef bool (*rtems_shell_login_check_t)(
63extern bool rtems_shell_login_prompt(
67 rtems_shell_login_check_t check
70extern bool rtems_shell_login_check(
72 const char *passphrase
75typedef int (*rtems_shell_command_t)(
int argc,
char **argv);
84 rtems_shell_command_t command;
109extern unsigned int rtems_shell_getchar(FILE *in);
121 rtems_shell_command_t command
129extern int rtems_shell_make_args(
140extern bool rtems_shell_can_see_cmd(
144extern int rtems_shell_execute_cmd(
145 const char *cmd,
int argc,
char *argv[]
152extern void rtems_shell_init_environment(
156extern int rtems_shell_cat_file(
161extern void rtems_shell_write_file(
166extern int rtems_shell_script_file(
184 const char *task_name,
185 size_t task_stacksize,
190 rtems_shell_login_check_t login_check
207 const char *task_name,
208 size_t task_stacksize,
225 const char *taskname;
239 rtems_shell_login_check_t login_check;
254bool rtems_shell_main_loop(
275typedef int (*rtems_shell_filesystems_mounter_t)(
287 rtems_shell_filesystems_mounter_t mounter;
338typedef void (*rtems_shell_wait_for_input_notification)(
340 int seconds_remaining,
353 int timeout_in_seconds,
354 rtems_shell_wait_for_input_notification notification,
355 void *notification_arg
370 int timeout_in_seconds,
371 rtems_shell_wait_for_input_notification notification,
372 void *notification_arg,
376extern int rtems_shell_main_monitor(
int argc,
char **argv);
382int rtems_shell_main_mv(
int argc,
char *argv[]);
383int rtems_shell_main_cp(
int argc,
char *argv[]);
384int rtems_shell_main_rm(
int argc,
char *argv[]);
rtems_status_code
Classic API Status.
Definition: status.h:43
uint32_t rtems_name
Classic API object name type.
Definition: types.h:77
uint32_t rtems_task_priority
Definition: tasks.h:55
Objects_Id rtems_id
Used to manage and manipulate RTEMS object identifiers.
Definition: types.h:83
rtems_filesystem_options_t
File system options.
Definition: libio.h:1647
rtems_status_code rtems_shell_wait_for_input(int fd, int timeout_in_seconds, rtems_shell_wait_for_input_notification notification, void *notification_arg)
Waits for input.
Definition: shell-wait-for-input.c:89
int rtems_shell_libc_mounter(const char *driver, const char *path, rtems_shell_filesystems_t *fs, rtems_filesystem_options_t options)
void rtems_shell_mount_add_fsys(rtems_shell_filesystems_t *fs)
void rtems_shell_get_prompt(rtems_shell_env_t *shell_env, char *prompt, size_t size)
Definition: shell_getprompt.c:31
void rtems_shell_mount_del_fsys(rtems_shell_filesystems_t *fs)
rtems_status_code rtems_shell_init(const char *task_name, size_t task_stacksize, rtems_task_priority task_priority, const char *devname, bool forever, bool wait, rtems_shell_login_check_t login_check)
Definition: shell.c:1222
rtems_status_code rtems_shell_script(const char *task_name, size_t task_stacksize, rtems_task_priority task_priority, const char *input, const char *output, bool output_append, bool wait, bool echo)
Definition: shell.c:1255
rtems_status_code rtems_shell_wait_for_explicit_input(int fd, int timeout_in_seconds, rtems_shell_wait_for_input_notification notification, void *notification_arg, int desired_input)
Waits for explicit input.
Definition: shell-wait-for-input.c:56
File system operations table.
Definition: libio.h:472
Definition: rtemscompat1.h:15
gid_t gid
The real and effective GID of the shell task in case no login check is present.
Definition: shell.h:251
uid_t uid
The real and effective UID of the shell task in case no login check is present.
Definition: shell.h:245
rtems_name magic
Definition: shell.h:222
unsigned size
Definition: tte.h:1