Merge branch '2019-10-28-azure-ci-support'
[oweals/u-boot.git] / cmd / fs.c
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * Copyright (c) 2012, NVIDIA CORPORATION.  All rights reserved.
4  *
5  * Inspired by cmd_ext_common.c, cmd_fat.c.
6  */
7
8 #include <common.h>
9 #include <command.h>
10 #include <fs.h>
11
12 static int do_size_wrapper(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
13 {
14         return do_size(cmdtp, flag, argc, argv, FS_TYPE_ANY);
15 }
16
17 U_BOOT_CMD(
18         size,   4,      0,      do_size_wrapper,
19         "determine a file's size",
20         "<interface> <dev[:part]> <filename>\n"
21         "    - Find file 'filename' from 'dev' on 'interface'\n"
22         "      and determine its size."
23 );
24
25 static int do_load_wrapper(cmd_tbl_t *cmdtp, int flag, int argc,
26                                 char * const argv[])
27 {
28         return do_load(cmdtp, flag, argc, argv, FS_TYPE_ANY);
29 }
30
31 U_BOOT_CMD(
32         load,   7,      0,      do_load_wrapper,
33         "load binary file from a filesystem",
34         "<interface> [<dev[:part]> [<addr> [<filename> [bytes [pos]]]]]\n"
35         "    - Load binary file 'filename' from partition 'part' on device\n"
36         "       type 'interface' instance 'dev' to address 'addr' in memory.\n"
37         "      'bytes' gives the size to load in bytes.\n"
38         "      If 'bytes' is 0 or omitted, the file is read until the end.\n"
39         "      'pos' gives the file byte position to start reading from.\n"
40         "      If 'pos' is 0 or omitted, the file is read from the start."
41 )
42
43 static int do_save_wrapper(cmd_tbl_t *cmdtp, int flag, int argc,
44                                 char * const argv[])
45 {
46         return do_save(cmdtp, flag, argc, argv, FS_TYPE_ANY);
47 }
48
49 U_BOOT_CMD(
50         save,   7,      0,      do_save_wrapper,
51         "save file to a filesystem",
52         "<interface> <dev[:part]> <addr> <filename> bytes [pos]\n"
53         "    - Save binary file 'filename' to partition 'part' on device\n"
54         "      type 'interface' instance 'dev' from addr 'addr' in memory.\n"
55         "      'bytes' gives the size to save in bytes and is mandatory.\n"
56         "      'pos' gives the file byte position to start writing to.\n"
57         "      If 'pos' is 0 or omitted, the file is written from the start."
58 )
59
60 static int do_ls_wrapper(cmd_tbl_t *cmdtp, int flag, int argc,
61                                 char * const argv[])
62 {
63         return do_ls(cmdtp, flag, argc, argv, FS_TYPE_ANY);
64 }
65
66 U_BOOT_CMD(
67         ls,     4,      1,      do_ls_wrapper,
68         "list files in a directory (default /)",
69         "<interface> [<dev[:part]> [directory]]\n"
70         "    - List files in directory 'directory' of partition 'part' on\n"
71         "      device type 'interface' instance 'dev'."
72 )
73
74 static int do_ln_wrapper(cmd_tbl_t *cmdtp, int flag, int argc,
75                          char * const argv[])
76 {
77         return do_ln(cmdtp, flag, argc, argv, FS_TYPE_ANY);
78 }
79
80 U_BOOT_CMD(
81         ln,     5,      1,      do_ln_wrapper,
82         "Create a symbolic link",
83         "<interface> <dev[:part]> target linkname\n"
84         "    - create a symbolic link to 'target' with the name 'linkname' on\n"
85         "      device type 'interface' instance 'dev'."
86 )
87
88 static int do_fstype_wrapper(cmd_tbl_t *cmdtp, int flag, int argc,
89                                 char * const argv[])
90 {
91         return do_fs_type(cmdtp, flag, argc, argv);
92 }
93
94 U_BOOT_CMD(
95         fstype, 4, 1, do_fstype_wrapper,
96         "Look up a filesystem type",
97         "<interface> <dev>:<part>\n"
98         "- print filesystem type\n"
99         "fstype <interface> <dev>:<part> <varname>\n"
100         "- set environment variable to filesystem type\n"
101 );