/* TUI data manipulation routines.
- Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2006, 2007
- Free Software Foundation, Inc.
+ Copyright (C) 1998-2013 Free Software Foundation, Inc.
Contributed by Hewlett-Packard Company.
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,
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., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA. */
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
#ifndef TUI_DATA_H
#define TUI_DATA_H
/* Generic window information. */
struct tui_gen_win_info
{
- WINDOW *handle; /* Window handle. */
- enum tui_win_type type; /* Type of window. */
- int width; /* Window width. */
- int height; /* Window height. */
- struct tui_point origin; /* Origin of window. */
- void **content; /* Content of window. */
- int content_size; /* Size of content (# of elements). */
- int content_in_use; /* Can it be used, or is it already used? */
- int viewport_height; /* Viewport height. */
- int last_visible_line; /* Index of last visible line. */
- int is_visible; /* Whether the window is visible or not. */
- char *title; /* Window title to display. */
+ WINDOW *handle; /* Window handle. */
+ enum tui_win_type type; /* Type of window. */
+ int width; /* Window width. */
+ int height; /* Window height. */
+ struct tui_point origin; /* Origin of window. */
+ void **content; /* Content of window. */
+ int content_size; /* Size of content (# of elements). */
+ int content_in_use; /* Can it be used, or is it already used? */
+ int viewport_height; /* Viewport height. */
+ int last_visible_line; /* Index of last visible line. */
+ int is_visible; /* Whether the window is visible or not. */
+ char *title; /* Window title to display. */
};
/* Constant definitions. */
-#define DEFAULT_TAB_LEN 8
-#define NO_SRC_STRING "[ No Source Available ]"
-#define NO_DISASSEM_STRING "[ No Assembly Available ]"
-#define NO_REGS_STRING "[ Register Values Unavailable ]"
-#define NO_DATA_STRING "[ No Data Values Displayed ]"
-#define MAX_CONTENT_COUNT 100
-#define SRC_NAME "SRC"
-#define CMD_NAME "CMD"
-#define DATA_NAME "REGS"
-#define DISASSEM_NAME "ASM"
-#define TUI_NULL_STR ""
-#define DEFAULT_HISTORY_COUNT 25
-#define BOX_WINDOW TRUE
-#define DONT_BOX_WINDOW FALSE
-#define HILITE TRUE
-#define NO_HILITE FALSE
-#define WITH_LOCATOR TRUE
-#define NO_LOCATOR FALSE
-#define EMPTY_SOURCE_PROMPT TRUE
-#define NO_EMPTY_SOURCE_PROMPT FALSE
-#define UNDEFINED_ITEM -1
-#define MIN_WIN_HEIGHT 3
-#define MIN_CMD_WIN_HEIGHT 3
+#define DEFAULT_TAB_LEN 8
+#define NO_SRC_STRING "[ No Source Available ]"
+#define NO_DISASSEM_STRING "[ No Assembly Available ]"
+#define NO_REGS_STRING "[ Register Values Unavailable ]"
+#define NO_DATA_STRING "[ No Data Values Displayed ]"
+#define MAX_CONTENT_COUNT 100
+#define SRC_NAME "SRC"
+#define CMD_NAME "CMD"
+#define DATA_NAME "REGS"
+#define DISASSEM_NAME "ASM"
+#define TUI_NULL_STR ""
+#define DEFAULT_HISTORY_COUNT 25
+#define BOX_WINDOW TRUE
+#define DONT_BOX_WINDOW FALSE
+#define HILITE TRUE
+#define NO_HILITE FALSE
+#define WITH_LOCATOR TRUE
+#define NO_LOCATOR FALSE
+#define EMPTY_SOURCE_PROMPT TRUE
+#define NO_EMPTY_SOURCE_PROMPT FALSE
+#define UNDEFINED_ITEM -1
+#define MIN_WIN_HEIGHT 3
+#define MIN_CMD_WIN_HEIGHT 3
/* Strings to display in the TUI status line. */
-#define PROC_PREFIX "In: "
-#define LINE_PREFIX "Line: "
-#define PC_PREFIX "PC: "
-#define SINGLE_KEY "(SingleKey)"
+#define PROC_PREFIX "In: "
+#define LINE_PREFIX "Line: "
+#define PC_PREFIX "PC: "
+#define SINGLE_KEY "(SingleKey)"
/* Minimum/Maximum length of some fields displayed in the TUI status
line. */
struct tui_data_element
{
const char *name;
- int item_no; /* The register number, or data display number. */
+ int item_no; /* The register number, or data display
+ number. */
enum tui_data_type type;
void *value;
int highlight;
char *line;
};
-
-#define MAX_LOCATOR_ELEMENT_LEN 100
+#ifdef PATH_MAX
+# define MAX_LOCATOR_ELEMENT_LEN PATH_MAX
+#else
+# define MAX_LOCATOR_ELEMENT_LEN 1024
+#endif
/* Elements in the locator window content. */
struct tui_locator_element
char proc_name[MAX_LOCATOR_ELEMENT_LEN];
int line_no;
CORE_ADDR addr;
+ /* Architecture associated with code at this location. */
+ struct gdbarch *gdbarch;
};
/* Flags to tell what kind of breakpoint is at current line. */
int horizontal_offset; /* Used for horizontal scroll. */
struct tui_line_or_address start_line_or_addr;
char *filename;
+ /* Architecture associated with code at this location. */
+ struct gdbarch *gdbarch;
};
extern void tui_init_generic_part (struct tui_gen_win_info *);
extern void tui_init_win_info (struct tui_win_info *);
extern tui_win_content tui_alloc_content (int, enum tui_win_type);
-extern int tui_add_content_elements (struct tui_gen_win_info *, int);
-extern void tui_init_content_element (struct tui_win_element *, enum tui_win_type);
+extern int tui_add_content_elements (struct tui_gen_win_info *,
+ int);
+extern void tui_init_content_element (struct tui_win_element *,
+ enum tui_win_type);
extern void tui_free_window (struct tui_win_info *);
extern void tui_free_win_content (struct tui_gen_win_info *);
extern void tui_free_data_content (tui_win_content, int);
extern void tui_set_term_height_to (int);
extern int tui_term_width (void);
extern void tui_set_term_width_to (int);
-extern void tui_set_gen_win_origin (struct tui_gen_win_info *, int, int);
extern struct tui_gen_win_info *tui_locator_win_info_ptr (void);
extern struct tui_gen_win_info *tui_source_exec_info_win_ptr (void);
extern struct tui_gen_win_info *tui_disassem_exec_info_win_ptr (void);
extern struct tui_list *tui_source_windows (void);
extern void tui_clear_source_windows (void);
extern void tui_clear_source_windows_detail (void);
-extern void tui_clear_win_detail (struct tui_win_info *win_info);
+extern void tui_clear_win_detail (struct tui_win_info *);
extern void tui_add_to_source_windows (struct tui_win_info *);
extern int tui_default_tab_len (void);
extern void tui_set_default_tab_len (int);
extern struct tui_win_info *tui_next_win (struct tui_win_info *);
extern struct tui_win_info *tui_prev_win (struct tui_win_info *);
-extern void tui_add_to_source_windows (struct tui_win_info *win_info);
+extern void tui_add_to_source_windows (struct tui_win_info *);
#endif /* TUI_DATA_H */