2004-01-18 Andrew Cagney <cagney@redhat.com>
[external/binutils.git] / gdb / tui / tui-winsource.h
1 /* TUI display source/assembly window.
2    Copyright 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
3    Contributed by Hewlett-Packard Company.
4
5    This file is part of GDB.
6
7    This program is free software; you can redistribute it and/or modify
8    it under the terms of the GNU General Public License as published by
9    the Free Software Foundation; either version 2 of the License, or
10    (at your option) any later version.
11
12    This program is distributed in the hope that it will be useful,
13    but WITHOUT ANY WARRANTY; without even the implied warranty of
14    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15    GNU General Public License for more details.
16
17    You should have received a copy of the GNU General Public License
18    along with this program; if not, write to the Free Software
19    Foundation, Inc., 59 Temple Place - Suite 330,
20    Boston, MA 02111-1307, USA.  */
21
22 #ifndef _TUI_SOURCEWIN_H
23 #define _TUI_SOURCEWIN_H
24
25 /* Update the execution windows to show the active breakpoints.
26    This is called whenever a breakpoint is inserted, removed or
27    has its state changed.  */
28 extern void tui_update_all_breakpoint_info (void);
29
30 /* Scan the source window and the breakpoints to update the
31    hasBreak information for each line.
32    Returns 1 if something changed and the execution window
33    must be refreshed.  */
34 extern int tui_update_breakpoint_info (TuiWinInfoPtr win, int current_only);
35
36 /* Function to display the "main" routine.  */
37 extern void tui_display_main (void);
38 extern void tuiUpdateSourceWindow (TuiWinInfoPtr, struct symtab *, TuiLineOrAddress,
39                                    int);
40 extern void tuiUpdateSourceWindowAsIs (TuiWinInfoPtr, struct symtab *, TuiLineOrAddress,
41                                        int);
42 extern void tuiUpdateSourceWindowsWithAddr (CORE_ADDR);
43 extern void tuiUpdateSourceWindowsWithLine (struct symtab *, int);
44 extern void tuiClearSourceContent (TuiWinInfoPtr, int);
45 extern void tuiEraseSourceContent (TuiWinInfoPtr, int);
46 extern void tuiSetSourceContentNil (TuiWinInfoPtr, char *);
47 extern void tuiShowSourceContent (TuiWinInfoPtr);
48 extern void tuiHorizontalSourceScroll (TuiWinInfoPtr, TuiScrollDirection,
49                                        int);
50 extern TuiStatus tuiSetExecInfoContent (TuiWinInfoPtr);
51 extern void tuiShowExecInfoContent (TuiWinInfoPtr);
52 extern void tuiEraseExecInfoContent (TuiWinInfoPtr);
53 extern void tuiClearExecInfoContent (TuiWinInfoPtr);
54 extern void tuiUpdateExecInfo (TuiWinInfoPtr);
55
56 extern void tuiSetIsExecPointAt (TuiLineOrAddress, TuiWinInfoPtr);
57 extern TuiStatus tuiAllocSourceBuffer (TuiWinInfoPtr);
58 extern int tuiLineIsDisplayed (int, TuiWinInfoPtr, int);
59 extern int tuiAddrIsDisplayed (CORE_ADDR, TuiWinInfoPtr, int);
60
61
62 /*
63    ** Constant definitions
64  */
65 #define        SCROLL_THRESHOLD            2    /* threshold for lazy scroll */
66
67 #endif
68 /*_TUI_SOURCEWIN_H */