|
|
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 */