X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=typedef.h;h=cf7be10005b34e242eee55463a6c315d63af1aae;hb=be3167c9e0220a4ee3e8b5c5f813fb2627d1ce55;hp=f405a63f2c04d9736004f2ebcd583af85b3bf499;hpb=99b227ec8c7dd8bb4116b643cc13ce39189195a0;p=pgn-extract diff --git a/typedef.h b/typedef.h index f405a63..cf7be10 100644 --- a/typedef.h +++ b/typedef.h @@ -70,6 +70,9 @@ typedef struct variation{ */ #define MAX_MOVE_LEN 15 +struct EcoLog; +typedef struct EcoLog EcoLog; + /* Retain the text of a move and any associated * NAGs and comments. */ @@ -106,6 +109,7 @@ typedef struct move{ /* terminating_result hold the result of the current list of moves. */ char *terminating_result; Variation *Variants; + EcoLog *eco; /* Pointers to the previous and next move. * The extraction program does not need the prev field, but my * intention is to build other interfaces that might need it. @@ -142,6 +146,10 @@ typedef struct { * 0 => no error found. */ int error_ply; + /* File position of the first byte of the game, or -1 + * if unknown. + */ + long start_position; } Game; /* Define a type to distinguish between CHECK files, NORMAL files, @@ -263,12 +271,20 @@ typedef struct { Boolean output_total_plycount; /* Whether to add a HashCode tag. */ Boolean add_hashcode_tag; + /* Whether to dump ECO data to stdout after loading.*/ + Boolean dump_eco; /* The comment to use for position matches, if required. */ const char *position_match_comment; /* Current input file name. */ const char *current_input_file; /* Whether this is a CHECKFILE or a NORMALFILE. */ SourceFileType current_file_type; + /* Byte positions to scan to and from in the PGN file. + * Starting in the middle of a game will yield unexpected + * results. + */ + long start_position; + long end_position; /* File of ECO lines. */ const char *eco_file; /* Where to write the extracted games. */