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