Use memmove to copy overlap memory.
[deliverable/binutils-gdb.git] / gdb / inferior.h
index 9798ef144e4f33c1c6406ab8a82221c99885063b..17b2c6fbfcecf86b1ecb6ba6585ca3c04186b962 100644 (file)
@@ -105,6 +105,16 @@ extern int ptid_equal (ptid_t p1, ptid_t p2);
 /* Return true if PTID represents a process id.  */
 extern int ptid_is_pid (ptid_t ptid);
 
+/* Returns true if PTID matches filter FILTER.  FILTER can be the wild
+   card MINUS_ONE_PTID (all ptid match it); can be a ptid representing
+   a process (ptid_is_pid returns true), in which case, all lwps and
+   threads of that given process match, lwps and threads of other
+   processes do not; or, it can represent a specific thread, in which
+   case, only that thread will match true.  PTID must represent a
+   specific LWP or THREAD, it can never be a wild card.  */
+
+extern int ptid_match (ptid_t ptid, ptid_t filter);
+
 /* Save value of inferior_ptid so that it may be restored by
    a later call to do_cleanups().  Returns the struct cleanup
    pointer needed for later doing the cleanup.  */
@@ -131,8 +141,6 @@ extern int sync_execution;
 
 /* Inferior environment. */
 
-extern struct gdb_environ *inferior_environ;
-
 extern void clear_proceed_status (void);
 
 extern void proceed (CORE_ADDR, enum target_signal, int);
@@ -177,6 +185,8 @@ extern void address_to_signed_pointer (struct gdbarch *gdbarch,
 
 extern void wait_for_inferior (int treat_exec_as_sigtrap);
 
+extern void prepare_for_detach (void);
+
 extern void fetch_inferior_event (void *);
 
 extern void init_wait_for_inferior (void);
@@ -253,15 +263,13 @@ void set_step_info (struct frame_info *frame, struct symtab_and_line sal);
 
 /* From infcmd.c */
 
-extern void tty_command (char *, int);
-
 extern void post_create_inferior (struct target_ops *, int);
 
 extern void attach_command (char *, int);
 
 extern char *get_inferior_args (void);
 
-extern char *set_inferior_args (char *);
+extern void set_inferior_args (char *);
 
 extern void set_inferior_args_vector (int, char **);
 
@@ -289,7 +297,7 @@ extern CORE_ADDR stop_pc;
 
 /* Nonzero if stopped due to completion of a stack dummy routine.  */
 
-extern int stop_stack_dummy;
+extern enum stop_stack_kind stop_stack_dummy;
 
 /* Nonzero if program stopped due to a random (unexpected) signal in
    inferior process.  */
@@ -427,6 +435,25 @@ struct inferior
   /* The program space bound to this inferior.  */
   struct program_space *pspace;
 
+  /* The arguments string to use when running.  */
+  char *args;
+
+  /* The size of elements in argv.  */
+  int argc;
+
+  /* The vector version of arguments.  If ARGC is nonzero,
+     then we must compute ARGS from this (via the target).
+     This is always coming from main's argv and therefore
+     should never be freed.  */
+  char **argv;
+
+  /* The name of terminal device to use for I/O.  */
+  char *terminal;
+
+  /* Environment to use for running inferior,
+     in format described in environ.h.  */
+  struct gdb_environ *environment;
+
   /* See the definition of stop_kind above.  */
   enum stop_kind stop_soon;
 
@@ -453,6 +480,9 @@ struct inferior
      either by exiting or execing.  */
   int waiting_for_vfork_done;
 
+  /* True if we're in the process of detaching from this inferior.  */
+  int detaching;
+
   /* What is left to do for an execution command after any thread of
      this inferior stops.  For continuations associated with a
      specific thread, see `struct thread_info'.  */
@@ -508,6 +538,8 @@ extern struct inferior *add_inferior_silent (int pid);
 /* Delete an existing inferior list entry, due to inferior exit.  */
 extern void delete_inferior (int pid);
 
+extern void delete_inferior_1 (struct inferior *todel, int silent);
+
 /* Same as delete_inferior, but don't print new inferior notifications
    to the CLI.  */
 extern void delete_inferior_silent (int pid);
@@ -594,4 +626,6 @@ extern void prune_inferiors (void);
 
 extern int number_of_inferiors (void);
 
+extern struct inferior *add_inferior_with_spaces (void);
+
 #endif /* !defined (INFERIOR_H) */
This page took 0.024276 seconds and 4 git commands to generate.