#include <stdio.h>
+#include <stdlib.h>
#include <stdbool.h>
#include "common.h"
/* b is not needed for POSIX but harmless */
#define READ_MODE "rb"
#define WRITE_MODE "wb"
+extern void* xmalloc(size_t size);
extern char* xstrdup(const char*);
extern void packed_to_token(long, char token[]);
extern void speak(const char*);
extern void RSPEAK(vocab_t);
extern void SETPRM(long,long,long);
extern bool GETIN(FILE *,token_t*,token_t*,token_t*,token_t*);
-extern long YES(FILE *,vocab_t,vocab_t,vocab_t);
+extern void echo_input(FILE*, char*, char*);
+extern char* get_input(void);
+extern bool YES(vocab_t, vocab_t, vocab_t);
extern long GETTXT(bool,bool,bool);
extern token_t MAKEWD(long);
-extern void TYPE0(void);
extern long VOCAB(long,long);
extern void JUGGLE(long);
extern void MOVE(long,long);
extern long SETBIT(long);
extern bool TSTBIT(long,int);
extern long RNDVOC(long,long);
-extern void BUG(long) __attribute__((noreturn));
extern bool MAPLIN(FILE *);
-extern void TYPE(void);
extern void DATIME(long*, long*);
enum termination {endgame, quitgame, scoregame};
extern long randrange(long);
extern long score(enum termination);
extern void terminate(enum termination) __attribute__((noreturn));
-extern int suspend(FILE *);
-extern int resume(FILE *);
+extern int suspend(void);
+extern int resume(void);
extern int restore(FILE *);
/*