- /* 
-     Protector -- a UCI chess engine 
-   
-     Copyright (C) 2009-2010 Raimund Heid (Raimund_Heid@yahoo.com) 
-   
-     This program is free software: you can redistribute it and/or modify 
-     it under the terms of the GNU General Public License as published by 
-     the Free Software Foundation, either version 3 of the License, or 
-     (at your option) any later version. 
-   
-     This program is distributed in the hope that it will be useful, 
-     but WITHOUT ANY WARRANTY; without even the implied warranty of 
-     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
-     GNU General Public License for more details. 
-   
-     You should have received a copy of the GNU General Public License 
-     along with this program.  If not, see <http://www.gnu.org/licenses/>. 
-   
- */ 
-   
- #ifndef _io_h_ 
- #define _io_h_ 
-   
- #include "protector.h" 
- #include "bitboard.h" 
- #include "position.h" 
- #include "movegeneration.h" 
-   
- extern char pieceSymbol[16]; 
-   
- /** 
-  * Initialize this module. 
-  * 
-  * @return 0 if no errors occurred. 
-  */ 
- int initializeModuleIo(void); 
-   
- /** 
-  * Test this module. 
-  * 
-  * @return 0 if all tests succeed. 
-  */ 
- int testModuleIo(void); 
-   
- /** 
-  * Stop program execution until the user strikes a key. 
-  */ 
- int getKeyStroke(void); 
-   
- /** 
-  * Send a string representation of the specified bitboard to stdout. 
-  */ 
- void dumpBitboard(Bitboard bitboard, char *title); 
-   
- /** 
-  * Send a string representation of the specified balance value to stdout. 
-  */ 
- void dumpBalance(const INT32 balance); 
-   
- /** 
-  * Send a string representation of the specified value array to stdout. 
-  */ 
- void dumpBoardValues(const int value[64]); 
-   
- /** 
-  * Send a string representation of the specified square to stdout. 
-  */ 
- void dumpSquare(const Square square); 
-   
- /** 
-  * Send a string representation of the specified move to stdout. 
-  */ 
- void dumpMove(const Move move); 
- void logMove(const Move move); 
-   
- /** 
-  * Send a string representation of the specified movelist to stdout. 
-  */ 
- void dumpMovelist(const Movelist * movelist); 
-   
- /** 
-  * Send a string representation of the specified pv to stdout. 
-  */ 
- void dumpPv(int depth, long timestamp, 
-             const char *moves, int value, UINT64 nodes, 
-             const Color activeColor); 
-   
- /** 
-  * Send a string representation of the specified position to stdout. 
-  */ 
- void logPosition(const Position * position); 
-   
- /** 
-  * Send a string representation of the specified position to stdout 
-  * and wait for a keystroke. 
-  */ 
- void dumpPosition(const Position * position); 
-   
- /** 
-  * Send a string representation of the specified variation to stdout 
-  * and wait for a keystroke. 
-  */ 
- void dumpVariation(const Variation * variation); 
-   
- /** 
-  * Send a string representation of the specified variation to stdout. 
-  */ 
- void reportVariation(const Variation * variation); 
-   
- /** 
-  * Get the name of the specified square. 
-  */ 
- void getSquareName(Square square, char name[3]); 
-   
- /** 
-  * Get a dump of the specified move. 
-  */ 
- void getMoveDump(const Move move, char *buffer); 
-   
- /** 
-  * Close the logfile. 
-  */ 
- void closeLogfile(void); 
-   
- /** 
-  * Write the specified message to the logfile. 
-  */ 
- void logDebug(const char *fmt, ...); 
-   
- /** 
-  * Write the specified message to the logfile. 
-  */ 
- void logReport(const char *fmt, ...); 
-   
- /** 
-  * Format the given integer value by adding thousands separators. 
-  */ 
- void formatLongInteger(UINT64 n, char *buffer); 
-   
- /** 
-  * Format the given centipawn value according to the uci protocol. 
-  */ 
- void formatUciValue(const int centipawnValue, char *buffer); 
-   
- /** 
-  * Write the specified table to a source code file. 
-  */ 
- void writeTableToFile(UINT64 * table, const int tablesize, 
-                       const char *fileName, const char *tableName); 
-   
- #endif 
-