Ignore:
File:
1 edited

Legend:

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

    r2721a75 r849ed54  
    4040#include <str.h>
    4141#include <task.h>
    42 #include <arg_parse.h>
    4342
    4443#include <in.h>
     
    4746#include <socket.h>
    4847#include <net_err.h>
    49 #include <socket_parse.h>
    50 
     48
     49#include "parse.h"
    5150#include "print_error.h"
    5251
     
    129128        int value;
    130129
     130        // print the program label
     131        printf("Task %d - ", task_get_id());
     132        printf("%s\n", NAME);
     133
    131134        // parse the command line arguments
    132135        for(index = 1; index < argc; ++ index){
     
    134137                        switch(argv[index][1]){
    135138                                case 'b':
    136                                         ERROR_PROPAGATE(arg_parse_int(argc, argv, &index, &backlog, 0));
     139                                        ERROR_PROPAGATE(parse_parameter_int(argc, argv, &index, &backlog, "accepted sockets queue size", 0));
    137140                                        break;
    138141                                case 'c':
    139                                         ERROR_PROPAGATE(arg_parse_int(argc, argv, &index, &count, 0));
     142                                        ERROR_PROPAGATE(parse_parameter_int(argc, argv, &index, &count, "message count", 0));
    140143                                        break;
    141144                                case 'f':
    142                                         ERROR_PROPAGATE(arg_parse_name_int(argc, argv, &index, &family, 0, socket_parse_protocol_family));
     145                                        ERROR_PROPAGATE(parse_parameter_name_int(argc, argv, &index, &family, "protocol family", 0, parse_protocol_family));
    143146                                        break;
    144147                                case 'h':
     
    147150                                        break;
    148151                                case 'p':
    149                                         ERROR_PROPAGATE(arg_parse_int(argc, argv, &index, &value, 0));
     152                                        ERROR_PROPAGATE(parse_parameter_int(argc, argv, &index, &value, "port number", 0));
    150153                                        port = (uint16_t) value;
    151154                                        break;
    152155                                case 'r':
    153                                         ERROR_PROPAGATE(arg_parse_string(argc, argv, &index, &reply, 0));
     156                                        ERROR_PROPAGATE(parse_parameter_string(argc, argv, &index, &reply, "reply string", 0));
    154157                                        break;
    155158                                case 's':
    156                                         ERROR_PROPAGATE(arg_parse_int(argc, argv, &index, &value, 0));
     159                                        ERROR_PROPAGATE(parse_parameter_int(argc, argv, &index, &value, "receive size", 0));
    157160                                        size = (value >= 0) ? (size_t) value : 0;
    158161                                        break;
    159162                                case 't':
    160                                         ERROR_PROPAGATE(arg_parse_name_int(argc, argv, &index, &value, 0, socket_parse_socket_type));
     163                                        ERROR_PROPAGATE(parse_parameter_name_int(argc, argv, &index, &value, "socket type", 0, parse_socket_type));
    161164                                        type = (sock_type_t) value;
    162165                                        break;
     
    167170                                case '-':
    168171                                        if(str_lcmp(argv[index] + 2, "backlog=", 6) == 0){
    169                                                 ERROR_PROPAGATE(arg_parse_int(argc, argv, &index, &backlog, 8));
     172                                                ERROR_PROPAGATE(parse_parameter_int(argc, argv, &index, &backlog, "accepted sockets queue size", 8));
    170173                                        }else if(str_lcmp(argv[index] + 2, "count=", 6) == 0){
    171                                                 ERROR_PROPAGATE(arg_parse_int(argc, argv, &index, &count, 8));
     174                                                ERROR_PROPAGATE(parse_parameter_int(argc, argv, &index, &count, "message count", 8));
    172175                                        }else if(str_lcmp(argv[index] + 2, "family=", 7) == 0){
    173                                                 ERROR_PROPAGATE(arg_parse_name_int(argc, argv, &index, &family, 9, socket_parse_protocol_family));
     176                                                ERROR_PROPAGATE(parse_parameter_name_int(argc, argv, &index, &family, "protocol family", 9, parse_protocol_family));
    174177                                        }else if(str_lcmp(argv[index] + 2, "help", 5) == 0){
    175178                                                echo_print_help();
    176179                                                return EOK;
    177180                                        }else if(str_lcmp(argv[index] + 2, "port=", 5) == 0){
    178                                                 ERROR_PROPAGATE(arg_parse_int(argc, argv, &index, &value, 7));
     181                                                ERROR_PROPAGATE(parse_parameter_int(argc, argv, &index, &value, "port number", 7));
    179182                                                port = (uint16_t) value;
    180183                                        }else if(str_lcmp(argv[index] + 2, "reply=", 6) == 0){
    181                                                 ERROR_PROPAGATE(arg_parse_string(argc, argv, &index, &reply, 8));
     184                                                ERROR_PROPAGATE(parse_parameter_string(argc, argv, &index, &reply, "reply string", 8));
    182185                                        }else if(str_lcmp(argv[index] + 2, "size=", 5) == 0){
    183                                                 ERROR_PROPAGATE(arg_parse_int(argc, argv, &index, &value, 7));
     186                                                ERROR_PROPAGATE(parse_parameter_int(argc, argv, &index, &value, "receive size", 7));
    184187                                                size = (value >= 0) ? (size_t) value : 0;
    185188                                        }else if(str_lcmp(argv[index] + 2, "type=", 5) == 0){
    186                                                 ERROR_PROPAGATE(arg_parse_name_int(argc, argv, &index, &value, 7, socket_parse_socket_type));
     189                                                ERROR_PROPAGATE(parse_parameter_name_int(argc, argv, &index, &value, "socket type", 7, parse_socket_type));
    187190                                                type = (sock_type_t) value;
    188191                                        }else if(str_lcmp(argv[index] + 2, "verbose", 8) == 0){
    189192                                                verbose = 1;
    190193                                        }else{
     194                                                print_unrecognized(index, argv[index] + 2);
    191195                                                echo_print_help();
    192196                                                return EINVAL;
     
    194198                                        break;
    195199                                default:
     200                                        print_unrecognized(index, argv[index] + 1);
    196201                                        echo_print_help();
    197202                                        return EINVAL;
    198203                        }
    199204                }else{
     205                        print_unrecognized(index, argv[index]);
    200206                        echo_print_help();
    201207                        return EINVAL;
Note: See TracChangeset for help on using the changeset viewer.