Changeset 2721a75 in mainline for uspace/app/nettest1/nettest1.c


Ignore:
Timestamp:
2010-04-09T16:29:07Z (14 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
1ef0fc3
Parents:
ddfcfeb2
Message:

ping overhaul:

  • coding style
  • shorter and better readable main()
  • tool output is much similar to GNU's ping, demonstrating what functionality is still missing

related changes:

  • rename strerror.h → str_error.h for consistency
  • replace network apps' specific command-line parsing functions with a generalized libc versions
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/nettest1/nettest1.c

    rddfcfeb2 r2721a75  
    4040#include <task.h>
    4141#include <time.h>
     42#include <arg_parse.h>
    4243
    4344#include <in.h>
     
    4647#include <socket.h>
    4748#include <net_err.h>
     49#include <socket_parse.h>
    4850
    4951#include "nettest.h"
    50 #include "parse.h"
    5152#include "print_error.h"
    5253
     
    113114                                // short options with only one letter
    114115                                case 'f':
    115                                         ERROR_PROPAGATE(parse_parameter_name_int(argc, argv, &index, &family, "protocol family", 0, parse_protocol_family));
     116                                        ERROR_PROPAGATE(arg_parse_name_int(argc, argv, &index, &family, 0, socket_parse_protocol_family));
    116117                                        break;
    117118                                case 'h':
     
    120121                                        break;
    121122                                case 'm':
    122                                         ERROR_PROPAGATE(parse_parameter_int(argc, argv, &index, &messages, "message count", 0));
     123                                        ERROR_PROPAGATE(arg_parse_int(argc, argv, &index, &messages, 0));
    123124                                        break;
    124125                                case 'n':
    125                                         ERROR_PROPAGATE(parse_parameter_int(argc, argv, &index, &sockets, "socket count", 0));
     126                                        ERROR_PROPAGATE(arg_parse_int(argc, argv, &index, &sockets, 0));
    126127                                        break;
    127128                                case 'p':
    128                                         ERROR_PROPAGATE(parse_parameter_int(argc, argv, &index, &value, "port number", 0));
     129                                        ERROR_PROPAGATE(arg_parse_int(argc, argv, &index, &value, 0));
    129130                                        port = (uint16_t) value;
    130131                                        break;
    131132                                case 's':
    132                                         ERROR_PROPAGATE(parse_parameter_int(argc, argv, &index, &value, "packet size", 0));
     133                                        ERROR_PROPAGATE(arg_parse_int(argc, argv, &index, &value, 0));
    133134                                        size = (value >= 0) ? (size_t) value : 0;
    134135                                        break;
    135136                                case 't':
    136                                         ERROR_PROPAGATE(parse_parameter_name_int(argc, argv, &index, &value, "socket type", 0, parse_socket_type));
     137                                        ERROR_PROPAGATE(arg_parse_name_int(argc, argv, &index, &value, 0, socket_parse_socket_type));
    137138                                        type = (sock_type_t) value;
    138139                                        break;
     
    143144                                case '-':
    144145                                        if(str_lcmp(argv[index] + 2, "family=", 7) == 0){
    145                                                 ERROR_PROPAGATE(parse_parameter_name_int(argc, argv, &index, &family, "protocol family", 9, parse_protocol_family));
     146                                                ERROR_PROPAGATE(arg_parse_name_int(argc, argv, &index, &family, 9, socket_parse_protocol_family));
    146147                                        }else if(str_lcmp(argv[index] + 2, "help", 5) == 0){
    147148                                                nettest1_print_help();
    148149                                                return EOK;
    149150                                        }else if(str_lcmp(argv[index] + 2, "messages=", 6) == 0){
    150                                                 ERROR_PROPAGATE(parse_parameter_int(argc, argv, &index, &messages, "message count", 8));
     151                                                ERROR_PROPAGATE(arg_parse_int(argc, argv, &index, &messages, 8));
    151152                                        }else if(str_lcmp(argv[index] + 2, "sockets=", 6) == 0){
    152                                                 ERROR_PROPAGATE(parse_parameter_int(argc, argv, &index, &sockets, "socket count", 8));
     153                                                ERROR_PROPAGATE(arg_parse_int(argc, argv, &index, &sockets, 8));
    153154                                        }else if(str_lcmp(argv[index] + 2, "port=", 5) == 0){
    154                                                 ERROR_PROPAGATE(parse_parameter_int(argc, argv, &index, &value, "port number", 7));
     155                                                ERROR_PROPAGATE(arg_parse_int(argc, argv, &index, &value, 7));
    155156                                                port = (uint16_t) value;
    156157                                        }else if(str_lcmp(argv[index] + 2, "type=", 5) == 0){
    157                                                 ERROR_PROPAGATE(parse_parameter_name_int(argc, argv, &index, &value, "socket type", 7, parse_socket_type));
     158                                                ERROR_PROPAGATE(arg_parse_name_int(argc, argv, &index, &value, 7, socket_parse_socket_type));
    158159                                                type = (sock_type_t) value;
    159160                                        }else if(str_lcmp(argv[index] + 2, "verbose", 8) == 0){
    160161                                                verbose = 1;
    161162                                        }else{
    162                                                 print_unrecognized(index, argv[index] + 2);
    163163                                                nettest1_print_help();
    164164                                                return EINVAL;
     
    166166                                        break;
    167167                                default:
    168                                         print_unrecognized(index, argv[index] + 1);
    169168                                        nettest1_print_help();
    170169                                        return EINVAL;
    171170                        }
    172171                }else{
    173                         print_unrecognized(index, argv[index]);
    174172                        nettest1_print_help();
    175173                        return EINVAL;
Note: See TracChangeset for help on using the changeset viewer.