NEWS: Mention new sim --map-info flag.
[deliverable/binutils-gdb.git] / gdb / inferior.h
index 77262eb9ea45bc12e10886185cada8d9ab90e531..f80ecb5e8002c9f4befd4f501e7e49604a2c45b6 100644 (file)
@@ -43,37 +43,25 @@ struct terminal_info;
 
 #include "progspace.h"
 
-/* Two structures are used to record inferior state.
+struct infcall_suspend_state;
+struct infcall_control_state;
 
-   inferior_thread_state contains state about the program itself like its
-   registers and any signal it received when it last stopped.
-   This state must be restored regardless of how the inferior function call
-   ends (either successfully, or after it hits a breakpoint or signal)
-   if the program is to properly continue where it left off.
+extern struct infcall_suspend_state *save_infcall_suspend_state (void);
+extern struct infcall_control_state *save_infcall_control_state (void);
 
-   inferior_status contains state regarding gdb's control of the inferior
-   itself like stepping control.  It also contains session state like the
-   user's currently selected frame.
+extern void restore_infcall_suspend_state (struct infcall_suspend_state *);
+extern void restore_infcall_control_state (struct infcall_control_state *);
 
-   Call these routines around hand called functions, including function calls
-   in conditional breakpoints for example.  */
+extern struct cleanup *make_cleanup_restore_infcall_suspend_state
+                                           (struct infcall_suspend_state *);
+extern struct cleanup *make_cleanup_restore_infcall_control_state
+                                           (struct infcall_control_state *);
 
-struct inferior_thread_state;
-struct inferior_status;
+extern void discard_infcall_suspend_state (struct infcall_suspend_state *);
+extern void discard_infcall_control_state (struct infcall_control_state *);
 
-extern struct inferior_thread_state *save_inferior_thread_state (void);
-extern struct inferior_status *save_inferior_status (void);
-
-extern void restore_inferior_thread_state (struct inferior_thread_state *);
-extern void restore_inferior_status (struct inferior_status *);
-
-extern struct cleanup *make_cleanup_restore_inferior_thread_state (struct inferior_thread_state *);
-extern struct cleanup *make_cleanup_restore_inferior_status (struct inferior_status *);
-
-extern void discard_inferior_thread_state (struct inferior_thread_state *);
-extern void discard_inferior_status (struct inferior_status *);
-
-extern struct regcache *get_inferior_thread_state_regcache (struct inferior_thread_state *);
+extern struct regcache *
+  get_infcall_suspend_state_regcache (struct infcall_suspend_state *);
 
 /* The -1 ptid, often used to indicate either an error condition
    or a "don't care" condition, i.e, "run all threads."  */
@@ -232,6 +220,10 @@ extern char *construct_inferior_arguments (int, char **);
 
 /* From infrun.c */
 
+extern int debug_infrun;
+
+extern int stop_on_solib_events;
+
 extern void start_remote (int from_tty);
 
 extern void normal_stop (void);
@@ -287,6 +279,8 @@ extern void interrupt_target_command (char *args, int from_tty);
 
 extern void interrupt_target_1 (int all_threads);
 
+extern void delete_longjmp_breakpoint_cleanup (void *arg);
+
 extern void detach_command (char *, int);
 
 extern void notice_new_inferior (ptid_t, int, int);
@@ -401,6 +395,24 @@ void displaced_step_dump_bytes (struct ui_file *file,
 
 struct private_inferior;
 
+/* Inferior process specific part of `struct infcall_control_state'.
+
+   Inferior thread counterpart is `struct thread_control_state'.  */
+
+struct inferior_control_state
+{
+  /* See the definition of stop_kind above.  */
+  enum stop_kind stop_soon;
+};
+
+/* Inferior process specific part of `struct infcall_suspend_state'.
+
+   Inferior thread counterpart is `struct thread_suspend_state'.  */
+
+struct inferior_suspend_state
+{
+};
+
 /* GDB represents the state of each program execution with an object
    called an inferior.  An inferior typically corresponds to a process
    but is more general and applies also to targets that do not have a
@@ -423,6 +435,14 @@ struct inferior
      the ptid_t.pid member of threads of this inferior.  */
   int pid;
 
+  /* State of GDB control of inferior process execution.
+     See `struct inferior_control_state'.  */
+  struct inferior_control_state control;
+
+  /* State of inferior process to restore after GDB is done with an inferior
+     call.  See `struct inferior_suspend_state'.  */
+  struct inferior_suspend_state suspend;
+
   /* True if this was an auto-created inferior, e.g. created from
      following a fork; false, if this inferior was manually added by
      the user, and we should not attempt to prune it
@@ -454,9 +474,6 @@ struct inferior
      in format described in environ.h.  */
   struct gdb_environ *environment;
 
-  /* See the definition of stop_kind above.  */
-  enum stop_kind stop_soon;
-
   /* Nonzero if this child process was attached rather than
      forked.  */
   int attach_flag;
This page took 0.024091 seconds and 4 git commands to generate.