aboutsummaryrefslogtreecommitdiff
path: root/gdb/tui/tui.h
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/tui/tui.h')
-rw-r--r--gdb/tui/tui.h120
1 files changed, 120 insertions, 0 deletions
diff --git a/gdb/tui/tui.h b/gdb/tui/tui.h
new file mode 100644
index 0000000..bc9fb31
--- /dev/null
+++ b/gdb/tui/tui.h
@@ -0,0 +1,120 @@
+/* External/Public TUI Header File */
+
+#ifndef TUI_H
+#define TUI_H
+#include <curses.h>
+
+#ifdef ANSI_PROTOTYPES
+#include <stdarg.h>
+#else
+#include <varargs.h>
+#endif
+
+#include "ansidecl.h"
+
+#if defined(reg)
+#undef reg
+#endif
+#if defined(chtype)
+#undef chtype
+#endif
+
+/* Opaque data type */
+typedef char *Opaque;
+typedef Opaque (*OpaqueFuncPtr) PARAMS ((va_list));
+typedef char **OpaqueList;
+typedef OpaqueList OpaquePtr;
+
+/* Generic function pointer */
+typedef void (*TuiVoidFuncPtr) PARAMS ((va_list));
+typedef int (*TuiIntFuncPtr) PARAMS ((va_list));
+/*
+typedef Opaque (*TuiOpaqueFuncPtr) PARAMS ((va_list));
+*/
+typedef OpaqueFuncPtr TuiOpaqueFuncPtr;
+
+extern Opaque vcatch_errors PARAMS ((OpaqueFuncPtr, ...));
+extern Opaque va_catch_errors PARAMS ((OpaqueFuncPtr, va_list));
+
+extern void strcat_to_buf PARAMS ((char *, int, char *));
+extern void strcat_to_buf_with_fmt PARAMS ((char *, int, char *, ...));
+
+/* Types of error returns */
+typedef enum {
+ TUI_SUCCESS,
+ TUI_FAILURE
+} TuiStatus, *TuiStatusPtr;
+
+/* Types of windows */
+typedef enum {
+ SRC_WIN = 0,
+ DISASSEM_WIN,
+ DATA_WIN,
+ CMD_WIN,
+ /* This must ALWAYS be AFTER the major windows last */
+ MAX_MAJOR_WINDOWS,
+ /* auxillary windows */
+ LOCATOR_WIN,
+ EXEC_INFO_WIN,
+ DATA_ITEM_WIN,
+ /* This must ALWAYS be next to last */
+ MAX_WINDOWS,
+ UNDEFINED_WIN /* LAST */
+} TuiWinType, *TuiWinTypePtr;
+
+/* This is a point definition */
+typedef struct _TuiPoint {
+ int x, y;
+} TuiPoint, *TuiPointPtr;
+
+/* Generic window information */
+typedef struct _TuiGenWinInfo {
+ WINDOW *handle; /* window handle */
+ TuiWinType type; /* type of window */
+ int width; /* window width */
+ int height; /* window height */
+ TuiPoint origin; /* origin of window */
+ OpaquePtr content; /* content of window */
+ int contentSize; /* Size of content (# of elements) */
+ int contentInUse; /* Can it be used, or is it already used? */
+ int viewportHeight; /* viewport height */
+ int lastVisibleLine; /* index of last visible line */
+ int isVisible; /* whether the window is visible or not */
+} TuiGenWinInfo, *TuiGenWinInfoPtr;
+
+/* GENERAL TUI FUNCTIONS */
+/* tui.c */
+extern void tuiInit PARAMS ((char *argv0));
+extern void tuiInitWindows PARAMS ((void));
+extern void tuiResetScreen PARAMS ((void));
+extern void tuiCleanUp PARAMS ((void));
+extern void tuiError PARAMS ((char *, int));
+extern void tui_vError PARAMS ((va_list));
+extern void tuiFree PARAMS ((char *));
+extern Opaque tuiDo PARAMS ((TuiOpaqueFuncPtr, ...));
+extern Opaque tuiDoAndReturnToTop PARAMS ((TuiOpaqueFuncPtr, ...));
+extern Opaque tuiGetLowDisassemblyAddress PARAMS ((Opaque, Opaque));
+extern Opaque tui_vGetLowDisassemblyAddress PARAMS ((va_list));
+extern void tui_vSelectSourceSymtab PARAMS ((va_list));
+
+/* tuiDataWin.c */
+extern void tui_vCheckDataValues PARAMS ((va_list));
+
+/* tuiIO.c */
+extern void tui_vStartNewLines PARAMS ((va_list));
+
+/* tuiLayout.c */
+extern void tui_vAddWinToLayout PARAMS ((va_list));
+extern TuiStatus tui_vSetLayoutTo PARAMS ((va_list));
+
+/* tuiSourceWin.c */
+extern void tuiDisplayMainFunction PARAMS ((void));
+extern void tuiUpdateAllExecInfos PARAMS ((void));
+extern void tuiUpdateOnEnd PARAMS ((void));
+extern void tui_vAllSetHasBreakAt PARAMS ((va_list));
+extern void tui_vUpdateSourceWindowsWithAddr PARAMS ((va_list));
+
+/* tuiStack.c */
+extern void tui_vShowFrameInfo PARAMS ((va_list));
+extern void tui_vUpdateLocatorFilename PARAMS ((va_list));
+#endif /* TUI_H */