Changeset 3f0a7971 in mainline for uspace/app
- Timestamp:
- 2010-11-18T22:34:23Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 63b4f90
- Parents:
- c7137738 (diff), 45f04f8 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)links above to see all the changes relative to each parent. - Location:
- uspace/app
- Files:
-
- 2 added
- 12 edited
-
bdsh/cmds/modules/bdd/bdd.c (modified) (1 diff)
-
bdsh/cmds/modules/help/help.c (modified) (4 diffs)
-
bdsh/scli.c (modified) (1 diff)
-
getterm/Makefile (modified) (1 diff)
-
getterm/getterm.c (modified) (4 diffs)
-
getterm/version.c (modified) (1 diff)
-
getterm/welcome.c (added)
-
getterm/welcome.h (added)
-
init/init.c (modified) (5 diffs)
-
mkfat/mkfat.c (modified) (3 diffs)
-
netecho/netecho.c (modified) (1 diff)
-
nettest1/nettest1.c (modified) (3 diffs)
-
nettest2/nettest2.c (modified) (3 diffs)
-
test_serial/test_serial.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/bdsh/cmds/modules/bdd/bdd.c
rc7137738 r3f0a7971 68 68 unsigned int argc; 69 69 unsigned int i, j; 70 dev _handle_t handle;70 devmap_handle_t handle; 71 71 uint8_t *blk; 72 72 size_t size, bytes, rows; -
uspace/app/bdsh/cmds/modules/help/help.c
rc7137738 r3f0a7971 45 45 extern const char *progname; 46 46 47 #define HELP_IS_MODULE 1 48 #define HELP_IS_BUILTIN 0 49 #define HELP_IS_RUBBISH -1 47 #define HELP_IS_COMMANDS 2 48 #define HELP_IS_MODULE 1 49 #define HELP_IS_BUILTIN 0 50 #define HELP_IS_RUBBISH -1 50 51 51 52 volatile int mod_switch = -1; … … 55 56 { 56 57 int rc = HELP_IS_RUBBISH; 58 59 if (str_cmp(cmd, "commands") == 0) 60 return HELP_IS_COMMANDS; 57 61 58 62 rc = is_builtin(cmd); … … 90 94 } 91 95 92 int cmd_help(char *argv[])96 static void help_commands(void) 93 97 { 98 builtin_t *cmd; 94 99 module_t *mod; 95 builtin_t *cmd; 96 unsigned int i = 0; 97 int rc = 0; 98 int argc; 99 int level = HELP_SHORT; 100 unsigned int i; 100 101 101 argc = cli_count_args(argv); 102 103 if (argc > 3) { 104 printf("\nToo many arguments to `%s', try:\n", cmdname); 105 help_cmd_help(HELP_SHORT); 106 return CMD_FAILURE; 107 } 108 109 if (argc == 3) { 110 if (!str_cmp("extended", argv[2])) 111 level = HELP_LONG; 112 else 113 level = HELP_SHORT; 114 } 115 116 if (argc > 1) { 117 rc = is_mod_or_builtin(argv[1]); 118 switch (rc) { 119 case HELP_IS_RUBBISH: 120 printf("Invalid command %s\n", argv[1]); 121 return CMD_FAILURE; 122 case HELP_IS_MODULE: 123 help_module(mod_switch, level); 124 return CMD_SUCCESS; 125 case HELP_IS_BUILTIN: 126 help_builtin(mod_switch, level); 127 return CMD_SUCCESS; 128 } 129 } 130 131 printf("\n Available commands are:\n"); 102 printf("\n Bdsh built-in commands:\n"); 132 103 printf(" ------------------------------------------------------------\n"); 133 104 … … 154 125 printf("\n Try %s %s for more information on how `%s' works.\n\n", 155 126 cmdname, cmdname, cmdname); 127 } 128 129 /** Display survival tips. ('help' without arguments) */ 130 static void help_survival(void) 131 { 132 printf("Don't panic!\n\n"); 133 134 printf("This is Bdsh, the Brain dead shell, currently " 135 "the primary user interface to HelenOS. Bdsh allows you to enter " 136 "commands and supports history (Up, Down arrow keys), " 137 "line editing (Left Arrow, Right Arrow, Home, End, Backspace), " 138 "selection (Shift + movement keys), copy and paste (Ctrl-C, " 139 "Ctrl-V), similar to common desktop environments.\n\n"); 140 141 printf("The most basic filesystem commands are Bdsh builtins. Type " 142 "'help commands' [Enter] to see the list of Bdsh builtin commands. " 143 "Other commands are external executables located in the /app and " 144 "/srv directories. Type 'ls /app' [Enter] and 'ls /srv' [Enter] " 145 "to see their list. You can execute an external command simply " 146 "by entering its name (e.g. type 'tetris' [Enter]).\n\n"); 147 148 printf("HelenOS has virtual consoles (VCs). You can switch between " 149 "these using the F1-F11 keys.\n\n"); 150 151 printf("This is but a small glimpse of what you can do with HelenOS. " 152 "To learn more please point your browser to the HelenOS User's " 153 "Guide: http://trac.helenos.org/trac.fcgi/wiki/UsersGuide\n\n"); 154 } 155 156 int cmd_help(char *argv[]) 157 { 158 int rc = 0; 159 int argc; 160 int level = HELP_SHORT; 161 162 argc = cli_count_args(argv); 163 164 if (argc > 3) { 165 printf("\nToo many arguments to `%s', try:\n", cmdname); 166 help_cmd_help(HELP_SHORT); 167 return CMD_FAILURE; 168 } 169 170 if (argc == 3) { 171 if (!str_cmp("extended", argv[2])) 172 level = HELP_LONG; 173 else 174 level = HELP_SHORT; 175 } 176 177 if (argc > 1) { 178 rc = is_mod_or_builtin(argv[1]); 179 switch (rc) { 180 case HELP_IS_RUBBISH: 181 printf("Invalid topic %s\n", argv[1]); 182 return CMD_FAILURE; 183 case HELP_IS_COMMANDS: 184 help_commands(); 185 return CMD_SUCCESS; 186 case HELP_IS_MODULE: 187 help_module(mod_switch, level); 188 return CMD_SUCCESS; 189 case HELP_IS_BUILTIN: 190 help_builtin(mod_switch, level); 191 return CMD_SUCCESS; 192 } 193 } 194 195 help_survival(); 156 196 157 197 return CMD_SUCCESS; -
uspace/app/bdsh/scli.c
rc7137738 r3f0a7971 89 89 exit(EXIT_FAILURE); 90 90 91 printf("Welcome to %s - %s\nType `help' at any time for usage information.\n",92 progname, PACKAGE_STRING);93 94 91 while (!cli_quit) { 95 92 get_input(&usr); -
uspace/app/getterm/Makefile
rc7137738 r3f0a7971 34 34 SOURCES = \ 35 35 getterm.c \ 36 version.c 36 version.c \ 37 welcome.c 37 38 38 39 include $(USPACE_PREFIX)/Makefile.common -
uspace/app/getterm/getterm.c
rc7137738 r3f0a7971 43 43 #include <errno.h> 44 44 #include "version.h" 45 #include "welcome.h" 45 46 46 47 #define APP_NAME "getterm" … … 48 49 static void usage(void) 49 50 { 50 printf("Usage: %s <terminal> <path>\n", APP_NAME);51 printf("Usage: %s <terminal> [-w] <command> [<arguments...>]\n", APP_NAME); 51 52 } 52 53 … … 73 74 } 74 75 75 static task_id_t spawn(const char *fname)76 {77 task_id_t id;78 int rc;79 80 rc = task_spawnl(&id, fname, fname, NULL);81 if (rc != EOK) {82 printf("%s: Error spawning %s (%s)\n", APP_NAME, fname,83 str_error(rc));84 return 0;85 }86 87 return id;88 }89 90 76 int main(int argc, char *argv[]) 91 77 { 92 if (argc < 3) { 78 int rc; 79 task_exit_t texit; 80 int retval; 81 task_id_t id; 82 char *fname, *term; 83 char **cmd_args; 84 bool print_wmsg; 85 86 argv++; 87 argc--; 88 if (argc < 1) { 93 89 usage(); 94 90 return -1; 95 91 } 92 93 if (str_cmp(*argv, "-w") == 0) { 94 print_wmsg = true; 95 argv++; 96 argc--; 97 } else { 98 print_wmsg = false; 99 } 100 101 if (argc < 2) { 102 usage(); 103 return -1; 104 } 105 106 term = *argv++; 107 fname = *argv; 108 cmd_args = argv; 96 109 97 reopen(&stdin, 0, argv[1], O_RDONLY, "r");98 reopen(&stdout, 1, argv[1], O_WRONLY, "w");99 reopen(&stderr, 2, argv[1], O_WRONLY, "w");110 reopen(&stdin, 0, term, O_RDONLY, "r"); 111 reopen(&stdout, 1, term, O_WRONLY, "w"); 112 reopen(&stderr, 2, term, O_WRONLY, "w"); 100 113 101 114 /* … … 114 127 return -4; 115 128 116 version_print( argv[1]);117 task_id_t id = spawn(argv[2]);118 119 if (id != 0) { 120 task_exit_t texit;121 int retval;122 task_wait(id, &texit, &retval);123 124 return 0;129 version_print(term); 130 if (print_wmsg) 131 welcome_msg_print(); 132 133 rc = task_spawnv(&id, fname, (const char * const *) cmd_args); 134 if (rc != EOK) { 135 printf("%s: Error spawning %s (%s)\n", APP_NAME, fname, 136 str_error(rc)); 137 return -5; 125 138 } 126 127 return -5; 139 140 rc = task_wait(id, &texit, &retval); 141 if (rc != EOK) { 142 printf("%s: Error waiting for %s (%s)\n", APP_NAME, fname, 143 str_error(rc)); 144 return -6; 145 } 146 147 return 0; 128 148 } 129 149 -
uspace/app/getterm/version.c
rc7137738 r3f0a7971 61 61 printf("HelenOS release %s (%s)%s%s\n", release, name, revision, timestamp); 62 62 printf("Running on %s (%s)\n", arch, term); 63 printf("Copyright (c) 2001-20 09HelenOS project\n\n");63 printf("Copyright (c) 2001-2010 HelenOS project\n\n"); 64 64 } 65 65 -
uspace/app/init/init.c
rc7137738 r3f0a7971 185 185 186 186 /* Wait for the input device to be ready */ 187 dev _handle_t handle;187 devmap_handle_t handle; 188 188 rc = devmap_device_get_handle(dev, &handle, IPC_FLAG_BLOCKING); 189 189 if (rc != EOK) { … … 200 200 } 201 201 202 static void getterm(const char *dev, const char *app )202 static void getterm(const char *dev, const char *app, bool wmsg) 203 203 { 204 204 char term[DEVMAP_NAME_MAXLEN]; … … 210 210 211 211 /* Wait for the terminal device to be ready */ 212 dev _handle_t handle;212 devmap_handle_t handle; 213 213 rc = devmap_device_get_handle(dev, &handle, IPC_FLAG_BLOCKING); 214 214 if (rc != EOK) { … … 218 218 } 219 219 220 rc = task_spawnl(NULL, APP_GETTERM, APP_GETTERM, term, app, NULL); 221 if (rc != EOK) { 222 printf("%s: Error spawning %s %s %s (%s)\n", NAME, 223 APP_GETTERM, term, app, str_error(rc)); 220 if (wmsg) { 221 rc = task_spawnl(NULL, APP_GETTERM, APP_GETTERM, "-w", term, 222 app, NULL); 223 if (rc != EOK) { 224 printf("%s: Error spawning %s -w %s %s (%s)\n", NAME, 225 APP_GETTERM, term, app, str_error(rc)); 226 } 227 } else { 228 rc = task_spawnl(NULL, APP_GETTERM, APP_GETTERM, term, app, 229 NULL); 230 if (rc != EOK) { 231 printf("%s: Error spawning %s %s %s (%s)\n", NAME, 232 APP_GETTERM, term, app, str_error(rc)); 233 } 224 234 } 225 235 } … … 295 305 #endif 296 306 297 getterm("term/vc0", "/app/bdsh" );298 getterm("term/vc1", "/app/bdsh" );299 getterm("term/vc2", "/app/bdsh" );300 getterm("term/vc3", "/app/bdsh" );301 getterm("term/vc4", "/app/bdsh" );302 getterm("term/vc5", "/app/bdsh" );303 getterm("term/vc6", "/app/klog" );307 getterm("term/vc0", "/app/bdsh", true); 308 getterm("term/vc1", "/app/bdsh", false); 309 getterm("term/vc2", "/app/bdsh", false); 310 getterm("term/vc3", "/app/bdsh", false); 311 getterm("term/vc4", "/app/bdsh", false); 312 getterm("term/vc5", "/app/bdsh", false); 313 getterm("term/vc6", "/app/klog", false); 304 314 305 315 return 0; -
uspace/app/mkfat/mkfat.c
rc7137738 r3f0a7971 85 85 struct fat_params *par); 86 86 static int fat_blocks_write(struct fat_params const *par, 87 dev _handle_t handle);87 devmap_handle_t handle); 88 88 static void fat_bootsec_create(struct fat_params const *par, struct fat_bs *bs); 89 89 … … 95 95 int rc; 96 96 char *dev_path; 97 dev _handle_t handle;97 devmap_handle_t handle; 98 98 size_t block_size; 99 99 char *endptr; … … 234 234 235 235 /** Create file system with the given parameters. */ 236 static int fat_blocks_write(struct fat_params const *par, dev _handle_t handle)236 static int fat_blocks_write(struct fat_params const *par, devmap_handle_t handle) 237 237 { 238 238 aoff64_t addr; -
uspace/app/netecho/netecho.c
rc7137738 r3f0a7971 173 173 } else if (str_lcmp(argv[index] + 2, "count=", 6) == 0) { 174 174 rc = arg_parse_int(argc, argv, &index, &count, 8); 175 if (rc != EOK) 176 return rc; 175 177 } else if (str_lcmp(argv[index] + 2, "family=", 7) == 0) { 176 178 rc = arg_parse_name_int(argc, argv, &index, &family, 9, socket_parse_protocol_family); -
uspace/app/nettest1/nettest1.c
rc7137738 r3f0a7971 287 287 int main(int argc, char *argv[]) 288 288 { 289 290 socklen_t max_length; 291 uint8_t *address_data[sizeof(struct sockaddr_in6)]; 292 struct sockaddr_in *address_in; 293 struct sockaddr_in6 *address_in6; 289 struct sockaddr_in address_in; 290 struct sockaddr_in6 address_in6; 294 291 uint8_t *address_start; 295 292 … … 300 297 301 298 int rc; 302 303 max_length = sizeof(address_data);304 address = (struct sockaddr *) address_data;305 address_in = (struct sockaddr_in *) address;306 address_in6 = (struct sockaddr_in6 *) address;307 299 308 300 sockets = 10; … … 334 326 335 327 /* Prepare the address buffer */ 336 bzero(address_data, max_length);337 328 338 329 switch (family) { 339 330 case PF_INET: 340 address_in->sin_family = AF_INET; 341 address_in->sin_port = htons(port); 342 address_start = (uint8_t *) &address_in->sin_addr.s_addr; 343 addrlen = sizeof(struct sockaddr_in); 331 address_in.sin_family = AF_INET; 332 address_in.sin_port = htons(port); 333 address = (struct sockaddr *) &address_in; 334 addrlen = sizeof(address_in); 335 address_start = (uint8_t *) &address_in.sin_addr.s_addr; 344 336 break; 345 337 case PF_INET6: 346 address_in6->sin6_family = AF_INET6; 347 address_in6->sin6_port = htons(port); 348 address_start = (uint8_t *) &address_in6->sin6_addr.s6_addr; 349 addrlen = sizeof(struct sockaddr_in6); 338 address_in6.sin6_family = AF_INET6; 339 address_in6.sin6_port = htons(port); 340 address = (struct sockaddr *) &address_in6; 341 addrlen = sizeof(address_in6); 342 address_start = (uint8_t *) &address_in6.sin6_addr.s6_addr; 350 343 break; 351 344 default: -
uspace/app/nettest2/nettest2.c
rc7137738 r3f0a7971 223 223 int main(int argc, char *argv[]) 224 224 { 225 socklen_t max_length;226 uint8_t address_data[sizeof(struct sockaddr_in6)];227 225 struct sockaddr *address; 228 struct sockaddr_in *address_in;229 struct sockaddr_in6 *address_in6;226 struct sockaddr_in address_in; 227 struct sockaddr_in6 address_in6; 230 228 socklen_t addrlen; 231 229 uint8_t *address_start; … … 247 245 port = 7; 248 246 249 max_length = sizeof(address_data);250 address = (struct sockaddr *) address_data;251 address_in = (struct sockaddr_in *) address;252 address_in6 = (struct sockaddr_in6 *) address;253 254 247 /* 255 248 * Parse the command line arguments. … … 279 272 280 273 /* Prepare the address buffer */ 281 bzero(address_data, max_length);282 274 283 275 switch (family) { 284 276 case PF_INET: 285 address_in->sin_family = AF_INET; 286 address_in->sin_port = htons(port); 287 address_start = (uint8_t *) &address_in->sin_addr.s_addr; 288 addrlen = sizeof(struct sockaddr_in); 277 address_in.sin_family = AF_INET; 278 address_in.sin_port = htons(port); 279 address = (struct sockaddr *) &address_in; 280 addrlen = sizeof(address_in); 281 address_start = (uint8_t *) &address_in.sin_addr.s_addr; 289 282 break; 290 283 case PF_INET6: 291 address_in6->sin6_family = AF_INET6; 292 address_in6->sin6_port = htons(port); 293 address_start = (uint8_t *) &address_in6->sin6_addr.s6_addr; 294 addrlen = sizeof(struct sockaddr_in6); 284 address_in6.sin6_family = AF_INET6; 285 address_in6.sin6_port = htons(port); 286 address = (struct sockaddr *) &address_in6; 287 addrlen = sizeof(address_in6); 288 address_start = (uint8_t *) &address_in6.sin6_addr.s6_addr; 295 289 break; 296 290 default: -
uspace/app/test_serial/test_serial.c
rc7137738 r3f0a7971 69 69 int res; 70 70 res = devman_get_phone(DEVMAN_CLIENT, IPC_FLAG_BLOCKING); 71 dev ice_handle_t handle;71 devman_handle_t handle; 72 72 73 73 res = devman_device_get_handle("/hw/pci0/00:01.0/com1", &handle,
Note:
See TracChangeset
for help on using the changeset viewer.
