Commit | Line | Data |
---|---|---|
c906108c | 1 | /* Annotation routines for GDB. |
b811d2c2 | 2 | Copyright (C) 1986-2020 Free Software Foundation, Inc. |
c906108c | 3 | |
c5aa993b | 4 | This file is part of GDB. |
c906108c | 5 | |
c5aa993b JM |
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 | |
a9762ec7 | 8 | the Free Software Foundation; either version 3 of the License, or |
c5aa993b | 9 | (at your option) any later version. |
c906108c | 10 | |
c5aa993b JM |
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. | |
c906108c | 15 | |
c5aa993b | 16 | You should have received a copy of the GNU General Public License |
a9762ec7 | 17 | along with this program. If not, see <http://www.gnu.org/licenses/>. */ |
c906108c | 18 | |
1a5c2598 TT |
19 | #ifndef ANNOTATE_H |
20 | #define ANNOTATE_H | |
21 | ||
d55e5aa6 | 22 | #include "symtab.h" |
4de283e4 | 23 | #include "gdbtypes.h" |
c906108c | 24 | |
a14ed312 KB |
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); | |
6dfcd284 | 45 | extern void annotate_new_thread (void); |
a2b87ed1 | 46 | extern void annotate_thread_changed (void); |
c906108c | 47 | |
bd00c694 PA |
48 | extern void annotate_display_prompt (void); |
49 | ||
c906108c | 50 | struct type; |
c906108c | 51 | |
a14ed312 KB |
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 | ||
46b9c129 TT |
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 | ||
d6541620 | 87 | DISABLE_COPY_AND_ASSIGN (annotate_arg_emitter); |
46b9c129 TT |
88 | }; |
89 | ||
0d3abd8c AB |
90 | /* If annotations are turned on then print annotation describing the full |
91 | name of the source file S and the line number LINE and its corresponding | |
92 | character position. | |
93 | ||
94 | MID_STATEMENT is nonzero if the PC is not at the beginning of that | |
ec8e2b6d AB |
95 | line. */ |
96 | extern void annotate_source_line (struct symtab *s, int line, | |
0d3abd8c | 97 | int mid_statement, CORE_ADDR pc); |
a14ed312 | 98 | |
5af949e3 | 99 | extern void annotate_frame_begin (int, struct gdbarch *, CORE_ADDR); |
a14ed312 KB |
100 | extern void annotate_function_call (void); |
101 | extern void annotate_signal_handler_caller (void); | |
102 | extern void annotate_frame_address (void); | |
103 | extern void annotate_frame_address_end (void); | |
104 | extern void annotate_frame_function_name (void); | |
105 | extern void annotate_frame_args (void); | |
106 | extern void annotate_frame_source_begin (void); | |
107 | extern void annotate_frame_source_file (void); | |
108 | extern void annotate_frame_source_file_end (void); | |
109 | extern void annotate_frame_source_line (void); | |
110 | extern void annotate_frame_source_end (void); | |
111 | extern void annotate_frame_where (void); | |
112 | extern void annotate_frame_end (void); | |
113 | ||
114 | extern void annotate_array_section_begin (int, struct type *); | |
115 | extern void annotate_elt_rep (unsigned int); | |
116 | extern void annotate_elt_rep_end (void); | |
117 | extern void annotate_elt (void); | |
118 | extern void annotate_array_section_end (void); | |
c906108c | 119 | |
9a4105ab AC |
120 | extern void (*deprecated_annotate_signalled_hook) (void); |
121 | extern void (*deprecated_annotate_signal_hook) (void); | |
1a5c2598 TT |
122 | |
123 | #endif /* ANNOTATE_H */ |