
/* BBS.protos Prototypes  */
/*-- MY added functions */

void AEPrintf (STRPTR format, ...);
void	__asm AECryptStr(register __a0 char *);
int	__asm AECryptCmp(register __a0 char *, register __a1 char *);
int	__asm AECryptCpy(register __a0 char *, register __a1 char *);
int	__asm AEClearMem(register __a0 char *, register __d0 long int);

int check_abort(void);
int Zmodem_Send(char *flname);

void CheckShutDown(void);
void SuspendBBS(void);
char *GetDate(void);
void main(int argc, char **argv);
void ShutDown(char *s);
void _wb_parse(void);
void _stkover(void);
//(JOE) 25-Jun temporary
int MenuCommand(char str[]);
/* Prototypes for functions defined in console.c */

void AEPutBlk(char *string,int length);
int SCheckInput(void);
int CheckCon(void);
int ProcessLine(char *,char *,char *);
int CheckInput(void);
void ConPutChar(char *ch);
void ConPutStr(char *string);
void AEPutStr(char *s);
void FAEPutStr(char *string);
void SendChar(char ch);
int GetConKey(int wait);
int ReadChar(unsigned long wait);
int FSReadChar(unsigned long wait);
void CloseConsole(void);
void SerPutBlk(char *s,int length);
void ConPutBlk(char *s,int length);

void MyError(int );             /* bbslib */
int DisplayFileList(void);
int Upload_a_File(int ULFType);

int GetDirSpan(char *pass);
int GetUN(char *SA);
int CommandSplit(void);
int StripBegining(void);

/* Prototypes for functions defined in mycore2.c */

int HELP(void);
struct Task *StartWatchDog(void);
void EndWatchDog(struct Task *task);
void __saveds WatchDog(void);
BPTR OpenAux(void);
void CloseAux(BPTR tfh);
int FlagPause(int count);
int CheckWARN(char *temps);
int Execute_WTest(char *str, char *str2);
void RemoteShell(void);
void SendExternal(char *fn,char *bf);
void TestExternal2(void);
int Check_For_File(char *Fn);
int CompareTheseTwo(char *str, char *str2);
void CopyStr(char *str1, int num1,int num2, char *str2);
void Cursor_Up(void);
void Cursor_Down(void);
void Cursor_Left(void);
void Cursor_Right(void);
void BackSpace(void);
void FSReDisplay(int from, int to);
void WrapItUp(char *WRAP, int Linenum, char *Extra);
int WordWrap(void);
void AddTo(char *str);
void MoveCursorTo(int x, int y);
int Edit_with_FS(void);
int UserAccountEdit(void);
int Bulletins(void);
BYTE CheckForNS(char *s);

/* Prototypes for functions defined in mycore3.c */

int OpenDoors(void);
int WarpCheck(char *s);
int BeginDMSCheck(char *flname);
int CheckForPause(void);
void UnAvailNotice(char *file,char *temp);
void ToggleStatusDisplay(void);
void MyDirAnyWhere(void);
void EditEmacs(char *filename);

/* Prototypes for functions defined in init_board.c */

int Init_Boards(void);
int Header_Segment(void);

/* Prototypes for functions defined in init_system.c */

void CloseZDisplay(void);
void UpdateZDisplay(void);
int OpenZDisplay(void);
void OpenDisplay(void);

int myfgets(char *s,int l,FILE *f);

/* Prototypes for functions defined in logon.c */

UWORD CheckUserOnLine(struct User *user,UWORD check);
int DoReserve(char *username);
void CallersLog(char *stringout);
void CallersLogDivider(void);
void UDLog(char *stringout);
void UDLogDivider(void);
void DisplayUserToCallersLog(int Udonly);
void LogOffLog(char *STAT);
void Sysop_Account_Sequence(void);

/* Prototypes for functions defined in menu.c */

int FirstCharValue(char *s);
int FirstChar(char *s);
int ChecktoDisplay(char *s,char *temp,int doloop,int pause);
int DoPause(void);
void Pause(void);
int CheckForZooM(void);
int GetMailStatFile(void);
int Zoomit(int conf,FILE *zf);
int Zoom(void);
void DisplaySysopULStats(void);
void Clear_Online_Status(void);
void Goodbye(void);

int Check_Online_Status(void);

/* Prototypes for functions defined in serial.c */

void __regargs MyColdReboot(void);
void SendBreak(void);
int OpenSerial(unsigned long Baud, unsigned char DataLen, unsigned char StopBits);
int CheckSer(void);
void CloseSerial(void);
void DropDTR(void);
void PurgeLineEnd(void);
void PurgeLineStart(void);
void PurgeLine(void);
void SetBaud(long rate);
void SerPutChar(char *ch);
void SerPutStr(unsigned char *string);
void sendser(unsigned char ch);
int GetSerKey(int wait);

