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 32 struct observer; 33 struct bpstats; 34 struct so_list; 35 struct objfile; 36 struct thread_info; 37 38 /* normal_stop notifications. */ 39 40 typedef void (observer_normal_stop_ftype) (struct bpstats *bs, int print_frame); 41 42 extern struct observer *observer_attach_normal_stop (observer_normal_stop_ftype *f); 43 extern void observer_detach_normal_stop (struct observer *observer); 44 extern void observer_notify_normal_stop (struct bpstats *bs, int print_frame); 45 46 /* target_changed notifications. */ 47 48 typedef void (observer_target_changed_ftype) (struct target_ops *target); 49 50 extern struct observer *observer_attach_target_changed (observer_target_changed_ftype *f); 51 extern void observer_detach_target_changed (struct observer *observer); 52 extern void observer_notify_target_changed (struct target_ops *target); 53 54 /* executable_changed notifications. */ 55 56 typedef void (observer_executable_changed_ftype) (void); 57 58 extern struct observer *observer_attach_executable_changed (observer_executable_changed_ftype *f); 59 extern void observer_detach_executable_changed (struct observer *observer); 60 extern void observer_notify_executable_changed (void); 61 62 /* inferior_created notifications. */ 63 64 typedef void (observer_inferior_created_ftype) (struct target_ops *objfile, int from_tty); 65 66 extern struct observer *observer_attach_inferior_created (observer_inferior_created_ftype *f); 67 extern void observer_detach_inferior_created (struct observer *observer); 68 extern void observer_notify_inferior_created (struct target_ops *objfile, int from_tty); 69 70 /* solib_loaded notifications. */ 71 72 typedef void (observer_solib_loaded_ftype) (struct so_list *solib); 73 74 extern struct observer *observer_attach_solib_loaded (observer_solib_loaded_ftype *f); 75 extern void observer_detach_solib_loaded (struct observer *observer); 76 extern void observer_notify_solib_loaded (struct so_list *solib); 77 78 /* solib_unloaded notifications. */ 79 80 typedef void (observer_solib_unloaded_ftype) (struct so_list *solib); 81 82 extern struct observer *observer_attach_solib_unloaded (observer_solib_unloaded_ftype *f); 83 extern void observer_detach_solib_unloaded (struct observer *observer); 84 extern void observer_notify_solib_unloaded (struct so_list *solib); 85 86 /* new_objfile notifications. */ 87 88 typedef void (observer_new_objfile_ftype) (struct objfile *objfile); 89 90 extern struct observer *observer_attach_new_objfile (observer_new_objfile_ftype *f); 91 extern void observer_detach_new_objfile (struct observer *observer); 92 extern void observer_notify_new_objfile (struct objfile *objfile); 93 94 /* new_thread notifications. */ 95 96 typedef void (observer_new_thread_ftype) (struct thread_info *t); 97 98 extern struct observer *observer_attach_new_thread (observer_new_thread_ftype *f); 99 extern void observer_detach_new_thread (struct observer *observer); 100 extern void observer_notify_new_thread (struct thread_info *t); 101 102 /* thread_exit notifications. */ 103 104 typedef void (observer_thread_exit_ftype) (struct thread_info *t, int silent); 105 106 extern struct observer *observer_attach_thread_exit (observer_thread_exit_ftype *f); 107 extern void observer_detach_thread_exit (struct observer *observer); 108 extern void observer_notify_thread_exit (struct thread_info *t, int silent); 109 110 /* thread_stop_requested notifications. */ 111 112 typedef void (observer_thread_stop_requested_ftype) (ptid_t ptid); 113 114 extern struct observer *observer_attach_thread_stop_requested (observer_thread_stop_requested_ftype *f); 115 extern void observer_detach_thread_stop_requested (struct observer *observer); 116 extern void observer_notify_thread_stop_requested (ptid_t ptid); 117 118 /* target_resumed notifications. */ 119 120 typedef void (observer_target_resumed_ftype) (ptid_t ptid); 121 122 extern struct observer *observer_attach_target_resumed (observer_target_resumed_ftype *f); 123 extern void observer_detach_target_resumed (struct observer *observer); 124 extern void observer_notify_target_resumed (ptid_t ptid); 125 126 /* about_to_proceed notifications. */ 127 128 typedef void (observer_about_to_proceed_ftype) (void); 129 130 extern struct observer *observer_attach_about_to_proceed (observer_about_to_proceed_ftype *f); 131 extern void observer_detach_about_to_proceed (struct observer *observer); 132 extern void observer_notify_about_to_proceed (void); 133 134 /* breakpoint_created notifications. */ 135 136 typedef void (observer_breakpoint_created_ftype) (int bpnum); 137 138 extern struct observer *observer_attach_breakpoint_created (observer_breakpoint_created_ftype *f); 139 extern void observer_detach_breakpoint_created (struct observer *observer); 140 extern void observer_notify_breakpoint_created (int bpnum); 141 142 /* breakpoint_deleted notifications. */ 143 144 typedef void (observer_breakpoint_deleted_ftype) (int bpnum); 145 146 extern struct observer *observer_attach_breakpoint_deleted (observer_breakpoint_deleted_ftype *f); 147 extern void observer_detach_breakpoint_deleted (struct observer *observer); 148 extern void observer_notify_breakpoint_deleted (int bpnum); 149 150 /* breakpoint_modified notifications. */ 151 152 typedef void (observer_breakpoint_modified_ftype) (int bpnum); 153 154 extern struct observer *observer_attach_breakpoint_modified (observer_breakpoint_modified_ftype *f); 155 extern void observer_detach_breakpoint_modified (struct observer *observer); 156 extern void observer_notify_breakpoint_modified (int bpnum); 157 158 /* tracepoint_created notifications. */ 159 160 typedef void (observer_tracepoint_created_ftype) (int tpnum); 161 162 extern struct observer *observer_attach_tracepoint_created (observer_tracepoint_created_ftype *f); 163 extern void observer_detach_tracepoint_created (struct observer *observer); 164 extern void observer_notify_tracepoint_created (int tpnum); 165 166 /* tracepoint_deleted notifications. */ 167 168 typedef void (observer_tracepoint_deleted_ftype) (int tpnum); 169 170 extern struct observer *observer_attach_tracepoint_deleted (observer_tracepoint_deleted_ftype *f); 171 extern void observer_detach_tracepoint_deleted (struct observer *observer); 172 extern void observer_notify_tracepoint_deleted (int tpnum); 173 174 /* tracepoint_modified notifications. */ 175 176 typedef void (observer_tracepoint_modified_ftype) (int tpnum); 177 178 extern struct observer *observer_attach_tracepoint_modified (observer_tracepoint_modified_ftype *f); 179 extern void observer_detach_tracepoint_modified (struct observer *observer); 180 extern void observer_notify_tracepoint_modified (int tpnum); 181 182 /* architecture_changed notifications. */ 183 184 typedef void (observer_architecture_changed_ftype) (struct gdbarch *newarch); 185 186 extern struct observer *observer_attach_architecture_changed (observer_architecture_changed_ftype *f); 187 extern void observer_detach_architecture_changed (struct observer *observer); 188 extern void observer_notify_architecture_changed (struct gdbarch *newarch); 189 190 /* thread_ptid_changed notifications. */ 191 192 typedef void (observer_thread_ptid_changed_ftype) (ptid_t old_ptid, ptid_t new_ptid); 193 194 extern struct observer *observer_attach_thread_ptid_changed (observer_thread_ptid_changed_ftype *f); 195 extern void observer_detach_thread_ptid_changed (struct observer *observer); 196 extern void observer_notify_thread_ptid_changed (ptid_t old_ptid, ptid_t new_ptid); 197 198 /* inferior_added notifications. */ 199 200 typedef void (observer_inferior_added_ftype) (struct inferior *inf); 201 202 extern struct observer *observer_attach_inferior_added (observer_inferior_added_ftype *f); 203 extern void observer_detach_inferior_added (struct observer *observer); 204 extern void observer_notify_inferior_added (struct inferior *inf); 205 206 /* inferior_appeared notifications. */ 207 208 typedef void (observer_inferior_appeared_ftype) (struct inferior *inf); 209 210 extern struct observer *observer_attach_inferior_appeared (observer_inferior_appeared_ftype *f); 211 extern void observer_detach_inferior_appeared (struct observer *observer); 212 extern void observer_notify_inferior_appeared (struct inferior *inf); 213 214 /* inferior_exit notifications. */ 215 216 typedef void (observer_inferior_exit_ftype) (struct inferior *inf); 217 218 extern struct observer *observer_attach_inferior_exit (observer_inferior_exit_ftype *f); 219 extern void observer_detach_inferior_exit (struct observer *observer); 220 extern void observer_notify_inferior_exit (struct inferior *inf); 221 222 /* inferior_removed notifications. */ 223 224 typedef void (observer_inferior_removed_ftype) (struct inferior *inf); 225 226 extern struct observer *observer_attach_inferior_removed (observer_inferior_removed_ftype *f); 227 extern void observer_detach_inferior_removed (struct observer *observer); 228 extern void observer_notify_inferior_removed (struct inferior *inf); 229 230 /* memory_changed notifications. */ 231 232 typedef void (observer_memory_changed_ftype) (CORE_ADDR addr, int len, const bfd_byte *data); 233 234 extern struct observer *observer_attach_memory_changed (observer_memory_changed_ftype *f); 235 extern void observer_detach_memory_changed (struct observer *observer); 236 extern void observer_notify_memory_changed (CORE_ADDR addr, int len, const bfd_byte *data); 237 238 /* test_notification notifications. */ 239 240 typedef void (observer_test_notification_ftype) (int somearg); 241 242 extern struct observer *observer_attach_test_notification (observer_test_notification_ftype *f); 243 extern void observer_detach_test_notification (struct observer *observer); 244 extern void observer_notify_test_notification (int somearg); 245 246 #endif /* OBSERVER_H */ 247