summaryrefslogtreecommitdiff
path: root/external/gpl3/gdb/lib/libgdb/arch/coldfire/observer.h
blob: b3a1f98e1c14d0816437159399fade7e23497255 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
/* This file is automatically generated.  DO NOT EDIT! */
/* Generated from: NetBSD: mknative-gdb,v 1.7 2016/10/16 04:37:42 mrg Exp  */
/* Generated from: NetBSD: mknative.common,v 1.11 2014/02/17 21:39:43 christos Exp  */

/* GDB Notifications to Observers.

   Copyright (C) 2004-2016 Free Software Foundation, Inc.

   This file is part of GDB.

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 3 of the License, or
   (at your option) any later version.
  
   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.
  
   You should have received a copy of the GNU General Public License
   along with this program.  If not, see <http://www.gnu.org/licenses/>.

   --

   This file was generated using observer.sh and observer.texi.  */

#ifndef OBSERVER_H
#define OBSERVER_H

struct observer;
struct bpstats;
struct so_list;
struct objfile;
struct thread_info;
struct inferior;
struct trace_state_variable;

/* normal_stop notifications.  */

typedef void (observer_normal_stop_ftype) (struct bpstats *bs, int print_frame);

extern struct observer *observer_attach_normal_stop (observer_normal_stop_ftype *f);
extern void observer_detach_normal_stop (struct observer *observer);
extern void observer_notify_normal_stop (struct bpstats *bs, int print_frame);

/* signal_received notifications.  */

typedef void (observer_signal_received_ftype) (enum gdb_signal siggnal);

extern struct observer *observer_attach_signal_received (observer_signal_received_ftype *f);
extern void observer_detach_signal_received (struct observer *observer);
extern void observer_notify_signal_received (enum gdb_signal siggnal);

/* end_stepping_range notifications.  */

typedef void (observer_end_stepping_range_ftype) (void);

extern struct observer *observer_attach_end_stepping_range (observer_end_stepping_range_ftype *f);
extern void observer_detach_end_stepping_range (struct observer *observer);
extern void observer_notify_end_stepping_range (void);

/* signal_exited notifications.  */

typedef void (observer_signal_exited_ftype) (enum gdb_signal siggnal);

extern struct observer *observer_attach_signal_exited (observer_signal_exited_ftype *f);
extern void observer_detach_signal_exited (struct observer *observer);
extern void observer_notify_signal_exited (enum gdb_signal siggnal);

/* exited notifications.  */

typedef void (observer_exited_ftype) (int exitstatus);

extern struct observer *observer_attach_exited (observer_exited_ftype *f);
extern void observer_detach_exited (struct observer *observer);
extern void observer_notify_exited (int exitstatus);

/* no_history notifications.  */

typedef void (observer_no_history_ftype) (void);

extern struct observer *observer_attach_no_history (observer_no_history_ftype *f);
extern void observer_detach_no_history (struct observer *observer);
extern void observer_notify_no_history (void);

/* sync_execution_done notifications.  */

typedef void (observer_sync_execution_done_ftype) (void);

extern struct observer *observer_attach_sync_execution_done (observer_sync_execution_done_ftype *f);
extern void observer_detach_sync_execution_done (struct observer *observer);
extern void observer_notify_sync_execution_done (void);

/* command_error notifications.  */

typedef void (observer_command_error_ftype) (void);

extern struct observer *observer_attach_command_error (observer_command_error_ftype *f);
extern void observer_detach_command_error (struct observer *observer);
extern void observer_notify_command_error (void);

/* target_changed notifications.  */

typedef void (observer_target_changed_ftype) (struct target_ops *target);

extern struct observer *observer_attach_target_changed (observer_target_changed_ftype *f);
extern void observer_detach_target_changed (struct observer *observer);
extern void observer_notify_target_changed (struct target_ops *target);

/* executable_changed notifications.  */

typedef void (observer_executable_changed_ftype) (void);

