/* Variables that describe the inferior process running under GDB:
Where it is, why it stopped, and how to step it.
- Copyright (C) 1986-2016 Free Software Foundation, Inc.
+ Copyright (C) 1986-2017 Free Software Foundation, Inc.
This file is part of GDB.
#include "progspace.h"
#include "registry.h"
+#include "symfile-add-flags.h"
+
struct infcall_suspend_state;
struct infcall_control_state;
/* From fork-child.c */
+/* Report an error that happened when starting to trace the inferior
+ (i.e., when the "traceme_fun" callback is called on fork_inferior)
+ and bail out. This function does not return. */
+
+extern void trace_start_error (const char *fmt, ...)
+ ATTRIBUTE_NORETURN;
+
+/* Like "trace_start_error", but the error message is constructed by
+ combining STRING with the system error message for errno. This
+ function does not return. */
+
+extern void trace_start_error_with_name (const char *string)
+ ATTRIBUTE_NORETURN;
+
extern int fork_inferior (char *, char *, char **,
void (*)(void),
void (*)(int), void (*)(void), char *,
/* True if the PID was actually faked by GDB. */
int fake_pid_p;
+ /* The highest thread number this inferior ever had. */
+ int highest_thread_num;
+
/* State of GDB control of inferior process execution.
See `struct inferior_control_state'. */
struct inferior_control_state control;
LONGEST exit_code;
/* Default flags to pass to the symbol reading functions. These are
- used whenever a new objfile is created. The valid values come
- from enum symfile_add_flags. */
- int symfile_flags;
+ used whenever a new objfile is created. */
+ symfile_add_flags symfile_flags;
/* Info about an inferior's target description (if it's fetched; the
user supplied description's filename, if any; etc.). */
#define ALL_INFERIORS(I) \
for ((I) = inferior_list; (I); (I) = (I)->next)
+/* Traverse all non-exited inferiors. */
+
+#define ALL_NON_EXITED_INFERIORS(I) \
+ ALL_INFERIORS (I) \
+ if ((I)->pid != 0)
+
extern struct inferior *inferior_list;
/* Prune away automatically added inferiors that aren't required
extern struct inferior *add_inferior_with_spaces (void);
+/* Print the current selected inferior. */
+extern void print_selected_inferior (struct ui_out *uiout);
+
#endif /* !defined (INFERIOR_H) */