/* ** Structure to be used by all languages to interface the C++ EPD classes */ typedef struct { short ce; /* hundredths of a pawn */ unsigned char acd; /* Depth in plies */ /* std::string seems more natural, but C language, etc. must interface...*/ char *pm; /* Predicted move (by computer) */ char *am; /* Avoid this move */ char *bm; /* Best move */ } epd_info; typedef struct { short ce; /* hundredths of a pawn */ unsigned char acd; /* Depth in plies */ unsigned char aligner; /* useless space waster for alignment */ /* std::string seems more natural, but C language, etc. must interface...*/ char pm[8]; /* Predicted move (by computer) */ char am[8]; /* Avoid this move */ char bm[10]; /* Best move */ } epd_solid; #ifndef EPD_BINARY_LENGTH #define EPD_BINARY_LENGTH 24 #endif typedef char position[EPD_BINARY_LENGTH]; #ifdef __cplusplus extern "C" { #endif void BinaryLoad(int, int); void BinarySave(void); int AsciiLoad(int, int); int BinaryInquire(char (*)[24],int, epd_info ** ); int AsciiInquire(char ** , int, epd_info ** ); #ifdef __cplusplus } #endif