Пример #1
0
static void rtems_telnet_shell(char *pty_name, void *cmd_arg)
{
	rtems_shell_env_t *shell_env;

	shell_env = rtems_shell_init_env(NULL);
	if(shell_env == NULL) {
		printf("Unable to allocate shell environment");
		return;
	}
	shell_env->devname       = pty_name;
	shell_env->taskname      = pty_name;
	shell_env->exit_shell    = false;
	shell_env->forever       = false;
	shell_env->echo          = true;
	shell_env->input         = strdup("stdin");
	shell_env->output        = strdup("stdout");
	shell_env->output_append = false;
	shell_env->wake_on_end   = RTEMS_INVALID_ID;
	shell_env->login_check   = sysconfig_login_check;

	rtems_shell_main_loop(shell_env);
	
	// shell_env is freed by rtems_shell_main_loop
	// (using the "task variable" mechanism)
}
Пример #2
0
static rtems_task rtems_shell_task(rtems_task_argument task_argument)
{
  rtems_shell_env_t *shell_env = (rtems_shell_env_t*) task_argument;
  rtems_id           wake_on_end = shell_env->wake_on_end;
  rtems_shell_main_loop( shell_env );
  if (wake_on_end != RTEMS_INVALID_ID)
    rtems_event_send (wake_on_end, RTEMS_EVENT_1);
  rtems_task_delete( RTEMS_SELF );
}
Пример #3
0
static void
telnet_shell(char *name, void *arg)
{
	rtems_shell_env_t env;

	memset(&env, 0, sizeof(env));

	env.devname = name;
	env.taskname = "TLNT";
	env.login_check = NULL;
	env.forever = false;

	rtems_shell_main_loop(&env);
}