changes from H.G. Muller; version 4.3.2
[xboard.git] / backend.h
index 9e1fbb0..5058ac3 100644 (file)
--- a/backend.h
+++ b/backend.h
@@ -1,6 +1,6 @@
 /*
  * backend.h -- Interface exported by XBoard back end
- * $Id$
+ * $Id: backend.h,v 2.1 2003/10/27 19:21:00 mann Exp $
  *
  * Copyright 1991 by Digital Equipment Corporation, Maynard, Massachusetts.
  * Enhancements Copyright 1992-95 Free Software Foundation, Inc.
@@ -63,7 +63,8 @@ extern ProcRef firstProgramPR, secondProgramPR;
 extern Board boards[];
 
 char *CmailMsg P((void));
-char *PositionToFEN P((int move));
+/* Tord: Added the useFEN960 parameter in PositionToFEN() below */
+char *PositionToFEN P((int move, int useFEN960));
 void EditPositionPasteFEN P((char *fen));
 void TimeDelay P((long ms));
 void SendMultiLineToICS P(( char *text ));
@@ -112,6 +113,7 @@ void DrawEvent P((void));
 void AbortEvent P((void));
 void AdjournEvent P((void));
 void ResignEvent P((void));
+void UserAdjudicationEvent P((int result));
 void StopObservingEvent P((void));
 void StopExaminingEvent P((void));
 void PonderNextMoveEvent P((int newState));
@@ -194,11 +196,11 @@ void ClearGameInfo P((GameInfo *));
 int GameListBuild P((FILE *));
 void GameListInitGameInfo P((GameInfo *));
 char *GameListLine P((int, GameInfo *));
+char * GameListLineFull P(( int, GameInfo *));
 
 extern char* StripHighlight P((char *));  /* returns static data */
 extern char* StripHighlightAndTitle P((char *));  /* returns static data */
 
-
 typedef struct _CPS {
     char *which;
     int maybeThinking;
@@ -236,8 +238,26 @@ typedef struct _CPS {
     int analyzing;
     int protocolVersion;
     int initDone;
+
+    /* Added by Tord: */
+    int useFEN960;   /* 0=use "KQkq" style FENs, 1=use "HAha" style FENs */
+    int useOOCastle; /* 0="O-O" notation for castling, 1="king capture rook" notation */
+    /* End of additions by Tord */
+
+    int scoreIsAbsolute; /* [AS] 0=don't know (standard), 1=score is always from white side */
+    int isUCI;           /* [AS] 0=no (Winboard), 1=UCI (requires Polyglot) */
+    int hasOwnBookUCI;   /* [AS] 0=use GUI or Polyglot book, 1=has own book */
 } ChessProgramState;
 
 extern ChessProgramState first, second;
 
+/* [AS] Search stats from chessprogram, for the played move */
+typedef struct {
+    int score;  /* Centipawns */
+    int depth;  /* Plies */
+    int time;   /* Milliseconds */
+} ChessProgramStats_Move;
+
+extern ChessProgramStats_Move pvInfoList[MAX_MOVES];
+
 #endif /* _BACKEND */