Changeset 643 for soft/giet_vm/applications/shell/main.c
- Timestamp:
- Jul 22, 2015, 12:57:58 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
soft/giet_vm/applications/shell/main.c
r641 r643 21 21 22 22 //////////////////////////////////////////////////////////////////////////////// 23 //// commands 23 // Shell Commands 24 //////////////////////////////////////////////////////////////////////////////// 24 25 25 26 struct command_t cmd[]; 26 27 28 /////////////////////////////////////////// 27 29 static void cmd_help(int argc, char** argv) 28 30 { … … 37 39 } 38 40 41 /////////////////////////////////////////////// 39 42 static void cmd_proctime(int argc, char** argv) 40 43 { … … 42 45 } 43 46 47 ///////////////////////////////////////// 44 48 static void cmd_ls(int argc, char** argv) 45 49 { … … 53 57 } 54 58 59 //////////////////////////////////////////// 55 60 static void cmd_mkdir(int argc, char** argv) 56 61 { … … 68 73 } 69 74 75 ///////////////////////////////////////// 70 76 static void cmd_cp(int argc, char** argv) 71 77 { … … 151 157 } 152 158 159 //////////////////////////////////////////// 153 160 static void cmd_rmdir(int argc, char **argv) 154 161 { … … 166 173 } 167 174 175 ///////////////////////////////////////// 168 176 static void cmd_mv(int argc, char **argv) 169 177 { … … 181 189 } 182 190 191 /////////////////////////////////////////// 192 static void cmd_exec(int argc, char **argv) 193 { 194 if (argc < 2) 195 { 196 giet_tty_printf("%s <pathname>\n", argv[0]); 197 return; 198 } 199 200 int ret = giet_exec_application(argv[1]); 201 if ( ret == -1 ) 202 { 203 giet_tty_printf("\n error : %s not found\n", argv[1] ); 204 } 205 } 206 207 /////////////////////////////////////////// 208 static void cmd_kill(int argc, char **argv) 209 { 210 if (argc < 2) 211 { 212 giet_tty_printf("%s <pathname>\n", argv[0]); 213 return; 214 } 215 216 int ret = giet_kill_application(argv[1]); 217 if ( ret == -1 ) 218 { 219 giet_tty_printf("\n error : %s not found\n", argv[1] ); 220 } 221 if ( ret == -2 ) 222 { 223 giet_tty_printf("\n error : %s cannot be killed\n", argv[0] ); 224 } 225 } 226 227 //////////////////////////////////////////////////////////////////// 183 228 struct command_t cmd[] = 184 229 { … … 191 236 { "rmdir", cmd_rmdir }, 192 237 { "mv", cmd_mv }, 238 { "exec", cmd_exec }, 239 { "kill", cmd_kill }, 193 240 { NULL, NULL } 194 241 }; 195 242 196 // //////////////////////////////////////////////////////////////////////////////197 //// shell 198 199 static void exec(char *buf, int count)243 // shell 244 245 /////////////////////////////////////// 246 static void parse(char *buf, int count) 200 247 { 201 248 int argc = 0; … … 239 286 if (!found) 240 287 { 241 giet_tty_printf("unknown command %s\n", argv[0]); 242 } 243 } 244 } 245 288 giet_tty_printf("undefined command %s\n", argv[0]); 289 } 290 } 291 } 292 293 //////////////////// 246 294 static void prompt() 247 295 { … … 279 327 { 280 328 buf[count] = '\0'; 281 exec((char*)&buf, count);329 parse((char*)&buf, count); 282 330 } 283 331 prompt();
Note: See TracChangeset
for help on using the changeset viewer.