/* Prototypes for functions defined in timer.c */

void FinishTimer(void);
int OpenTimer(void);
void SetTimer(unsigned long secs, unsigned long micros);
void CloseTimer(void);

/* Prototypes for functions defined in core.c */

void DoReset(void);
void DebugOutput(char *s);
void Say(char *s);
void MyWrite(BPTR fh,char *s);
void CheckIconifyMsg(void);
void ZmodemStatPrint(char *s);
void IconifyAE(void);
void UnIconifyAE(int opt);
void DisplayAwaitMsg(void);
void StatRollMessage(char *s);
void OSPrintf(char *s);
void StatPrintTime(char *s);
void StatChatFlag(void);
void StatPrintUser(struct User *hoozer);
int jive(char *nam, char *pat);
void LRemoteShell(void);
int CheckCSI(void);
int CheckRexxMessage(void);
void Reset_System(UBYTE Yes);
void Cycle_The_Display(void);
void ReInitModem(void);
int Await_Logon(void);   /* only used in main.c */
int LineInput(char *atstart, char *tohere, int maxlen, int time_allowed);
int LineInputConverted(char *atstart, char *tohere, int maxlen, int time_allowed);
int StringCompare(char *s, char *t);
int MenuSend(char *s);
int MenuSend24(char *s,int startcount);
int Chat(void);

/* Prototypes for functions defined in edit.c */

int Find_Free_Line(void);
void Init_Lines(void);
void List_Lines(void);
void Realign_Lines(void);
void Retype_Line(char *temp);
void Clear_Buffer(void);
void Edit_Line(int which);
void Free_Space(void);
void Delete_Line(int which);
int Abort(void);
int Enter(char *temp);

/* Prototypes for functions defined in accounts.c */

long MySeek(BPTR f,long pos,long mode);
long Append(struct User *hoozer,struct UserKeys *hoozer2);
long Find_Last_Account(void);
int Load_Account(int slot, struct User *hoozer, struct UserKeys *hoozer2);
int Load_UserKey_Acc(int slot, struct UserKeys *hoozer);
int Find_User_From_Name(UWORD start, char *name, struct User *hoozer, struct UserKeys *hoozer2);
int Find_Open_Account(struct User *hoozer, struct UserKeys *hoozer2);
int EditInfo(int which, struct User *hoozer, struct UserKeys *hoozer2);
int Edit_Accounts(void);
int List_New_Accounts(void);

/* Prototypes for functions defined in bcom.c */

int BCom(void);
int Bulletin_Listings(struct Bulletin_Header *bh);
int Read_Bulletin(struct Bulletin_Header *bh, int number);

/* Prototypes for functions defined in jcom.c */

int Question(void);
int NumberOfLinesTest(void);
int ChooseComputer(void);
int CheckifNameAllowed(char *name);
void OpenAFile(char *FFN);
int JCom(void);

/* Prototypes for functions defined in mail.c */

int YesNo(UWORD flag);
int ChooseAName(char *s,struct User *hoozer,struct UserKeys *hoozer2,int lflag);
int CheckForAst(char *s);
void MyPutStr(char *s);


/* Prototypes for functions defined in proto.c */
void itp(long size,UBYTE r);
int proto(struct IOExtSer *RR, struct IOExtSer *WR, struct timerequest *TR, \
          char *BF, long BS, long BD, char *flname, int send, int db);
void sendbyte(int ch);
void sendbuffer(char *buf, int len);
void waitwrite(void);
void purgewrite(void);
int readbyte(void);
void purgeline(void);
int checkline(void);
void throughput(long size);
void InitAsync(void);
void WriteAsync(char *buf, long bytes);
void EndAsync(void);
BPTR Aopen(char *name, long mode);
void Aclose(void);

/* doug */

UWORD __regargs strcn(UBYTE *, UBYTE *, int);

int FlagFiles(char *s);
void DisplayULStats(struct User *User);
void SetProtocol(char *str);
int Check_list(char *lfnames,char *CLrfinal);

int View_A_File(void);
ULONG FileCopy(char *s,char *d);

void Convert_CTime_To_Date(char *Wstr, char *Wfmtstr, char *DT_temp);

int Save_Account(struct User *hoozer, struct UserKeys *hoozer2, int uslot, int flg);
BOOL my_dir(char *);
void SysopLog(char *stringout);
void ErrorLog(char *stringout);
void StripReturn(char *);
void rand_color(void);
int PGoodbye(void);
int String_In_File(char *fname, char *str, int flag);
char *str_save(char *str);
//int Join_Conference(int cn);

