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