struct target_waitstatus;
struct frame_info;
struct address_space;
+struct return_value_info;
/* True if we are debugging run control. */
extern unsigned int debug_infrun;
starting an inferior. */
extern int disable_randomization;
+/* Returns a unique identifier for the current stop. This can be used
+ to tell whether a command has proceeded the inferior past the
+ current location. */
+extern ULONGEST get_stop_id (void);
+
/* Reverse execution. */
enum exec_direction_kind
{
compatible with make_cleanup_restore_integer. */
extern int execution_direction;
-/* Save register contents here when executing a "finish" command or
- are about to pop a stack dummy frame, if-and-only-if
- proceed_to_finish is set. Thus this contains the return value from
- the called function (assuming values are returned in a
- register). */
-extern struct regcache *stop_registers;
-
extern void start_remote (int from_tty);
/* Clear out all variables saying what to do when inferior is
extern void wait_for_inferior (void);
-extern void normal_stop (void);
+/* Return control to GDB when the inferior stops for real. Print
+ appropriate messages, remove breakpoints, give terminal our modes,
+ and run the stop hook. Returns true if the stop hook proceeded the
+ target, false otherwise. */
+extern int normal_stop (void);
extern void get_last_target_status (ptid_t *ptid,
struct target_waitstatus *status);
inferior has stopped. */
extern void print_no_history_reason (struct ui_out *uiout);
-extern void print_stop_event (struct target_waitstatus *ws);
+/* Print the result of a function at the end of a 'finish' command.
+ RV points at an object representing the captured return value/type
+ and its position in the value history. */
+
+extern void print_return_value (struct ui_out *uiout,
+ struct return_value_info *rv);
+
+/* Print current location without a level number, if we have changed
+ functions or hit a breakpoint. Print source line if we have one.
+ If the execution command captured a return value, print it. */
+
+extern void print_stop_event (struct ui_out *uiout);
+
+/* Pretty print the results of target_wait, for debugging purposes. */
+
+extern void print_target_wait_results (ptid_t waiton_ptid, ptid_t result_ptid,
+ const struct target_waitstatus *ws);
extern int signal_stop_state (int);
systems. Use of symbolic signal names is strongly encouraged. */
enum gdb_signal gdb_signal_from_command (int num);
+/* Enables/disables infrun's async event source in the event loop. */
+extern void infrun_async (int enable);
+
+/* Call infrun's event handler the next time through the event
+ loop. */
+extern void mark_infrun_async_event_handler (void);
+
+/* The global queue of threads that need to do a step-over operation
+ to get past e.g., a breakpoint. */
+extern struct thread_info *step_over_queue_head;
+
+/* Remove breakpoints if possible (usually that means, if everything
+ is stopped). On failure, print a message. */
+extern void maybe_remove_breakpoints (void);
+
#endif /* INFRUN_H */