1 /* Annotation routines for GDB. 2 Copyright (C) 1986-2019 Free Software Foundation, Inc. 3 4 This file is part of GDB. 5 6 This program is free software; you can redistribute it and/or modify 7 it under the terms of the GNU General Public License as published by 8 the Free Software Foundation; either version 3 of the License, or 9 (at your option) any later version. 10 11 This program is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU General Public License for more details. 15 16 You should have received a copy of the GNU General Public License 17 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 18 19 #ifndef ANNOTATE_H 20 #define ANNOTATE_H 21 22 #include "symtab.h" 23 #include "gdbtypes.h" 24 25 extern void annotate_breakpoint (int); 26 extern void annotate_catchpoint (int); 27 extern void annotate_watchpoint (int); 28 extern void annotate_starting (void); 29 extern void annotate_stopped (void); 30 extern void annotate_exited (int); 31 extern void annotate_signalled (void); 32 extern void annotate_signal_name (void); 33 extern void annotate_signal_name_end (void); 34 extern void annotate_signal_string (void); 35 extern void annotate_signal_string_end (void); 36 extern void annotate_signal (void); 37 38 extern void annotate_breakpoints_headers (void); 39 extern void annotate_field (int); 40 extern void annotate_breakpoints_table (void); 41 extern void annotate_record (void); 42 extern void annotate_breakpoints_table_end (void); 43 44 extern void annotate_frames_invalid (void); 45 extern void annotate_new_thread (void); 46 extern void annotate_thread_changed (void); 47 48 extern void annotate_display_prompt (void); 49 50 struct type; 51 52 extern void annotate_field_begin (struct type *); 53 extern void annotate_field_name_end (void); 54 extern void annotate_field_value (void); 55 extern void annotate_field_end (void); 56 57 extern void annotate_quit (void); 58 extern void annotate_error (void); 59 extern void annotate_error_begin (void); 60 61 extern void annotate_value_history_begin (int, struct type *); 62 extern void annotate_value_begin (struct type *); 63 extern void annotate_value_history_value (void); 64 extern void annotate_value_history_end (void); 65 extern void annotate_value_end (void); 66 67 extern void annotate_display_begin (void); 68 extern void annotate_display_number_end (void); 69 extern void annotate_display_format (void); 70 extern void annotate_display_expression (void); 71 extern void annotate_display_expression_end (void); 72 extern void annotate_display_value (void); 73 extern void annotate_display_end (void); 74 75 extern void annotate_arg_begin (void); 76 extern void annotate_arg_name_end (void); 77 extern void annotate_arg_value (struct type *); 78 extern void annotate_arg_end (void); 79 80 /* Wrap calls to annotate_arg_begin and annotate_arg_end in an RAII 81 class. */ 82 struct annotate_arg_emitter 83 { 84 annotate_arg_emitter () { annotate_arg_begin (); } 85 ~annotate_arg_emitter () { annotate_arg_end (); } 86 87 DISABLE_COPY_AND_ASSIGN (annotate_arg_emitter); 88 }; 89 90 extern void annotate_source (char *, int, int, int, 91 struct gdbarch *, CORE_ADDR); 92 93 extern void annotate_frame_begin (int, struct gdbarch *, CORE_ADDR); 94 extern void annotate_function_call (void); 95 extern void annotate_signal_handler_caller (void); 96 extern void annotate_frame_address (void); 97 extern void annotate_frame_address_end (void); 98 extern void annotate_frame_function_name (void); 99 extern void annotate_frame_args (void); 100 extern void annotate_frame_source_begin (void); 101 extern void annotate_frame_source_file (void); 102 extern void annotate_frame_source_file_end (void); 103 extern void annotate_frame_source_line (void); 104 extern void annotate_frame_source_end (void); 105 extern void annotate_frame_where (void); 106 extern void annotate_frame_end (void); 107 108 extern void annotate_array_section_begin (int, struct type *); 109 extern void annotate_elt_rep (unsigned int); 110 extern void annotate_elt_rep_end (void); 111 extern void annotate_elt (void); 112 extern void annotate_array_section_end (void); 113 114 extern void (*deprecated_annotate_signalled_hook) (void); 115 extern void (*deprecated_annotate_signal_hook) (void); 116 117 #endif /* ANNOTATE_H */ 118