GDB (xrefs)
/tmp/gdb-7.10/gdb/observer.h
Go to the documentation of this file.
1 /* GDB Notifications to Observers.
2 
3  Copyright (C) 2004-2015 Free Software Foundation, Inc.
4 
5  This file is part of GDB.
6 
7  This program is free software; you can redistribute it and/or modify
8  it under the terms of the GNU General Public License as published by
9  the Free Software Foundation; either version 3 of the License, or
10  (at your option) any later version.
11 
12  This program is distributed in the hope that it will be useful,
13  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  GNU General Public License for more details.
16 
17  You should have received a copy of the GNU General Public License
18  along with this program. If not, see <http://www.gnu.org/licenses/>.
19 
20  --
21 
22  This file was generated using observer.sh and observer.texi. */
23 
24 #ifndef OBSERVER_H
25 #define OBSERVER_H
26 
27 struct observer;
28 struct bpstats;
29 struct so_list;
30 struct objfile;
31 struct thread_info;
32 struct inferior;
34 
35 /* normal_stop notifications. */
36 
37 typedef void (observer_normal_stop_ftype) (struct bpstats *bs, int print_frame);
38 
40 extern void observer_detach_normal_stop (struct observer *observer);
41 extern void observer_notify_normal_stop (struct bpstats *bs, int print_frame);
42 
43 /* signal_received notifications. */
44 
45 typedef void (observer_signal_received_ftype) (enum gdb_signal siggnal);
46 
49 extern void observer_notify_signal_received (enum gdb_signal siggnal);
50 
51 /* end_stepping_range notifications. */
52 
53 typedef void (observer_end_stepping_range_ftype) (void);
54 
57 extern void observer_notify_end_stepping_range (void);
58 
59 /* signal_exited notifications. */
60 
61 typedef void (observer_signal_exited_ftype) (enum gdb_signal siggnal);
62 
64 extern void observer_detach_signal_exited (struct observer *observer);
65 extern void observer_notify_signal_exited (enum gdb_signal siggnal);
66 
67 /* exited notifications. */
68 
69 typedef void (observer_exited_ftype) (int exitstatus);
70 
72 extern void observer_detach_exited (struct observer *observer);
73 extern void observer_notify_exited (int exitstatus);
74 
75 /* no_history notifications. */
76 
77 typedef void (observer_no_history_ftype) (void);
78 
80 extern void observer_detach_no_history (struct observer *observer);
81 extern void observer_notify_no_history (void);
82 
83 /* sync_execution_done notifications. */
84 
85 typedef void (observer_sync_execution_done_ftype) (void);
86 
89 extern void observer_notify_sync_execution_done (void);
90 
91 /* command_error notifications. */
92 
93 typedef void (observer_command_error_ftype) (void);
94 
96 extern void observer_detach_command_error (struct observer *observer);
97 extern void observer_notify_command_error (void);
98 
99 /* target_changed notifications. */
100 
101 typedef void (observer_target_changed_ftype) (struct target_ops *target);
102 
104 extern void observer_detach_target_changed (struct observer *observer);
105 extern void observer_notify_target_changed (struct target_ops *target);
106 
107 /* executable_changed notifications. */
108 
109 typedef void (observer_executable_changed_ftype) (void);
110 
113 extern void observer_notify_executable_changed (void);
114 
115 /* inferior_created notifications. */
116 
117 typedef void (observer_inferior_created_ftype) (struct target_ops *objfile, int from_tty);
118 
121 extern void observer_notify_inferior_created (struct target_ops *objfile, int from_tty);
122 
123 /* record_changed notifications. */
124 
125 typedef void (observer_record_changed_ftype) (struct inferior *inferior, int started);
126 
128 extern void observer_detach_record_changed (struct observer *observer);
129 extern void observer_notify_record_changed (struct inferior *inferior, int started);
130 
131 /* solib_loaded notifications. */
132 
133 typedef void (observer_solib_loaded_ftype) (struct so_list *solib);
134 
136 extern void observer_detach_solib_loaded (struct observer *observer);
137 extern void observer_notify_solib_loaded (struct so_list *solib);
138 
139 /* solib_unloaded notifications. */
140 
141 typedef void (observer_solib_unloaded_ftype) (struct so_list *solib);
142 
144 extern void observer_detach_solib_unloaded (struct observer *observer);
145 extern void observer_notify_solib_unloaded (struct so_list *solib);
146 
147 /* new_objfile notifications. */
148 
149 typedef void (observer_new_objfile_ftype) (struct objfile *objfile);
150 
152 extern void observer_detach_new_objfile (struct observer *observer);
153 extern void observer_notify_new_objfile (struct objfile *objfile);
154 
155 /* free_objfile notifications. */
156 
157 typedef void (observer_free_objfile_ftype) (struct objfile *objfile);
158 
160 extern void observer_detach_free_objfile (struct observer *observer);
161 extern void observer_notify_free_objfile (struct objfile *objfile);
162 
163 /* new_thread notifications. */
164 
165 typedef void (observer_new_thread_ftype) (struct thread_info *t);
166 
168 extern void observer_detach_new_thread (struct observer *observer);
169 extern void observer_notify_new_thread (struct thread_info *t);
170 
171 /* thread_exit notifications. */
172 
173 typedef void (observer_thread_exit_ftype) (struct thread_info *t, int silent);
174 
176 extern void observer_detach_thread_exit (struct observer *observer);
177 extern void observer_notify_thread_exit (struct thread_info *t, int silent);
178 
179 /* thread_stop_requested notifications. */
180 
182 
186 
187 /* target_resumed notifications. */
188 
190 
192 extern void observer_detach_target_resumed (struct observer *observer);
194 
195 /* about_to_proceed notifications. */
196 
197 typedef void (observer_about_to_proceed_ftype) (void);
198 
201 extern void observer_notify_about_to_proceed (void);
202 
203 /* breakpoint_created notifications. */
204 
206 
209 extern void observer_notify_breakpoint_created (struct breakpoint *b);
210 
211 /* breakpoint_deleted notifications. */
212 
214 
217 extern void observer_notify_breakpoint_deleted (struct breakpoint *b);
218 
219 /* breakpoint_modified notifications. */
220 
222 
225 extern void observer_notify_breakpoint_modified (struct breakpoint *b);
226 
227 /* traceframe_changed notifications. */
228 
229 typedef void (observer_traceframe_changed_ftype) (int tfnum, int tpnum);
230 
233 extern void observer_notify_traceframe_changed (int tfnum, int tpnum);
234 
235 /* architecture_changed notifications. */
236 
237 typedef void (observer_architecture_changed_ftype) (struct gdbarch *newarch);
238 
241 extern void observer_notify_architecture_changed (struct gdbarch *newarch);
242 
243 /* thread_ptid_changed notifications. */
244 
245 typedef void (observer_thread_ptid_changed_ftype) (ptid_t old_ptid, ptid_t new_ptid);
246 
249 extern void observer_notify_thread_ptid_changed (ptid_t old_ptid, ptid_t new_ptid);
250 
251 /* inferior_added notifications. */
252 
253 typedef void (observer_inferior_added_ftype) (struct inferior *inf);
254 
256 extern void observer_detach_inferior_added (struct observer *observer);
257 extern void observer_notify_inferior_added (struct inferior *inf);
258 
259 /* inferior_appeared notifications. */
260 
261 typedef void (observer_inferior_appeared_ftype) (struct inferior *inf);
262 
265 extern void observer_notify_inferior_appeared (struct inferior *inf);
266 
267 /* inferior_exit notifications. */
268 
269 typedef void (observer_inferior_exit_ftype) (struct inferior *inf);
270 
272 extern void observer_detach_inferior_exit (struct observer *observer);
273 extern void observer_notify_inferior_exit (struct inferior *inf);
274 
275 /* inferior_removed notifications. */
276 
277 typedef void (observer_inferior_removed_ftype) (struct inferior *inf);
278 
281 extern void observer_notify_inferior_removed (struct inferior *inf);
282 
283 /* memory_changed notifications. */
284 
285 typedef void (observer_memory_changed_ftype) (struct inferior *inferior, CORE_ADDR addr, ssize_t len, const bfd_byte *data);
286 
288 extern void observer_detach_memory_changed (struct observer *observer);
289 extern void observer_notify_memory_changed (struct inferior *inferior, CORE_ADDR addr, ssize_t len, const bfd_byte *data);
290 
291 /* before_prompt notifications. */
292 
293 typedef void (observer_before_prompt_ftype) (const char *current_prompt);
294 
296 extern void observer_detach_before_prompt (struct observer *observer);
297 extern void observer_notify_before_prompt (const char *current_prompt);
298 
299 /* gdb_datadir_changed notifications. */
300 
302 
305 extern void observer_notify_gdb_datadir_changed (void);
306 
307 /* command_param_changed notifications. */
308 
309 typedef void (observer_command_param_changed_ftype) (const char *param, const char *value);
310 
313 extern void observer_notify_command_param_changed (const char *param, const char *value);
314 
315 /* tsv_created notifications. */
316 
317 typedef void (observer_tsv_created_ftype) (const struct trace_state_variable *tsv);
318 
320 extern void observer_detach_tsv_created (struct observer *observer);
321 extern void observer_notify_tsv_created (const struct trace_state_variable *tsv);
322 
323 /* tsv_deleted notifications. */
324 
325 typedef void (observer_tsv_deleted_ftype) (const struct trace_state_variable *tsv);
326 
328 extern void observer_detach_tsv_deleted (struct observer *observer);
329 extern void observer_notify_tsv_deleted (const struct trace_state_variable *tsv);
330 
331 /* tsv_modified notifications. */
332 
333 typedef void (observer_tsv_modified_ftype) (const struct trace_state_variable *tsv);
334 
336 extern void observer_detach_tsv_modified (struct observer *observer);
337 extern void observer_notify_tsv_modified (const struct trace_state_variable *tsv);
338 
339 /* inferior_call_pre notifications. */
340 
341 typedef void (observer_inferior_call_pre_ftype) (ptid_t thread, CORE_ADDR address);
342 
345 extern void observer_notify_inferior_call_pre (ptid_t thread, CORE_ADDR address);
346 
347 /* inferior_call_post notifications. */
348 
349 typedef void (observer_inferior_call_post_ftype) (ptid_t thread, CORE_ADDR address);
350 
353 extern void observer_notify_inferior_call_post (ptid_t thread, CORE_ADDR address);
354 
355 /* register_changed notifications. */
356 
357 typedef void (observer_register_changed_ftype) (struct frame_info *frame, int regnum);
358 
361 extern void observer_notify_register_changed (struct frame_info *frame, int regnum);
362 
363 /* test_notification notifications. */
364 
365 typedef void (observer_test_notification_ftype) (int somearg);
366 
369 extern void observer_notify_test_notification (int somearg);
370 
371 #endif /* OBSERVER_H */
void( observer_normal_stop_ftype)(struct bpstats *bs, int print_frame)
Definition: observer.h:37
void( observer_thread_ptid_changed_ftype)(ptid_t old_ptid, ptid_t new_ptid)
Definition: observer.h:245
void observer_detach_inferior_removed(struct observer *observer)
void observer_detach_breakpoint_deleted(struct observer *observer)
void( observer_breakpoint_created_ftype)(struct breakpoint *b)
Definition: observer.h:205
struct observer * observer_attach_record_changed(observer_record_changed_ftype *f)
void observer_detach_thread_ptid_changed(struct observer *observer)
struct observer * observer_attach_breakpoint_deleted(observer_breakpoint_deleted_ftype *f)
void observer_notify_breakpoint_created(struct breakpoint *b)
void( observer_sync_execution_done_ftype)(void)
Definition: observer.h:85
struct observer * observer_attach_inferior_removed(observer_inferior_removed_ftype *f)
struct observer * observer_attach_thread_exit(observer_thread_exit_ftype *f)
void( observer_command_param_changed_ftype)(const char *param, const char *value)
Definition: observer.h:309
void observer_detach_solib_loaded(struct observer *observer)
struct observer * observer_attach_free_objfile(observer_free_objfile_ftype *f)
struct observer * observer_attach_before_prompt(observer_before_prompt_ftype *f)
void( observer_inferior_removed_ftype)(struct inferior *inf)
Definition: observer.h:277
bfd_vma CORE_ADDR
Definition: common-types.h:41
void observer_detach_new_objfile(struct observer *observer)
void observer_notify_register_changed(struct frame_info *frame, int regnum)
tuple inf
Definition: arm-linux.py:13
void observer_detach_breakpoint_modified(struct observer *observer)
void( observer_executable_changed_ftype)(void)
Definition: observer.h:109
void( observer_thread_exit_ftype)(struct thread_info *t, int silent)
Definition: observer.h:173
void( observer_inferior_created_ftype)(struct target_ops *objfile, int from_tty)
Definition: observer.h:117
struct observer * observer_attach_executable_changed(observer_executable_changed_ftype *f)
void observer_notify_normal_stop(struct bpstats *bs, int print_frame)
void observer_detach_tsv_modified(struct observer *observer)
struct observer * observer_attach_signal_exited(observer_signal_exited_ftype *f)
void( observer_tsv_deleted_ftype)(const struct trace_state_variable *tsv)
Definition: observer.h:325
void( observer_inferior_call_post_ftype)(ptid_t thread, CORE_ADDR address)
Definition: observer.h:349
Definition: solist.h:30
struct observer * observer_attach_inferior_exit(observer_inferior_exit_ftype *f)
void observer_notify_executable_changed(void)
void observer_detach_inferior_created(struct observer *observer)
void( observer_solib_loaded_ftype)(struct so_list *solib)
Definition: observer.h:133
void observer_notify_sync_execution_done(void)
void( observer_traceframe_changed_ftype)(int tfnum, int tpnum)
Definition: observer.h:229
struct observer * observer_attach_signal_received(observer_signal_received_ftype *f)
void( observer_breakpoint_modified_ftype)(struct breakpoint *b)
Definition: observer.h:221
void( observer_target_changed_ftype)(struct target_ops *target)
Definition: observer.h:101
void( observer_tsv_modified_ftype)(const struct trace_state_variable *tsv)
Definition: observer.h:333
void observer_detach_inferior_call_post(struct observer *observer)
void observer_detach_thread_stop_requested(struct observer *observer)
void observer_detach_sync_execution_done(struct observer *observer)
void observer_notify_inferior_added(struct inferior *inf)
struct observer * observer_attach_thread_stop_requested(observer_thread_stop_requested_ftype *f)
Definition: ptid.h:35
void observer_notify_traceframe_changed(int tfnum, int tpnum)
void observer_detach_traceframe_changed(struct observer *observer)
void observer_detach_test_notification(struct observer *observer)
void( observer_thread_stop_requested_ftype)(ptid_t ptid)
Definition: observer.h:181
void observer_notify_free_objfile(struct objfile *objfile)
struct observer * observer_attach_inferior_created(observer_inferior_created_ftype *f)
struct observer * observer_attach_no_history(observer_no_history_ftype *f)
struct observer * observer_attach_command_param_changed(observer_command_param_changed_ftype *f)
struct observer * observer_attach_target_changed(observer_target_changed_ftype *f)
void observer_notify_about_to_proceed(void)
void observer_detach_solib_unloaded(struct observer *observer)
void observer_detach_architecture_changed(struct observer *observer)
void observer_detach_memory_changed(struct observer *observer)
void observer_detach_target_resumed(struct observer *observer)
void( observer_free_objfile_ftype)(struct objfile *objfile)
Definition: observer.h:157
void( observer_about_to_proceed_ftype)(void)
Definition: observer.h:197
void observer_detach_signal_received(struct observer *observer)
void observer_detach_tsv_deleted(struct observer *observer)
struct observer * observer_attach_architecture_changed(observer_architecture_changed_ftype *f)
void( observer_register_changed_ftype)(struct frame_info *frame, int regnum)
Definition: observer.h:357
void observer_notify_solib_unloaded(struct so_list *solib)
void( observer_inferior_call_pre_ftype)(ptid_t thread, CORE_ADDR address)
Definition: observer.h:341
struct observer * observer_attach_tsv_created(observer_tsv_created_ftype *f)
void( observer_record_changed_ftype)(struct inferior *inferior, int started)
Definition: observer.h:125
void( observer_tsv_created_ftype)(const struct trace_state_variable *tsv)
Definition: observer.h:317
struct observer * observer_attach_test_notification(observer_test_notification_ftype *f)
struct observer * observer_attach_breakpoint_created(observer_breakpoint_created_ftype *f)
void observer_detach_new_thread(struct observer *observer)
struct observer * observer_attach_solib_unloaded(observer_solib_unloaded_ftype *f)
void observer_notify_target_resumed(ptid_t ptid)
void( observer_gdb_datadir_changed_ftype)(void)
Definition: observer.h:301
void( observer_signal_exited_ftype)(enum gdb_signal siggnal)
Definition: observer.h:61
void observer_detach_breakpoint_created(struct observer *observer)
void observer_detach_command_error(struct observer *observer)
struct observer * observer_attach_command_error(observer_command_error_ftype *f)
void( observer_end_stepping_range_ftype)(void)
Definition: observer.h:53
Definition: gnu-nat.c:163
void observer_notify_record_changed(struct inferior *inferior, int started)
void observer_detach_register_changed(struct observer *observer)
void observer_notify_new_thread(struct thread_info *t)
struct observer * observer_attach_target_resumed(observer_target_resumed_ftype *f)
void observer_notify_tsv_modified(const struct trace_state_variable *tsv)
struct observer * observer_attach_exited(observer_exited_ftype *f)
void( observer_test_notification_ftype)(int somearg)
Definition: observer.h:365
void observer_detach_free_objfile(struct observer *observer)
void( observer_before_prompt_ftype)(const char *current_prompt)
Definition: observer.h:293
int regnum
Definition: aarch64-tdep.c:69
void observer_detach_end_stepping_range(struct observer *observer)
struct observer * observer_attach_inferior_appeared(observer_inferior_appeared_ftype *f)
void observer_detach_no_history(struct observer *observer)
void observer_notify_architecture_changed(struct gdbarch *newarch)
struct observer * observer_attach_thread_ptid_changed(observer_thread_ptid_changed_ftype *f)
void observer_notify_inferior_removed(struct inferior *inf)
void observer_detach_tsv_created(struct observer *observer)
void observer_notify_breakpoint_deleted(struct breakpoint *b)
void( observer_inferior_appeared_ftype)(struct inferior *inf)
Definition: observer.h:261
void observer_detach_command_param_changed(struct observer *observer)
Definition: value.c:172
void( observer_command_error_ftype)(void)
Definition: observer.h:93
void observer_detach_target_changed(struct observer *observer)
void observer_detach_gdb_datadir_changed(struct observer *observer)
void observer_detach_normal_stop(struct observer *observer)
struct observer * observer_attach_tsv_modified(observer_tsv_modified_ftype *f)
void observer_notify_tsv_deleted(const struct trace_state_variable *tsv)
void observer_notify_inferior_created(struct target_ops *objfile, int from_tty)
static void print_frame(struct frame_info *frame, int print_level, enum print_what print_what, int print_args, struct symtab_and_line sal)
void observer_notify_target_changed(struct target_ops *target)
void observer_notify_no_history(void)
void observer_detach_inferior_appeared(struct observer *observer)
void( observer_target_resumed_ftype)(ptid_t ptid)
Definition: observer.h:189
void observer_detach_signal_exited(struct observer *observer)
struct observer * observer_attach_register_changed(observer_register_changed_ftype *f)
struct observer * observer_attach_breakpoint_modified(observer_breakpoint_modified_ftype *f)
void observer_notify_signal_received(enum gdb_signal siggnal)
struct observer * observer_attach_inferior_call_pre(observer_inferior_call_pre_ftype *f)
void observer_notify_thread_exit(struct thread_info *t, int silent)
void observer_notify_test_notification(int somearg)
void( observer_new_objfile_ftype)(struct objfile *objfile)
Definition: observer.h:149
void observer_notify_new_objfile(struct objfile *objfile)
void observer_notify_exited(int exitstatus)
void( observer_memory_changed_ftype)(struct inferior *inferior, CORE_ADDR addr, ssize_t len, const bfd_byte *data)
Definition: observer.h:285
void observer_detach_executable_changed(struct observer *observer)
void observer_notify_thread_ptid_changed(ptid_t old_ptid, ptid_t new_ptid)
void observer_notify_memory_changed(struct inferior *inferior, CORE_ADDR addr, ssize_t len, const bfd_byte *data)
void observer_notify_inferior_call_post(ptid_t thread, CORE_ADDR address)
void * data
Definition: observer.c:74
void( observer_exited_ftype)(int exitstatus)
Definition: observer.h:69
void observer_notify_command_param_changed(const char *param, const char *value)
void observer_notify_inferior_call_pre(ptid_t thread, CORE_ADDR address)
struct observer * observer_attach_inferior_call_post(observer_inferior_call_post_ftype *f)
void observer_notify_thread_stop_requested(ptid_t ptid)
void( observer_inferior_added_ftype)(struct inferior *inf)
Definition: observer.h:253
void( observer_no_history_ftype)(void)
Definition: observer.h:77
void( observer_new_thread_ftype)(struct thread_info *t)
Definition: observer.h:165
struct observer * observer_attach_normal_stop(observer_normal_stop_ftype *f)
struct observer * observer_attach_new_objfile(observer_new_objfile_ftype *f)
void observer_notify_command_error(void)
struct observer * observer_attach_new_thread(observer_new_thread_ftype *f)
void observer_detach_before_prompt(struct observer *observer)
void observer_notify_solib_loaded(struct so_list *solib)
void observer_detach_thread_exit(struct observer *observer)
struct observer * observer_attach_inferior_added(observer_inferior_added_ftype *f)
void( observer_breakpoint_deleted_ftype)(struct breakpoint *b)
Definition: observer.h:213
void observer_detach_inferior_added(struct observer *observer)
void( observer_solib_unloaded_ftype)(struct so_list *solib)
Definition: observer.h:141
struct observer * observer_attach_sync_execution_done(observer_sync_execution_done_ftype *f)
struct observer * observer_attach_end_stepping_range(observer_end_stepping_range_ftype *f)
struct observer * observer_attach_gdb_datadir_changed(observer_gdb_datadir_changed_ftype *f)
void observer_detach_about_to_proceed(struct observer *observer)
void observer_notify_gdb_datadir_changed(void)
void observer_detach_exited(struct observer *observer)
struct observer * observer_attach_memory_changed(observer_memory_changed_ftype *f)
void observer_notify_end_stepping_range(void)
void observer_detach_record_changed(struct observer *observer)
void( observer_signal_received_ftype)(enum gdb_signal siggnal)
Definition: observer.h:45
void observer_notify_inferior_appeared(struct inferior *inf)
struct observer * observer_attach_traceframe_changed(observer_traceframe_changed_ftype *f)
void observer_notify_tsv_created(const struct trace_state_variable *tsv)
struct observer * observer_attach_tsv_deleted(observer_tsv_deleted_ftype *f)
struct observer * observer_attach_solib_loaded(observer_solib_loaded_ftype *f)
void observer_detach_inferior_call_pre(struct observer *observer)
void observer_notify_signal_exited(enum gdb_signal siggnal)
void observer_detach_inferior_exit(struct observer *observer)
void( observer_inferior_exit_ftype)(struct inferior *inf)
Definition: observer.h:269
void( observer_architecture_changed_ftype)(struct gdbarch *newarch)
Definition: observer.h:237
void observer_notify_breakpoint_modified(struct breakpoint *b)
struct observer * observer_attach_about_to_proceed(observer_about_to_proceed_ftype *f)
void observer_notify_inferior_exit(struct inferior *inf)
const ULONGEST const LONGEST len
Definition: target.h:309
void observer_notify_before_prompt(const char *current_prompt)