|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T x
Length: 6024 (0x1788) Types: TextFile Names: »xgdb.h«
└─⟦a05ed705a⟧ Bits:30007078 DKUUG GNU 2/12/89 └─⟦e10a7c8ba⟧ »./UNRELEASED/xgdb.tar.Z« └─⟦ae30648b5⟧ └─⟦this⟧ »./xgdb.h«
\f /* $Header: xgdb.h,v 1.1 89/07/05 15:37:07 hubbard Exp $ */ /* * * Copyright 1988, 1989 * PCS Computer Systeme, GmbH * Munich, West Germany * * All rights reserved. * * This is unsupported software and is subject to change without notice. * PCS makes no representations about the suitability of this software * for any purpose. It is supplied "as is" without express or implied * warranty. * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, provided * that the above copyright notice appear in all copies and that both that * copyright notice and this permission notice appear in supporting * documentation, and that the name of PCS Computer Systeme not be used in * advertising or publicity pertaining to distribution of the software * without specific, written prior permission. * */ /* * Author: Jordan K. Hubbard * For: PCS Computer Systems * When: April 18th, 1989. * * $Log: xgdb.h,v $ * Revision 1.1 89/07/05 15:37:07 hubbard * Initial revision * * */ #ifndef XGDB_H_INCLUDE #define XGDB_H_INCLUDE /* * All those nifty includes.. */ #include "Intrinsic.h" #include "AsciiText.h" #include "Box.h" #include "Cardinals.h" #include "Command.h" #include "Label.h" #include "Scroll.h" #include "Shell.h" #include "StringDefs.h" #include "VPaned.h" #include "Viewport.h" #include "Xatom.h" #include "cursorfont.h" #include <signal.h> #include "sysdefs.h" #include "regex.h" #include "util.h" #include "queue.h" #include "types.h" #include "stringfunc.h" #include "stubs.h" #include "Tty.h" #include "ScrollList.h" /* obvious */ #define DEF_DEBUGGER "gdb" #define VERSION "0.1 Beta" /* Where to get regular expression data from */ #define DEF_REGEXP_FILE "gdb-regexps" /* Command to invoke the pre-processor sans #line information */ #define CPP_COMMAND "/lib/cpp -P" /* The maximum length of an interactive command to the debugger */ #define MAX_CMD_LEN 1024 /* Minimum height for the debugger output area */ #define MIN_OUTPUT_SIZE 80 /* Minimum height for the debugger input area */ #define MIN_INPUT_SIZE 40 /* default amount of output to accumulate before parsing */ #define DEF_OUTPUT_THRESHOLD 4096 /* How many lines to allocate at a time for multi-line views */ #define LINE_CHUNK 200 /* Default resource values */ #define DEF_FONT "XtDefaultFont" #define DEF_BOLD_FONT "helv12b" #define DEF_DBG_CURSOR "spraycan" #define DEF_OPT_CURSOR "spider" #define DEF_POPUP_CURSOR "left_ptr" #define DEF_BUTTON_CURSOR "dot" #define DEF_LABEL_CURSOR "hand1" #define DEF_BUSY_CURSOR "watch" /* Initial value for most of the string labels */ #define INITIAL " " /* Type of regular expression syntax to use */ #define RE_SYN RE_SYNTAX_EMACS /* Default names for the various views */ #define ASSEMBLY_N "Assembly" #define AUTOEXEC_N "AutoExec" #define BREAKPOINTS_N "Breakpoints" #define SOURCE_N "Source" #define STACK_N "Stack" #define STATUS_N "Status" typedef struct _resources { String debugger; String reg_file; Boolean show_stack, show_status; Boolean show_source, show_code; Boolean show_exec, show_break; struct { Cursor dbg; Cursor option; Cursor popup; Cursor button; Cursor label; Cursor busy; } cursors; struct { Pixel foreground; Pixel background; } colors; } app_resourceRec; /* * All state values that track some debugger value (as opposed to internal * xgdb state variables, like S_userInput) are stored as strings, even * though they may represent some integer value. One is expected to convert * as needed. */ struct State { String S_dir; /* Current working directory */ String S_file_path; /* Directory list */ String S_exec_file; /* Executable file */ String S_symbol_file; /* Symbol table file */ String S_core_file; /* Core file */ String S_file; /* Current source file */ String S_function; /* Current function name */ String S_text_segment; /* Text segment bounds */ String S_data_segment; /* Data segment bounds */ String S_stack_segment; /* Stack segment bounds */ String S_line; /* Current source line */ String S_address; /* Current address */ String S_frame; /* Current frame number */ String S_breakpoint; /* Active breakpoint */ Boolean S_userInput; /* Last input from user? */ Boolean S_outputSent; /* Any output generated? */ Boolean S_promptSeen; /* Seen a prompt lately? */ caddr_t ext_data; /* Hook for debugger specific state */ }; /* * External thingies. */ extern SimpleField DebuggerCommands[], InputRegionCommands[], Options[]; extern String program_name; extern String program_class; /* Various Queues */ extern Queue ParserQueue; /* Parser queue */ extern Queue TQ; /* Transaction queue */ extern Queue ProcQueue; /* Process queue */ /* Various globally important field lists */ extern Field *CommandButtons; extern Field *MenuButtons; extern Field *OutputButtons; extern Field *InputButtons; extern app_resourceRec app_resources; extern Widget Toplevel, Input; extern View Output; extern char DebuggerCommandBuffer[]; extern String DebuggerPrompt; extern String DebuggerPromptRegexp; extern Cardinal Global_ac; extern String *Global_av; extern Process *DebuggerProcess; extern Parser *Generic; String getInputAsString(); String XtWidgetToName(); /* XXX To be removed in R4 XXX */ /* Debugger state information. */ extern struct State dbg_state; /* For general use */ extern Cardinal i, ii; extern Arg args[], aa[]; /* * Where SetDebuggerArgs() should stick the arg list. */ extern String *DebuggerArgs; /* * Forward declarations for the Public routines. */ #include "handler.h" #include "messages.h" #include "process.h" #include "regparse.h" #include "support.h" #include "view.h" #include "views.h" #endif /* XGDB_H_INCLUDE */