/*
 *
 * Function Protos!
 *
 */

/*
 * from afcopy.c
 */

void strfcat(char *dest, char *source, int destlen);
BOOL allocmemforname(int side);
BOOL AddToFileList(int side,char *fname,LONG size,LONG type,BYTE tags);
void Updatedisplay(int side);
int DosError(char *msg,char *msg2,int errnum,char *buttonstr);
void displaysinglefile(int side,int ypos,int start);
void wipefile(int side,int ypos);
void displayfilelist(int side,int start);
void updatepath(int side);
void lognewdir(int side, char *path);
void doparent(int side);
void setmarks(int side,int action);
void About(void);
int CheckStatCancel(void);
void UpdateStat(char *functionstr,char *fromstr,char *tostr,char *fname);
int SameDir(char *fname1,char *dirname);
struct Gadget *createProtGadgets(struct Gadget **glistptr, void *vi, UWORD topborder, struct Gadget *gads[]);
struct Window *OpenProtWindow(void);
int EditProt( void );
void Dofunction(int mode,int side);
void DosFunction( void );
BOOL MenusOn( void );
void MenusOff( void );
void cleanitup( void );
BOOL OpenMainWindow( void );
void resetslider(int side);
void UpdateMainWindow( void );
void handleevent(UWORD what,UWORD code);
void handlekey(UWORD key);
void checkfileselect(int Code,int MouseX,int MouseY);
void modtags(int side,int tmode,char *patt);
void GroupTag(int side,int tmode);
int handlemenu(int num,int item);
void Rectangle(struct Window *W,UWORD x1,UWORD y1,UWORD x2,UWORD y2);
void ActiveSide(int side);
void handlerawkey(UWORD key);
void handleidcmp(void);
void freeallocated(int side );
void pickscreen( void );
void PickFont( void );
int GetFont( void );

/*
 * from afcopy_file.c
 */

void getfiles(int side, char *path);
void findvolumes(int side);
void Makedir(int side);
int DirFunc(char *dirname,char *todirname,int mode);
long ExecCommand(char *command,BOOL asynch,BOOL shuffle);
void cdto( char *path );
LONG getfilesize(char *filename);
int ModifyComment(char *filename,BOOL usedefcomm);
void DoFormat( void );
int filecopy(char *fromname,char *toname);
int filenuke(char *nukename);
int fileswap(char *fromname,char *toname);

/*
 * from afcopy_misc.c
 */

char *upcase(char *str);
short position(char *substr,char *str);
short iposition(char *substr,char *str);
void strpad(char *str,int newlength);
void OutTextXY(struct Window *Win,UWORD X,UWORD Y, char *string);
void addterm(char *s);
void delterm(char *s);
void getparent(char *s);
BOOL inrect(int X,int Y,int X1,int Y1,int X2, int Y2);
void IoErrMsg(char *MsgString,int ErrorNum);
struct Gadget *createAllGadgets(struct Gadget **glistptr, void *vi,
    UWORD topborder, struct Gadget *my_gads[]);
void blankusergads( void );
void strfcpy(char *dest,char *source,int from);
void stripcr(char *s);
void mfgets(char *str,int len,FILE *f);
void qsortfiles(int side,int l,int r);
BOOL DoDiskInfo(int side,char *path);
void clearside(int side);
void updateslider(int side);
void remspaces(char *dest,char *source);
struct Window *OpenStatWindow(void);
struct Gadget *createStatGadgets(struct Gadget **glistptr, void *vi,
    UWORD topborder, struct Gadget *gads[]);
void createstring(char *tmpstr,char *batchstr,int side,int otherside,int current,int opts);
void getname(char *dest,char *source);
void getextension(char *dest,char *source);
void replace(char *dest,char *compare,char *from,char *to);

/*
 * from afcopy_config.c
 */

BOOL LoadConfig(char *configname);
BOOL SaveConfig(char *configname);
void setdefaultconfig( void );
BOOL EditConfig( void );