/* Prototypes for AEMCI.c*/
int mcisend(char *FileName);
int mciputstr(char *str);
int Restricted(char *str);
int AllowedView(char *str);

//await_logon.c protos
void Server(int Code);

int SetEnvStat(int);
BOOL CheckDoorMsg(int Mode);
void OpenTheClip(void);
void CloseTheClip(void);
BOOL CheckForClip(void);
void SendMasterUpload(char *);
void SendMasterDownload(char *);
void SendMaster(void);
void CreateServerRP(int node);
void DeleteServerRP(void);
unsigned long ResControl(int);
void DeleteResControl(void);
void StartLog(char *stringout);
void IntToFile(char *s,int num);
int IntFromFile(char *s,char *temp);
int TLock(char *);
struct MsgPort *CreatePrt(UBYTE *name,LONG pri);
//int JHLineInput(char *atstart, char *tohere, int maxlen, int time_allowed);
int HtKey(char *);
void showgfile(char *);
void showfile(char *);
int EditFile(char mstring[],int End,int Length);
int AddFlagtoList(char *s);
VOID DumpActiveUser(char *FileName);
int DisplayFile(char *s);
int Zmodem_Receive(char *flname,int ULFType);
int Zmodem_Send(char *flname);
int rnd(int);
int Wrap(int Start,int End,int Opt,char *Result,char *OverFlow);
int GetWrpOpt(void);
int Control(int node,int Type,int ModType);
int ChecktoDisplay(char *s,char *temp,int doloop,int pause);
int CustomCommand(char *Location,char *CustomCmd,int Private);
STRPTR GetFileComment(char *);
//char ReadClip(void);
/*** AE LIBRARY PROTOS ***/
int CheckCarrier(void);
int strwild(char *str,char *str1,char wild,int len);
void strlim(char *str1,char *str2,int limit);
void stripansi(char *s,char *d,struct ansi *ansi,int resetit,int strip);
STRPTR GetTheDate(long number);
STRPTR GetTheTime(long number);
void ConvertAccess(void);
//void getsystime(long number,char *d,char *t);
unsigned long ChatSignal(struct Task *taskSig,char *s,long chatSig,int node,int Opt);
void IntDoReset(char *s);
void ADD_BIT(int bitnum);
void REM_BIT(int bitnum);
BOOL GET_BIT(int bitnum);
void CreateCustomMenus(void);
void MaddUpdate(struct User *User);
void SetEnvMsg(char *s);
void MyClearStatusPane(void);
void StatMessage(int x,int y,char *s);
void StatClearTime(void);
void MyClearStatusPane(void);
void StatPrint(char *s);
void StatCursorTo(int x,int y);
void SendQuietFlag(int opt);
void StatParkCursor(void);
int LoadMsg(char *s);
void RePurge(void);
int ReadAwaitChar(ULONG wait);
void GetConfName(char *n,char *l,int Conf);
int IsValidConf(int Conf);
void SaveMsgPointers(int Conf);
void LoadMsgPointers(int Conf);
void MasterLoadPointers(void);
void MasterSavePointers(void);
void ClearMsgPointers(void);
void AddMsgPointers(void);

ULONG GetConfBaseLine(int slot);
int IsTempConf(struct User *t,int Conf);
int IntFromIcon(char *s,char *c);
int IsFromIcon(char *s,char *c);
int GetFirstName(char *path,char *buf);
void SetNRAMS(void);
int GetFromIconStr(char *s,char *c,char *buf);
int IsValidConfObj(int Conf,char **types);
int GetInverseObj(int CN,char **types);
int RelConfObj(int CN,char **types);
void ConvertArea(void);
void AddAreaBit(int bitnum);
void RemAreaBit(int bitnum);
BOOL GetAreaBit(int bitnum);

void XPRReceive(char *filename);
void XPRSend(char *filename);
void GetProtocol(void);

void ReceivePlayPen(void);
int NameCompare(char *s,char *t);
void Save_ConfDB(int account,int conf,APTR address);
void Load_ConfDB(int account,int conf,APTR address);
int Find_User_From_Number(int start,struct UserKeys *hoozer);
void DebugLog(int data);
void SendACPCommand(char *string,int command,int node);
void ClearProtocol(void);
void InitUser(struct User *u,struct UserKeys *k);
void ModemOffHook(void);
int IsFromConf(int Conf,char *c);
int GetFromConf(int Conf,char *c,char *buf);
int IntFromConf(int Conf,char *c);
int FindAssign(char *s);
int asl(char *s);
int batchasl(char *s);