observer.h revision 1.2
1/* This file is automatically generated.  DO NOT EDIT! */
2/* Generated from: NetBSD: mknative-gdb,v 1.6 2013/10/03 18:58:37 christos Exp  */
3/* Generated from: NetBSD: mknative.common,v 1.8 2006/05/26 19:17:21 mrg Exp  */
4
5/* GDB Notifications to Observers.
6
7   Copyright (C) 2004-2013 Free Software Foundation, Inc.
8
9   This file is part of GDB.
10
11   This program is free software; you can redistribute it and/or modify
12   it under the terms of the GNU General Public License as published by
13   the Free Software Foundation; either version 3 of the License, or
14   (at your option) any later version.
15
16   This program is distributed in the hope that it will be useful,
17   but WITHOUT ANY WARRANTY; without even the implied warranty of
18   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19   GNU General Public License for more details.
20
21   You should have received a copy of the GNU General Public License
22   along with this program.  If not, see <http://www.gnu.org/licenses/>.
23
24   --
25
26   This file was generated using observer.sh and observer.texi.  */
27
28#ifndef OBSERVER_H
29#define OBSERVER_H
30
31struct observer;
32struct bpstats;
33struct so_list;
34struct objfile;
35struct thread_info;
36struct inferior;
37struct trace_state_variable;
38
39/* normal_stop notifications.  */
40
41typedef void (observer_normal_stop_ftype) (struct bpstats *bs, int print_frame);
42
43extern struct observer *observer_attach_normal_stop (observer_normal_stop_ftype *f);
44extern void observer_detach_normal_stop (struct observer *observer);
45extern void observer_notify_normal_stop (struct bpstats *bs, int print_frame);
46
47/* target_changed notifications.  */
48
49typedef void (observer_target_changed_ftype) (struct target_ops *target);
50
51extern struct observer *observer_attach_target_changed (observer_target_changed_ftype *f);
52extern void observer_detach_target_changed (struct observer *observer);
53extern void observer_notify_target_changed (struct target_ops *target);
54
55/* executable_changed notifications.  */
56
57typedef void (observer_executable_changed_ftype) (void);
58
59extern struct observer *observer_attach_executable_changed (observer_executable_changed_ftype *f);
60extern void observer_detach_executable_changed (struct observer *observer);
61extern void observer_notify_executable_changed (void);
62
63/* inferior_created notifications.  */
64
65typedef void (observer_inferior_created_ftype) (struct target_ops *objfile, int from_tty);
66
67extern struct observer *observer_attach_inferior_created (observer_inferior_created_ftype *f);
68extern void observer_detach_inferior_created (struct observer *observer);
69extern void observer_notify_inferior_created (struct target_ops *objfile, int from_tty);
70
71/* record_changed notifications.  */
72
73typedef void (observer_record_changed_ftype) (struct inferior *inferior, int started);
74
75extern struct observer *observer_attach_record_changed (observer_record_changed_ftype *f);
76extern void observer_detach_record_changed (struct observer *observer);
77extern void observer_notify_record_changed (struct inferior *inferior, int started);
78
79/* solib_loaded notifications.  */
80
81typedef void (observer_solib_loaded_ftype) (struct so_list *solib);
82
83extern struct observer *observer_attach_solib_loaded (observer_solib_loaded_ftype *f);
84extern void observer_detach_solib_loaded (struct observer *observer);
85extern void observer_notify_solib_loaded (struct so_list *solib);
86
87/* solib_unloaded notifications.  */
88
89typedef void (observer_solib_unloaded_ftype) (struct so_list *solib);
90
91extern struct observer *observer_attach_solib_unloaded (observer_solib_unloaded_ftype *f);
92extern void observer_detach_solib_unloaded (struct observer *observer);
93extern void observer_notify_solib_unloaded (struct so_list *solib);
94
95/* new_objfile notifications.  */
96
97typedef void (observer_new_objfile_ftype) (struct objfile *objfile);
98
99extern struct observer *observer_attach_new_objfile (observer_new_objfile_ftype *f);
100extern void observer_detach_new_objfile (struct observer *observer);
101extern void observer_notify_new_objfile (struct objfile *objfile);
102
103/* new_thread notifications.  */
104
105typedef void (observer_new_thread_ftype) (struct thread_info *t);
106
107extern struct observer *observer_attach_new_thread (observer_new_thread_ftype *f);
108extern void observer_detach_new_thread (struct observer *observer);
109extern void observer_notify_new_thread (struct thread_info *t);
110
111/* thread_exit notifications.  */
112
113typedef void (observer_thread_exit_ftype) (struct thread_info *t, int silent);
114
115extern struct observer *observer_attach_thread_exit (observer_thread_exit_ftype *f);
116extern void observer_detach_thread_exit (struct observer *observer);
117extern void observer_notify_thread_exit (struct thread_info *t, int silent);
118
119/* thread_stop_requested notifications.  */
120
121typedef void (observer_thread_stop_requested_ftype) (ptid_t ptid);
122
123extern struct observer *observer_attach_thread_stop_requested (observer_thread_stop_requested_ftype *f);
124extern void observer_detach_thread_stop_requested (struct observer *observer);
125extern void observer_notify_thread_stop_requested (ptid_t ptid);
126
127/* target_resumed notifications.  */
128
129typedef void (observer_target_resumed_ftype) (ptid_t ptid);
130
131extern struct observer *observer_attach_target_resumed (observer_target_resumed_ftype *f);
132extern void observer_detach_target_resumed (struct observer *observer);
133extern void observer_notify_target_resumed (ptid_t ptid);
134
135/* about_to_proceed notifications.  */
136
137typedef void (observer_about_to_proceed_ftype) (void);
138
139extern struct observer *observer_attach_about_to_proceed (observer_about_to_proceed_ftype *f);
140extern void observer_detach_about_to_proceed (struct observer *observer);
141extern void observer_notify_about_to_proceed (void);
142
143/* breakpoint_created notifications.  */
144
145typedef void (observer_breakpoint_created_ftype) (struct breakpoint *b);
146
147extern struct observer *observer_attach_breakpoint_created (observer_breakpoint_created_ftype *f);
148extern void observer_detach_breakpoint_created (struct observer *observer);
149extern void observer_notify_breakpoint_created (struct breakpoint *b);
150
151/* breakpoint_deleted notifications.  */
152
153typedef void (observer_breakpoint_deleted_ftype) (struct breakpoint *b);
154
155extern struct observer *observer_attach_breakpoint_deleted (observer_breakpoint_deleted_ftype *f);
156extern void observer_detach_breakpoint_deleted (struct observer *observer);
157extern void observer_notify_breakpoint_deleted (struct breakpoint *b);
158
159/* breakpoint_modified notifications.  */
160
161typedef void (observer_breakpoint_modified_ftype) (struct breakpoint *b);
162
163extern struct observer *observer_attach_breakpoint_modified (observer_breakpoint_modified_ftype *f);
164extern void observer_detach_breakpoint_modified (struct observer *observer);
165extern void observer_notify_breakpoint_modified (struct breakpoint *b);
166
167/* traceframe_changed notifications.  */
168
169typedef void (observer_traceframe_changed_ftype) (int tfnum, int tpnum);
170
171extern struct observer *observer_attach_traceframe_changed (observer_traceframe_changed_ftype *f);
172extern void observer_detach_traceframe_changed (struct observer *observer);
173extern void observer_notify_traceframe_changed (int tfnum, int tpnum);
174
175/* architecture_changed notifications.  */
176
177typedef void (observer_architecture_changed_ftype) (struct gdbarch *newarch);
178
179extern struct observer *observer_attach_architecture_changed (observer_architecture_changed_ftype *f);
180extern void observer_detach_architecture_changed (struct observer *observer);
181extern void observer_notify_architecture_changed (struct gdbarch *newarch);
182
183/* thread_ptid_changed notifications.  */
184
185typedef void (observer_thread_ptid_changed_ftype) (ptid_t old_ptid, ptid_t new_ptid);
186
187extern struct observer *observer_attach_thread_ptid_changed (observer_thread_ptid_changed_ftype *f);
188extern void observer_detach_thread_ptid_changed (struct observer *observer);
189extern void observer_notify_thread_ptid_changed (ptid_t old_ptid, ptid_t new_ptid);
190
191/* inferior_added notifications.  */
192
193typedef void (observer_inferior_added_ftype) (struct inferior *inf);
194
195extern struct observer *observer_attach_inferior_added (observer_inferior_added_ftype *f);
196extern void observer_detach_inferior_added (struct observer *observer);
197extern void observer_notify_inferior_added (struct inferior *inf);
198
199/* inferior_appeared notifications.  */
200
201typedef void (observer_inferior_appeared_ftype) (struct inferior *inf);
202
203extern struct observer *observer_attach_inferior_appeared (observer_inferior_appeared_ftype *f);
204extern void observer_detach_inferior_appeared (struct observer *observer);
205extern void observer_notify_inferior_appeared (struct inferior *inf);
206
207/* inferior_exit notifications.  */
208
209typedef void (observer_inferior_exit_ftype) (struct inferior *inf);
210
211extern struct observer *observer_attach_inferior_exit (observer_inferior_exit_ftype *f);
212extern void observer_detach_inferior_exit (struct observer *observer);
213extern void observer_notify_inferior_exit (struct inferior *inf);
214
215/* inferior_removed notifications.  */
216
217typedef void (observer_inferior_removed_ftype) (struct inferior *inf);
218
219extern struct observer *observer_attach_inferior_removed (observer_inferior_removed_ftype *f);
220extern void observer_detach_inferior_removed (struct observer *observer);
221extern void observer_notify_inferior_removed (struct inferior *inf);
222
223/* memory_changed notifications.  */
224
225typedef void (observer_memory_changed_ftype) (struct inferior *inferior, CORE_ADDR addr, ssize_t len, const bfd_byte *data);
226
227extern struct observer *observer_attach_memory_changed (observer_memory_changed_ftype *f);
228extern void observer_detach_memory_changed (struct observer *observer);
229extern void observer_notify_memory_changed (struct inferior *inferior, CORE_ADDR addr, ssize_t len, const bfd_byte *data);
230
231/* before_prompt notifications.  */
232
233typedef void (observer_before_prompt_ftype) (const char *current_prompt);
234
235extern struct observer *observer_attach_before_prompt (observer_before_prompt_ftype *f);
236extern void observer_detach_before_prompt (struct observer *observer);
237extern void observer_notify_before_prompt (const char *current_prompt);
238
239/* gdb_datadir_changed notifications.  */
240
241typedef void (observer_gdb_datadir_changed_ftype) (void);
242
243extern struct observer *observer_attach_gdb_datadir_changed (observer_gdb_datadir_changed_ftype *f);
244extern void observer_detach_gdb_datadir_changed (struct observer *observer);
245extern void observer_notify_gdb_datadir_changed (void);
246
247/* command_param_changed notifications.  */
248
249typedef void (observer_command_param_changed_ftype) (const char *param, const char *value);
250
251extern struct observer *observer_attach_command_param_changed (observer_command_param_changed_ftype *f);
252extern void observer_detach_command_param_changed (struct observer *observer);
253extern void observer_notify_command_param_changed (const char *param, const char *value);
254
255/* tsv_created notifications.  */
256
257typedef void (observer_tsv_created_ftype) (const struct trace_state_variable *tsv);
258
259extern struct observer *observer_attach_tsv_created (observer_tsv_created_ftype *f);
260extern void observer_detach_tsv_created (struct observer *observer);
261extern void observer_notify_tsv_created (const struct trace_state_variable *tsv);
262
263/* tsv_deleted notifications.  */
264
265typedef void (observer_tsv_deleted_ftype) (const struct trace_state_variable *tsv);
266
267extern struct observer *observer_attach_tsv_deleted (observer_tsv_deleted_ftype *f);
268extern void observer_detach_tsv_deleted (struct observer *observer);
269extern void observer_notify_tsv_deleted (const struct trace_state_variable *tsv);
270
271/* tsv_modified notifications.  */
272
273typedef void (observer_tsv_modified_ftype) (const struct trace_state_variable *tsv);
274
275extern struct observer *observer_attach_tsv_modified (observer_tsv_modified_ftype *f);
276extern void observer_detach_tsv_modified (struct observer *observer);
277extern void observer_notify_tsv_modified (const struct trace_state_variable *tsv);
278
279/* test_notification notifications.  */
280
281typedef void (observer_test_notification_ftype) (int somearg);
282
283extern struct observer *observer_attach_test_notification (observer_test_notification_ftype *f);
284extern void observer_detach_test_notification (struct observer *observer);
285extern void observer_notify_test_notification (int somearg);
286
287#endif /* OBSERVER_H */
288