/* GadMGet.h */

#ifndef MGET_H
#define MGET_H

#define NUL 					0

#define USE_CUSTOMSCREEN 	0
#define USE_PUBSCREEN 		1
#define USE_WBSCREEN		2

#include <stdio.h>
#include <string.h>
#include <dos/dos.h>
#include <exec/types.h>
#include <intuition/intuition.h>
#include <intuition/intuitionbase.h>
#include <intuition/screens.h>
#include <graphics/gfxbase.h>
#include <libraries/gadtools.h>
#include <libraries/dos.h>			/* contains RETURN_OK, RETURN_WARN #def's */
#include <exec/lists.h>
#include <exec/nodes.h>
#include <exec/memory.h>
#include <exec/types.h>
#include <workbench/startup.h>
#include <workbench/workbench.h>

#include <intuition/gadgetclass.h>
#include <libraries/asl.h>
#include <clib/asl_protos.h>
#include <clib/alib_protos.h>
#include <clib/exec_protos.h>
#include <clib/dos_protos.h>
#include <clib/intuition_protos.h>
#include <clib/gadtools_protos.h>
#include <clib/alib_protos.h>
#include <clib/icon_protos.h>
#include <clib/wb_protos.h>

#include "mget_listview2.h"

VOID debug(int a);
VOID FindReturns(char *mystring);		
VOID main (int argc, char *argv[]);
VOID Cleanup(void);
VOID FreeFileNodes(struct List *);
VOID UpdateByteCount(char *mystring, int addorsub);
VOID UpperCase(char *oldstring);
VOID LowerCase(char *oldstring);
VOID SetMenuValues();
VOID findgadgoto(int index, int flashes);
VOID PrintList(struct List *);
VOID TurnOnAllMenuItems(struct Menu *);
VOID ParseCliArgs(int argc, char *argv[]);
VOID ParseWBArgs(struct WBStartup *argv);
VOID SetReqDefaults(char *szFilePath);
VOID PrintCommandString(int *printnextreturn, int *printed_bytes);
VOID GenerateCDCommand(int *printreturnfirst, int *printed_bytes, char *szLastDir, char *nodename);
VOID SortByDirectory(struct List *thislist);

int PrintFile(char *szFileName, int PrintReturnFirst);
int AddFile(struct List *, char *);
int ReadmyFile(void);
int listviewgadgetClicked (VOID);
int mgetabout (VOID);
int mgetopenfile (void);
int mgetappend (void);
int mgetquit (VOID);
int mgetnoparse (void);
int mgetfiles (void);
int mgetsplit (void);
int mgetlinelength (void);
int mgetreadmes (void);
int mgetcase (void);
int mgetCD (void);
int SearchList(char *key);
int OutputList(struct List *thislist);
int RawOutputList(struct List *thislist);
void ChangeWindowTitle(void);
int RequestAFile(char *szBuffer);
int MakeReq(char *sText, char *sTitle, char *sGadgets);

BOOL handle_window_events(struct Window *);


#endif

