xref: /netbsd-src/external/gpl3/gdb/lib/libgdb/arch/m68k/observer.h (revision 8b7331e524ed361bf23f656b4caa416ca7a5670f)
1ac8695a9Schristos /* 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  */
4ac8695a9Schristos 
5ac8695a9Schristos /* GDB Notifications to Observers.
6ac8695a9Schristos 
7*8b7331e5Schristos    Copyright (C) 2004-2017 Free Software Foundation, Inc.
8ac8695a9Schristos 
9ac8695a9Schristos    This file is part of GDB.
10ac8695a9Schristos 
11ac8695a9Schristos    This program is free software; you can redistribute it and/or modify
12ac8695a9Schristos    it under the terms of the GNU General Public License as published by
13ac8695a9Schristos    the Free Software Foundation; either version 3 of the License, or
14ac8695a9Schristos    (at your option) any later version.
15ac8695a9Schristos 
16ac8695a9Schristos    This program is distributed in the hope that it will be useful,
17ac8695a9Schristos    but WITHOUT ANY WARRANTY; without even the implied warranty of
18ac8695a9Schristos    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19ac8695a9Schristos    GNU General Public License for more details.
20ac8695a9Schristos 
21ac8695a9Schristos    You should have received a copy of the GNU General Public License
22ac8695a9Schristos    along with this program.  If not, see <http://www.gnu.org/licenses/>.
23ac8695a9Schristos 
24ac8695a9Schristos    --
25ac8695a9Schristos 
26ac8695a9Schristos    This file was generated using observer.sh and observer.texi.  */
27ac8695a9Schristos 
28ac8695a9Schristos #ifndef OBSERVER_H
29ac8695a9Schristos #define OBSERVER_H
30ac8695a9Schristos 
31ac8695a9Schristos struct observer;
32ac8695a9Schristos struct bpstats;
33ac8695a9Schristos struct so_list;
34ac8695a9Schristos struct objfile;
35ac8695a9Schristos struct thread_info;
3684e9dd17Smrg struct inferior;
3784e9dd17Smrg struct trace_state_variable;
38ac8695a9Schristos 
39ac8695a9Schristos /* normal_stop notifications.  */
40ac8695a9Schristos 
41ac8695a9Schristos typedef void (observer_normal_stop_ftype) (struct bpstats *bs, int print_frame);
42ac8695a9Schristos 
43ac8695a9Schristos extern struct observer *observer_attach_normal_stop (observer_normal_stop_ftype *f);
44ac8695a9Schristos extern void observer_detach_normal_stop (struct observer *observer);
45ac8695a9Schristos extern void observer_notify_normal_stop (struct bpstats *bs, int print_frame);
46ac8695a9Schristos 
473221174aSchristos /* signal_received notifications.  */
483221174aSchristos 
493221174aSchristos typedef void (observer_signal_received_ftype) (enum gdb_signal siggnal);
503221174aSchristos 
513221174aSchristos extern struct observer *observer_attach_signal_received (observer_signal_received_ftype *f);
523221174aSchristos extern void observer_detach_signal_received (struct observer *observer);
533221174aSchristos extern void observer_notify_signal_received (enum gdb_signal siggnal);
543221174aSchristos 
553221174aSchristos /* end_stepping_range notifications.  */
563221174aSchristos 
573221174aSchristos typedef void (observer_end_stepping_range_ftype) (void);
583221174aSchristos 
593221174aSchristos extern struct observer *observer_attach_end_stepping_range (observer_end_stepping_range_ftype *f);
603221174aSchristos extern void observer_detach_end_stepping_range (struct observer *observer);
613221174aSchristos extern void observer_notify_end_stepping_range (void);
623221174aSchristos 
633221174aSchristos /* signal_exited notifications.  */
643221174aSchristos 
653221174aSchristos typedef void (observer_signal_exited_ftype) (enum gdb_signal siggnal);
663221174aSchristos 
673221174aSchristos extern struct observer *observer_attach_signal_exited (observer_signal_exited_ftype *f);
683221174aSchristos extern void observer_detach_signal_exited (struct observer *observer);
693221174aSchristos extern void observer_notify_signal_exited (enum gdb_signal siggnal);
703221174aSchristos 
713221174aSchristos /* exited notifications.  */
723221174aSchristos 
733221174aSchristos typedef void (observer_exited_ftype) (int exitstatus);
743221174aSchristos 
753221174aSchristos extern struct observer *observer_attach_exited (observer_exited_ftype *f);
763221174aSchristos extern void observer_detach_exited (struct observer *observer);
773221174aSchristos extern void observer_notify_exited (int exitstatus);
783221174aSchristos 
793221174aSchristos /* no_history notifications.  */
803221174aSchristos 
813221174aSchristos typedef void (observer_no_history_ftype) (void);
823221174aSchristos 
833221174aSchristos extern struct observer *observer_attach_no_history (observer_no_history_ftype *f);
843221174aSchristos extern void observer_detach_no_history (struct observer *observer);
853221174aSchristos extern void observer_notify_no_history (void);
863221174aSchristos 
873221174aSchristos /* sync_execution_done notifications.  */
883221174aSchristos 
893221174aSchristos typedef void (observer_sync_execution_done_ftype) (void);
903221174aSchristos 
913221174aSchristos extern struct observer *observer_attach_sync_execution_done (observer_sync_execution_done_ftype *f);
923221174aSchristos extern void observer_detach_sync_execution_done (struct observer *observer);
933221174aSchristos extern void observer_notify_sync_execution_done (void);
943221174aSchristos 
953221174aSchristos /* command_error notifications.  */
963221174aSchristos 
973221174aSchristos typedef void (observer_command_error_ftype) (void);
983221174aSchristos 
993221174aSchristos extern struct observer *observer_attach_command_error (observer_command_error_ftype *f);
1003221174aSchristos extern void observer_detach_command_error (struct observer *observer);
1013221174aSchristos extern void observer_notify_command_error (void);
1023221174aSchristos 
103ac8695a9Schristos /* target_changed notifications.  */
104ac8695a9Schristos 
105ac8695a9Schristos typedef void (observer_target_changed_ftype) (struct target_ops *target);
106ac8695a9Schristos 
107ac8695a9Schristos extern struct observer *observer_attach_target_changed (observer_target_changed_ftype *f);
108ac8695a9Schristos extern void observer_detach_target_changed (struct observer *observer);
109ac8695a9Schristos extern void observer_notify_target_changed (struct target_ops *target);
110ac8695a9Schristos 
111ac8695a9Schristos /* executable_changed notifications.  */
112ac8695a9Schristos 
113ac8695a9Schristos typedef void (observer_executable_changed_ftype) (void);
114ac8695a9Schristos 
115ac8695a9Schristos extern struct observer *observer_attach_executable_changed (observer_executable_changed_ftype *f);
116ac8695a9Schristos extern void observer_detach_executable_changed (struct observer *observer);
117ac8695a9Schristos extern void observer_notify_executable_changed (void);
118ac8695a9Schristos 
119ac8695a9Schristos /* inferior_created notifications.  */
120ac8695a9Schristos 
121ac8695a9Schristos typedef void (observer_inferior_created_ftype) (struct target_ops *objfile, int from_tty);
122ac8695a9Schristos 
123ac8695a9Schristos extern struct observer *observer_attach_inferior_created (observer_inferior_created_ftype *f);
124ac8695a9Schristos extern void observer_detach_inferior_created (struct observer *observer);
125ac8695a9Schristos extern void observer_notify_inferior_created (struct target_ops *objfile, int from_tty);
126ac8695a9Schristos 
12784e9dd17Smrg /* record_changed notifications.  */
12884e9dd17Smrg 
129e110ade7Smrg typedef void (observer_record_changed_ftype) (struct inferior *inferior, int started, const char *method, const char *format);
13084e9dd17Smrg 
13184e9dd17Smrg extern struct observer *observer_attach_record_changed (observer_record_changed_ftype *f);
13284e9dd17Smrg 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);
13484e9dd17Smrg 
135ac8695a9Schristos /* solib_loaded notifications.  */
136ac8695a9Schristos 
137ac8695a9Schristos typedef void (observer_solib_loaded_ftype) (struct so_list *solib);
138ac8695a9Schristos 
139ac8695a9Schristos extern struct observer *observer_attach_solib_loaded (observer_solib_loaded_ftype *f);
140ac8695a9Schristos extern void observer_detach_solib_loaded (struct observer *observer);
141ac8695a9Schristos extern void observer_notify_solib_loaded (struct so_list *solib);
142ac8695a9Schristos 
143ac8695a9Schristos /* solib_unloaded notifications.  */
144ac8695a9Schristos 
145ac8695a9Schristos typedef void (observer_solib_unloaded_ftype) (struct so_list *solib);
146ac8695a9Schristos 
147ac8695a9Schristos extern struct observer *observer_attach_solib_unloaded (observer_solib_unloaded_ftype *f);
148ac8695a9Schristos extern void observer_detach_solib_unloaded (struct observer *observer);
149ac8695a9Schristos extern void observer_notify_solib_unloaded (struct so_list *solib);
150ac8695a9Schristos 
151ac8695a9Schristos /* new_objfile notifications.  */
152ac8695a9Schristos 
153ac8695a9Schristos typedef void (observer_new_objfile_ftype) (struct objfile *objfile);
154ac8695a9Schristos 
155ac8695a9Schristos extern struct observer *observer_attach_new_objfile (observer_new_objfile_ftype *f);
156ac8695a9Schristos extern void observer_detach_new_objfile (struct observer *observer);
157ac8695a9Schristos extern void observer_notify_new_objfile (struct objfile *objfile);
158ac8695a9Schristos 
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 
167ac8695a9Schristos /* new_thread notifications.  */
168ac8695a9Schristos 
169ac8695a9Schristos typedef void (observer_new_thread_ftype) (struct thread_info *t);
170ac8695a9Schristos 
171ac8695a9Schristos extern struct observer *observer_attach_new_thread (observer_new_thread_ftype *f);
172ac8695a9Schristos extern void observer_detach_new_thread (struct observer *observer);
173ac8695a9Schristos extern void observer_notify_new_thread (struct thread_info *t);
174ac8695a9Schristos 
175ac8695a9Schristos /* thread_exit notifications.  */
176ac8695a9Schristos 
177ac8695a9Schristos typedef void (observer_thread_exit_ftype) (struct thread_info *t, int silent);
178ac8695a9Schristos 
179ac8695a9Schristos extern struct observer *observer_attach_thread_exit (observer_thread_exit_ftype *f);
180ac8695a9Schristos extern void observer_detach_thread_exit (struct observer *observer);
181ac8695a9Schristos extern void observer_notify_thread_exit (struct thread_info *t, int silent);
182ac8695a9Schristos 
183ac8695a9Schristos /* thread_stop_requested notifications.  */
184ac8695a9Schristos 
185ac8695a9Schristos typedef void (observer_thread_stop_requested_ftype) (ptid_t ptid);
186ac8695a9Schristos 
187ac8695a9Schristos extern struct observer *observer_attach_thread_stop_requested (observer_thread_stop_requested_ftype *f);
188ac8695a9Schristos extern void observer_detach_thread_stop_requested (struct observer *observer);
189ac8695a9Schristos extern void observer_notify_thread_stop_requested (ptid_t ptid);
190ac8695a9Schristos 
191ac8695a9Schristos /* target_resumed notifications.  */
192ac8695a9Schristos 
193ac8695a9Schristos typedef void (observer_target_resumed_ftype) (ptid_t ptid);
194ac8695a9Schristos 
195ac8695a9Schristos extern struct observer *observer_attach_target_resumed (observer_target_resumed_ftype *f);
196ac8695a9Schristos extern void observer_detach_target_resumed (struct observer *observer);
197ac8695a9Schristos extern void observer_notify_target_resumed (ptid_t ptid);
198ac8695a9Schristos 
199ac8695a9Schristos /* about_to_proceed notifications.  */
200ac8695a9Schristos 
201ac8695a9Schristos typedef void (observer_about_to_proceed_ftype) (void);
202ac8695a9Schristos 
203ac8695a9Schristos extern struct observer *observer_attach_about_to_proceed (observer_about_to_proceed_ftype *f);
204ac8695a9Schristos extern void observer_detach_about_to_proceed (struct observer *observer);
205ac8695a9Schristos extern void observer_notify_about_to_proceed (void);
206ac8695a9Schristos 
207ac8695a9Schristos /* breakpoint_created notifications.  */
208ac8695a9Schristos 
20984e9dd17Smrg typedef void (observer_breakpoint_created_ftype) (struct breakpoint *b);
210ac8695a9Schristos 
211ac8695a9Schristos extern struct observer *observer_attach_breakpoint_created (observer_breakpoint_created_ftype *f);
212ac8695a9Schristos extern void observer_detach_breakpoint_created (struct observer *observer);
21384e9dd17Smrg extern void observer_notify_breakpoint_created (struct breakpoint *b);
214ac8695a9Schristos 
215ac8695a9Schristos /* breakpoint_deleted notifications.  */
216ac8695a9Schristos 
21784e9dd17Smrg typedef void (observer_breakpoint_deleted_ftype) (struct breakpoint *b);
218ac8695a9Schristos 
219ac8695a9Schristos extern struct observer *observer_attach_breakpoint_deleted (observer_breakpoint_deleted_ftype *f);
220ac8695a9Schristos extern void observer_detach_breakpoint_deleted (struct observer *observer);
22184e9dd17Smrg extern void observer_notify_breakpoint_deleted (struct breakpoint *b);
222ac8695a9Schristos 
223ac8695a9Schristos /* breakpoint_modified notifications.  */
224ac8695a9Schristos 
22584e9dd17Smrg typedef void (observer_breakpoint_modified_ftype) (struct breakpoint *b);
226ac8695a9Schristos 
227ac8695a9Schristos extern struct observer *observer_attach_breakpoint_modified (observer_breakpoint_modified_ftype *f);
228ac8695a9Schristos extern void observer_detach_breakpoint_modified (struct observer *observer);
22984e9dd17Smrg extern void observer_notify_breakpoint_modified (struct breakpoint *b);
230ac8695a9Schristos 
23184e9dd17Smrg /* traceframe_changed notifications.  */
232ac8695a9Schristos 
23384e9dd17Smrg typedef void (observer_traceframe_changed_ftype) (int tfnum, int tpnum);
234ac8695a9Schristos 
23584e9dd17Smrg extern struct observer *observer_attach_traceframe_changed (observer_traceframe_changed_ftype *f);
23684e9dd17Smrg extern void observer_detach_traceframe_changed (struct observer *observer);
23784e9dd17Smrg extern void observer_notify_traceframe_changed (int tfnum, int tpnum);
238ac8695a9Schristos 
239ac8695a9Schristos /* architecture_changed notifications.  */
240ac8695a9Schristos 
241ac8695a9Schristos typedef void (observer_architecture_changed_ftype) (struct gdbarch *newarch);
242ac8695a9Schristos 
243ac8695a9Schristos extern struct observer *observer_attach_architecture_changed (observer_architecture_changed_ftype *f);
244ac8695a9Schristos extern void observer_detach_architecture_changed (struct observer *observer);
245ac8695a9Schristos extern void observer_notify_architecture_changed (struct gdbarch *newarch);
246ac8695a9Schristos 
247ac8695a9Schristos /* thread_ptid_changed notifications.  */
248ac8695a9Schristos 
249ac8695a9Schristos typedef void (observer_thread_ptid_changed_ftype) (ptid_t old_ptid, ptid_t new_ptid);
250ac8695a9Schristos 
251ac8695a9Schristos extern struct observer *observer_attach_thread_ptid_changed (observer_thread_ptid_changed_ftype *f);
252ac8695a9Schristos extern void observer_detach_thread_ptid_changed (struct observer *observer);
253ac8695a9Schristos extern void observer_notify_thread_ptid_changed (ptid_t old_ptid, ptid_t new_ptid);
254ac8695a9Schristos 
255ac8695a9Schristos /* inferior_added notifications.  */
256ac8695a9Schristos 
257ac8695a9Schristos typedef void (observer_inferior_added_ftype) (struct inferior *inf);
258ac8695a9Schristos 
259ac8695a9Schristos extern struct observer *observer_attach_inferior_added (observer_inferior_added_ftype *f);
260ac8695a9Schristos extern void observer_detach_inferior_added (struct observer *observer);
261ac8695a9Schristos extern void observer_notify_inferior_added (struct inferior *inf);
262ac8695a9Schristos 
263ac8695a9Schristos /* inferior_appeared notifications.  */
264ac8695a9Schristos 
265ac8695a9Schristos typedef void (observer_inferior_appeared_ftype) (struct inferior *inf);
266ac8695a9Schristos 
267ac8695a9Schristos extern struct observer *observer_attach_inferior_appeared (observer_inferior_appeared_ftype *f);
268ac8695a9Schristos extern void observer_detach_inferior_appeared (struct observer *observer);
269ac8695a9Schristos extern void observer_notify_inferior_appeared (struct inferior *inf);
270ac8695a9Schristos 
271ac8695a9Schristos /* inferior_exit notifications.  */
272ac8695a9Schristos 
273ac8695a9Schristos typedef void (observer_inferior_exit_ftype) (struct inferior *inf);
274ac8695a9Schristos 
275ac8695a9Schristos extern struct observer *observer_attach_inferior_exit (observer_inferior_exit_ftype *f);
276ac8695a9Schristos extern void observer_detach_inferior_exit (struct observer *observer);
277ac8695a9Schristos extern void observer_notify_inferior_exit (struct inferior *inf);
278ac8695a9Schristos 
279ac8695a9Schristos /* inferior_removed notifications.  */
280ac8695a9Schristos 
281ac8695a9Schristos typedef void (observer_inferior_removed_ftype) (struct inferior *inf);
282ac8695a9Schristos 
283ac8695a9Schristos extern struct observer *observer_attach_inferior_removed (observer_inferior_removed_ftype *f);
284ac8695a9Schristos extern void observer_detach_inferior_removed (struct observer *observer);
285ac8695a9Schristos extern void observer_notify_inferior_removed (struct inferior *inf);
286ac8695a9Schristos 
287ac8695a9Schristos /* memory_changed notifications.  */
288ac8695a9Schristos 
28984e9dd17Smrg typedef void (observer_memory_changed_ftype) (struct inferior *inferior, CORE_ADDR addr, ssize_t len, const bfd_byte *data);
290ac8695a9Schristos 
291ac8695a9Schristos extern struct observer *observer_attach_memory_changed (observer_memory_changed_ftype *f);
292ac8695a9Schristos extern void observer_detach_memory_changed (struct observer *observer);
29384e9dd17Smrg extern void observer_notify_memory_changed (struct inferior *inferior, CORE_ADDR addr, ssize_t len, const bfd_byte *data);
29484e9dd17Smrg 
29584e9dd17Smrg /* before_prompt notifications.  */
29684e9dd17Smrg 
29784e9dd17Smrg typedef void (observer_before_prompt_ftype) (const char *current_prompt);
29884e9dd17Smrg 
29984e9dd17Smrg extern struct observer *observer_attach_before_prompt (observer_before_prompt_ftype *f);
30084e9dd17Smrg extern void observer_detach_before_prompt (struct observer *observer);
30184e9dd17Smrg extern void observer_notify_before_prompt (const char *current_prompt);
30284e9dd17Smrg 
30384e9dd17Smrg /* gdb_datadir_changed notifications.  */
30484e9dd17Smrg 
30584e9dd17Smrg typedef void (observer_gdb_datadir_changed_ftype) (void);
30684e9dd17Smrg 
30784e9dd17Smrg extern struct observer *observer_attach_gdb_datadir_changed (observer_gdb_datadir_changed_ftype *f);
30884e9dd17Smrg extern void observer_detach_gdb_datadir_changed (struct observer *observer);
30984e9dd17Smrg extern void observer_notify_gdb_datadir_changed (void);
31084e9dd17Smrg 
31184e9dd17Smrg /* command_param_changed notifications.  */
31284e9dd17Smrg 
31384e9dd17Smrg typedef void (observer_command_param_changed_ftype) (const char *param, const char *value);
31484e9dd17Smrg 
31584e9dd17Smrg extern struct observer *observer_attach_command_param_changed (observer_command_param_changed_ftype *f);
31684e9dd17Smrg extern void observer_detach_command_param_changed (struct observer *observer);
31784e9dd17Smrg extern void observer_notify_command_param_changed (const char *param, const char *value);
31884e9dd17Smrg 
31984e9dd17Smrg /* tsv_created notifications.  */
32084e9dd17Smrg 
32184e9dd17Smrg typedef void (observer_tsv_created_ftype) (const struct trace_state_variable *tsv);
32284e9dd17Smrg 
32384e9dd17Smrg extern struct observer *observer_attach_tsv_created (observer_tsv_created_ftype *f);
32484e9dd17Smrg extern void observer_detach_tsv_created (struct observer *observer);
32584e9dd17Smrg extern void observer_notify_tsv_created (const struct trace_state_variable *tsv);
32684e9dd17Smrg 
32784e9dd17Smrg /* tsv_deleted notifications.  */
32884e9dd17Smrg 
32984e9dd17Smrg typedef void (observer_tsv_deleted_ftype) (const struct trace_state_variable *tsv);
33084e9dd17Smrg 
33184e9dd17Smrg extern struct observer *observer_attach_tsv_deleted (observer_tsv_deleted_ftype *f);
33284e9dd17Smrg extern void observer_detach_tsv_deleted (struct observer *observer);
33384e9dd17Smrg extern void observer_notify_tsv_deleted (const struct trace_state_variable *tsv);
33484e9dd17Smrg 
33584e9dd17Smrg /* tsv_modified notifications.  */
33684e9dd17Smrg 
33784e9dd17Smrg typedef void (observer_tsv_modified_ftype) (const struct trace_state_variable *tsv);
33884e9dd17Smrg 
33984e9dd17Smrg extern struct observer *observer_attach_tsv_modified (observer_tsv_modified_ftype *f);
34084e9dd17Smrg extern void observer_detach_tsv_modified (struct observer *observer);
34184e9dd17Smrg extern void observer_notify_tsv_modified (const struct trace_state_variable *tsv);
342ac8695a9Schristos 
3433221174aSchristos /* inferior_call_pre notifications.  */
3443221174aSchristos 
3453221174aSchristos typedef void (observer_inferior_call_pre_ftype) (ptid_t thread, CORE_ADDR address);
3463221174aSchristos 
3473221174aSchristos extern struct observer *observer_attach_inferior_call_pre (observer_inferior_call_pre_ftype *f);
3483221174aSchristos extern void observer_detach_inferior_call_pre (struct observer *observer);
3493221174aSchristos extern void observer_notify_inferior_call_pre (ptid_t thread, CORE_ADDR address);
3503221174aSchristos 
3513221174aSchristos /* inferior_call_post notifications.  */
3523221174aSchristos 
3533221174aSchristos typedef void (observer_inferior_call_post_ftype) (ptid_t thread, CORE_ADDR address);
3543221174aSchristos 
3553221174aSchristos extern struct observer *observer_attach_inferior_call_post (observer_inferior_call_post_ftype *f);
3563221174aSchristos extern void observer_detach_inferior_call_post (struct observer *observer);
3573221174aSchristos extern void observer_notify_inferior_call_post (ptid_t thread, CORE_ADDR address);
3583221174aSchristos 
3593221174aSchristos /* register_changed notifications.  */
3603221174aSchristos 
3613221174aSchristos typedef void (observer_register_changed_ftype) (struct frame_info *frame, int regnum);
3623221174aSchristos 
3633221174aSchristos extern struct observer *observer_attach_register_changed (observer_register_changed_ftype *f);
3643221174aSchristos extern void observer_detach_register_changed (struct observer *observer);
3653221174aSchristos extern void observer_notify_register_changed (struct frame_info *frame, int regnum);
3663221174aSchristos 
367ac8695a9Schristos /* test_notification notifications.  */
368ac8695a9Schristos 
369ac8695a9Schristos typedef void (observer_test_notification_ftype) (int somearg);
370ac8695a9Schristos 
371ac8695a9Schristos extern struct observer *observer_attach_test_notification (observer_test_notification_ftype *f);
372ac8695a9Schristos extern void observer_detach_test_notification (struct observer *observer);
373ac8695a9Schristos extern void observer_notify_test_notification (int somearg);
374ac8695a9Schristos 
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 
383ac8695a9Schristos #endif /* OBSERVER_H */
384