/* Prototypes for functions defined in arexx.c */
void OpenARexx(void);
void CloseARexx(void);
void CheckRexxPort(void);
int LinerDispatch(struct RexxMsg *msg,
		  struct rexxCommandList *rcl,
		  char *p);
void DoOpen(char *p);
void DoSave(char *p);
void DoGetFilename(void);
void DoPrintDisk(char *p);
void DoDoubClick(char *p);
void DoSetTitleMsg(char *p);
void DoGetStats(void);
void DoGetChar(void);
void DoGetWord(void);
void DoGetLineText(void);
void DoCursorRight(void);
void DoCursorLeft(void);
void DoDoubSpacing(char *p);
void DoInterlaced(char *p);
void DoExtendedModes(char *p);
void DoIcons(char *p);
void DoScrnSize(char *p);
void DoStartingLevel(char *p);
void DoARexxSearch(char *p);
int Interp(char p);
void DoInsertText(char *p);
void DoGetLine(void);
void DoFakeReturn(char *p);
void DoStartLine(void);
void DoEndLine(void);
void DoPushIn(void);
void DoPullOut(void);
void DoPutPrefs(void);
void SpecReplyToRexx(BYTE stat);
void GetWord(char *result,
	     struct LineItem *item);
void EngageMacro(char *name);
void GetMacroInfo(void);
void SplitFilename(char *Filename,
		   char *file,
		   char *dir);
/* Prototypes for functions defined in menu.c */
void HandleNew(void);
void MakeFilename(char *File,
		  char *Dir,
		  char *Complete);
int HandleOpen(void);
void Save(BYTE arexx);
void HandleSaveAs(void);
int HandlePrintDisk(BYTE arexxstat,
		    char *filename);
int HandlePrintPrinter(void);
void HandleQuit(void);
int HandleCut(void);
int HandleCopy(void);
void HandlePaste(void);
int HandleErase(void);
void Refresh(void);
void CheckModified(void);
void MakeTextLine(char *Buffer,
		  struct LineItem *Item);
void HandlePalette(void);
void HandleReloadPrefs(void);
/* Prototypes for functions defined in liner.c */
int main(void);
int HandleIDCMP(ULONG Class,
		USHORT Code,
		USHORT Qualifier,
		SHORT MouseX,
		SHORT MouseY,
		APTR IAddress,
		char *Buffer,
		int Secs,
		int Micros);
void CloseStuff(void);
void HandleBS(void);
int HandleReturn(USHORT Qualifier);
void Leave(int err,
	   char *why);
int PushIn(struct LineItem *Item);
int Push(struct LineItem *Item);
int PullOut(struct LineItem *Item);
int Pull(struct LineItem *Item);
int PushInBlock(struct LineItem *TrueStart,
		struct LineItem *TrueEnd,
		UBYTE YStart,
		BYTE Inverse);
int PullOutBlock(struct LineItem *TrueStart,
		 struct LineItem *TrueEnd,
		 UBYTE YStart,
		 BYTE Inverse);
void PrintItemList(struct LineItem *FrstItem,
		   int StartY);
void GetOutlineChars(struct LineItem *Item,
		     char *ConsoleBuffer);
void RedrawOutlineChars(struct LineItem *Item,
			int Hi,
			int Lo);
struct LineItem *InsertItem(struct LineItem *NextItem,
			    struct LineItem *PrevItem);
int RemItem(struct LineItem *Item);
void AddItem(struct LineItem *Item);
struct LineItem *FindPrev(struct LineItem *Item);
struct LineItem *FindNext(struct LineItem *Item);
void InsertLineAtTop(void);
int IsOnScreen(struct LineItem *item);
int IsBefore(struct LineItem *item,
	     struct LineItem *start);
int IsAfter(struct LineItem *item,
	    struct LineItem *start);
struct LineItem *FindPrevNonCont(struct LineItem *Start);
struct LineItem *FindNextNonCont(struct LineItem *Start);
int CursorUp(void);
int CursorDown(void);
/* Prototypes for functions defined in Windows.c */
void MakeMenus(void);
void OpenGraphics(void);
void CloseGraphics(void);
void GetMenuPointers(void);
BOOL SetupFileRequestor(void);
void ChangeDisplay(void);
void PutScreenTypeInMenu(void);
BOOL ChangeScreenSize(void);
BOOL HandleStartingLevel(void);
BOOL DoubleSpacing(void);
void ModifyMenus(char Flag);
void GetLinerPrefs(char *filename);
void InterpretPrefs(void);
int PutPrefs(char *filename,
	     BYTE AREXX);
void CopyPrefsToMenus(void);
struct MenuItem *GetFirstItemAddress(USHORT code);
void SaveColors(struct ViewPort *vp);
void LoadColors(struct ViewPort *vp);
void SetRowsInScreen(void);
void ModifyIconMenu(void);
int HandleAbout(void);
void ClearMenus(void);
int NewAll(void);
void HandleIcons(void);
BOOL HandleEvent(APTR object);
/* Prototypes for functions defined in gadtools.c */
struct Gadget *MakeButtonGadgets(struct Gadget *Header,
				 struct NewGadget *Buttons,
				 APTR VisInfo,
				 struct TextAttr *Font,
				 UWORD NumOfGadgets,
				 UWORD Add);
