X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Ftui%2Ftui.h;h=aaae85160d6e7f8436d22ffc0ecd566bf53d68b2;hb=112e8700a6fd2fed65ca70132c9cbed4132e8bd4;hp=fcea91afe666fb2784584e60037a50e69cf2cf9b;hpb=2ee563b53258d390d7446e90a67f465d504ae44c;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/tui/tui.h b/gdb/tui/tui.h index fcea91afe6..aaae85160d 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-2016 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,48 @@ 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. */ + along with this program. If not, see . */ #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; +struct ui_file; + +extern void strcat_to_buf (char *, int, const char *); + +/* 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, + /* Auxillary windows. */ + LOCATOR_WIN, + EXEC_INFO_WIN, + DATA_ITEM_WIN, + /* This must ALWAYS be next to last. */ + MAX_WINDOWS, + UNDEFINED_WIN /* LAST */ +}; /* 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); +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 int 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,36 +70,30 @@ extern void tui_enable (void); /* Leave the tui mode. */ extern void tui_disable (void); -extern void tui_initialize_io (void); +enum tui_key_mode +{ + /* Plain command mode to enter gdb commands. */ + TUI_COMMAND_MODE, -extern void tui_initialize_readline (void); - -extern int tui_active; + /* SingleKey mode with some keys bound to gdb commands. */ + TUI_SINGLE_KEY_MODE, -extern void tui_install_hooks (void); -extern void tui_remove_hooks (void); + /* Read/edit one command and return to SingleKey after it's + processed. */ + TUI_ONE_COMMAND_MODE +}; -extern void tui_show_source (const char *file, int line); +extern enum tui_key_mode tui_current_key_mode; -extern struct ui_out *tui_out_new (struct ui_file *stream); +/* Change the TUI key mode by installing the appropriate readline + keymap. */ +extern void tui_set_key_mode (enum tui_key_mode mode); -/* tuiDataWin.c */ -extern void tui_vCheckDataValues (va_list); - -/* tuiIO.c */ -extern void tui_vStartNewLines (va_list); +extern int tui_active; -/* tuiLayout.c */ -extern TuiStatus tui_set_layout (const char *); +extern void tui_show_source (const char *fullname, int line); -/* 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); +/* tui-layout.c */ +extern enum tui_status tui_set_layout_by_name (const char *); -/* tuiStack.c */ -extern void tui_vShowFrameInfo (va_list); -extern void tui_vUpdateLocatorFilename (va_list); -#endif /* TUI_H */ +#endif