xref: /netbsd-src/external/gpl3/gdb.old/lib/libgdb/arch/vax/observer.h (revision 99e23f81b2b10aef1a10b03588663e472627bb76)
10c04591cSchristos /* This file is automatically generated.  DO NOT EDIT! */
2e5cb852cSchristos /* Generated from: NetBSD: mknative-gdb,v 1.7 2016/10/16 04:37:42 mrg Exp  */
3*99e23f81Schristos /* Generated from: NetBSD: mknative.common,v 1.15 2017/11/29 03:32:28 christos Exp  */
40c04591cSchristos 
50c04591cSchristos /* GDB Notifications to Observers.
60c04591cSchristos 
7*99e23f81Schristos    Copyright (C) 2004-2017 Free Software Foundation, Inc.
80c04591cSchristos 
90c04591cSchristos    This file is part of GDB.
100c04591cSchristos 
110c04591cSchristos    This program is free software; you can redistribute it and/or modify
120c04591cSchristos    it under the terms of the GNU General Public License as published by
130c04591cSchristos    the Free Software Foundation; either version 3 of the License, or
140c04591cSchristos    (at your option) any later version.
150c04591cSchristos 
160c04591cSchristos    This program is distributed in the hope that it will be useful,
170c04591cSchristos    but WITHOUT ANY WARRANTY; without even the implied warranty of
180c04591cSchristos    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
190c04591cSchristos    GNU General Public License for more details.
200c04591cSchristos 
210c04591cSchristos    You should have received a copy of the GNU General Public License
220c04591cSchristos    along with this program.  If not, see <http://www.gnu.org/licenses/>.
230c04591cSchristos 
240c04591cSchristos    --
250c04591cSchristos 
260c04591cSchristos    This file was generated using observer.sh and observer.texi.  */
270c04591cSchristos 
280c04591cSchristos #ifndef OBSERVER_H
290c04591cSchristos #define OBSERVER_H
300c04591cSchristos 
310c04591cSchristos struct observer;
320c04591cSchristos struct bpstats;
330c04591cSchristos struct so_list;
340c04591cSchristos struct objfile;
350c04591cSchristos struct thread_info;
360c04591cSchristos struct inferior;
370c04591cSchristos struct trace_state_variable;
380c04591cSchristos 
390c04591cSchristos /* normal_stop notifications.  */
400c04591cSchristos 
410c04591cSchristos typedef void (observer_normal_stop_ftype) (struct bpstats *bs, int print_frame);
420c04591cSchristos 
430c04591cSchristos extern struct observer *observer_attach_normal_stop (observer_normal_stop_ftype *f);
440c04591cSchristos extern void observer_detach_normal_stop (struct observer *observer);
450c04591cSchristos extern void observer_notify_normal_stop (struct bpstats *bs, int print_frame);
460c04591cSchristos 
470c04591cSchristos /* signal_received notifications.  */
480c04591cSchristos 
490c04591cSchristos typedef void (observer_signal_received_ftype) (enum gdb_signal siggnal);
500c04591cSchristos 
510c04591cSchristos extern struct observer *observer_attach_signal_received (observer_signal_received_ftype *f);
520c04591cSchristos extern void observer_detach_signal_received (struct observer *observer);
530c04591cSchristos extern void observer_notify_signal_received (enum gdb_signal siggnal);
540c04591cSchristos 
550c04591cSchristos /* end_stepping_range notifications.  */
560c04591cSchristos 
570c04591cSchristos typedef void (observer_end_stepping_range_ftype) (void);
580c04591cSchristos 
590c04591cSchristos extern struct observer *observer_attach_end_stepping_range (observer_end_stepping_range_ftype *f);
600c04591cSchristos extern void observer_detach_end_stepping_range (struct observer *observer);
610c04591cSchristos extern void observer_notify_end_stepping_range (void);
620c04591cSchristos 
630c04591cSchristos /* signal_exited notifications.  */
640c04591cSchristos 
650c04591cSchristos typedef void (observer_signal_exited_ftype) (enum gdb_signal siggnal);
660c04591cSchristos 
670c04591cSchristos extern struct observer *observer_attach_signal_exited (observer_signal_exited_ftype *f);
680c04591cSchristos extern void observer_detach_signal_exited (struct observer *observer);
690c04591cSchristos extern void observer_notify_signal_exited (enum gdb_signal siggnal);
700c04591cSchristos 
710c04591cSchristos /* exited notifications.  */
720c04591cSchristos 
730c04591cSchristos typedef void (observer_exited_ftype) (int exitstatus);
740c04591cSchristos 
750c04591cSchristos extern struct observer *observer_attach_exited (observer_exited_ftype *f);
760c04591cSchristos extern void observer_detach_exited (struct observer *observer);
770c04591cSchristos extern void observer_notify_exited (int exitstatus);
780c04591cSchristos 
790c04591cSchristos /* no_history notifications.  */
800c04591cSchristos 
810c04591cSchristos typedef void (observer_no_history_ftype) (void);
820c04591cSchristos 
830c04591cSchristos extern struct observer *observer_attach_no_history (observer_no_history_ftype *f);
840c04591cSchristos extern void observer_detach_no_history (struct observer *observer);
850c04591cSchristos extern void observer_notify_no_history (void);
860c04591cSchristos 
870c04591cSchristos /* sync_execution_done notifications.  */
880c04591cSchristos 
890c04591cSchristos typedef void (observer_sync_execution_done_ftype) (void);
900c04591cSchristos 
910c04591cSchristos extern struct observer *observer_attach_sync_execution_done (observer_sync_execution_done_ftype *f);
920c04591cSchristos extern void observer_detach_sync_execution_done (struct observer *observer);
930c04591cSchristos extern void observer_notify_sync_execution_done (void);
940c04591cSchristos 
950c04591cSchristos /* command_error notifications.  */
960c04591cSchristos 
970c04591cSchristos typedef void (observer_command_error_ftype) (void);
980c04591cSchristos 
990c04591cSchristos extern struct observer *observer_attach_command_error (observer_command_error_ftype *f);
1000c04591cSchristos extern void observer_detach_command_error (struct observer *observer);
1010c04591cSchristos extern void observer_notify_command_error (void);
1020c04591cSchristos 
1030c04591cSchristos /* target_changed notifications.  */
1040c04591cSchristos 
1050c04591cSchristos typedef void (observer_target_changed_ftype) (struct target_ops *target);
1060c04591cSchristos 
1070c04591cSchristos extern struct observer *observer_attach_target_changed (observer_target_changed_ftype *f);
1080c04591cSchristos extern void observer_detach_target_changed (struct observer *observer);
1090c04591cSchristos extern void observer_notify_target_changed (struct target_ops *target);
1100c04591cSchristos 
1110c04591cSchristos /* executable_changed notifications.  */
1120c04591cSchristos 
1130c04591cSchristos typedef void (observer_executable_changed_ftype) (void);
1140c04591cSchristos 
1150c04591cSchristos extern struct observer *observer_attach_executable_changed (observer_executable_changed_ftype *f);
1160c04591cSchristos extern void observer_detach_executable_changed (struct observer *observer);
1170c04591cSchristos extern void observer_notify_executable_changed (void);
1180c04591cSchristos 
1190c04591cSchristos /* inferior_created notifications.  */
1200c04591cSchristos 
1210c04591cSchristos typedef void (observer_inferior_created_ftype) (struct target_ops *objfile, int from_tty);
1220c04591cSchristos 
1230c04591cSchristos extern struct observer *observer_attach_inferior_created (observer_inferior_created_ftype *f);
1240c04591cSchristos extern void observer_detach_inferior_created (struct observer *observer);
1250c04591cSchristos extern void observer_notify_inferior_created (struct target_ops *objfile, int from_tty);
1260c04591cSchristos 
1270c04591cSchristos /* record_changed notifications.  */
1280c04591cSchristos 
129e5cb852cSchristos typedef void (observer_record_changed_ftype) (struct inferior *inferior, int started, const char *method, const char *format);
1300c04591cSchristos 
1310c04591cSchristos extern struct observer *observer_attach_record_changed (observer_record_changed_ftype *f);
1320c04591cSchristos extern void observer_detach_record_changed (struct observer *observer);
133e5cb852cSchristos extern void observer_notify_record_changed (struct inferior *inferior, int started, const char *method, const char *format);
1340c04591cSchristos 
1350c04591cSchristos /* solib_loaded notifications.  */
1360c04591cSchristos 
1370c04591cSchristos typedef void (observer_solib_loaded_ftype) (struct so_list *solib);
1380c04591cSchristos 
1390c04591cSchristos extern struct observer *observer_attach_solib_loaded (observer_solib_loaded_ftype *f);
1400c04591cSchristos extern void observer_detach_solib_loaded (struct observer *observer);
1410c04591cSchristos extern void observer_notify_solib_loaded (struct so_list *solib);
1420c04591cSchristos 
1430c04591cSchristos /* solib_unloaded notifications.  */
1440c04591cSchristos 
1450c04591cSchristos typedef void (observer_solib_unloaded_ftype) (struct so_list *solib);
1460c04591cSchristos 
1470c04591cSchristos extern struct observer *observer_attach_solib_unloaded (observer_solib_unloaded_ftype *f);
1480c04591cSchristos extern void observer_detach_solib_unloaded (struct observer *observer);
1490c04591cSchristos extern void observer_notify_solib_unloaded (struct so_list *solib);
1500c04591cSchristos 
1510c04591cSchristos /* new_objfile notifications.  */
1520c04591cSchristos 
1530c04591cSchristos typedef void (observer_new_objfile_ftype) (struct objfile *objfile);
1540c04591cSchristos 
1550c04591cSchristos extern struct observer *observer_attach_new_objfile (observer_new_objfile_ftype *f);
1560c04591cSchristos extern void observer_detach_new_objfile (struct observer *observer);
1570c04591cSchristos extern void observer_notify_new_objfile (struct objfile *objfile);
1580c04591cSchristos 
1590c04591cSchristos /* free_objfile notifications.  */
1600c04591cSchristos 
1610c04591cSchristos typedef void (observer_free_objfile_ftype) (struct objfile *objfile);
1620c04591cSchristos 
1630c04591cSchristos extern struct observer *observer_attach_free_objfile (observer_free_objfile_ftype *f);
1640c04591cSchristos extern void observer_detach_free_objfile (struct observer *observer);
1650c04591cSchristos extern void observer_notify_free_objfile (struct objfile *objfile);
1660c04591cSchristos 
1670c04591cSchristos /* new_thread notifications.  */
1680c04591cSchristos 
1690c04591cSchristos typedef void (observer_new_thread_ftype) (struct thread_info *t);
1700c04591cSchristos 
1710c04591cSchristos extern struct observer *observer_attach_new_thread (observer_new_thread_ftype *f);
1720c04591cSchristos extern void observer_detach_new_thread (struct observer *observer);
1730c04591cSchristos extern void observer_notify_new_thread (struct thread_info *t);
1740c04591cSchristos 
1750c04591cSchristos /* thread_exit notifications.  */
1760c04591cSchristos 
1770c04591cSchristos typedef void (observer_thread_exit_ftype) (struct thread_info *t, int silent);
1780c04591cSchristos 
1790c04591cSchristos extern struct observer *observer_attach_thread_exit (observer_thread_exit_ftype *f);
1800c04591cSchristos extern void observer_detach_thread_exit (struct observer *observer);
1810c04591cSchristos extern void observer_notify_thread_exit (struct thread_info *t, int silent);
1820c04591cSchristos 
1830c04591cSchristos /* thread_stop_requested notifications.  */
1840c04591cSchristos 
1850c04591cSchristos typedef void (observer_thread_stop_requested_ftype) (ptid_t ptid);
1860c04591cSchristos 
1870c04591cSchristos extern struct observer *observer_attach_thread_stop_requested (observer_thread_stop_requested_ftype *f);
1880c04591cSchristos extern void observer_detach_thread_stop_requested (struct observer *observer);
1890c04591cSchristos extern void observer_notify_thread_stop_requested (ptid_t ptid);
1900c04591cSchristos 
1910c04591cSchristos /* target_resumed notifications.  */
1920c04591cSchristos 
1930c04591cSchristos typedef void (observer_target_resumed_ftype) (ptid_t ptid);
1940c04591cSchristos 
1950c04591cSchristos extern struct observer *observer_attach_target_resumed (observer_target_resumed_ftype *f);
1960c04591cSchristos extern void observer_detach_target_resumed (struct observer *observer);
1970c04591cSchristos extern void observer_notify_target_resumed (ptid_t ptid);
1980c04591cSchristos 
1990c04591cSchristos /* about_to_proceed notifications.  */
2000c04591cSchristos 
2010c04591cSchristos typedef void (observer_about_to_proceed_ftype) (void);
2020c04591cSchristos 
2030c04591cSchristos extern struct observer *observer_attach_about_to_proceed (observer_about_to_proceed_ftype *f);
2040c04591cSchristos extern void observer_detach_about_to_proceed (struct observer *observer);
2050c04591cSchristos extern void observer_notify_about_to_proceed (void);
2060c04591cSchristos 
2070c04591cSchristos /* breakpoint_created notifications.  */
2080c04591cSchristos 
2090c04591cSchristos typedef void (observer_breakpoint_created_ftype) (struct breakpoint *b);
2100c04591cSchristos 
2110c04591cSchristos extern struct observer *observer_attach_breakpoint_created (observer_breakpoint_created_ftype *f);
2120c04591cSchristos extern void observer_detach_breakpoint_created (struct observer *observer);
2130c04591cSchristos extern void observer_notify_breakpoint_created (struct breakpoint *b);
2140c04591cSchristos 
2150c04591cSchristos /* breakpoint_deleted notifications.  */
2160c04591cSchristos 
2170c04591cSchristos typedef void (observer_breakpoint_deleted_ftype) (struct breakpoint *b);
2180c04591cSchristos 
2190c04591cSchristos extern struct observer *observer_attach_breakpoint_deleted (observer_breakpoint_deleted_ftype *f);
2200c04591cSchristos extern void observer_detach_breakpoint_deleted (struct observer *observer);
2210c04591cSchristos extern void observer_notify_breakpoint_deleted (struct breakpoint *b);
2220c04591cSchristos 
2230c04591cSchristos /* breakpoint_modified notifications.  */
2240c04591cSchristos 
2250c04591cSchristos typedef void (observer_breakpoint_modified_ftype) (struct breakpoint *b);
2260c04591cSchristos 
2270c04591cSchristos extern struct observer *observer_attach_breakpoint_modified (observer_breakpoint_modified_ftype *f);
2280c04591cSchristos extern void observer_detach_breakpoint_modified (struct observer *observer);
2290c04591cSchristos extern void observer_notify_breakpoint_modified (struct breakpoint *b);
2300c04591cSchristos 
2310c04591cSchristos /* traceframe_changed notifications.  */
2320c04591cSchristos 
2330c04591cSchristos typedef void (observer_traceframe_changed_ftype) (int tfnum, int tpnum);
2340c04591cSchristos 
2350c04591cSchristos extern struct observer *observer_attach_traceframe_changed (observer_traceframe_changed_ftype *f);
2360c04591cSchristos extern void observer_detach_traceframe_changed (struct observer *observer);
2370c04591cSchristos extern void observer_notify_traceframe_changed (int tfnum, int tpnum);
2380c04591cSchristos 
2390c04591cSchristos /* architecture_changed notifications.  */
2400c04591cSchristos 
2410c04591cSchristos typedef void (observer_architecture_changed_ftype) (struct gdbarch *newarch);
2420c04591cSchristos 
2430c04591cSchristos extern struct observer *observer_attach_architecture_changed (observer_architecture_changed_ftype *f);
2440c04591cSchristos extern void observer_detach_architecture_changed (struct observer *observer);
2450c04591cSchristos extern void observer_notify_architecture_changed (struct gdbarch *newarch);
2460c04591cSchristos 
2470c04591cSchristos /* thread_ptid_changed notifications.  */
2480c04591cSchristos 
2490c04591cSchristos typedef void (observer_thread_ptid_changed_ftype) (ptid_t old_ptid, ptid_t new_ptid);
2500c04591cSchristos 
2510c04591cSchristos extern struct observer *observer_attach_thread_ptid_changed (observer_thread_ptid_changed_ftype *f);
2520c04591cSchristos extern void observer_detach_thread_ptid_changed (struct observer *observer);
2530c04591cSchristos extern void observer_notify_thread_ptid_changed (ptid_t old_ptid, ptid_t new_ptid);
2540c04591cSchristos 
2550c04591cSchristos /* inferior_added notifications.  */
2560c04591cSchristos 
2570c04591cSchristos typedef void (observer_inferior_added_ftype) (struct inferior *inf);
2580c04591cSchristos 
2590c04591cSchristos extern struct observer *observer_attach_inferior_added (observer_inferior_added_ftype *f);
2600c04591cSchristos extern void observer_detach_inferior_added (struct observer *observer);
2610c04591cSchristos extern void observer_notify_inferior_added (struct inferior *inf);
2620c04591cSchristos 
2630c04591cSchristos /* inferior_appeared notifications.  */
2640c04591cSchristos 
2650c04591cSchristos typedef void (observer_inferior_appeared_ftype) (struct inferior *inf);
2660c04591cSchristos 
2670c04591cSchristos extern struct observer *observer_attach_inferior_appeared (observer_inferior_appeared_ftype *f);
2680c04591cSchristos extern void observer_detach_inferior_appeared (struct observer *observer);
2690c04591cSchristos extern void observer_notify_inferior_appeared (struct inferior *inf);
2700c04591cSchristos 
2710c04591cSchristos /* inferior_exit notifications.  */
2720c04591cSchristos 
2730c04591cSchristos typedef void (observer_inferior_exit_ftype) (struct inferior *inf);
2740c04591cSchristos 
2750c04591cSchristos extern struct observer *observer_attach_inferior_exit (observer_inferior_exit_ftype *f);
2760c04591cSchristos extern void observer_detach_inferior_exit (struct observer *observer);
2770c04591cSchristos extern void observer_notify_inferior_exit (struct inferior *inf);
2780c04591cSchristos 
2790c04591cSchristos /* inferior_removed notifications.  */
2800c04591cSchristos 
2810c04591cSchristos typedef void (observer_inferior_removed_ftype) (struct inferior *inf);
2820c04591cSchristos 
2830c04591cSchristos extern struct observer *observer_attach_inferior_removed (observer_inferior_removed_ftype *f);
2840c04591cSchristos extern void observer_detach_inferior_removed (struct observer *observer);
2850c04591cSchristos extern void observer_notify_inferior_removed (struct inferior *inf);
2860c04591cSchristos 
2870c04591cSchristos /* memory_changed notifications.  */
2880c04591cSchristos 
2890c04591cSchristos typedef void (observer_memory_changed_ftype) (struct inferior *inferior, CORE_ADDR addr, ssize_t len, const bfd_byte *data);
2900c04591cSchristos 
2910c04591cSchristos extern struct observer *observer_attach_memory_changed (observer_memory_changed_ftype *f);
2920c04591cSchristos extern void observer_detach_memory_changed (struct observer *observer);
2930c04591cSchristos extern void observer_notify_memory_changed (struct inferior *inferior, CORE_ADDR addr, ssize_t len, const bfd_byte *data);
2940c04591cSchristos 
2950c04591cSchristos /* before_prompt notifications.  */
2960c04591cSchristos 
2970c04591cSchristos typedef void (observer_before_prompt_ftype) (const char *current_prompt);
2980c04591cSchristos 
2990c04591cSchristos extern struct observer *observer_attach_before_prompt (observer_before_prompt_ftype *f);
3000c04591cSchristos extern void observer_detach_before_prompt (struct observer *observer);
3010c04591cSchristos extern void observer_notify_before_prompt (const char *current_prompt);
3020c04591cSchristos 
3030c04591cSchristos /* gdb_datadir_changed notifications.  */
3040c04591cSchristos 
3050c04591cSchristos typedef void (observer_gdb_datadir_changed_ftype) (void);
3060c04591cSchristos 
3070c04591cSchristos extern struct observer *observer_attach_gdb_datadir_changed (observer_gdb_datadir_changed_ftype *f);
3080c04591cSchristos extern void observer_detach_gdb_datadir_changed (struct observer *observer);
3090c04591cSchristos extern void observer_notify_gdb_datadir_changed (void);
3100c04591cSchristos 
3110c04591cSchristos /* command_param_changed notifications.  */
3120c04591cSchristos 
3130c04591cSchristos typedef void (observer_command_param_changed_ftype) (const char *param, const char *value);
3140c04591cSchristos 
3150c04591cSchristos extern struct observer *observer_attach_command_param_changed (observer_command_param_changed_ftype *f);
3160c04591cSchristos extern void observer_detach_command_param_changed (struct observer *observer);
3170c04591cSchristos extern void observer_notify_command_param_changed (const char *param, const char *value);
3180c04591cSchristos 
3190c04591cSchristos /* tsv_created notifications.  */
3200c04591cSchristos 
3210c04591cSchristos typedef void (observer_tsv_created_ftype) (const struct trace_state_variable *tsv);
3220c04591cSchristos 
3230c04591cSchristos extern struct observer *observer_attach_tsv_created (observer_tsv_created_ftype *f);
3240c04591cSchristos extern void observer_detach_tsv_created (struct observer *observer);
3250c04591cSchristos extern void observer_notify_tsv_created (const struct trace_state_variable *tsv);
3260c04591cSchristos 
3270c04591cSchristos /* tsv_deleted notifications.  */
3280c04591cSchristos 
3290c04591cSchristos typedef void (observer_tsv_deleted_ftype) (const struct trace_state_variable *tsv);
3300c04591cSchristos 
3310c04591cSchristos extern struct observer *observer_attach_tsv_deleted (observer_tsv_deleted_ftype *f);
3320c04591cSchristos extern void observer_detach_tsv_deleted (struct observer *observer);
3330c04591cSchristos extern void observer_notify_tsv_deleted (const struct trace_state_variable *tsv);
3340c04591cSchristos 
3350c04591cSchristos /* tsv_modified notifications.  */
3360c04591cSchristos 
3370c04591cSchristos typedef void (observer_tsv_modified_ftype) (const struct trace_state_variable *tsv);
3380c04591cSchristos 
3390c04591cSchristos extern struct observer *observer_attach_tsv_modified (observer_tsv_modified_ftype *f);
3400c04591cSchristos extern void observer_detach_tsv_modified (struct observer *observer);
3410c04591cSchristos extern void observer_notify_tsv_modified (const struct trace_state_variable *tsv);
3420c04591cSchristos 
3430c04591cSchristos /* inferior_call_pre notifications.  */
3440c04591cSchristos 
3450c04591cSchristos typedef void (observer_inferior_call_pre_ftype) (ptid_t thread, CORE_ADDR address);
3460c04591cSchristos 
3470c04591cSchristos extern struct observer *observer_attach_inferior_call_pre (observer_inferior_call_pre_ftype *f);
3480c04591cSchristos extern void observer_detach_inferior_call_pre (struct observer *observer);
3490c04591cSchristos extern void observer_notify_inferior_call_pre (ptid_t thread, CORE_ADDR address);
3500c04591cSchristos 
3510c04591cSchristos /* inferior_call_post notifications.  */
3520c04591cSchristos 
3530c04591cSchristos typedef void (observer_inferior_call_post_ftype) (ptid_t thread, CORE_ADDR address);
3540c04591cSchristos 
3550c04591cSchristos extern struct observer *observer_attach_inferior_call_post (observer_inferior_call_post_ftype *f);
3560c04591cSchristos extern void observer_detach_inferior_call_post (struct observer *observer);
3570c04591cSchristos extern void observer_notify_inferior_call_post (ptid_t thread, CORE_ADDR address);
3580c04591cSchristos 
3590c04591cSchristos /* register_changed notifications.  */
3600c04591cSchristos 
3610c04591cSchristos typedef void (observer_register_changed_ftype) (struct frame_info *frame, int regnum);
3620c04591cSchristos 
3630c04591cSchristos extern struct observer *observer_attach_register_changed (observer_register_changed_ftype *f);
3640c04591cSchristos extern void observer_detach_register_changed (struct observer *observer);
3650c04591cSchristos extern void observer_notify_register_changed (struct frame_info *frame, int regnum);
3660c04591cSchristos 
3670c04591cSchristos /* test_notification notifications.  */
3680c04591cSchristos 
3690c04591cSchristos typedef void (observer_test_notification_ftype) (int somearg);
3700c04591cSchristos 
3710c04591cSchristos extern struct observer *observer_attach_test_notification (observer_test_notification_ftype *f);
3720c04591cSchristos extern void observer_detach_test_notification (struct observer *observer);
3730c04591cSchristos extern void observer_notify_test_notification (int somearg);
3740c04591cSchristos 
375e5cb852cSchristos /* user_selected_context_changed notifications.  */
376e5cb852cSchristos 
377e5cb852cSchristos typedef void (observer_user_selected_context_changed_ftype) (user_selected_what selection);
378e5cb852cSchristos 
379e5cb852cSchristos extern struct observer *observer_attach_user_selected_context_changed (observer_user_selected_context_changed_ftype *f);
380e5cb852cSchristos extern void observer_detach_user_selected_context_changed (struct observer *observer);
381e5cb852cSchristos extern void observer_notify_user_selected_context_changed (user_selected_what selection);
382e5cb852cSchristos 
3830c04591cSchristos #endif /* OBSERVER_H */
384