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