+extern int errorExitStatus;
+extern char *recentEngines;
+extern char *comboLine;
+extern Boolean partnerUp, twoBoards;
+extern char engineVariant[];
+char *EngineDefinedVariant P((ChessProgramState *cps, int n));
+void SettingsPopUp P((ChessProgramState *cps)); // [HGM] really in front-end, but CPS not known in frontend.h
+int WaitForEngine P((ChessProgramState *cps, DelayedEventCallback x));
+void Load P((ChessProgramState *cps, int n));
+int MultiPV P((ChessProgramState *cps));
+void MoveHistorySet P(( char movelist[][2*MOVE_LEN], int first, int last, int current, ChessProgramStats_Move * pvInfo ));
+void MakeEngineOutputTitle P((void));
+void LoadTheme P((void));
+void CreateBookEvent P((void));
+
+/* A point in time */
+typedef struct {
+ long sec; /* Assuming this is >= 32 bits */
+ int ms; /* Assuming this is >= 16 bits */
+} TimeMark;
+
+void GetTimeMark P((TimeMark *));
+long SubtractTimeMarks P((TimeMark *, TimeMark *));