changes from Alessandro Scotti from 20060112
[xboard.git] / backend.h
index f311074..5058ac3 100644 (file)
--- a/backend.h
+++ b/backend.h
@@ -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 ));
@@ -195,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;
@@ -237,9 +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 */