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.9 2007/02/05 18:26:01 apb 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