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