struct Gadget *MakeStringGadgets(struct Gadget *Header,
				 struct NewGadget *New,
				 APTR VisInfo,
				 struct TextAttr *Font,
				 UWORD NumOfGadgets,
				 struct StrStrings *StrInfo,
				 UWORD Add);
struct Gadget *MakeCheckGadgets(struct Gadget *Header,
				struct NewGadget *New,
				APTR VisInfo,
				struct TextAttr *Font,
				UWORD NumOfGadgets,
				BOOL *States,
				UWORD Add);
/* Prototypes for functions defined in Variables.c */
/* Prototypes for functions defined in mouse.c */
void MovedMouse(int x,
		int y);
int HandleButton(int Seconds,
		 int Micros);
void HandleInvs(void);
int HandleBlockInvs(void);
void NormIt(struct LineItem *Start,
	    struct LineItem *End,
	    int Start_y);
void NormBlock(struct LineItem *Start,
	       struct LineItem *End);
void RvsBlock(struct LineItem *Start,
	      struct LineItem *End);
void EndBlockInvs(void);
int HandleLineInvs(void);
void RvsText(int Start,
	     int End);
int MoveBack(int Number);
int MoveForward(int Number);
void EndLineInvs(void);
void NormText(int Start,
	      int End);
int HandleDelBlock(void);
void FindStartEnd(struct LineItem *Start,
		  struct LineItem *End,
		  struct WhichOne *which);
void DelBlock(struct LineItem *Start,
	      struct LineItem *End,
	      int StartY,
	      int EndY);
void FreeListMem(struct LineItem *Start,
		 struct LineItem *End);
void DelTextBlock(void);
int CancelLineInvs(void);
int CancelInvs(void);
int DelInvs(void);
void TitleError(char *string);
void TitleErrorCancel(void);
void BackSearchRefresh(struct LineItem *Base);
/* Prototypes for functions defined in clip.c */
void SetupClipboard(void);
void WriteInvsTextToClip(int StartLoc,
			 int Chars,
			 char *String);
void WriteStringClip(char *string);
void WriteClip(register struct IOClipReq *ioreq,
	       char *buf,
	       int bufsiz,
	       int whichone);
void ShutDownClipboard(void);
void ReadItemString(int Start,
		    int Len,
		    char *string);
int ReadString(char *string,
	       int len);
int ReadClip(register struct IOClipReq *ioreq,
	     char *buf,
	     int bufsiz);
int SnagBlock(struct LineItem *Source,
	      struct LineItem *Last);
void AddBlock(struct LineItem *Start);
/* Prototypes for functions defined in color.c */
int ColorReq(struct Screen *Scrn,
	     ULONG Type,
	     APTR VisInfo);
int UpdateNum(USHORT Color,
	      USHORT value,
	      UWORD Y_Add,
	      UBYTE DivBy);
void UpdateColorReg(USHORT reg,
		    USHORT *colors,
		    struct ViewPort *ViewPort);
void RestoreColors(ULONG *OldColors,
		   BYTE curreg,
		   USHORT *Colors,
		   UWORD SliderMult,
		   UWORD Y_Add,
		   UBYTE DivBy);
void SetSliders(USHORT *Colors,
		UWORD SliderMult,
		ULONG rgb,
		UBYTE DivBy);
/* Prototypes for functions defined in console.c */
void WriteConsole(char *Buffer,
		  int Length);
void JumpToTop(void);
void JumpToBottom(void);
void PrintItem(struct LineItem *Item);
void PlotCursor(int x,
		int y);
void CursorRight(USHORT Qualifier);
void CursorLeft(USHORT Qualifier);
int FindNextWord(char *string);
int FindPrevWord(char *string,
		 int start);
void InsertChar(char *Text,
		char Character,
		int Pos);
void DeleteChar(char *Text,
		int Pos);
int WholeScreenDown(void);
int WholeScreenUp(void);
int HandleTAB(USHORT Qualifier);
/* Prototypes for functions defined in disk.c */
int WriteItemList(char *FileName,
		  BYTE arexx);
void CreatePrefsIcon(void);
int Old_ReadItemList(char *FileName,
		     BYTE arexx);
int ReadItemList(char *FileName,
		 BYTE arexx);
struct LineItem *BreakLineApart(struct LineItem *Item,
				struct LineItem *Next,
				char *text);
/* Prototypes for functions defined in Search.c */
int GetSRParameters(void);
int MonitorButtons(void);
struct LineItem *SearchText(struct LineItem *Item,
			    USHORT *Pos,
			    char *string,
			    BYTE scase,
			    BYTE partial);
int DoSearch(BYTE again,
	     BYTE arexx);
void ModifyParams(char *search,
		  char *replace,
		  BYTE case_s,
		  BYTE partial,
		  BYTE s_repl);
void ReplaceAll(BYTE verify);
BYTE AskChange(void);
/* Prototypes for functions defined in sure.c */
BOOL AreYouSure(struct Window *ReqWindow);

/*~~~End of Proto.h*/
