net: tftpput: add tftpput command
authorSimon Glass <sjg@chromium.org>
Mon, 24 Oct 2011 18:00:08 +0000 (18:00 +0000)
committerWolfgang Denk <wd@denx.de>
Wed, 26 Oct 2011 19:36:46 +0000 (21:36 +0200)
This adds the tftpput command to U-Boot.

Signed-off-by: Simon Glass <sjg@chromium.org>
common/cmd_net.c

index f610385b5d885421049d54fb3aa93c7a4162686a..f89a24bfd4f6568e07eb8aa0bdb556d1537a2602 100644 (file)
@@ -52,6 +52,22 @@ U_BOOT_CMD(
        "[loadAddress] [[hostIPaddr:]bootfilename]"
 );
 
+#ifdef CONFIG_CMD_TFTPPUT
+int do_tftpput(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+{
+       int ret;
+
+       ret = netboot_common(TFTPPUT, cmdtp, argc, argv);
+       return ret;
+}
+
+U_BOOT_CMD(
+       tftpput,        4,      1,      do_tftpput,
+       "TFTP put command, for uploading files to a server",
+       "Address Size [[hostIPaddr:]filename]"
+);
+#endif
+
 #ifdef CONFIG_CMD_TFTPSRV
 static int do_tftpsrv(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])
 {
@@ -203,6 +219,13 @@ static int netboot_common(enum proto_t proto, cmd_tbl_t *cmdtp, int argc,
 
                break;
 
+#ifdef CONFIG_CMD_TFTPPUT
+       case 4:
+               save_addr = strict_strtoul(argv[1], NULL, 16);
+               save_size = strict_strtoul(argv[2], NULL, 16);
+               copy_filename(BootFile, argv[3], sizeof(BootFile));
+               break;
+#endif
        default:
                show_boot_progress (-80);
                return cmd_usage(cmdtp);