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