/*
 *
 * proto.h -- function prototypes
 *
 * This code is copyright 1995 by James A. Cherry, jac@doe.carleton.ca.
 * It is not to be redistributed or modified without his permission.
 *
 */

#ifdef  COMPILE_GCC
#define QX(A) A
#else
#define QX(A) ()
#endif

/* system calls */

int nice QX((int));
int getpid QX((void));

/* botutil1.c */

void InitGameStart QX((void));
void ChangeState QX((int));
void QueueCommand QX((char *, int));
void CheckCommandQueue QX((void));
void GoHome QX((void));
void QueueRatedOption QX((void));
void LeaveInHuff QX((char *));
void SayToOpp QX((char *));
void my_to_lower QX((char *));
char *InRecH QX((char *));
void GenericMessageCheck QX((void));

/* botutil2.c */

void ProcessOpenBracket QX((char *));
void ProcessGreaterThan QX((char *));
void ProcessLogLine QX((char *));
void ProcessTrackLine QX((char *));
void EndTaggedTrack QX((void));
int OspdRuling QX((char *));
void CopyMove QX((struct plrlet *, struct plrlet *, int));
void save_game_state QX((void));
void RestoreGameState QX((void));
void CommitLastMove QX((int, struct plrlet *, int, int, int));
void LookForStartChallenge QX((void));
void LookForEndChallenge QX((void));
void LookForForfeit QX((void));
void MeEndGame QX((void));
void WarnOfExpiry QX((void));
void Expire QX((void));

/* botutil3.c */

void StartLookForBoard QX((void));
void StartResume QX((void));
void StartHintCommand QX((char *, char));
void DoBoardLookup QX((void));
void LookForBoard QX((void));
void ProcessWordsCommand QX((char *));
void ClearLFB QX((void));

/* cmove.c */

compmove *ComputerMove QX((int));
void init_cmove QX((int));
void add_to_move_list QX((compmove *));
void PassScore QX((void));
void first_move QX((int));
void dump_scores QX((int));
compmove *pick_word QX((int));
void cpu_move QX((int));
int try_tiles QX((int, int, int, int));
void eval_rack_leave QX((int *));
void eval_score QX((int, int, int));

/* fowc.c */

int ParseInputArgs QX((char *, char *));
int BuildExpressionTree QX((void));
int InterpretArgs QX((void));
void FreeArgv QX((void));
void SayExpressionTree QX((void));
void ApplyDemorgan QX((int));
void PerformSearch QX((int, int));

/* fowcb.c */

void ProcessWordsCommand QX((char *));
void LPrint QX((const char *, ...));

/* hook.c */

void UpdateHooks QX((struct plrlet *, int, int, int));
void print_hooks QX((void));
void dump_internals QX((void));
void CalcHooks QX((void));

/* misc.c */

void ExitWindow QX((void));
void InitBoard QX((void));
void InitTiles QX((void));
void InitStuff QX((void));
void new_leave_values QX((void));
void ReadWords QX((void));
void ReadBlacklist QX((void));
void ConvertMove QX((compmove *));
void MyToUpper QX((char *));
void SortTiles QX((char *));
void CompressRack QX((char *));
int Let2Ind QX((char));
char Ind2Let QX((int));
void AddToStr QX((char *, int *));
void TermStr QX((int, int));
void seed_random QX((void));
long GetRandom QX((void));

/* personality.c */

void AlreadyOccupied QX((char, char *));
void Instructions QX((char, char *));
void GreetJoiner QX((char *));
void CommentOnTheirPlay QX((void));
void CommentOnMyPlay QX((compmove *, int));
void PreChallenge QX((void));
void EndGameComment QX((int, int));
void RematchComment QX((void));
void AcceptRematch QX((void));
void DeclineRematch QX((int));

/* score.c */

int FindNewWords QX((struct plrlet *, int, int, int));
int BinSearch QX((char *));
void DisplayWords QX((int, struct plrlet *, int, int));

/* socket.c */

int ClientInit QX((char *, int, int));
int Check_for_data QX((int));
int DoRead QX((int));
int DoWrite QX((int));
void add_received_string QX((char *));
void RemoveReceivedString QX((void));
void AddTagEntry QX((int, recstr *, char *, char *, char));
void ProcessReadData QX((void));
void GenericMessageCheck QX((void));
