
/*
 * GLOBALS.C
 *
 *	(C)Copyright 1987 by Matthew Dillon, All Rights Reserved
 */

#include "defs.h"

Prototype LIST	    DBase;
Prototype ED	  * Ep;
Prototype struct Config default_config;
Prototype struct GlobalFlags globalflags;
Prototype long	    Nsu;
Prototype UBYTE     CtlC;
Prototype LINE	    Current;
Prototype LINE	    Deline;
Prototype char	  * Partial;
Prototype char	  * esc_partial;
Prototype char	  * String;
Prototype Block     ActualBlock;
Prototype USHORT    ColumnPos[MAXLINELEN];
Prototype USHORT    RowPos[MAXROWS];
Prototype USHORT    Xsize;
Prototype USHORT    Ysize;
Prototype USHORT    XTbase;
Prototype USHORT    YTbase;
Prototype USHORT    Lines;
Prototype USHORT    Columns;
Prototype USHORT    Xbase;
Prototype USHORT    Ybase;
Prototype USHORT    Xpixs;
Prototype USHORT    Ypixs;
Prototype USHORT    LineDistance;
Prototype UBYTE   * av[];
Prototype short     PageJump;
Prototype char	    RexxPortName[8];
Prototype char	    tmp_buffer[256];
Prototype USHORT    NumClicks;
Prototype ULONG     LoopCont;
Prototype ULONG     LoopBreak;
Prototype ULONG     MacroRecord;


Prototype struct IntuitionBase * IntuitionBase;
Prototype struct GfxBase       * GfxBase;
Prototype struct Library       * IconBase;
Prototype struct Library       * AslBase;
Prototype struct WBStartup     * Wbs;

ED  * Ep;			/* Current Window		 */
struct Config default_config;	/* Config-struct with default config */
LIST  DBase;			/* Doubly linked list of Files	 */

LINE	Deline[MAXLINELEN];	/* last deleted line			 */
LINE	Current[MAXLINELEN];	/* Current Line buffer and length	 */

char  * Partial;		/* Partial command for communication w/ CF_PAR	*/ /* PATCH_NULL change in function */
char  * esc_partial;		/* Partial command line when executing ESCIMM	*/ /* PATCH_NULL added */
char  * String; 		/* String Capture variable			*/

Block ActualBlock;		/* The actual block */

USHORT ColumnPos[MAXLINELEN];	/* Offset to a specific Position on screem */
USHORT RowPos[MAXROWS];

USHORT Xsize,  Ysize;		/* font character sizes 		   */
USHORT Lines,  Columns; 	/* character rows/cols available	   */
USHORT Xbase,  Ybase;		/* offset pixel base for display	   */
USHORT XTbase, YTbase;		/* used for text display		   */
USHORT Xpixs,  Ypixs;		/* actual Right/Bottom pixels. Directly
				   usable in RectFill() or ScrollRaster () */
USHORT LineDistance = 1;	/* empty space that goes between two lines
				   of text on the screen */

UBYTE * av[8];			/* Argument-array */

struct WBStartup     * Wbs;	/* Startup-Message from WB */

short	PageJump;		/* Amount in % for page/prop. gadget */

char RexxPortName[8];		/* Name of ARexx-Port */

char tmp_buffer[256];		/* This is a global buffer to prevent unusual
				   stack-usage. DON'T CALL SUBROUTINES WHILE
				   HOLDING IMPORTANT DATA IN IT ! */

USHORT NumClicks;		/* number of button-presses within double-
				   clicktime */
ULONG LoopCont;
ULONG LoopBreak;
ULONG MacroRecord;

long	Nsu;			/* Used to disable screen updates. If != 0,
				   we must not do any updates */

/* Flags */

struct GlobalFlags globalflags;

UBYTE	CtlC;		/* Keycode for 'c'                              */

/* Version-Number :-) */
const char * version = "$VER: XDME 1.82.10 (30.3.1993) by "
		       "digulla@rz-uxazs.fh-konstanz.de";