extern struct observer *observer_attach_executable_changed (observer_executable_changed_ftype *f);
extern void observer_detach_executable_changed (struct observer *observer);
extern void observer_notify_executable_changed (void);

/* inferior_created notifications.  */

typedef void (observer_inferior_created_ftype) (struct target_ops *objfile, int from_tty);

extern struct observer *observer_attach_inferior_created (observer_inferior_created_ftype *f);
extern void observer_detach_inferior_created (struct observer *observer);
extern void observer_notify_inferior_created (struct target_ops *objfile, int from_tty);

/* record_changed notifications.  */

typedef void (observer_record_changed_ftype) (struct inferior *inferior, int started, const char *method, const char *format);

extern struct observer *observer_attach_record_changed (observer_record_changed_ftype *f);
extern void observer_detach_record_changed (struct observer *observer);
extern void observer_notify_record_changed (struct inferior *inferior, int started, const char *method, const char *format);

/* solib_loaded notifications.  */

typedef void (observer_solib_loaded_ftype) (struct so_list *solib);

extern struct observer *observer_attach_solib_loaded (observer_solib_loaded_ftype *f);
extern void observer_detach_solib_loaded (struct observer *observer);
extern void observer_notify_solib_loaded (struct so_list *solib);

/* solib_unloaded notifications.  */

typedef void (observer_solib_unloaded_ftype) (struct so_list *solib);

extern struct observer *observer_attach_solib_unloaded (observer_solib_unloaded_ftype *f);
extern void observer_detach_solib_unloaded (struct observer *observer);
extern void observer_notify_solib_unloaded (struct so_list *solib);

/* new_objfile notifications.  */

typedef void (observer_new_objfile_ftype) (struct objfile *objfile);

extern struct observer *observer_attach_new_objfile (observer_new_objfile_ftype *f);
extern void observer_detach_new_objfile (struct observer *observer);
extern void observer_notify_new_objfile (struct objfile *objfile);

/* free_objfile notifications.  */

typedef void (observer_free_objfile_ftype) (struct objfile *objfile);

extern struct observer *observer_attach_free_objfile (observer_free_objfile_ftype *f);
extern void observer_detach_free_objfile (struct observer *observer);
extern void observer_notify_free_objfile (struct objfile *objfile);

/* new_thread notifications.  */

typedef void (observer_new_thread_ftype) (struct thread_info *t);

extern struct observer *observer_attach_new_thread (observer_new_thread_ftype *f);
extern void observer_detach_new_thread (struct observer *observer);
extern void observer_notify_new_thread (struct thread_info *t);

/* thread_exit notifications.  */

typedef void (observer_thread_exit_ftype) (struct thread_info *t, int silent);

extern struct observer *observer_attach_thread_exit (observer_thread_exit_ftype *f);
extern void observer_detach_thread_exit (struct observer *observer);
extern void observer_notify_thread_exit (struct thread_info *t, int silent);

/* thread_stop_requested notifications.  */

typedef void (observer_thread_stop_requested_ftype) (ptid_t ptid);

extern struct observer *observer_attach_thread_stop_requested (observer_thread_stop_requested_ftype *f);
extern void observer_detach_thread_stop_requested (struct observer *observer);
extern void observer_notify_thread_stop_requested (ptid_t ptid);

/* target_resumed notifications.  */

typedef void (observer_target_resumed_ftype) (ptid_t ptid);

extern struct observer *observer_attach_target_resumed (observer_target_resumed_ftype *f);
extern void observer_detach_target_resumed (struct observer *observer);
extern void observer_notify_target_resumed (ptid_t ptid);

/* about_to_proceed notifications.  */

typedef void (observer_about_to_proceed_ftype) (void);

extern struct observer *observer_attach_about_to_proceed (observer_about_to_proceed_ftype *f);
extern void observer_detach_about_to_proceed (struct observer *observer);
extern void observer_notify_about_to_proceed (void);

/* breakpoint_created notifications.  */

typedef void (observer_breakpoint_created_ftype) (struct breakpoint *b);

