/* * This file is part of pgn-extract: a Portable Game Notation (PGN) extractor. * Copyright (C) 1994-2022 David J. Barnes * * pgn-extract 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. * * pgn-extract 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 pgn-extract. If not, see . * * David J. Barnes may be contacted as d.j.barnes@kent.ac.uk * https://www.cs.kent.ac.uk/people/staff/djb/ */ /* Classifications for the arguments allowed in an argsfile. */ #ifndef ARGSFILE_H #define ARGSFILE_H typedef enum { SEVEN_TAG_ROSTER_ARGUMENT = '7', GAMES_PER_FILE_ARGUMENT = '#', ALTERNATIVE_HELP_ARGUMENT = '?', LONG_FORM_ARGUMENT = '-', APPEND_TO_OUTPUT_FILE_ARGUMENT = 'a', MOVE_BOUNDS_ARGUMENT = 'b', CHECK_FILE_ARGUMENT = 'c', DUPLICATES_FILE_ARGUMENT = 'd', USE_ECO_FILE_ARGUMENT = 'e', FILE_OF_FILES_ARGUMENT = 'f', HELP_ARGUMENT = 'h', WRITE_TO_LOG_FILE_ARGUMENT = 'l', NON_MATCHING_GAMES_ARGUMENT = 'n', WRITE_TO_OUTPUT_FILE_ARGUMENT = 'o', PLY_BOUNDS_ARGUMENT = 'p', CHECK_ONLY_ARGUMENT = 'r', KEEP_SILENT_ARGUMENT = 's', TAGS_ARGUMENT = 't', MOVES_ARGUMENT = 'v', LINE_WIDTH_ARGUMENT = 'w', POSITIONS_ARGUMENT = 'x', ENDINGS_COLOURED_ARGUMENT = 'y', ENDINGS_ARGUMENT = 'z', FILE_OF_ARGUMENTS_ARGUMENT = 'A', DONT_KEEP_COMMENTS_ARGUMENT = 'C', DONT_KEEP_DUPLICATES_ARGUMENT = 'D', ECO_OUTPUT_LEVEL_ARGUMENT = 'E', OUTPUT_FEN_STRING_ARGUMENT = 'F', HASHCODE_MATCH_ARGUMENT = 'H', APPEND_TO_LOG_FILE_ARGUMENT = 'L', MATCH_CHECKMATE_ARGUMENT = 'M', DONT_KEEP_NAGS_ARGUMENT = 'N', DONT_MATCH_PERMUTATIONS_ARGUMENT = 'P', TAG_ROSTER_ARGUMENT = 'R', USE_SOUNDEX_ARGUMENT = 'S', TAG_EXTRACTION_ARGUMENT = 'T', SUPPRESS_ORIGINALS_ARGUMENT = 'U', DONT_KEEP_VARIATIONS_ARGUMENT = 'V', OUTPUT_FORMAT_ARGUMENT = 'W', USE_VIRTUAL_HASH_TABLE_ARGUMENT = 'Z', NO_ARGUMENT_MATCH = '\0' /* No argument match. */ } ArgType; void process_argument(char arg_letter,const char *associated_value); int process_long_form_argument(const char *argument, const char *associated_value); #endif // ARGSFILE_H