Files
chess-games/pgn-extract/argsfile.h
2024-01-22 07:30:05 +01:00

75 lines
2.6 KiB
C

/*
* 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 <http://www.gnu.org/licenses/>.
*
* 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