Changed how conflicitng first/max TTL works.
[mtr.git] / packet / cmdparse.h
blobe5cfeabb7faadf403c39ecc347a37672d1893796
1 /*
2 mtr -- a network diagnostic tool
3 Copyright (C) 2016 Matt Kimball
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License version 2 as
7 published by the Free Software Foundation.
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
14 You should have received a copy of the GNU General Public License along
15 with this program; if not, write to the Free Software Foundation, Inc.,
16 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19 #ifndef CMDPARSE_H
20 #define CMDPARSE_H
22 enum {
23 MAX_COMMAND_ARGUMENTS = 16,
24 MAX_COMMAND_TOKENS = MAX_COMMAND_ARGUMENTS * 2 + 2
27 /* Parsed commands, or command replies, ready for semantic interpretation */
28 struct command_t {
29 /* A unique value for matching command requests with replies */
30 int token;
32 /* Text indicating the command type, or reply type */
33 char *command_name;
35 /* The number of key, value argument pairs used */
36 int argument_count;
38 /* Names for each argument */
39 char *argument_name[MAX_COMMAND_ARGUMENTS];
41 /* Values for each argument, parallel to the argument_name array */
42 char *argument_value[MAX_COMMAND_ARGUMENTS];
45 int parse_command(
46 struct command_t *command,
47 char *command_string);
49 #endif