gdb/gdbserver/inferiors.h - gdb
Data types defined
Macros defined
Source code
- #ifndef INFERIORS_H
- #define INFERIORS_H
- struct inferior_list
- {
- struct inferior_list_entry *head;
- struct inferior_list_entry *tail;
- };
- struct inferior_list_entry
- {
- ptid_t id;
- struct inferior_list_entry *next;
- };
- struct thread_info;
- struct target_desc;
- struct sym_cache;
- struct breakpoint;
- struct raw_breakpoint;
- struct fast_tracepoint_jump;
- struct process_info_private;
- struct process_info
- {
-
- struct inferior_list_entry entry;
-
- int attached;
-
- int gdb_detached;
-
- struct sym_cache *symbol_cache;
-
- struct breakpoint *breakpoints;
-
- struct raw_breakpoint *raw_breakpoints;
-
- struct fast_tracepoint_jump *fast_tracepoint_jumps;
- const struct target_desc *tdesc;
-
- struct process_info_private *private;
- };
- #define ptid_of(inf) ((inf)->entry.id)
- #define pid_of(inf) ptid_get_pid ((inf)->entry.id)
- #define lwpid_of(inf) ptid_get_lwp ((inf)->entry.id)
- struct process_info *current_process (void);
- struct process_info *get_thread_process (struct thread_info *);
- extern struct inferior_list all_processes;
- void add_inferior_to_list (struct inferior_list *list,
- struct inferior_list_entry *new_inferior);
- void for_each_inferior (struct inferior_list *list,
- void (*action) (struct inferior_list_entry *));
- void for_each_inferior_with_data
- (struct inferior_list *list,
- void (*action) (struct inferior_list_entry *, void *),
- void *data);
- void clear_inferior_list (struct inferior_list *list);
- int one_inferior_p (struct inferior_list *list);
- #define A_I_NEXT(type, list, cur) \
- ((cur) != NULL \
- ? (type *) ((struct inferior_list_entry *) cur)->next \
- : NULL)
- #define ALL_INFERIORS_TYPE(type, list, cur, tmp) \
- for ((cur) = (type *) (list)->head, (tmp) = A_I_NEXT (type, list, cur); \
- (cur) != NULL; \
- (cur) = (tmp), (tmp) = A_I_NEXT (type, list, cur))
- #define ALL_INFERIORS(list, cur, tmp) \
- ALL_INFERIORS_TYPE (struct inferior_list_entry, list, cur, tmp)
- #define ALL_PROCESSES(cur, tmp) \
- ALL_INFERIORS_TYPE (struct process_info, &all_processes, cur, tmp)
- extern struct thread_info *current_thread;
- void remove_inferior (struct inferior_list *list,
- struct inferior_list_entry *entry);
- struct inferior_list_entry *get_first_inferior (struct inferior_list *list);
- struct process_info *add_process (int pid, int attached);
- void remove_process (struct process_info *process);
- struct process_info *find_process_pid (int pid);
- int have_started_inferiors_p (void);
- int have_attached_inferiors_p (void);
- ptid_t thread_to_gdb_id (struct thread_info *);
- ptid_t gdb_id_to_thread_id (ptid_t);
- void clear_inferiors (void);
- struct inferior_list_entry *find_inferior
- (struct inferior_list *,
- int (*func) (struct inferior_list_entry *,
- void *),
- void *arg);
- struct inferior_list_entry *find_inferior_id (struct inferior_list *list,
- ptid_t id);
- void *inferior_target_data (struct thread_info *);
- void set_inferior_target_data (struct thread_info *, void *);
- void *inferior_regcache_data (struct thread_info *);
- void set_inferior_regcache_data (struct thread_info *, void *);
- #endif