xref: /netbsd-src/external/gpl3/gdb/lib/libgdb/arch/vax/observer.h (revision 8b7331e524ed361bf23f656b4caa416ca7a5670f)
1b1aac1feSchristos /* This file is automatically generated.  DO NOT EDIT! */
2e110ade7Smrg /* Generated from: NetBSD: mknative-gdb,v 1.7 2016/10/16 04:37:42 mrg Exp  */
3*8b7331e5Schristos /* Generated from: NetBSD: mknative.common,v 1.15 2017/11/29 03:32:28 christos Exp  */
4b1aac1feSchristos 
5b1aac1feSchristos /* GDB Notifications to Observers.
6b1aac1feSchristos 
7*8b7331e5Schristos    Copyright (C) 2004-2017 Free Software Foundation, Inc.
8b1aac1feSchristos 
9b1aac1feSchristos    This file is part of GDB.
10b1aac1feSchristos 
11b1aac1feSchristos    This program is free software; you can redistribute it and/or modify
12b1aac1feSchristos    it under the terms of the GNU General Public License as published by
13b1aac1feSchristos    the Free Software Foundation; either version 3 of the License, or
14b1aac1feSchristos    (at your option) any later version.
15b1aac1feSchristos 
16b1aac1feSchristos    This program is distributed in the hope that it will be useful,
17b1aac1feSchristos    but WITHOUT ANY WARRANTY; without even the implied warranty of
18b1aac1feSchristos    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19b1aac1feSchristos    GNU General Public License for more details.
20b1aac1feSchristos 
21b1aac1feSchristos    You should have received a copy of the GNU General Public License
22b1aac1feSchristos    along with this program.  If not, see <http://www.gnu.org/licenses/>.
23b1aac1feSchristos 
24b1aac1feSchristos    --
25b1aac1feSchristos 
26b1aac1feSchristos    This file was generated using observer.sh and observer.texi.  */
27b1aac1feSchristos 
28b1aac1feSchristos #ifndef OBSERVER_H
29b1aac1feSchristos #define OBSERVER_H
30b1aac1feSchristos 
31b1aac1feSchristos struct observer;
32b1aac1feSchristos struct bpstats;
33b1aac1feSchristos struct so_list;
34b1aac1feSchristos struct objfile;
35b1aac1feSchristos struct thread_info;
3634f40950Schristos struct inferior;
3734f40950Schristos struct trace_state_variable;
38b1aac1feSchristos 
39b1aac1feSchristos /* normal_stop notifications.  */
40b1aac1feSchristos 
41b1aac1feSchristos typedef void (observer_normal_stop_ftype) (struct bpstats *bs, int print_frame);
42b1aac1feSchristos 
43b1aac1feSchristos extern struct observer *observer_attach_normal_stop (observer_normal_stop_ftype *f);
44b1aac1feSchristos extern void observer_detach_normal_stop (struct observer *observer);
45b1aac1feSchristos extern void observer_notify_normal_stop (struct bpstats *bs, int print_frame);
46b1aac1feSchristos 
471d014862Schristos /* signal_received notifications.  */
481d014862Schristos 
491d014862Schristos typedef void (observer_signal_received_ftype) (enum gdb_signal siggnal);
501d014862Schristos 
511d014862Schristos extern struct observer *observer_attach_signal_received (observer_signal_received_ftype *f);
521d014862Schristos extern void observer_detach_signal_received (struct observer *observer);
531d014862Schristos extern void observer_notify_signal_received (enum gdb_signal siggnal);
541d014862Schristos 
551d014862Schristos /* end_stepping_range notifications.  */
561d014862Schristos 
571d014862Schristos typedef void (observer_end_stepping_range_ftype) (void);
581d014862Schristos 
591d014862Schristos extern struct observer *observer_attach_end_stepping_range (observer_end_stepping_range_ftype *f);
601d014862Schristos extern void observer_detach_end_stepping_range (struct observer *observer);
611d014862Schristos extern void observer_notify_end_stepping_range (void);
621d014862Schristos 
631d014862Schristos /* signal_exited notifications.  */
641d014862Schristos 
651d014862Schristos typedef void (observer_signal_exited_ftype) (enum gdb_signal siggnal);
661d014862Schristos 
671d014862Schristos extern struct observer *observer_attach_signal_exited (observer_signal_exited_ftype *f);
681d014862Schristos extern void observer_detach_signal_exited (struct observer *observer);
691d014862Schristos extern void observer_notify_signal_exited (enum gdb_signal siggnal);
701d014862Schristos 
711d014862Schristos /* exited notifications.  */
721d014862Schristos 
731d014862Schristos typedef void (observer_exited_ftype) (int exitstatus);
741d014862Schristos 
751d014862Schristos extern struct observer *observer_attach_exited (observer_exited_ftype *f);
761d014862Schristos extern void observer_detach_exited (struct observer *observer);
771d014862Schristos extern void observer_notify_exited (int exitstatus);
781d014862Schristos 
791d014862Schristos /* no_history notifications.  */
801d014862Schristos 
811d014862Schristos typedef void (observer_no_history_ftype) (void);
821d014862Schristos 
831d014862Schristos extern struct observer *observer_attach_no_history (observer_no_history_ftype *f);
841d014862Schristos extern void observer_detach_no_history (struct observer *observer);
851d014862Schristos extern void observer_notify_no_history (void);
861d014862Schristos 
871d014862Schristos /* sync_execution_done notifications.  */
881d014862Schristos 
891d014862Schristos typedef void (observer_sync_execution_done_ftype) (void);
901d014862Schristos 
911d014862Schristos extern struct observer *observer_attach_sync_execution_done (observer_sync_execution_done_ftype *f);
921d014862Schristos extern void observer_detach_sync_execution_done (struct observer *observer);
931d014862Schristos extern void observer_notify_sync_execution_done (void);
941d014862Schristos 
951d014862Schristos /* command_error notifications.  */
961d014862Schristos 
971d014862Schristos typedef void (observer_command_error_ftype) (void);
981d014862Schristos 
991d014862Schristos extern struct observer *observer_attach_command_error (observer_command_error_ftype *f);
1001d014862Schristos extern void observer_detach_command_error (struct observer *observer);
1011d014862Schristos extern void observer_notify_command_error (void);
1021d014862Schristos 
103b1aac1feSchristos /* target_changed notifications.  */
104b1aac1feSchristos 
105b1aac1feSchristos typedef void (observer_target_changed_ftype) (struct target_ops *target);
106b1aac1feSchristos 
107b1aac1feSchristos extern struct observer *observer_attach_target_changed (observer_target_changed_ftype *f);
108b1aac1feSchristos extern void observer_detach_target_changed (struct observer *observer);
109b1aac1feSchristos extern void observer_notify_target_changed (struct target_ops *target);
110b1aac1feSchristos 
111b1aac1feSchristos /* executable_changed notifications.  */
112b1aac1feSchristos 
113b1aac1feSchristos typedef void (observer_executable_changed_ftype) (void);
114b1aac1feSchristos 
115b1aac1feSchristos extern struct observer *observer_attach_executable_changed (observer_executable_changed_ftype *f);
116b1aac1feSchristos extern void observer_detach_executable_changed (struct observer *observer);
117b1aac1feSchristos extern void observer_notify_executable_changed (void);
118b1aac1feSchristos 
119b1aac1feSchristos /* inferior_created notifications.  */
120b1aac1feSchristos 
121b1aac1feSchristos typedef void (observer_inferior_created_ftype) (struct target_ops *objfile, int from_tty);
122b1aac1feSchristos 
123b1aac1feSchristos extern struct observer *observer_attach_inferior_created (observer_inferior_created_ftype *f);
124b1aac1feSchristos extern void observer_detach_inferior_created (struct observer *observer);
125b1aac1feSchristos extern void observer_notify_inferior_created (struct target_ops *objfile, int from_tty);
126b1aac1feSchristos 
12734f40950Schristos /* record_changed notifications.  */
12834f40950Schristos 
129e110ade7Smrg typedef void (observer_record_changed_ftype) (struct inferior *inferior, int started, const char *method, const char *format);
13034f40950Schristos 
13134f40950Schristos extern struct observer *observer_attach_record_changed (observer_record_changed_ftype *f);
13234f40950Schristos extern void observer_detach_record_changed (struct observer *observer);
133e110ade7Smrg extern void observer_notify_record_changed (struct inferior *inferior, int started, const char *method, const char *format);
13434f40950Schristos 
135b1aac1feSchristos /* solib_loaded notifications.  */
136b1aac1feSchristos 
137b1aac1feSchristos typedef void (observer_solib_loaded_ftype) (struct so_list *solib);
138b1aac1feSchristos 
139b1aac1feSchristos extern struct observer *observer_attach_solib_loaded (observer_solib_loaded_ftype *f);
140b1aac1feSchristos extern void observer_detach_solib_loaded (struct observer *observer);
141b1aac1feSchristos extern void observer_notify_solib_loaded (struct so_list *solib);
142b1aac1feSchristos 
143b1aac1feSchristos /* solib_unloaded notifications.  */
144b1aac1feSchristos 
145b1aac1feSchristos typedef void (observer_solib_unloaded_ftype) (struct so_list *solib);
146b1aac1feSchristos 
147b1aac1feSchristos extern struct observer *observer_attach_solib_unloaded (observer_solib_unloaded_ftype *f);
148b1aac1feSchristos extern void observer_detach_solib_unloaded (struct observer *observer);
149b1aac1feSchristos extern void observer_notify_solib_unloaded (struct so_list *solib);
150b1aac1feSchristos 
151b1aac1feSchristos /* new_objfile notifications.  */
152b1aac1feSchristos 
153b1aac1feSchristos typedef void (observer_new_objfile_ftype) (struct objfile *objfile);
154b1aac1feSchristos 
155b1aac1feSchristos extern struct observer *observer_attach_new_objfile (observer_new_objfile_ftype *f);
156b1aac1feSchristos extern void observer_detach_new_objfile (struct observer *observer);
157b1aac1feSchristos extern void observer_notify_new_objfile (struct objfile *objfile);
158b1aac1feSchristos 
15978ce218aSchristos /* free_objfile notifications.  */
16078ce218aSchristos 
16178ce218aSchristos typedef void (observer_free_objfile_ftype) (struct objfile *objfile);
16278ce218aSchristos 
16378ce218aSchristos extern struct observer *observer_attach_free_objfile (observer_free_objfile_ftype *f);
16478ce218aSchristos extern void observer_detach_free_objfile (struct observer *observer);
16578ce218aSchristos extern void observer_notify_free_objfile (struct objfile *objfile);
16678ce218aSchristos 
167b1aac1feSchristos /* new_thread notifications.  */
168b1aac1feSchristos 
169b1aac1feSchristos typedef void (observer_new_thread_ftype) (struct thread_info *t);
170b1aac1feSchristos 
171b1aac1feSchristos extern struct observer *observer_attach_new_thread (observer_new_thread_ftype *f);
172b1aac1feSchristos extern void observer_detach_new_thread (struct observer *observer);
173b1aac1feSchristos extern void observer_notify_new_thread (struct thread_info *t);
174b1aac1feSchristos 
175b1aac1feSchristos /* thread_exit notifications.  */
176b1aac1feSchristos 
177b1aac1feSchristos typedef void (observer_thread_exit_ftype) (struct thread_info *t, int silent);
178b1aac1feSchristos 
179b1aac1feSchristos extern struct observer *observer_attach_thread_exit (observer_thread_exit_ftype *f);
180b1aac1feSchristos extern void observer_detach_thread_exit (struct observer *observer);
181b1aac1feSchristos extern void observer_notify_thread_exit (struct thread_info *t, int silent);
182b1aac1feSchristos 
183b1aac1feSchristos /* thread_stop_requested notifications.  */
184b1aac1feSchristos 
185b1aac1feSchristos typedef void (observer_thread_stop_requested_ftype) (ptid_t ptid);
186b1aac1feSchristos 
187b1aac1feSchristos extern struct observer *observer_attach_thread_stop_requested (observer_thread_stop_requested_ftype *f);
188b1aac1feSchristos extern void observer_detach_thread_stop_requested (struct observer *observer);
189b1aac1feSchristos extern void observer_notify_thread_stop_requested (ptid_t ptid);
190b1aac1feSchristos 
191b1aac1feSchristos /* target_resumed notifications.  */
192b1aac1feSchristos 
193b1aac1feSchristos typedef void (observer_target_resumed_ftype) (ptid_t ptid);
194b1aac1feSchristos 
195b1aac1feSchristos extern struct observer *observer_attach_target_resumed (observer_target_resumed_ftype *f);
196b1aac1feSchristos extern void observer_detach_target_resumed (struct observer *observer);
197b1aac1feSchristos extern void observer_notify_target_resumed (ptid_t ptid);
198b1aac1feSchristos 
199b1aac1feSchristos /* about_to_proceed notifications.  */
200b1aac1feSchristos 
201b1aac1feSchristos typedef void (observer_about_to_proceed_ftype) (void);
202b1aac1feSchristos 
203b1aac1feSchristos extern struct observer *observer_attach_about_to_proceed (observer_about_to_proceed_ftype *f);
204b1aac1feSchristos extern void observer_detach_about_to_proceed (struct observer *observer);
205b1aac1feSchristos extern void observer_notify_about_to_proceed (void);
206b1aac1feSchristos 
207b1aac1feSchristos /* breakpoint_created notifications.  */
208b1aac1feSchristos 
20934f40950Schristos typedef void (observer_breakpoint_created_ftype) (struct breakpoint *b);
210b1aac1feSchristos 
211b1aac1feSchristos extern struct observer *observer_attach_breakpoint_created (observer_breakpoint_created_ftype *f);
212b1aac1feSchristos extern void observer_detach_breakpoint_created (struct observer *observer);
21334f40950Schristos extern void observer_notify_breakpoint_created (struct breakpoint *b);
214b1aac1feSchristos 
215b1aac1feSchristos /* breakpoint_deleted notifications.  */
216b1aac1feSchristos 
21734f40950Schristos typedef void (observer_breakpoint_deleted_ftype) (struct breakpoint *b);
218b1aac1feSchristos 
219b1aac1feSchristos extern struct observer *observer_attach_breakpoint_deleted (observer_breakpoint_deleted_ftype *f);
220b1aac1feSchristos extern void observer_detach_breakpoint_deleted (struct observer *observer);
22134f40950Schristos extern void observer_notify_breakpoint_deleted (struct breakpoint *b);
222b1aac1feSchristos 
223b1aac1feSchristos /* breakpoint_modified notifications.  */
224b1aac1feSchristos 
22534f40950Schristos typedef void (observer_breakpoint_modified_ftype) (struct breakpoint *b);
226b1aac1feSchristos 
227b1aac1feSchristos extern struct observer *observer_attach_breakpoint_modified (observer_breakpoint_modified_ftype *f);
228b1aac1feSchristos extern void observer_detach_breakpoint_modified (struct observer *observer);
22934f40950Schristos extern void observer_notify_breakpoint_modified (struct breakpoint *b);
230b1aac1feSchristos 
23134f40950Schristos /* traceframe_changed notifications.  */
232b1aac1feSchristos 
23334f40950Schristos typedef void (observer_traceframe_changed_ftype) (int tfnum, int tpnum);
234b1aac1feSchristos 
23534f40950Schristos extern struct observer *observer_attach_traceframe_changed (observer_traceframe_changed_ftype *f);
23634f40950Schristos extern void observer_detach_traceframe_changed (struct observer *observer);
23734f40950Schristos extern void observer_notify_traceframe_changed (int tfnum, int tpnum);
238b1aac1feSchristos 
239b1aac1feSchristos /* architecture_changed notifications.  */
240b1aac1feSchristos 
241b1aac1feSchristos typedef void (observer_architecture_changed_ftype) (struct gdbarch *newarch);
242b1aac1feSchristos 
243b1aac1feSchristos extern struct observer *observer_attach_architecture_changed (observer_architecture_changed_ftype *f);
244b1aac1feSchristos extern void observer_detach_architecture_changed (struct observer *observer);
245b1aac1feSchristos extern void observer_notify_architecture_changed (struct gdbarch *newarch);
246b1aac1feSchristos 
247b1aac1feSchristos /* thread_ptid_changed notifications.  */
248b1aac1feSchristos 
249b1aac1feSchristos typedef void (observer_thread_ptid_changed_ftype) (ptid_t old_ptid, ptid_t new_ptid);
250b1aac1feSchristos 
251b1aac1feSchristos extern struct observer *observer_attach_thread_ptid_changed (observer_thread_ptid_changed_ftype *f);
252b1aac1feSchristos extern void observer_detach_thread_ptid_changed (struct observer *observer);
253b1aac1feSchristos extern void observer_notify_thread_ptid_changed (ptid_t old_ptid, ptid_t new_ptid);
254b1aac1feSchristos 
255b1aac1feSchristos /* inferior_added notifications.  */
256b1aac1feSchristos 
257b1aac1feSchristos typedef void (observer_inferior_added_ftype) (struct inferior *inf);
258b1aac1feSchristos 
259b1aac1feSchristos extern struct observer *observer_attach_inferior_added (observer_inferior_added_ftype *f);
260b1aac1feSchristos extern void observer_detach_inferior_added (struct observer *observer);
261b1aac1feSchristos extern void observer_notify_inferior_added (struct inferior *inf);
262b1aac1feSchristos 
263b1aac1feSchristos /* inferior_appeared notifications.  */
264b1aac1feSchristos 
265b1aac1feSchristos typedef void (observer_inferior_appeared_ftype) (struct inferior *inf);
266b1aac1feSchristos 
267b1aac1feSchristos extern struct observer *observer_attach_inferior_appeared (observer_inferior_appeared_ftype *f);
268b1aac1feSchristos extern void observer_detach_inferior_appeared (struct observer *observer);
269b1aac1feSchristos extern void observer_notify_inferior_appeared (struct inferior *inf);
270b1aac1feSchristos 
271b1aac1feSchristos /* inferior_exit notifications.  */
272b1aac1feSchristos 
273b1aac1feSchristos typedef void (observer_inferior_exit_ftype) (struct inferior *inf);
274b1aac1feSchristos 
275b1aac1feSchristos extern struct observer *observer_attach_inferior_exit (observer_inferior_exit_ftype *f);
276b1aac1feSchristos extern void observer_detach_inferior_exit (struct observer *observer);
277b1aac1feSchristos extern void observer_notify_inferior_exit (struct inferior *inf);
278b1aac1feSchristos 
279b1aac1feSchristos /* inferior_removed notifications.  */
280b1aac1feSchristos 
281b1aac1feSchristos typedef void (observer_inferior_removed_ftype) (struct inferior *inf);
282b1aac1feSchristos 
283b1aac1feSchristos extern struct observer *observer_attach_inferior_removed (observer_inferior_removed_ftype *f);
284b1aac1feSchristos extern void observer_detach_inferior_removed (struct observer *observer);
285b1aac1feSchristos extern void observer_notify_inferior_removed (struct inferior *inf);
286b1aac1feSchristos 
287b1aac1feSchristos /* memory_changed notifications.  */
288b1aac1feSchristos 
28934f40950Schristos typedef void (observer_memory_changed_ftype) (struct inferior *inferior, CORE_ADDR addr, ssize_t len, const bfd_byte *data);
290b1aac1feSchristos 
291b1aac1feSchristos extern struct observer *observer_attach_memory_changed (observer_memory_changed_ftype *f);
292b1aac1feSchristos extern void observer_detach_memory_changed (struct observer *observer);
29334f40950Schristos extern void observer_notify_memory_changed (struct inferior *inferior, CORE_ADDR addr, ssize_t len, const bfd_byte *data);
29434f40950Schristos 
29534f40950Schristos /* before_prompt notifications.  */
29634f40950Schristos 
29734f40950Schristos typedef void (observer_before_prompt_ftype) (const char *current_prompt);
29834f40950Schristos 
29934f40950Schristos extern struct observer *observer_attach_before_prompt (observer_before_prompt_ftype *f);
30034f40950Schristos extern void observer_detach_before_prompt (struct observer *observer);
30134f40950Schristos extern void observer_notify_before_prompt (const char *current_prompt);
30234f40950Schristos 
30334f40950Schristos /* gdb_datadir_changed notifications.  */
30434f40950Schristos 
30534f40950Schristos typedef void (observer_gdb_datadir_changed_ftype) (void);
30634f40950Schristos 
30734f40950Schristos extern struct observer *observer_attach_gdb_datadir_changed (observer_gdb_datadir_changed_ftype *f);
30834f40950Schristos extern void observer_detach_gdb_datadir_changed (struct observer *observer);
30934f40950Schristos extern void observer_notify_gdb_datadir_changed (void);
31034f40950Schristos 
31134f40950Schristos /* command_param_changed notifications.  */
31234f40950Schristos 
31334f40950Schristos typedef void (observer_command_param_changed_ftype) (const char *param, const char *value);
31434f40950Schristos 
31534f40950Schristos extern struct observer *observer_attach_command_param_changed (observer_command_param_changed_ftype *f);
31634f40950Schristos extern void observer_detach_command_param_changed (struct observer *observer);
31734f40950Schristos extern void observer_notify_command_param_changed (const char *param, const char *value);
31834f40950Schristos 
31934f40950Schristos /* tsv_created notifications.  */
32034f40950Schristos 
32134f40950Schristos typedef void (observer_tsv_created_ftype) (const struct trace_state_variable *tsv);
32234f40950Schristos 
32334f40950Schristos extern struct observer *observer_attach_tsv_created (observer_tsv_created_ftype *f);
32434f40950Schristos extern void observer_detach_tsv_created (struct observer *observer);
32534f40950Schristos extern void observer_notify_tsv_created (const struct trace_state_variable *tsv);
32634f40950Schristos 
32734f40950Schristos /* tsv_deleted notifications.  */
32834f40950Schristos 
32934f40950Schristos typedef void (observer_tsv_deleted_ftype) (const struct trace_state_variable *tsv);
33034f40950Schristos 
33134f40950Schristos extern struct observer *observer_attach_tsv_deleted (observer_tsv_deleted_ftype *f);
33234f40950Schristos extern void observer_detach_tsv_deleted (struct observer *observer);
33334f40950Schristos extern void observer_notify_tsv_deleted (const struct trace_state_variable *tsv);
33434f40950Schristos 
33534f40950Schristos /* tsv_modified notifications.  */
33634f40950Schristos 
33734f40950Schristos typedef void (observer_tsv_modified_ftype) (const struct trace_state_variable *tsv);
33834f40950Schristos 
33934f40950Schristos extern struct observer *observer_attach_tsv_modified (observer_tsv_modified_ftype *f);
34034f40950Schristos extern void observer_detach_tsv_modified (struct observer *observer);
34134f40950Schristos extern void observer_notify_tsv_modified (const struct trace_state_variable *tsv);
342b1aac1feSchristos 
3431d014862Schristos /* inferior_call_pre notifications.  */
3441d014862Schristos 
3451d014862Schristos typedef void (observer_inferior_call_pre_ftype) (ptid_t thread, CORE_ADDR address);
3461d014862Schristos 
3471d014862Schristos extern struct observer *observer_attach_inferior_call_pre (observer_inferior_call_pre_ftype *f);
3481d014862Schristos extern void observer_detach_inferior_call_pre (struct observer *observer);
3491d014862Schristos extern void observer_notify_inferior_call_pre (ptid_t thread, CORE_ADDR address);
3501d014862Schristos 
3511d014862Schristos /* inferior_call_post notifications.  */
3521d014862Schristos 
3531d014862Schristos typedef void (observer_inferior_call_post_ftype) (ptid_t thread, CORE_ADDR address);
3541d014862Schristos 
3551d014862Schristos extern struct observer *observer_attach_inferior_call_post (observer_inferior_call_post_ftype *f);
3561d014862Schristos extern void observer_detach_inferior_call_post (struct observer *observer);
3571d014862Schristos extern void observer_notify_inferior_call_post (ptid_t thread, CORE_ADDR address);
3581d014862Schristos 
3591d014862Schristos /* register_changed notifications.  */
3601d014862Schristos 
3611d014862Schristos typedef void (observer_register_changed_ftype) (struct frame_info *frame, int regnum);
3621d014862Schristos 
3631d014862Schristos extern struct observer *observer_attach_register_changed (observer_register_changed_ftype *f);
3641d014862Schristos extern void observer_detach_register_changed (struct observer *observer);
3651d014862Schristos extern void observer_notify_register_changed (struct frame_info *frame, int regnum);
3661d014862Schristos 
367b1aac1feSchristos /* test_notification notifications.  */
368b1aac1feSchristos 
369b1aac1feSchristos typedef void (observer_test_notification_ftype) (int somearg);
370b1aac1feSchristos 
371b1aac1feSchristos extern struct observer *observer_attach_test_notification (observer_test_notification_ftype *f);
372b1aac1feSchristos extern void observer_detach_test_notification (struct observer *observer);
373b1aac1feSchristos extern void observer_notify_test_notification (int somearg);
374b1aac1feSchristos 
375e110ade7Smrg /* user_selected_context_changed notifications.  */
376e110ade7Smrg 
377e110ade7Smrg typedef void (observer_user_selected_context_changed_ftype) (user_selected_what selection);
378e110ade7Smrg 
379e110ade7Smrg extern struct observer *observer_attach_user_selected_context_changed (observer_user_selected_context_changed_ftype *f);
380e110ade7Smrg extern void observer_detach_user_selected_context_changed (struct observer *observer);
381e110ade7Smrg extern void observer_notify_user_selected_context_changed (user_selected_what selection);
382e110ade7Smrg 
383b1aac1feSchristos #endif /* OBSERVER_H */
384