extern struct observer *observer_attach_breakpoint_created (observer_breakpoint_created_ftype *f);
extern void observer_detach_breakpoint_created (struct observer *observer);
extern void observer_notify_breakpoint_created (struct breakpoint *b);

/* breakpoint_deleted notifications.  */

typedef void (observer_breakpoint_deleted_ftype) (struct breakpoint *b);

extern struct observer *observer_attach_breakpoint_deleted (observer_breakpoint_deleted_ftype *f);
extern void observer_detach_breakpoint_deleted (struct observer *observer);
extern void observer_notify_breakpoint_deleted (struct breakpoint *b);

/* breakpoint_modified notifications.  */

typedef void (observer_breakpoint_modified_ftype) (struct breakpoint *b);

extern struct observer *observer_attach_breakpoint_modified (observer_breakpoint_modified_ftype *f);
extern void observer_detach_breakpoint_modified (struct observer *observer);
extern void observer_notify_breakpoint_modified (struct breakpoint *b);

/* traceframe_changed notifications.  */

typedef void (observer_traceframe_changed_ftype) (int tfnum, int tpnum);

extern struct observer *observer_attach_traceframe_changed (observer_traceframe_changed_ftype *f);
extern void observer_detach_traceframe_changed (struct observer *observer);
extern void observer_notify_traceframe_changed (int tfnum, int tpnum);

/* architecture_changed notifications.  */

typedef void (observer_architecture_changed_ftype) (struct gdbarch *newarch);

extern struct observer *observer_attach_architecture_changed (observer_architecture_changed_ftype *f);
extern void observer_detach_architecture_changed (struct observer *observer);
extern void observer_notify_architecture_changed (struct gdbarch *newarch);

/* thread_ptid_changed notifications.  */

typedef void (observer_thread_ptid_changed_ftype) (ptid_t old_ptid, ptid_t new_ptid);

extern struct observer *observer_attach_thread_ptid_changed (observer_thread_ptid_changed_ftype *f);
extern void observer_detach_thread_ptid_changed (struct observer *observer);
extern void observer_notify_thread_ptid_changed (ptid_t old_ptid, ptid_t new_ptid);

/* inferior_added notifications.  */

typedef void (observer_inferior_added_ftype) (struct inferior *inf);

extern struct observer *observer_attach_inferior_added (observer_inferior_added_ftype *f);
extern void observer_detach_inferior_added (struct observer *observer);
extern void observer_notify_inferior_added (struct inferior *inf);

/* inferior_appeared notifications.  */

typedef void (observer_inferior_appeared_ftype) (struct inferior *inf);

extern struct observer *observer_attach_inferior_appeared (observer_inferior_appeared_ftype *f);
extern void observer_detach_inferior_appeared (struct observer *observer);
extern void observer_notify_inferior_appeared (struct inferior *inf);

/* inferior_exit notifications.  */

typedef void (observer_inferior_exit_ftype) (struct inferior *inf);

extern struct observer *observer_attach_inferior_exit (observer_inferior_exit_ftype *f);
extern void observer_detach_inferior_exit (struct observer *observer);
extern void observer_notify_inferior_exit (struct inferior *inf);

/* inferior_removed notifications.  */

typedef void (observer_inferior_removed_ftype) (struct inferior *inf);

extern struct observer *observer_attach_inferior_removed (observer_inferior_removed_ftype *f);
extern void observer_detach_inferior_removed (struct observer *observer);
extern void observer_notify_inferior_removed (struct inferior *inf);

/* memory_changed notifications.  */

typedef void (observer_memory_changed_ftype) (struct inferior *inferior, CORE_ADDR addr, ssize_t len, const bfd_byte *data);

extern struct observer *observer_attach_memory_changed (observer_memory_changed_ftype *f);
extern void observer_detach_memory_changed (struct observer *observer);
extern void observer_notify_memory_changed (struct inferior *inferior, CORE_ADDR addr, ssize_t len, const bfd_byte *data);

