]>
Commit | Line | Data |
---|---|---|
90ef117b WJ |
1 | #include <common.h> |
2 | ||
3 | #include <config.h> | |
4 | #include <command.h> | |
5 | ||
6 | #ifdef YAFFS2_DEBUG | |
7 | #define PRINTF(fmt,args...) printf (fmt ,##args) | |
8 | #else | |
9 | #define PRINTF(fmt,args...) | |
10 | #endif | |
11 | ||
12 | extern void cmd_yaffs_mount(char *mp); | |
13 | extern void cmd_yaffs_umount(char *mp); | |
14 | extern void cmd_yaffs_read_file(char *fn); | |
15 | extern void cmd_yaffs_write_file(char *fn,char bval,int sizeOfFile); | |
16 | extern void cmd_yaffs_ls(const char *mountpt, int longlist); | |
17 | extern void cmd_yaffs_mwrite_file(char *fn, char *addr, int size); | |
18 | extern void cmd_yaffs_mread_file(char *fn, char *addr); | |
19 | extern void cmd_yaffs_mkdir(const char *dir); | |
20 | extern void cmd_yaffs_rmdir(const char *dir); | |
21 | extern void cmd_yaffs_rm(const char *path); | |
22 | extern void cmd_yaffs_mv(const char *oldPath, const char *newPath); | |
23 | ||
24 | extern int yaffs_DumpDevStruct(const char *path); | |
25 | ||
26 | ||
54841ab5 | 27 | int do_ymount (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) |
90ef117b WJ |
28 | { |
29 | char *mtpoint = argv[1]; | |
30 | cmd_yaffs_mount(mtpoint); | |
4b070809 | 31 | |
90ef117b WJ |
32 | return(0); |
33 | } | |
34 | ||
54841ab5 | 35 | int do_yumount (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) |
90ef117b WJ |
36 | { |
37 | char *mtpoint = argv[1]; | |
38 | cmd_yaffs_umount(mtpoint); | |
4b070809 | 39 | |
90ef117b WJ |
40 | return(0); |
41 | } | |
42 | ||
54841ab5 | 43 | int do_yls (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) |
90ef117b WJ |
44 | { |
45 | char *dirname = argv[argc-1]; | |
4b070809 | 46 | |
90ef117b WJ |
47 | cmd_yaffs_ls(dirname, (argc>2)?1:0); |
48 | ||
49 | return(0); | |
50 | } | |
51 | ||
54841ab5 | 52 | int do_yrd (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) |
90ef117b WJ |
53 | { |
54 | char *filename = argv[1]; | |
55 | printf ("Reading file %s ", filename); | |
56 | ||
57 | cmd_yaffs_read_file(filename); | |
58 | ||
59 | printf ("done\n"); | |
60 | return(0); | |
61 | } | |
62 | ||
54841ab5 | 63 | int do_ywr (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) |
90ef117b WJ |
64 | { |
65 | char *filename = argv[1]; | |
66 | ulong value = simple_strtoul(argv[2], NULL, 16); | |
67 | ulong numValues = simple_strtoul(argv[3], NULL, 16); | |
68 | ||
69 | printf ("Writing value (%x) %x times to %s... ", value, numValues, filename); | |
70 | ||
71 | cmd_yaffs_write_file(filename,value,numValues); | |
72 | ||
73 | printf ("done\n"); | |
74 | return(0); | |
75 | } | |
76 | ||
54841ab5 | 77 | int do_yrdm (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) |
90ef117b WJ |
78 | { |
79 | char *filename = argv[1]; | |
80 | ulong addr = simple_strtoul(argv[2], NULL, 16); | |
81 | ||
82 | cmd_yaffs_mread_file(filename, (char *)addr); | |
83 | ||
84 | return(0); | |
85 | } | |
86 | ||
54841ab5 | 87 | int do_ywrm (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) |
90ef117b WJ |
88 | { |
89 | char *filename = argv[1]; | |
90 | ulong addr = simple_strtoul(argv[2], NULL, 16); | |
91 | ulong size = simple_strtoul(argv[3], NULL, 16); | |
92 | ||
93 | cmd_yaffs_mwrite_file(filename, (char *)addr, size); | |
94 | ||
95 | return(0); | |
96 | } | |
97 | ||
54841ab5 | 98 | int do_ymkdir (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) |
90ef117b WJ |
99 | { |
100 | char *dirname = argv[1]; | |
101 | ||
102 | cmd_yaffs_mkdir(dirname); | |
103 | ||
104 | return(0); | |
105 | } | |
106 | ||
54841ab5 | 107 | int do_yrmdir (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) |
90ef117b WJ |
108 | { |
109 | char *dirname = argv[1]; | |
110 | ||
111 | cmd_yaffs_rmdir(dirname); | |
112 | ||
113 | return(0); | |
114 | } | |
115 | ||
54841ab5 | 116 | int do_yrm (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) |
90ef117b WJ |
117 | { |
118 | char *path = argv[1]; | |
119 | ||
120 | cmd_yaffs_rm(path); | |
121 | ||
122 | return(0); | |
123 | } | |
124 | ||
54841ab5 | 125 | int do_ymv (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) |
90ef117b WJ |
126 | { |
127 | char *oldPath = argv[1]; | |
128 | char *newPath = argv[2]; | |
129 | ||
130 | cmd_yaffs_mv(newPath, oldPath); | |
131 | ||
132 | return(0); | |
133 | } | |
134 | ||
54841ab5 | 135 | int do_ydump (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) |
90ef117b WJ |
136 | { |
137 | char *dirname = argv[1]; | |
138 | if (yaffs_DumpDevStruct(dirname) != 0) | |
4b070809 | 139 | printf("yaffs_DumpDevStruct returning error when dumping path: , %s\n", dirname); |
90ef117b WJ |
140 | return 0; |
141 | } | |
142 | ||
90ef117b WJ |
143 | U_BOOT_CMD( |
144 | ymount, 3, 0, do_ymount, | |
2fb2604d | 145 | "mount yaffs", |
a89c33db | 146 | "" |
90ef117b WJ |
147 | ); |
148 | ||
149 | U_BOOT_CMD( | |
150 | yumount, 3, 0, do_yumount, | |
2fb2604d | 151 | "unmount yaffs", |
a89c33db | 152 | "" |
90ef117b WJ |
153 | ); |
154 | ||
155 | U_BOOT_CMD( | |
156 | yls, 4, 0, do_yls, | |
2fb2604d | 157 | "yaffs ls", |
a89c33db | 158 | "[-l] name" |
90ef117b WJ |
159 | ); |
160 | ||
161 | U_BOOT_CMD( | |
162 | yrd, 2, 0, do_yrd, | |
2fb2604d | 163 | "read file from yaffs", |
a89c33db | 164 | "filename" |
90ef117b WJ |
165 | ); |
166 | ||
167 | U_BOOT_CMD( | |
168 | ywr, 4, 0, do_ywr, | |
2fb2604d | 169 | "write file to yaffs", |
a89c33db | 170 | "filename value num_vlues" |
90ef117b WJ |
171 | ); |
172 | ||
173 | U_BOOT_CMD( | |
174 | yrdm, 3, 0, do_yrdm, | |
2fb2604d | 175 | "read file to memory from yaffs", |
a89c33db | 176 | "filename offset" |
90ef117b WJ |
177 | ); |
178 | ||
179 | U_BOOT_CMD( | |
180 | ywrm, 4, 0, do_ywrm, | |
2fb2604d | 181 | "write file from memory to yaffs", |
a89c33db | 182 | "filename offset size" |
90ef117b WJ |
183 | ); |
184 | ||
185 | U_BOOT_CMD( | |
186 | ymkdir, 2, 0, do_ymkdir, | |
2fb2604d | 187 | "YAFFS mkdir", |
a89c33db | 188 | "dirname" |
90ef117b WJ |
189 | ); |
190 | ||
191 | U_BOOT_CMD( | |
192 | yrmdir, 2, 0, do_yrmdir, | |
2fb2604d | 193 | "YAFFS rmdir", |
a89c33db | 194 | "dirname" |
90ef117b WJ |
195 | ); |
196 | ||
197 | U_BOOT_CMD( | |
198 | yrm, 2, 0, do_yrm, | |
2fb2604d | 199 | "YAFFS rm", |
a89c33db | 200 | "path" |
90ef117b WJ |
201 | ); |
202 | ||
203 | U_BOOT_CMD( | |
204 | ymv, 4, 0, do_ymv, | |
2fb2604d | 205 | "YAFFS mv", |
a89c33db | 206 | "oldPath newPath" |
90ef117b WJ |
207 | ); |
208 | ||
209 | U_BOOT_CMD( | |
210 | ydump, 2, 0, do_ydump, | |
2fb2604d | 211 | "YAFFS device struct", |
a89c33db | 212 | "dirname" |
90ef117b | 213 | ); |