]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - gdb/mi/mi-cmd-target.c
0e5df2179e4cfe5e4be73e6dbbe09c5e2ec2774a
[thirdparty/binutils-gdb.git] / gdb / mi / mi-cmd-target.c
1 /* MI Command Set - target commands.
2 Copyright (C) 2007, 2008, 2009, 2010 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 optind = 0;
30 char *optarg;
31 const char *remote_file, *local_file;
32 static struct mi_opt opts[] =
33 {
34 { 0, 0, 0 }
35 };
36 static const char *prefix = "mi_cmd_target_file_get";
37
38 if (mi_getopt (prefix, argc, argv, opts, &optind, &optarg) != -1
39 || optind != argc - 2)
40 error (_("mi_cmd_target_file_get: Usage: REMOTE_FILE LOCAL_FILE"));
41
42 remote_file = argv[optind];
43 local_file = argv[optind + 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 optind = 0;
54 char *optarg;
55 const char *remote_file, *local_file;
56 static struct mi_opt opts[] =
57 {
58 { 0, 0, 0 }
59 };
60 static const char *prefix = "mi_cmd_target_file_put";
61
62 if (mi_getopt (prefix, argc, argv, opts, &optind, &optarg) != -1
63 || optind != argc - 2)
64 error (_("mi_cmd_target_file_put: Usage: LOCAL_FILE REMOTE_FILE"));
65
66 local_file = argv[optind];
67 remote_file = argv[optind + 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 optind = 0;
78 char *optarg;
79 const char *remote_file;
80 static struct mi_opt opts[] =
81 {
82 { 0, 0, 0 }
83 };
84 static const char *prefix = "mi_cmd_target_file_delete";
85
86 if (mi_getopt (prefix, argc, argv, opts, &optind, &optarg) != -1
87 || optind != argc - 1)
88 error (_("mi_cmd_target_file_delete: Usage: REMOTE_FILE"));
89
90 remote_file = argv[optind];
91
92 remote_file_delete (remote_file, 0);
93 }
94