Changes in uspace/app/inet/inet.c [8d2dd7f2:75c3830] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/inet/inet.c
r8d2dd7f2 r75c3830 38 38 #include <inet/addr.h> 39 39 #include <inet/inetcfg.h> 40 #include <io/table.h> 40 41 #include <loc.h> 41 42 #include <stdio.h> … … 48 49 static void print_syntax(void) 49 50 { 50 printf("syntax:\n"); 51 printf("\t" NAME " create <addr>/<width> <link-name> <addr-name>\n"); 52 printf("\t" NAME " delete <link-name> <addr-name>\n"); 53 printf("\t" NAME " add-sr <dest-addr>/<width> <router-addr> <route-name>\n"); 54 printf("\t" NAME " del-sr <route-name>\n"); 51 printf("%s: Internet configuration utility.\n", NAME); 52 printf("Syntax:\n"); 53 printf(" %s list-addr\n", NAME); 54 printf(" %s create-addr <addr>/<width> <link-name> <addr-name>\n", NAME); 55 printf(" %s delete-addr <link-name> <addr-name>\n", NAME); 56 printf(" %s list-sr\n", NAME); 57 printf(" %s create-sr <dest-addr>/<width> <router-addr> <route-name>\n", NAME); 58 printf(" %s delete-sr <route-name>\n", NAME); 59 printf(" %s list-link\n", NAME); 55 60 } 56 61 … … 242 247 inet_addr_info_t ainfo; 243 248 inet_link_info_t linfo; 249 table_t *table = NULL; 244 250 245 251 size_t count; 246 252 size_t i; 247 253 int rc; 248 char *astr; 254 char *astr = NULL; 255 256 ainfo.name = NULL; 257 linfo.name = NULL; 249 258 250 259 rc = inetcfg_get_addr_list(&addr_list, &count); … … 254 263 } 255 264 256 printf("Configured addresses:\n"); 257 if (count > 0) 258 printf(" [Addr/Width] [Link-Name] [Addr-Name] [Def-MTU]\n"); 259 ainfo.name = NULL; 260 linfo.name = NULL; 261 astr = NULL; 265 rc = table_create(&table); 266 if (rc != EOK) { 267 printf("Memory allocation failed.\n"); 268 goto out; 269 } 270 271 table_header_row(table); 272 table_printf(table, "Addr/Width\t" "Link-Name\t" "Addr-Name\t" 273 "Def-MTU\n"); 262 274 263 275 for (i = 0; i < count; i++) { … … 285 297 } 286 298 287 printf(" %s %s %s %zu\n", astr, linfo.name,288 ainfo.name, linfo.def_mtu);299 table_printf(table, "%s\t" "%s\t" "%s\t" "%zu\n", astr, 300 linfo.name, ainfo.name, linfo.def_mtu); 289 301 290 302 free(ainfo.name); … … 297 309 } 298 310 299 if (count == 0) 300 printf(" None\n"); 311 if (count != 0) { 312 rc = table_print_out(table, stdout); 313 if (rc != EOK) { 314 printf("Error printing table.\n"); 315 goto out; 316 } 317 } 318 319 rc = EOK; 301 320 out: 321 table_destroy(table); 302 322 if (ainfo.name != NULL) 303 323 free(ainfo.name); … … 309 329 free(addr_list); 310 330 311 return EOK;331 return rc; 312 332 } 313 333 314 334 static int link_list(void) 315 335 { 316 sysarg_t *link_list ;336 sysarg_t *link_list = NULL; 317 337 inet_link_info_t linfo; 338 table_t *table = NULL; 318 339 319 340 size_t count; … … 327 348 } 328 349 329 printf("IP links:\n"); 330 if (count > 0) 331 printf(" [Link-layer Address] [Link-Name] [Def-MTU]\n"); 350 rc = table_create(&table); 351 if (rc != EOK) { 352 printf("Memory allocation failed.\n"); 353 goto out; 354 } 355 356 table_header_row(table); 357 table_printf(table, "Link-layer Address\t" "Link-Name\t" "Def-MTU\n"); 332 358 333 359 for (i = 0; i < count; i++) { … … 339 365 } 340 366 341 printf(" %02x:%02x:%02x:%02x:%02x:%02x %s %zu\n", 367 table_printf(table, "%02x:%02x:%02x:%02x:%02x:%02x\t" 368 "%s\t" "%zu\n", 342 369 linfo.mac_addr[0], linfo.mac_addr[1], 343 370 linfo.mac_addr[2], linfo.mac_addr[3], … … 350 377 } 351 378 352 if (count == 0) 353 printf(" None\n"); 354 379 if (count != 0) { 380 rc = table_print_out(table, stdout); 381 if (rc != EOK) { 382 printf("Error printing table.\n"); 383 goto out; 384 } 385 } 386 387 rc = EOK; 388 out: 389 table_destroy(table); 355 390 free(link_list); 356 391 357 return EOK;392 return rc; 358 393 } 359 394 360 395 static int sroute_list(void) 361 396 { 362 sysarg_t *sroute_list ;397 sysarg_t *sroute_list = NULL; 363 398 inet_sroute_info_t srinfo; 399 table_t *table = NULL; 364 400 365 401 size_t count; 366 402 size_t i; 367 403 int rc; 368 char *dest_str; 369 char *router_str; 404 char *dest_str = NULL; 405 char *router_str = NULL; 406 407 srinfo.name = NULL; 370 408 371 409 rc = inetcfg_get_sroute_list(&sroute_list, &count); … … 375 413 } 376 414 377 printf("Static routes:\n"); 378 if (count > 0) 379 printf(" [Dest/Width] [Router-Addr] [Route-Name]\n"); 380 381 srinfo.name = NULL; 382 dest_str = NULL; 383 router_str = NULL; 415 rc = table_create(&table); 416 if (rc != EOK) { 417 printf("Memory allocation failed.\n"); 418 goto out; 419 } 420 421 table_header_row(table); 422 table_printf(table, "Dest/Width\t" "Router-Addr\t" "Route-Name\n"); 384 423 385 424 for (i = 0; i < count; i++) { … … 406 445 } 407 446 408 printf(" %s %s %s\n", dest_str, router_str, srinfo.name); 447 table_printf(table, "%s\t" "%s\t" "%s\n", dest_str, router_str, 448 srinfo.name); 409 449 410 450 free(srinfo.name); … … 417 457 } 418 458 419 if (count == 0) 420 printf(" None\n"); 459 if (count != 0) { 460 rc = table_print_out(table, stdout); 461 if (rc != EOK) { 462 printf("Error printing table.\n"); 463 goto out; 464 } 465 } 466 467 rc = EOK; 421 468 out: 469 table_destroy(table); 422 470 if (srinfo.name != NULL) 423 471 free(srinfo.name); … … 429 477 free(sroute_list); 430 478 431 return EOK;479 return rc; 432 480 } 433 481 … … 443 491 } 444 492 445 if (argc < 2) { 493 if (argc < 2 || str_cmp(argv[1], "-h") == 0) { 494 print_syntax(); 495 return 0; 496 } 497 498 if (str_cmp(argv[1], "list-addr") == 0) { 446 499 rc = addr_list(); 447 500 if (rc != EOK) 448 501 return 1; 502 } else if (str_cmp(argv[1], "create-addr") == 0) { 503 rc = addr_create_static(argc - 2, argv + 2); 504 if (rc != EOK) 505 return 1; 506 } else if (str_cmp(argv[1], "delete-addr") == 0) { 507 rc = addr_delete(argc - 2, argv + 2); 508 if (rc != EOK) 509 return 1; 510 } else if (str_cmp(argv[1], "list-sr") == 0) { 449 511 rc = sroute_list(); 450 512 if (rc != EOK) 451 513 return 1; 514 } else if (str_cmp(argv[1], "create-sr") == 0) { 515 rc = sroute_create(argc - 2, argv + 2); 516 if (rc != EOK) 517 return 1; 518 } else if (str_cmp(argv[1], "delete-sr") == 0) { 519 rc = sroute_delete(argc - 2, argv + 2); 520 if (rc != EOK) 521 return 1; 522 } else if (str_cmp(argv[1], "list-link") == 0) { 452 523 rc = link_list(); 453 if (rc != EOK)454 return 1;455 return 0;456 }457 458 if (str_cmp(argv[1], "create") == 0) {459 rc = addr_create_static(argc - 2, argv + 2);460 if (rc != EOK)461 return 1;462 } else if (str_cmp(argv[1], "delete") == 0) {463 rc = addr_delete(argc - 2, argv + 2);464 if (rc != EOK)465 return 1;466 } else if (str_cmp(argv[1], "add-sr") == 0) {467 rc = sroute_create(argc - 2, argv + 2);468 if (rc != EOK)469 return 1;470 } else if (str_cmp(argv[1], "del-sr") == 0) {471 rc = sroute_delete(argc - 2, argv + 2);472 524 if (rc != EOK) 473 525 return 1;
Note:
See TracChangeset
for help on using the changeset viewer.