#if defined(__cplusplus)
extern "C" {
#endif

#if !defined(_GameType_)
#define _GameType_ 1
typedef enum {
	addToEndOnly = 0,
	addToBeginningOnly,
	addToBeginningOrEnd,
	addAnywhere
} GameType;
#endif

void InitSuperDuperGhost(
  const char *dictWords[],	/* alphabetically sorted uppercase dictionary words */
  long numDictionaryWords	/* number of null-terminated words in dictionary */
);

void NewGhostGame(
  GameType theGameType
);

void PlayGhost(
  const char *ghostString,	/* the string so far, null-terminated */
  char newGhostString[256],	/* new ghostString, one letter added to ghostString */
  int *wordInMindIndex,		/* your string will match dictWords[wordInMindIndex] */
  int charPositions[256]
	/* index into dictWords[wordInMindIndex] for each char in newGhostString */
);

void TermSuperDuperGhost(void);

#if defined(__cplusplus)
}
#endif
