Prototype const UBYTE * version;
Prototype NOT_BLOCK_C_CONST Block     ActualBlock;
Prototype ED * set_block_ep (ED * new_ed);
Prototype UWORD set_block_type (UWORD type);
Prototype UWORD set_block_flags (UWORD newflags, UWORD flagmask);
Prototype Block * get_block (Block * buf);
Prototype Block * set_block (Block *buf);
Prototype void set_block_start (Line line, Column column);
Prototype void set_block_end (Line line, Column column);
Prototype void unblock (void);
Prototype Column block_leftcolumn (Line);
Prototype Column block_rightcolumn (Line);
Prototype void block_normalize (void);
Prototype UWORD is_inblock (Line line, Column col);
Prototype BOOL IsBlockVisible (void);
Prototype void displayblock (BOOL on);
Prototype BOOL block_ok (void);
Prototype char * block_to_string (void);
Prototype ULONG 	       OpenRexx 	    (char *, const char *, __stkargs void (*do_res)(struct RexxMsg *), BPTR, BPTR);
Prototype BOOL		       CloseRexx	    (void);
Prototype long		       LastRexxError	    (void);
Prototype struct RexxMsg     * BuildRexxMsg	    (const char *, const long, char *, ...);
Prototype BOOL		       RemoveRexxMsg	    (struct RexxMsg *);
Prototype BOOL		       PutRexxMsg	    (char *, struct RexxMsg *);
Prototype struct RexxMsg     * GetRexxMsg	    (void);
Prototype struct RexxMsg     * FetchRexxMsg	    (void);
Prototype BOOL		       ReplyRexxMsg	    (struct RexxMsg *, long, char *);
Prototype long		       SyncRexxCommand	    (const char *, const char *, char *, long, char *, ...);
Prototype __stkargs void       RexxMessageHandler   (struct RexxMsg *);
Prototype void		     * ChangeProcessMessage (__stkargs void (*new_func)(struct RexxMsg *));
Prototype struct RexxCommand * SetRexxCommandTable  (struct RexxCommand *);
Prototype long		       ModifyRepCount	    (long);
Prototype BOOL		       AttempCloseRexx	    (void);
Prototype void redraw_block (BOOL force, Line start_line, Column start_column, Line end_line, Column end_column);
Prototype ULONG RexxMask;
Prototype int foundcmd; /* control for implicit ARexx macro invocation	 */
Prototype int cmderr;	/* global command error flag for do_rexx()'s use */
Prototype long do_rexx (const char * port, const char *fmt,...);
Prototype char * get_rexx_result (void);
Prototype void openrexx (void);
Prototype void closerexx (void);
Prototype long do_rxImplied (char * cmd,char * args);
Prototype void extern_rexx_command (void);
Prototype void check_stack (ED * ep);
Prototype struct FileRequester	 * FReq;
Prototype struct ReqToolsBase	 * ReqToolsBase;
Prototype struct rtFileRequester * RFReq;
Prototype char pattern[];
Prototype int aslsave (void);
Prototype void fixdirname (char * dir);
Prototype void splitpath (char * name, char * file, char * dir);
Prototype int reqsave (void);
Prototype int getappname (char * buffer, int bsize);
Prototype int saveit (const char * om);
Prototype int tas_flag (char * what, int old, char * prefix);
Prototype void loadconfig (ED * ep);
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 UBYTE   * Partial;
Prototype UBYTE   * esc_partial;
Prototype UBYTE   * String;
Prototype UWORD     ColumnPos[MAXLINELEN];
Prototype UWORD     RowPos[MAXROWS];
Prototype UWORD     Xsize;
Prototype UWORD     Ysize;
Prototype UWORD     XTbase;
Prototype UWORD     YTbase;
Prototype UWORD     Lines;
Prototype UWORD     Columns;
Prototype UWORD     Xbase;
Prototype UWORD     Ybase;
Prototype UWORD     Xpixs;
Prototype UWORD     Ypixs;
Prototype UWORD     LineDistance;
Prototype UBYTE   * av[];
Prototype WORD	    PageJump;
Prototype UBYTE     RexxPortName[8];
Prototype UBYTE     tmp_buffer[MAXLINELEN];
Prototype UWORD     NumClicks;
Prototype struct Library       * IconBase;
Prototype struct Library       * AslBase;
Prototype struct DosLibrary    * DOSBase;
Prototype struct WBStartup     * Wbs;
Prototype struct MsgPort  * Sharedport;
Prototype char		    MShowTitle;
Prototype char		    noadj;
Prototype struct __XDMEArgs XDMEArgs;
Prototype void PrintCWD (void);
Prototype int main (int mac, char ** mav);
Prototype void OptimizedRefresh (ED *);
Prototype void exiterr (char * str);
Prototype int breakcheck (void);
Prototype void breakreset (void);
Prototype void ops (char ** toolarray);
Prototype BOOL loadfile (BPTR lock, char * name);
Prototype int do_command (char * str);
Prototype char * breakout (char ** ptr, char * quoted, char ** paux);
Prototype ED * uninit_init (ED * ep);
Prototype int setpen (Line line, Column column);
Prototype WORD inversemode (int n);
Prototype int text_init (ED * oldep, WIN * win, struct NewWindow * nw);
Prototype BOOL text_switch (WIN * win);
Prototype BOOL text_sync (void);
Prototype BOOL text_adjust (BOOL force);
Prototype void text_load (void);
Prototype int text_colno (void);
Prototype int text_lineno (void);
Prototype int text_lines (void);
Prototype int text_cols (void);
Prototype int text_imode (void);
Prototype int text_tabsize (void);
Prototype UBYTE * text_name (void);
Prototype void text_uninit (void);
Prototype void text_cursor (int n);
Prototype void text_position (int col, int row);
Prototype void text_displayseg (int start, int lines);
Prototype void text_redraw_cmdline (void);
Prototype void text_redisplay (void);
Prototype void text_redisplaycurrline (void);
Prototype void text_write (UBYTE * str);
Prototype void text_redrawblock (BOOL on);
Prototype void redraw_text (Line start_line, Line end_line);
Prototype void redraw_textlineseg (Line line, Column start_column, Column end_column);
Prototype void redraw_lineseg (UBYTE * text, UWORD y, Column start_column, Column end_column);
Prototype char icontitle_pattern[];
Prototype void iconify (void);
Prototype WIN * TOpenWindow (struct NewWindow * nw);
Prototype WIN * opensharedwindow (struct NewWindow *nw);
Prototype void closesharedwindow (WIN * win);
Prototype int getyn (char * title, char * text, char * gads, ...);
Prototype void show_title (char *);
Prototype void title (char * fmt, ...);
Prototype char title_pattern[];
Prototype void format_string (char * dest, const char * fmt);
Prototype void window_title (void);
Prototype void set_window_params (void);
Prototype char * geoskip (char * ptr, int * pval, int * psgn);
Prototype void GeometryToNW (char * geo, struct NewWindow *nw);
Prototype void rest_prop (ED * ep);
Prototype void rem_prop (ED * ep);
Prototype struct PropGadget * add_prop (struct Window * win);
Prototype void free_prop (struct PropGadget * pg);
Prototype void prop_adj (void);
Prototype ULONG new_top (void);
Prototype void error (char * fmt, ...);
Prototype void warn (char * fmt, ...);
Prototype char	* HistoBuff[];
Prototype WORD	  NumHistoLines;
Prototype WORD	  HistoLine;
Prototype int get_char (ED * ep, struct pos * curr, int dir);
Prototype int get_pong (int num);
Prototype void escapecomlinemode (void);
Prototype void markerkill (ED * ep);
Prototype void swapmem (void *, void *, ULONG);
Prototype void makemygadget (struct Gadget *gad);
Prototype int firstns (char * str);
Prototype int lastns (char * str);
Prototype int wordlen (char * str);
Prototype BOOL getpathto (BPTR lock, char * filename, char * buf);
Prototype LINE allocline (long size);
Prototype void freeline (LINE line);
Prototype int detab (char * ibuf, char * obuf, int maxlen);
Prototype int xefgets (FILE * fi, char * buf, int max);
Prototype ED * finded (char * str, int doff);
Prototype void mountrequest (int bool);
Prototype FONT * GetFont (char * name, WORD  size);
Prototype void movetocursor (void);
Prototype int extend (ED * ep, int lines);
Prototype int makeroom (int n);
Prototype void freelist (LINE * list, int n);
Prototype long lineflags (int line);
Prototype void scroll_display (WORD dx, WORD dy, Column lc, Line tl, Column rc, Line bl);
Prototype void ScrollAndUpdate (int dx, int dy);
Prototype char * skip_whitespace (char * ptr);
Prototype char is_number (char * str);
Prototype char * getnextcomline (FILE* fi, int * lineno);
Prototype char * fname (char * fullpath);
Prototype BOOL switch_ed (ED * newed);
Prototype void MakeRectVisible (WIN * win, UWORD minx, UWORD miny, UWORD maxx, UWORD maxy);
Prototype int LINELEN (ED * ep, Line nr);
Prototype ULONG ext_qualifiers;
Prototype int  qualifier (char *);
Prototype struct Library * ConsoleDevice;
Prototype void keyboard_init (void);
Prototype UBYTE* cqtoa (KEYSPEC *ks);
Prototype BOOL get_codequal (const UBYTE *str, KEYSPEC *ks);
Prototype TQUAL iqual2qual (ULONG qual, int blen, char * buf, int code);
Prototype ULONG qual2iqual (TQUAL qual);
Prototype BOOL a2iqual (const UBYTE *str, ULONG *piqual);
Prototype UBYTE *iqual2a (ULONG iqual);
Prototype void init_kb (void);
Prototype UBYTE  CtoA (TCODE c);
Prototype TQUAL CIgnoreQ (TCODE c);
Prototype BOOL IsRawC (KEYSPEC *ks);
Prototype int DeadKeyConvert (struct IntuiMessage * msg, UBYTE * buf, int bufsize, struct KeyMap * keymap);
Prototype void keyctl (struct IntuiMessage *, int, ULONG);  /* PATCH_NULL [14 Feb 1993] : changed to void */
Prototype int	 loadkeys	(KEYTABLE * kt, FILE * fi, int * lineno);
Prototype int	 savekeys	(KEYTABLE * kt, FILE * fo);
Prototype HASH * findhash	(KEYTABLE * kt, KEYSPEC *ks,       UBYTE *, BOOL *);
Prototype APTR	 keyspec2macro	(KEYTABLE * kt,              const UBYTE *);
Prototype int	 resethash	(KEYTABLE * kt);
Prototype int	 unmapkey	(KEYTABLE * kt, const UBYTE *key);
Prototype int	 mapkey 	(KEYTABLE * kt, const UBYTE *key, const UBYTE *value, const UBYTE *help);
Prototype int	 remhash	(KEYTABLE * kt, KEYSPEC *ks);
Prototype int	 addhash	(KEYTABLE * kt, KEYSPEC *ks, const UBYTE *comm, const UBYTE *help);
Prototype void	 dealloc_hash	(KEYTABLE * kt);
Prototype KEYTABLE * get_keytable    (char * name);
Prototype KEYTABLE * new_keytable    (char * name, int defaults);
Prototype void	     delete_keytable (KEYTABLE * kt, int force);
Prototype void	     exit_keytables (void);
Prototype char*keyspectomacro(char*);
Prototype void *currenthash (void);
Prototype APTR menu_cmd (struct IntuiMessage * im);
Prototype void *active_menu;
Prototype void		menuclear   (MENUSTRIP *ms);
Prototype int		menudel     (MENUSTRIP *ms, char *tname);
Prototype int		itemdel     (MENUSTRIP *ms, char *tname, char *iname);
Prototype int		subdel	    (MENUSTRIP *ms, char *tname, char *iname, char *sname);
Prototype XITEM *	itemadd     (MENUSTRIP *ms, char *tname, char *iname,              char *macro, char *help, int check, char *scut);
Prototype XITEM *	subadd	    (MENUSTRIP *ms, char *tname, char *iname, char *sname, char *macro, char *help, int check, char *scut);
Prototype int		loadmenus   (MENUSTRIP *ms, FILE *fi,     int *lineno);
Prototype int		savemenus   (MENUSTRIP *ms, FILE *fo);
Prototype int		chkitemcheck(MENUSTRIP *ms, char *tname, char *iname);
Prototype int		chksubcheck (MENUSTRIP *ms, char *tname, char *iname, char *sname);
Prototype int		setitemcheck(MENUSTRIP *ms, char *tname, char *iname,              int status);
Prototype int		setsubcheck (MENUSTRIP *ms, char *tname, char *iname, char *sname, int status);
Prototype APTR		menu2macro  (MENUSTRIP *ms, char *str);
Prototype MENUSTRIP *get_menustrip    (char * name);
Prototype MENUSTRIP *new_menustrip    (char * name, int defaults);
Prototype void	     delete_menustrip (MENUSTRIP * kt, int force);
Prototype void	     exit_menustrips (void);
Prototype char*menutomacro  (char*);
Prototype void	menuon	     (MENUSTRIP * ms, struct Window * win);
Prototype void	menuoff      (MENUSTRIP * ms, struct Window * win);
Prototype void	menu_strip   (MENUSTRIP * ms, struct Window * Win);
Prototype int	fixmenu      (MENUSTRIP * ms, struct Window * win);
Prototype struct TextAttr  menufont_ta;
Prototype struct TextFont *menufont;
Prototype void *currentmenu  (void);
Prototype struct Window *currentwindow(void);
Prototype void verify_menufont (void);
Prototype void	  do_unnamedmathfunc(void);
Prototype void	  do_namedmathfunc  (void);
Prototype void	  do_infixmode	    (void);
Prototype void	  do_swapV	    (void);
Prototype void clearbreaks (void);
Prototype void m_write (char *);
Prototype char *current_word (void);
Prototype char *recent_word (void);
Prototype APTR AllocFunc (long siz, long typ);
Prototype void FreeFunc (APTR mem, long siz);
Prototype void DeallocFunc (char * str);
Prototype char * DupFunc (const char * str, long typ);
Prototype VBASE *GetMVBase (void);
Prototype int callmacro (MACRO*);
Prototype MACRO *getmacro (char *name);
Prototype int nummacroargs (MACRO *);
Prototype UBYTE 	    *APIC_IconTitle;
Prototype UBYTE 	    *APIC_IconFile;
Prototype UBYTE 	    *APIC_ActionDblClick;
Prototype UBYTE 	    *APIC_ActionDrop;
Prototype ULONG 	     APIC_SigMask;
Prototype void APIC_Control (void);
Prototype int do_apicshow (void);
Prototype int do_apichide (void);
Prototype ULONG CMDSH_SigMask;
Prototype UBYTE*CMDSH_FileName;
Prototype UBYTE*CMDSH_Prompt;
Prototype void	CMDSH_Control	 (void);
Prototype int	CMDSH_Print	 (const char *, ULONG *);
Prototype int do_closecmdshell (void);
Prototype int do_opencmdshell (void);
Prototype int do_cmdshelloutput (void);
Prototype UBYTE * GetArg      (int);
Prototype UBYTE * CommandName (void);
Prototype void clear_record	(void);
Prototype void start_recording	(void);
Prototype void end_recording	(void);
Prototype void replay_record	(void);
Prototype void do_saverecord	(void);
Prototype void add_record	(char * string);
Prototype void do_simptr	(void);
Prototype void VSTK_CloseProject (APTR prj);
Prototype int SetLNode (UBYTE *name, UBYTE *value);
Prototype UBYTE *GetLNode (UBYTE *name);
Prototype char ReqString[];
Prototype int is_Aborted (void);
Prototype void set_Abortion (int val);
Prototype void no_Memory (void);
Prototype APTR active_window (void);
Prototype void strtrans (char * str, const char *find, const char *rep);
Prototype int std_writefile (int (*writefunc)(FILE *, APTR), APTR);
Prototype int std_readfile (int (*readfunc)(FILE *, APTR), APTR);
Prototype int buffered_do_command (const char *str);
Prototype int NodeStringComparison (struct Node *n1, STRPTR str);
Prototype int NodeNodeComparison (struct Node *n1, struct Node *n2);
Prototype struct TextAttr GTB_Font;
Prototype UBYTE 	 *GTB_Format;
Prototype ULONG 	  GTB_SigMask;
Prototype int GTB_Control (void);
Prototype int	 test_arg  (char*, int);
Prototype char * GetFlag   (char*, char*, int, char*);
Prototype char	 SetFlag   (char*, char*, char*, int, char*);
Prototype int	 IsFlagSet (char*, int, int);
Prototype int is_tflagset (int);
Prototype int is_gflagset (int);
Prototype char *GetTypedVar (const char *find, int *type);
Prototype int SetTypedVar (const char *name, const char *value, int type);
Prototype char *getvar (const char *find);
Prototype void	 DelAllVarsFromTree ( VBASE *base );
Prototype void	 DelVarFromTree     ( VBASE *base, UBYTE *name );
Prototype UBYTE *GetVarFromTree     ( VBASE *base, UBYTE *name );
Prototype void	 SetVarIntoTree     ( VBASE *base, UBYTE *name, UBYTE *value );
Prototype UBYTE *ltostr (long l);
Prototype char *strrep (char *old, const char *new);
Prototype char SPC_set (const char *name, const char *value);
Prototype char *SPC_get (const char *name);
Prototype char * GetRexxClip  (char *);
Prototype void	 SetRexxClip  (char *, char *);
Prototype void * currentmsg;
Prototype char * getrexxvar   (char * name);
Prototype void	 setrexxvar   (char * name, char * value);
