* remote.c (remote_write_bytes): Add default case to switch
[deliverable/binutils-gdb.git] / gdb / tui / tui.h
CommitLineData
c906108c
SS
1/* External/Public TUI Header File */
2
3#ifndef TUI_H
4#define TUI_H
2894793a
AC
5#if defined (HAVE_NCURSES_H)
6#include <ncurses.h>
7#elif defined (HAVE_CURSES_H)
c906108c 8#include <curses.h>
2894793a 9#endif
c906108c
SS
10
11#ifdef ANSI_PROTOTYPES
12#include <stdarg.h>
13#else
14#include <varargs.h>
15#endif
16
17#include "ansidecl.h"
18
19#if defined(reg)
20#undef reg
21#endif
22#if defined(chtype)
23#undef chtype
24#endif
25
26/* Opaque data type */
27typedef char *Opaque;
c5aa993b 28typedef
507f3c78 29Opaque (*OpaqueFuncPtr) (va_list);
c5aa993b
JM
30 typedef char **OpaqueList;
31 typedef OpaqueList OpaquePtr;
c906108c
SS
32
33/* Generic function pointer */
507f3c78
KB
34 typedef void (*TuiVoidFuncPtr) (va_list);
35 typedef int (*TuiIntFuncPtr) (va_list);
c906108c 36/*
507f3c78 37 typedef Opaque (*TuiOpaqueFuncPtr) (va_list);
c5aa993b
JM
38 */
39 typedef OpaqueFuncPtr TuiOpaqueFuncPtr;
c906108c 40
a14ed312
KB
41extern Opaque vcatch_errors (OpaqueFuncPtr, ...);
42extern Opaque va_catch_errors (OpaqueFuncPtr, va_list);
c906108c 43
a14ed312
KB
44extern void strcat_to_buf (char *, int, char *);
45extern void strcat_to_buf_with_fmt (char *, int, char *, ...);
c906108c
SS
46
47/* Types of error returns */
c5aa993b
JM
48 typedef enum
49 {
50 TUI_SUCCESS,
51 TUI_FAILURE
52 }
53TuiStatus, *TuiStatusPtr;
c906108c
SS
54
55/* Types of windows */
c5aa993b
JM
56 typedef enum
57 {
58 SRC_WIN = 0,
59 DISASSEM_WIN,
60 DATA_WIN,
61 CMD_WIN,
62 /* This must ALWAYS be AFTER the major windows last */
63 MAX_MAJOR_WINDOWS,
64 /* auxillary windows */
65 LOCATOR_WIN,
66 EXEC_INFO_WIN,
67 DATA_ITEM_WIN,
68 /* This must ALWAYS be next to last */
69 MAX_WINDOWS,
70 UNDEFINED_WIN /* LAST */
71 }
72TuiWinType, *TuiWinTypePtr;
c906108c
SS
73
74/* This is a point definition */
c5aa993b
JM
75 typedef struct _TuiPoint
76 {
77 int x, y;
78 }
79TuiPoint, *TuiPointPtr;
c906108c
SS
80
81/* Generic window information */
c5aa993b
JM
82 typedef struct _TuiGenWinInfo
83 {
84 WINDOW *handle; /* window handle */
85 TuiWinType type; /* type of window */
86 int width; /* window width */
87 int height; /* window height */
88 TuiPoint origin; /* origin of window */
89 OpaquePtr content; /* content of window */
90 int contentSize; /* Size of content (# of elements) */
91 int contentInUse; /* Can it be used, or is it already used? */
92 int viewportHeight; /* viewport height */
93 int lastVisibleLine; /* index of last visible line */
94 int isVisible; /* whether the window is visible or not */
95 }
96TuiGenWinInfo, *TuiGenWinInfoPtr;
c906108c
SS
97
98/* GENERAL TUI FUNCTIONS */
99/* tui.c */
a14ed312
KB
100extern void tuiInit (char *argv0);
101extern void tuiInitWindows (void);
102extern void tuiResetScreen (void);
103extern void tuiCleanUp (void);
104extern void tuiError (char *, int);
105extern void tui_vError (va_list);
106extern void tuiFree (char *);
107extern Opaque tuiDo (TuiOpaqueFuncPtr, ...);
108extern Opaque tuiDoAndReturnToTop (TuiOpaqueFuncPtr, ...);
109extern Opaque tuiGetLowDisassemblyAddress (Opaque, Opaque);
110extern Opaque tui_vGetLowDisassemblyAddress (va_list);
111extern void tui_vSelectSourceSymtab (va_list);
c906108c
SS
112
113/* tuiDataWin.c */
a14ed312 114extern void tui_vCheckDataValues (va_list);
c906108c
SS
115
116/* tuiIO.c */
a14ed312 117extern void tui_vStartNewLines (va_list);
c906108c
SS
118
119/* tuiLayout.c */
a14ed312
KB
120extern void tui_vAddWinToLayout (va_list);
121extern TuiStatus tui_vSetLayoutTo (va_list);
c906108c
SS
122
123/* tuiSourceWin.c */
a14ed312
KB
124extern void tuiDisplayMainFunction (void);
125extern void tuiUpdateAllExecInfos (void);
126extern void tuiUpdateOnEnd (void);
127extern void tui_vAllSetHasBreakAt (va_list);
128extern void tui_vUpdateSourceWindowsWithAddr (va_list);
c906108c
SS
129
130/* tuiStack.c */
a14ed312
KB
131extern void tui_vShowFrameInfo (va_list);
132extern void tui_vUpdateLocatorFilename (va_list);
c906108c 133#endif /* TUI_H */
This page took 0.088127 seconds and 4 git commands to generate.