GDB (xrefs)
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
mi
mi-parse.h
Go to the documentation of this file.
1
/* MI Command Set - MI Command Parser.
2
Copyright (C) 2000-2015 Free Software Foundation, Inc.
3
Contributed by Cygnus Solutions (a Red Hat company).
4
5
This file is part of GDB.
6
7
This program is free software; you can redistribute it and/or modify
8
it under the terms of the GNU General Public License as published by
9
the Free Software Foundation; either version 3 of the License, or
10
(at your option) any later version.
11
12
This program is distributed in the hope that it will be useful,
13
but WITHOUT ANY WARRANTY; without even the implied warranty of
14
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
GNU General Public License for more details.
16
17
You should have received a copy of the GNU General Public License
18
along with this program. If not, see <http://www.gnu.org/licenses/>. */
19
20
#ifndef MI_PARSE_H
21
#define MI_PARSE_H
22
23
#include <sys/time.h>
24
25
/* MI parser */
26
27
/* Timestamps for current command and last asynchronous command. */
28
struct
mi_timestamp
{
29
struct
timeval
wallclock
;
30
struct
timeval
utime
;
31
struct
timeval
stime
;
32
};
33
34
enum
mi_command_type
35
{
36
MI_COMMAND
,
CLI_COMMAND
37
};
38
39
struct
mi_parse
40
{
41
enum
mi_command_type
op
;
42
char
*
command
;
43
char
*
token
;
44
const
struct
mi_cmd
*
cmd
;
45
struct
mi_timestamp
*
cmd_start
;
46
char
*
args
;
47
char
**
argv
;
48
int
argc
;
49
int
all
;
50
int
thread_group
;
/* At present, the same as inferior number. */
51
int
thread
;
52
int
frame
;
53
54
/* The language that should be used to evaluate the MI command.
55
Ignored if set to language_unknown. */
56
enum
language
language
;
57
};
58
59
/* Attempts to parse CMD returning a ``struct mi_parse''. If CMD is
60
invalid, an exception is thrown. For an MI_COMMAND COMMAND, ARGS
61
and OP are initialized. Un-initialized fields are zero. *TOKEN is
62
set to the token, even if an exception is thrown. It is allocated
63
with xmalloc; it must either be freed with xfree, or assigned to
64
the TOKEN field of the resultant mi_parse object, to be freed by
65
mi_parse_free. */
66
67
extern
struct
mi_parse
*
mi_parse
(
const
char
*
cmd
,
char
**
token
);
68
69
/* Free a command returned by mi_parse_command. */
70
71
extern
void
mi_parse_free
(
struct
mi_parse
*
cmd
);
72
73
/* Parse a string argument into a print_values value. */
74
75
enum
print_values
mi_parse_print_values
(
const
char
*
name
);
76
77
#endif
mi_parse::cmd_start
struct mi_timestamp * cmd_start
Definition:
mi-parse.h:45
MI_COMMAND
Definition:
mi-parse.h:36
mi_parse
Definition:
mi-parse.h:39
mi_cmd
Definition:
mi-cmds.h:136
mi_parse::cmd
const struct mi_cmd * cmd
Definition:
mi-parse.h:44
mi_parse::argv
char ** argv
Definition:
mi-parse.h:47
token
Definition:
c-exp.c:4859
mi_parse_free
void mi_parse_free(struct mi_parse *cmd)
Definition:
mi-parse.c:212
mi_parse::op
enum mi_command_type op
Definition:
mi-parse.h:41
name
const char *const name
Definition:
aarch64-tdep.c:68
mi_parse::command
char * command
Definition:
mi-parse.h:42
mi_parse::argc
int argc
Definition:
mi-parse.h:48
mi_timestamp::stime
struct timeval stime
Definition:
mi-parse.h:31
mi_parse_print_values
enum print_values mi_parse_print_values(const char *name)
Definition:
mi-parse.c:405
mi_timestamp::utime
struct timeval utime
Definition:
mi-parse.h:30
mi_command_type
mi_command_type
Definition:
mi-parse.h:34
mi_parse::token
char * token
Definition:
mi-parse.h:43
mi_parse::thread_group
int thread_group
Definition:
mi-parse.h:50
mi_timestamp::wallclock
struct timeval wallclock
Definition:
mi-parse.h:29
mi_parse::frame
int frame
Definition:
mi-parse.h:52
language
language
Definition:
defs.h:167
CLI_COMMAND
Definition:
mi-parse.h:36
mi_parse::language
enum language language
Definition:
mi-parse.h:56
mi_parse::thread
int thread
Definition:
mi-parse.h:51
mi_parse::all
int all
Definition:
mi-parse.h:49
mi_timestamp
Definition:
mi-parse.h:28
print_values
print_values
Definition:
mi-cmds.h:25
mi_parse::args
char * args
Definition:
mi-parse.h:46
mi_parse
struct mi_parse * mi_parse(const char *cmd, char **token)
Definition:
mi-parse.c:236
Generated by
1.8.10