
/*
 * 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 ubyte     Current[MAXLINELEN];
Prototype ubyte     Deline[MAXLINELEN];
Prototype ubyte     Space[32];
Prototype Column    Clen;
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 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	 */

ubyte	Deline[MAXLINELEN];	/* last deleted line			 */
ubyte	Current[MAXLINELEN];	/* Current Line buffer and length	 */
ubyte	Space[32] = { 32,32,32,32, 32,32,32,32, 32,32,32,32, 32,32,32,32,
		      32,32,32,32, 32,32,32,32, 32,32,32,32, 32,32,32,32 };

Column	Clen;			/* Length of actual line */
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;

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.07 (24.2.1993) by "
		       "digulla@rz-uxazs.fh-konstanz.de";
