Subversion Repositories Games.Chess Giants

Rev

Rev 33 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. #pragma once
  2. /* *INDENT-OFF* */
  3. /*>>> epd.h: subprogram prototypes for epd.c */
  4. /* Revised: 1996.06.23 */
  5. /*
  6.    Copyright (C) 1996 by Steven J. Edwards (sje@mv.mv.com)
  7.    All rights reserved.  This code may be freely redistibuted and used by
  8.    both research and commerical applications.  No warranty exists.
  9.  */
  10. /*
  11.    Everything in this source file is independent of the host program.
  12.    Requests for changes and additions should be communicated to the author
  13.    via the e-mail address given above.
  14.  */
  15. /*
  16.    This file was originally prepared on an Apple Macintosh using the
  17.    Metrowerks CodeWarrior 6 ANSI C compiler.  Tabs are set at every
  18.    four columns.  Further testing and development was performed on a
  19.    generic PC running Linux 1.3.20 and using the gcc 2.7.0 compiler.
  20.  */
  21. void EPDFatal(charptrT s);
  22. void EPDSwitchFault(charptrT s);
  23. voidptrT EPDMemoryGrab(liT n);
  24. void EPDMemoryFree(voidptrT ptr);
  25. charptrT EPDStringGrab(charptrT s);
  26. void EPDStringFree(charptrT s);
  27. charptrT EPDStringAppendChar(charptrT s, char c);
  28. charptrT EPDStringAppendStr(charptrT s0, charptrT s1);
  29. liT EPDMapFromDuration(charptrT s);
  30. charptrT EPDMapToDuration(liT seconds);
  31. gamptrT EPDGameOpen(void);
  32. void EPDGameClose(gamptrT gamptr);
  33. void EPDGameAppendMove(gamptrT gamptr, mptrT mptr);
  34. void EPDTokenize(charptrT s);
  35. siT EPDTokenCount(void);
  36. charptrT EPDTokenFetch(siT n);
  37. siT EPDCICharEqual(char ch0, char ch1);
  38. pT EPDPieceFromCP(cpT cp);
  39. siT EPDCheckPiece(char ch);
  40. pT EPDEvaluatePiece(char ch);
  41. siT EPDCheckColor(char ch);
  42. cT EPDEvaluateColor(char ch);
  43. siT EPDCheckRank(char ch);
  44. rankT EPDEvaluateRank(char ch);
  45. siT EPDCheckFile(char ch);
  46. fileT EPDEvaluateFile(char ch);
  47. eovptrT EPDNewEOV(void);
  48. void EPDReleaseEOV(eovptrT eovptr);
  49. void EPDAppendEOV(eopptrT eopptr, eovptrT eovptr);
  50. eovptrT EPDCreateEOVStr(charptrT str);
  51. eovptrT EPDCreateEOVSym(charptrT sym);
  52. eovptrT EPDCreateEOVInt(liT lval);
  53. eovptrT EPDLocateEOV(eopptrT eopptr, charptrT strval);
  54. siT EPDCountEOV(eopptrT eopptr);
  55. void EPDReplaceEOVStr(eovptrT eovptr, charptrT str);
  56. eopptrT EPDNewEOP(void);
  57. void EPDReleaseEOP(eopptrT eopptr);
  58. void EPDAppendEOP(epdptrT epdptr, eopptrT eopptr);
  59. eopptrT EPDCreateEOP(charptrT opsym);
  60. eopptrT EPDCreateEOPCode(epdsoT epdso);
  61. eopptrT EPDLocateEOP(epdptrT epdptr, charptrT opsym);
  62. eopptrT EPDLocateEOPCode(epdptrT epdptr, epdsoT epdso);
  63. siT EPDCountEOP(epdptrT epdptr);
  64. void EPDDropIfLocEOP(epdptrT epdptr, charptrT opsym);
  65. void EPDDropIfLocEOPCode(epdptrT epdptr, epdsoT epdso);
  66. void EPDAddOpInt(epdptrT epdptr, epdsoT epdso, liT val);
  67. void EPDAddOpStr(epdptrT epdptr, epdsoT epdso, charptrT s);
  68. void EPDAddOpSym(epdptrT epdptr, epdsoT epdso, charptrT s);
  69. epdptrT EPDNewEPD(void);
  70. void EPDReleaseOperations(epdptrT epdptr);
  71. void EPDReleaseEPD(epdptrT epdptr);
  72. charptrT EPDFetchOpsym(epdsoT epdso);
  73. epdptrT EPDCloneEPDBase(epdptrT epdptr);
  74. eovptrT EPDCloneEOV(eovptrT eovptr);
  75. eopptrT EPDCloneEOP(eopptrT eopptr);
  76. epdptrT EPDCloneEPD(epdptrT epdptr);
  77. epdptrT EPDSet(rbptrT rbptr, cT actc, castT cast, sqT epsq);
  78. void EPDSetCurrentPosition(rbptrT rbptr, cT actc, castT cast, sqT epsq,
  79.     siT hmvc, siT fmvn);
  80. epdptrT EPDGetCurrentPosition(void);
  81. cT EPDFetchACTC(void);
  82. castT EPDFetchCAST(void);
  83. sqT EPDFetchEPSQ(void);
  84. siT EPDFetchHMVC(void);
  85. siT EPDFetchFMVN(void);
  86. rbptrT EPDFetchBoard(void);
  87. cpT EPDFetchCP(sqT sq);
  88. charptrT EPDFetchBoardString(void);
  89. gtimT EPDGetGTIM(gamptrT gamptr);
  90. void EPDPutGTIM(gamptrT gamptr, gtimT gtim);
  91. charptrT EPDGenBasic(rbptrT rbptr, cT actc, castT cast, sqT epsq);
  92. charptrT EPDGenBasicCurrent(void);
  93. epdptrT EPDDecodeFEN(charptrT s);
  94. charptrT EPDEncodeFEN(epdptrT epdptr);
  95. epdptrT EPDDecode(charptrT s);
  96. charptrT EPDEncode(epdptrT epdptr);
  97. void EPDRealize(epdptrT epdptr);
  98. void EPDInitArray(void);
  99. charptrT EPDPlayerString(cT c);
  100. void EPDSANEncode(mptrT mptr, sanT san);
  101. mptrT EPDSANDecodeAux(sanT san, siT strict);
  102. siT EPDIsLegal(void);
  103. siT EPDIsCheckmate(void);
  104. siT EPDIsStalemate(void);
  105. siT EPDIsInsufficientMaterial(void);
  106. siT EPDIsFiftyMoveDraw(void);
  107. siT EPDIsThirdRepeatIndex(gamptrT gamptr);
  108. siT EPDIsDraw(gamptrT gamptr);
  109. mptrT EPDMateInOne(void);
  110. void EPDExecuteUpdate(mptrT mptr);
  111. void EPDRetractUpdate(void);
  112. void EPDRetractAll(void);
  113. void EPDCollapse(void);
  114. void EPDReset(void);
  115. void EPDGenMoves(void);
  116. siT EPDFetchMoveCount(void);
  117. mptrT EPDFetchMove(siT index);
  118. void EPDSetMoveFlags(mptrT mptr);
  119. void EPDSortSAN(void);
  120. siT EPDPurgeOpFile(charptrT opsym, charptrT fn0, charptrT fn1);
  121. siT EPDRepairEPD(epdptrT epdptr);
  122. siT EPDRepairFile(charptrT fn0, charptrT fn1);
  123. siT EPDNormalizeFile(charptrT fn0, charptrT fn1);
  124. siT EPDScoreFile(charptrT fn, bmsptrT bmsptr);
  125. siT EPDEnumerateFile(siT depth, charptrT fn0, charptrT fn1, liptrT totalptr);
  126. charptrT EPDMoveList(gamptrT gamptr);
  127. pgnstrT EPDPGNFetchTagIndex(charptrT s);
  128. charptrT EPDPGNFetchTagName(pgnstrT pgnstr);
  129. charptrT EPDPGNGetSTR(gamptrT gamptr, pgnstrT pgnstr);
  130. void EPDPGNPutSTR(gamptrT gamptr, pgnstrT pgnstr, charptrT s);
  131. charptrT EPDPGNGenSTR(gamptrT gamptr);
  132. charptrT EPDPGNHistory(gamptrT gamptr);
  133. void EPDCopyInPTP(gamptrT gamptr, epdptrT epdptr);
  134. void EPDCopyOutPTP(gamptrT gamptr, epdptrT epdptr);
  135. charptrT EPDFetchRefcomStr(refcomT refcom);
  136. charptrT EPDFetchRefreqStr(refreqT refreq);
  137. refcomT EPDFetchRefcomIndex(charptrT s);
  138. refreqT EPDFetchRefreqIndex(charptrT s);
  139. refcomT EPDExtractRefcomIndex(epdptrT epdptr);
  140. refreqT EPDExtractRefreqIndex(epdptrT epdptr);
  141. siT EPDComm(refintptrT refintptr, charptrT pipebase);
  142. void EPDInit(void);
  143. void EPDTerm(void);
  144. /* *INDENT-ON* */
  145.