X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=backend.h;h=8452f86ec5d8c4f3b0c6b323900d5ddeca575e0e;hb=19a31cbb25faf8b09ca5fd1ab7bb405f3f823452;hp=c678e2659e118ea34c8721e408b2beb1dee0ff74;hpb=50ffaff1de1b05f1bf76dd842e734eff2974afd4;p=xboard.git diff --git a/backend.h b/backend.h index c678e26..8452f86 100644 --- a/backend.h +++ b/backend.h @@ -5,7 +5,7 @@ * Massachusetts. * * Enhancements Copyright 1992-2001, 2002, 2003, 2004, 2005, 2006, - * 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. + * 2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. * * Enhancements Copyright 2005 Alessandro Scotti * @@ -54,48 +54,10 @@ #ifndef XB_BACKEND #define XB_BACKEND -/* unsigned int 64 for engine nodes work and display */ -#ifdef WIN32 - /* I don't know the name for this type of other compiler - * If it not work, just modify here - * This is for MS Visual Studio - */ - #ifdef _MSC_VER - #define u64 unsigned __int64 - #define s64 signed __int64 - #define u64Display "%I64u" - #define s64Display "%I64d" - #define u64Const(c) (c ## UI64) - #define s64Const(c) (c ## I64) - #else - /* place holder - * or dummy types for other compiler - * [HGM] seems that -mno-cygwin comple needs %I64? - */ - #define u64 unsigned long long - #define s64 signed long long - #ifdef USE_I64 - #define u64Display "%I64u" - #define s64Display "%I64d" - #else - #define u64Display "%llu" - #define s64Display "%lld" - #endif - #define u64Const(c) (c ## ULL) - #define s64Const(c) (c ## LL) - #endif -#else - /* GNU gcc */ - #define u64 unsigned long long - #define s64 signed long long - #define u64Display "%llu" - #define s64Display "%lld" - #define u64Const(c) (c ## ull) - #define s64Const(c) (c ## ll) -#endif - #include "lists.h" +typedef int (*FileProc) P((FILE *f, int n, char *title)); + extern char *wbOptions; extern int gotPremove; extern GameMode gameMode; @@ -112,7 +74,9 @@ extern char marker[BOARD_RANKS][BOARD_FILES]; extern char lastMsg[MSG_SIZ]; extern Boolean bookUp; extern int tinyLayout, smallLayout; +extern Boolean mcMode; +void MarkMenuItem P((char *menuRef, int state)); char *CmailMsg P((void)); /* Tord: Added the useFEN960 parameter in PositionToFEN() below */ char *PositionToFEN P((int move, char* useFEN960)); @@ -243,6 +207,8 @@ void ApplyMove P((int fromX, int fromY, int toX, int toY, int promoChar, Board b void PackMove P((int fromX, int fromY, int toX, int toY, ChessSquare promoPiece)); void ics_printf P((char *format, ...)); int GetEngineLine P((char *nick, int engine)); +void AddGameToBook P((int always)); +void FlushBook P((void)); char *StrStr P((char *string, char *match)); char *StrCaseStr P((char *string, char *match)); @@ -363,9 +329,9 @@ typedef struct XB_CPS { int sdKludge; /* 0=use "sd DEPTH" command; 1=use "depth\nDEPTH" */ int stKludge; /* 0=use "st TIME" command; 1=use "level 1 TIME" */ int excludeMoves;/* 0=don't use "exclude" command; 1=do */ - char tidy[MSG_SIZ]; + char *tidy; int matchWins; - char variants[MSG_SIZ]; + char *variants; int analysisSupport; int analyzing; int protocolVersion; @@ -390,8 +356,9 @@ typedef struct XB_CPS { int alphaRank; /* [HGM] shogi: engine uses shogi-type coordinates */ int maxCores; /* [HGM] SMP: engine understands cores command */ int memSize; /* [HGM] memsize: engine understands memory command */ - char egtFormats[MSG_SIZ]; /* [HGM] EGT: supported tablebase formats */ + char *egtFormats; /* [HGM] EGT: supported tablebase formats */ int bookSuspend; /* [HGM] book: go was deferred because of book hit */ + int pause; /* [HGM] pause: 1=supports it, 2=actually paused */ int nrOptions; /* [HGM] options: remembered option="..." features */ #define MAX_OPTIONS 200 Option option[MAX_OPTIONS]; @@ -401,6 +368,7 @@ typedef struct XB_CPS { void *programLogo; /* [HGM] logo: bitmap of the logo */ char *fenOverride; /* [HGM} FRC: force FEN casling & ep fields by hand */ char userError; /* [HGM] crash: flag to suppress fatal-error messages*/ + char reload; /* [HGM] options: flag to resend options with xreuse */ } ChessProgramState; extern ChessProgramState first, second; @@ -437,6 +405,7 @@ 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 {