-/* Copyright (C) 1986-2015 Free Software Foundation, Inc.
+/* Copyright (C) 1986-2017 Free Software Foundation, Inc.
This file is part of GDB.
of shared library events by the dynamic linker. */
extern int stop_on_solib_events;
-/* Are we simulating synchronous execution? This is used in async gdb
- to implement the 'run', 'continue' etc commands, which will not
- redisplay the prompt until the execution is actually over. */
-extern int sync_execution;
-
/* True if execution commands resume all threads of all processes by
default; otherwise, resume only threads of the current inferior
process. */
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
{
EXEC_REVERSE
};
-/* The current execution direction. This should only be set to enum
- exec_direction_kind values. It is only an int to make it
- compatible with make_cleanup_restore_integer. */
-extern int execution_direction;
+/* The current execution direction. */
+extern enum exec_direction_kind execution_direction;
extern void start_remote (int from_tty);
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);
+extern void set_last_target_status (ptid_t ptid,
+ struct target_waitstatus status);
+
+/* Stop all threads. Only returns after everything is halted. */
+extern void stop_all_threads (void);
+
extern void prepare_for_detach (void);
extern void fetch_inferior_event (void *);
extern int stepping_past_instruction_at (struct address_space *aspace,
CORE_ADDR address);
+/* Returns true if thread whose thread number is THREAD is stepping
+ over a breakpoint. */
+extern int thread_is_stepping_over_breakpoint (int thread);
+
/* Returns true if we're trying to step past an instruction that
triggers a non-steppable watchpoint. */
extern int stepping_past_nonsteppable_watchpoint (void);
is stopped). On failure, print a message. */
extern void maybe_remove_breakpoints (void);
+/* If a UI was in sync execution mode, and now isn't, restore its
+ prompt (a synchronous execution command has finished, and we're
+ ready for input). */
+extern void all_uis_check_sync_execution_done (void);
+
+/* If a UI was in sync execution mode, and hasn't displayed the prompt
+ yet, re-disable its prompt (a synchronous execution command was
+ started or re-started). */
+extern void all_uis_on_sync_execution_starting (void);
+
#endif /* INFRUN_H */