/* before_prompt notifications.  */

typedef void (observer_before_prompt_ftype) (const char *current_prompt);

extern struct observer *observer_attach_before_prompt (observer_before_prompt_ftype *f);
extern void observer_detach_before_prompt (struct observer *observer);
extern void observer_notify_before_prompt (const char *current_prompt);

/* gdb_datadir_changed notifications.  */

typedef void (observer_gdb_datadir_changed_ftype) (void);

extern struct observer *observer_attach_gdb_datadir_changed (observer_gdb_datadir_changed_ftype *f);
extern void observer_detach_gdb_datadir_changed (struct observer *observer);
extern void observer_notify_gdb_datadir_changed (void);

/* command_param_changed notifications.  */

typedef void (observer_command_param_changed_ftype) (const char *param, const char *value);

extern struct observer *observer_attach_command_param_changed (observer_command_param_changed_ftype *f);
extern void observer_detach_command_param_changed (struct observer *observer);
extern void observer_notify_command_param_changed (const char *param, const char *value);

/* tsv_created notifications.  */

typedef void (observer_tsv_created_ftype) (const struct trace_state_variable *tsv);

extern struct observer *observer_attach_tsv_created (observer_tsv_created_ftype *f);
extern void observer_detach_tsv_created (struct observer *observer);
extern void observer_notify_tsv_created (const struct trace_state_variable *tsv);

/* tsv_deleted notifications.  */

typedef void (observer_tsv_deleted_ftype) (const struct trace_state_variable *tsv);

extern struct observer *observer_attach_tsv_deleted (observer_tsv_deleted_ftype *f);
extern void observer_detach_tsv_deleted (struct observer *observer);
extern void observer_notify_tsv_deleted (const struct trace_state_variable *tsv);

/* tsv_modified notifications.  */

typedef void (observer_tsv_modified_ftype) (const struct trace_state_variable *tsv);

extern struct observer *observer_attach_tsv_modified (observer_tsv_modified_ftype *f);
extern void observer_detach_tsv_modified (struct observer *observer);
extern void observer_notify_tsv_modified (const struct trace_state_variable *tsv);

/* inferior_call_pre notifications.  */

typedef void (observer_inferior_call_pre_ftype) (ptid_t thread, CORE_ADDR address);

extern struct observer *observer_attach_inferior_call_pre (observer_inferior_call_pre_ftype *f);
extern void observer_detach_inferior_call_pre (struct observer *observer);
extern void observer_notify_inferior_call_pre (ptid_t thread, CORE_ADDR address);

/* inferior_call_post notifications.  */

typedef void (observer_inferior_call_post_ftype) (ptid_t thread, CORE_ADDR address);

extern struct observer *observer_attach_inferior_call_post (observer_inferior_call_post_ftype *f);
extern void observer_detach_inferior_call_post (struct observer *observer);
extern void observer_notify_inferior_call_post (ptid_t thread, CORE_ADDR address);

/* register_changed notifications.  */

typedef void (observer_register_changed_ftype) (struct frame_info *frame, int regnum);

extern struct observer *observer_attach_register_changed (observer_register_changed_ftype *f);
extern void observer_detach_register_changed (struct observer *observer);
extern void observer_notify_register_changed (struct frame_info *frame, int regnum);

/* test_notification notifications.  */

typedef void (observer_test_notification_ftype) (int somearg);

extern struct observer *observer_attach_test_notification (observer_test_notification_ftype *f);
extern void observer_detach_test_notification (struct observer *observer);
extern void observer_notify_test_notification (int somearg);

/* user_selected_context_changed notifications.  */

typedef void (observer_user_selected_context_changed_ftype) (user_selected_what selection);

extern struct observer *observer_attach_user_selected_context_changed (observer_user_selected_context_changed_ftype *f);
extern void observer_detach_user_selected_context_changed (struct observer *observer);
extern void observer_notify_user_selected_context_changed (user_selected_what selection);

#endif /* OBSERVER_H */