GDB (xrefs)
mi-cmd-target.c
Go to the documentation of this file.
1 /* MI Command Set - target commands.
2  Copyright (C) 2007-2015 Free Software Foundation, Inc.
3 
4  This file is part of GDB.
5 
6  This program is free software; you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation; either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>. */
18 
19 #include "defs.h"
20 #include "mi-cmds.h"
21 #include "mi-getopt.h"
22 #include "remote.h"
23 
24 /* Get a file from the target. */
25 
26 void
27 mi_cmd_target_file_get (char *command, char **argv, int argc)
28 {
29  int oind = 0;
30  char *oarg;
31  const char *remote_file, *local_file;
32  static const struct mi_opt opts[] =
33  {
34  { 0, 0, 0 }
35  };
36  static const char prefix[] = "-target-file-get";
37 
38  if (mi_getopt (prefix, argc, argv, opts, &oind, &oarg) != -1
39  || oind != argc - 2)
40  error (_("-target-file-get: Usage: REMOTE_FILE LOCAL_FILE"));
41 
42  remote_file = argv[oind];
43  local_file = argv[oind + 1];
44 
45  remote_file_get (remote_file, local_file, 0);
46 }
47 
48 /* Send a file to the target. */
49 
50 void
51 mi_cmd_target_file_put (char *command, char **argv, int argc)
52 {
53  int oind = 0;
54  char *oarg;
55  const char *remote_file, *local_file;
56  static const struct mi_opt opts[] =
57  {
58  { 0, 0, 0 }
59  };
60  static const char prefix[] = "-target-file-put";
61 
62  if (mi_getopt (prefix, argc, argv, opts, &oind, &oarg) != -1
63  || oind != argc - 2)
64  error (_("-target-file-put: Usage: LOCAL_FILE REMOTE_FILE"));
65 
66  local_file = argv[oind];
67  remote_file = argv[oind + 1];
68 
69  remote_file_put (local_file, remote_file, 0);
70 }
71 
72 /* Delete a file on the target. */
73 
74 void
75 mi_cmd_target_file_delete (char *command, char **argv, int argc)
76 {
77  int oind = 0;
78  char *oarg;
79  const char *remote_file;
80  static const struct mi_opt opts[] =
81  {
82  { 0, 0, 0 }
83  };
84  static const char prefix[] = "-target-file-delete";
85 
86  if (mi_getopt (prefix, argc, argv, opts, &oind, &oarg) != -1
87  || oind != argc - 1)
88  error (_("-target-file-delete: Usage: REMOTE_FILE"));
89 
90  remote_file = argv[oind];
91 
92  remote_file_delete (remote_file, 0);
93 }
94 
void remote_file_delete(const char *remote_file, int from_tty)
Definition: remote.c:10991
#define _(String)
Definition: gdb_locale.h:40
int mi_getopt(const char *prefix, int argc, char **argv, const struct mi_opt *opts, int *oind, char **oarg)
Definition: mi-getopt.c:83
void mi_cmd_target_file_put(char *command, char **argv, int argc)
Definition: mi-cmd-target.c:51
void remote_file_get(const char *remote_file, const char *local_file, int from_tty)
Definition: remote.c:10932
void remote_file_put(const char *local_file, const char *remote_file, int from_tty)
Definition: remote.c:10839
void mi_cmd_target_file_delete(char *command, char **argv, int argc)
Definition: mi-cmd-target.c:75
void mi_cmd_target_file_get(char *command, char **argv, int argc)
Definition: mi-cmd-target.c:27
void error(const char *fmt,...)
Definition: errors.c:38