-
Notifications
You must be signed in to change notification settings - Fork 1
/
argsfile.h
67 lines (65 loc) · 2.5 KB
/
argsfile.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
/*
* Program: pgn-extract: a Portable Game Notation (PGN) extractor.
* Copyright (C) 1994-2015 David Barnes
* 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 1, 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, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* David Barnes may be contacted as [email protected]
* http://www.cs.kent.ac.uk/people/staff/djb/
*
*/
/* Classifications for the arguments allowed in an argsfile. */
typedef enum {
SEVEN_TAG_ROSTER_ARGUMENT = '7',
GAMES_PER_FILE_ARGUMENT = '#',
ALTERNATIVE_HELP_ARGUMENT = '?',
LONG_FORM_ARGUMENT = '-',
APPEND_TO_OUTPUT_FILE_ARGUMENT = 'a',
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',
CHECK_ONLY_ARGUMENT = 'r',
KEEP_SILENT_ARGUMENT = 's',
TAGS_ARGUMENT = 't',
MOVES_ARGUMENT = 'v',
LINE_WIDTH_ARGUMENT = 'w',
POSITIONS_ARGUMENT = 'x',
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',
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 read_args_file(const char *infile);
void process_argument(char arg_letter,const char *associated_value);
int process_long_form_argument(const char *argument, const char *associated_value);