X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Ftui%2Ftui.h;h=0ac1fb4a9c2e3d27928deffdc17b86a1e763cfab;hb=2dfd3df48dc7edb551718b3944eca6b35a7058a5;hp=c26802bc6ab271eb1231f1348cb3780936e66c9e;hpb=1403b519de59bafc12b3a9e45cb074a48aabb97e;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/tui/tui.h b/gdb/tui/tui.h index c26802bc6a..0ac1fb4a9c 100644 --- a/gdb/tui/tui.h +++ b/gdb/tui/tui.h @@ -1,12 +1,14 @@ /* External/Public TUI Header File. - Copyright 1998, 1999, 2000, 2001 Free Software Foundation, Inc. + + Copyright (C) 1998-2019 Free Software Foundation, Inc. + Contributed by Hewlett-Packard Company. This file is part of GDB. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or + the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, @@ -15,86 +17,40 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ - -#ifndef TUI_H -#define TUI_H - -#include -#include -#include "ansidecl.h" - -#if defined(reg) -#undef reg -#endif -#if defined(chtype) -#undef chtype -#endif - -/* Opaque data type */ -typedef char *Opaque; -typedef -Opaque (*OpaqueFuncPtr) (va_list); - typedef char **OpaqueList; - typedef OpaqueList OpaquePtr; - -/* Generic function pointer */ - typedef void (*TuiVoidFuncPtr) (va_list); - typedef int (*TuiIntFuncPtr) (va_list); -/* - typedef Opaque (*TuiOpaqueFuncPtr) (va_list); - */ - typedef OpaqueFuncPtr TuiOpaqueFuncPtr; - -extern Opaque vcatch_errors (OpaqueFuncPtr, ...); -extern Opaque va_catch_errors (OpaqueFuncPtr, va_list); - -extern void strcat_to_buf (char *, int, char *); -extern void strcat_to_buf_with_fmt (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; - -/* GENERAL TUI FUNCTIONS */ -/* tui.c */ -extern void tuiFree (char *); -extern CORE_ADDR tuiGetLowDisassemblyAddress (CORE_ADDR, CORE_ADDR); -extern void tui_show_assembly (CORE_ADDR addr); -extern int tui_is_window_visible (TuiWinType type); -extern int tui_get_command_dimension (int *width, int *height); + along with this program. If not, see . */ + +#ifndef TUI_TUI_H +#define TUI_TUI_H + +struct ui_file; + +/* Types of error returns. */ +enum tui_status +{ + TUI_SUCCESS, + TUI_FAILURE +}; + +/* Types of windows. */ +enum tui_win_type +{ + SRC_WIN = 0, + DISASSEM_WIN, + DATA_WIN, + CMD_WIN, + /* This must ALWAYS be AFTER the major windows last. */ + MAX_MAJOR_WINDOWS, + /* Auxiliary windows. */ + LOCATOR_WIN, + DATA_ITEM_WIN +}; + +extern CORE_ADDR tui_get_low_disassembly_address (struct gdbarch *, + CORE_ADDR, CORE_ADDR); +extern void tui_show_assembly (struct gdbarch *gdbarch, CORE_ADDR addr); +extern bool tui_is_window_visible (enum tui_win_type type); +extern int tui_get_command_dimension (unsigned int *width, + unsigned int *height); /* Initialize readline and configure the keymap for the switching key shortcut. */ @@ -106,24 +62,27 @@ extern void tui_enable (void); /* Leave the tui mode. */ extern void tui_disable (void); -/* tuiDataWin.c */ -extern void tui_vCheckDataValues (va_list); +enum tui_key_mode +{ + /* Plain command mode to enter gdb commands. */ + TUI_COMMAND_MODE, + + /* SingleKey mode with some keys bound to gdb commands. */ + TUI_SINGLE_KEY_MODE, + + /* Read/edit one command and return to SingleKey after it's + processed. */ + TUI_ONE_COMMAND_MODE +}; + +extern enum tui_key_mode tui_current_key_mode; -/* tuiIO.c */ -extern void tui_vStartNewLines (va_list); +/* Change the TUI key mode by installing the appropriate readline + keymap. */ +extern void tui_set_key_mode (enum tui_key_mode mode); -/* tuiLayout.c */ -extern void tui_vAddWinToLayout (va_list); -extern TuiStatus tui_vSetLayoutTo (va_list); +extern int tui_active; -/* tuiSourceWin.c */ -extern void tuiDisplayMainFunction (void); -extern void tuiUpdateAllExecInfos (void); -extern void tuiUpdateOnEnd (void); -extern void tui_vAllSetHasBreakAt (va_list); -extern void tui_vUpdateSourceWindowsWithAddr (va_list); +extern void tui_show_source (); -/* tuiStack.c */ -extern void tui_vShowFrameInfo (va_list); -extern void tui_vUpdateLocatorFilename (va_list); -#endif /* TUI_H */ +#endif /* TUI_TUI_H */