DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: T x

⟦801c11af2⟧ TextFile

    Length: 6024 (0x1788)
    Types: TextFile
    Names: »xgdb.h«

Derivation

└─⟦a05ed705a⟧ Bits:30007078 DKUUG GNU 2/12/89
    └─⟦e10a7c8ba⟧ »./UNRELEASED/xgdb.tar.Z« 
        └─⟦ae30648b5⟧ 
            └─⟦this⟧ »./xgdb.h« 

TextFile

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