X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Fmi%2Fmi-parse.h;h=4c10f9255316c47cc04390397ba75aa4d66db171;hb=e81d5d059b485b37a6f8cfb44e563ad8b702df07;hp=12348f61476cb1f54974ce93a33a36f3a9ccd675;hpb=01f0fe5e0450edf168c1f612feb93cf588e4e7ea;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/mi/mi-parse.h b/gdb/mi/mi-parse.h index 12348f6147..4c10f92553 100644 --- a/gdb/mi/mi-parse.h +++ b/gdb/mi/mi-parse.h @@ -1,12 +1,12 @@ /* MI Command Set - MI Command Parser. - Copyright (C) 2000 Free Software Foundation, Inc. + Copyright (C) 2000-2015 Free Software Foundation, Inc. Contributed by Cygnus Solutions (a Red Hat company). This file is part of GDB. 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 2 of the License, or + the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, @@ -15,15 +15,22 @@ 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., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. */ + along with this program. If not, see . */ #ifndef MI_PARSE_H #define MI_PARSE_H +#include + /* MI parser */ +/* Timestamps for current command and last asynchronous command. */ +struct mi_timestamp { + struct timeval wallclock; + struct timeval utime; + struct timeval stime; +}; + enum mi_command_type { MI_COMMAND, CLI_COMMAND @@ -35,21 +42,36 @@ struct mi_parse char *command; char *token; const struct mi_cmd *cmd; + struct mi_timestamp *cmd_start; char *args; char **argv; int argc; + int all; + int thread_group; /* At present, the same as inferior number. */ + int thread; + int frame; + + /* The language that should be used to evaluate the MI command. + Ignored if set to language_unknown. */ + enum language language; }; -/* Attempts to parse CMD returning a ``struct mi_command''. If CMD is - invalid, an error mesage is reported (MI format) and NULL is - returned. For a CLI_COMMAND, COMMAND, TOKEN and OP are initialized. - For an MI_COMMAND COMMAND, TOKEN, ARGS and OP are - initialized. Un-initialized fields are zero. */ +/* Attempts to parse CMD returning a ``struct mi_parse''. If CMD is + invalid, an exception is thrown. For an MI_COMMAND COMMAND, ARGS + and OP are initialized. Un-initialized fields are zero. *TOKEN is + set to the token, even if an exception is thrown. It is allocated + with xmalloc; it must either be freed with xfree, or assigned to + the TOKEN field of the resultant mi_parse object, to be freed by + mi_parse_free. */ -extern struct mi_parse *mi_parse (char *cmd); +extern struct mi_parse *mi_parse (const char *cmd, char **token); -/* Free a command returned by mi_parse_command. */ +/* Free a command returned by mi_parse_command. */ extern void mi_parse_free (struct mi_parse *cmd); +/* Parse a string argument into a print_values value. */ + +enum print_values mi_parse_print_values (const char *name); + #endif