GDB (API)
|
00001 /* TUI display source/assembly window. 00002 00003 Copyright (C) 1998-2013 Free Software Foundation, Inc. 00004 00005 Contributed by Hewlett-Packard Company. 00006 00007 This file is part of GDB. 00008 00009 This program is free software; you can redistribute it and/or modify 00010 it under the terms of the GNU General Public License as published by 00011 the Free Software Foundation; either version 3 of the License, or 00012 (at your option) any later version. 00013 00014 This program is distributed in the hope that it will be useful, 00015 but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00017 GNU General Public License for more details. 00018 00019 You should have received a copy of the GNU General Public License 00020 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 00021 00022 #ifndef TUI_SOURCEWIN_H 00023 #define TUI_SOURCEWIN_H 00024 00025 #include "tui/tui-data.h" 00026 00027 struct tui_win_info; 00028 00029 /* Update the execution windows to show the active breakpoints. This 00030 is called whenever a breakpoint is inserted, removed or has its 00031 state changed. */ 00032 extern void tui_update_all_breakpoint_info (void); 00033 00034 /* Scan the source window and the breakpoints to update the hasBreak 00035 information for each line. Returns 1 if something changed and the 00036 execution window must be refreshed. */ 00037 extern int tui_update_breakpoint_info (struct tui_win_info *win, 00038 int current_only); 00039 00040 /* Function to display the "main" routine. */ 00041 extern void tui_display_main (void); 00042 extern void tui_update_source_window (struct tui_win_info *, 00043 struct gdbarch *, struct symtab *, 00044 struct tui_line_or_address, 00045 int); 00046 extern void tui_update_source_window_as_is (struct tui_win_info *, 00047 struct gdbarch *, struct symtab *, 00048 struct tui_line_or_address, 00049 int); 00050 extern void tui_update_source_windows_with_addr (struct gdbarch *, CORE_ADDR); 00051 extern void tui_update_source_windows_with_line (struct symtab *, 00052 int); 00053 extern void tui_clear_source_content (struct tui_win_info *, int); 00054 extern void tui_erase_source_content (struct tui_win_info *, int); 00055 extern void tui_show_source_content (struct tui_win_info *); 00056 extern void tui_horizontal_source_scroll (struct tui_win_info *, 00057 enum tui_scroll_direction, 00058 int); 00059 extern enum tui_status tui_set_exec_info_content (struct tui_win_info *); 00060 extern void tui_show_exec_info_content (struct tui_win_info *); 00061 extern void tui_erase_exec_info_content (struct tui_win_info *); 00062 extern void tui_clear_exec_info_content (struct tui_win_info *); 00063 extern void tui_update_exec_info (struct tui_win_info *); 00064 00065 extern void tui_set_is_exec_point_at (struct tui_line_or_address, 00066 struct tui_win_info *); 00067 extern enum tui_status tui_alloc_source_buffer (struct tui_win_info *); 00068 extern int tui_line_is_displayed (int, 00069 struct tui_win_info *, 00070 int); 00071 extern int tui_addr_is_displayed (CORE_ADDR, 00072 struct tui_win_info *, 00073 int); 00074 00075 00076 /* Constant definitions. */ 00077 #define SCROLL_THRESHOLD 2 /* Threshold for lazy scroll. */ 00078 00079 #endif