vx_create_inferior (char *exec_file, char *args, char **env)
vx_create_inferior (char *exec_file, char *args, char **env, int from_tty)
vx_create_inferior (char *exec_file, char *args, char **env){  enum clnt_stat status;  arg_array passArgs;  TASK_START taskStart;  memset ((char *) &passArgs, '\0', sizeof (passArgs));  memset ((char *) &taskStart, '\0', sizeof (taskStart));  /* parse arguments, put them in passArgs */  parse_args (args, &passArgs);  if (passArgs.arg_array_len == 0)    error ("You must specify a function name to run, and arguments if any");  status = net_clnt_call (PROCESS_START, xdr_arg_array, &passArgs,			  xdr_TASK_START, &taskStart);  if ((status != RPC_SUCCESS) || (taskStart.status == -1))    error ("Can't create process on remote target machine");  /* Save the name of the running function */  vx_running = savestring (passArgs.arg_array_val[0],			   strlen (passArgs.arg_array_val[0]));  push_target (&vx_run_ops);  inferior_ptid = pid_to_ptid (taskStart.pid);  /* We will get a trace trap after one instruction.     Insert breakpoints and continue.  */  init_wait_for_inferior ();  /* Set up the "saved terminal modes" of the inferior     based on what modes we are starting it with.  */  target_terminal_init ();  /* Install inferior's terminal modes.  */  target_terminal_inferior ();  stop_soon = STOP_QUIETLY;  wait_for_inferior ();		/* Get the task spawn event */  stop_soon = NO_STOP_QUIETLY;  /* insert_step_breakpoint ();  FIXME, do we need this?  */  proceed (-1, TARGET_SIGNAL_DEFAULT, 0);}