xiaoxiang781216 commented on a change in pull request #555: URL: https://github.com/apache/incubator-nuttx-apps/pull/555#discussion_r553124026
########## File path: netutils/iperf/iperf_main.c ########## @@ -0,0 +1,230 @@ +/**************************************************************************** + * apps/netutils/iperf/iperf_main.c + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. The + * ASF licenses this file to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the + * License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + ****************************************************************************/ + +/**************************************************************************** + * Included Files + ****************************************************************************/ + +#include <nuttx/config.h> +#include <sys/time.h> +#include <arpa/inet.h> +#include <net/if.h> +#include "netutils/netlib.h" +#include "argtable3.h" +#include "iperf.h" + +/**************************************************************************** + * Pre-processor Definitions + ****************************************************************************/ + +#ifdef CONFIG_EXAMPLES_IPERFTEST_DEVNAME +# define DEVNAME CONFIG_EXAMPLES_IPERFTEST_DEVNAME +#else +# define DEVNAME "wlan0" +#endif + +#define IPERF_DEFAULT_PORT 5001 +#define IPERF_DEFAULT_INTERVAL 3 +#define IPERF_DEFAULT_TIME 30 + +/**************************************************************************** + * Private Types + ****************************************************************************/ + +struct wifi_iperf_t +{ + struct arg_str *ip; + struct arg_lit *server; + struct arg_lit *udp; + struct arg_int *port; + struct arg_int *interval; + struct arg_int *time; + struct arg_lit *abort; + struct arg_end *end; +}; + +/**************************************************************************** + * Private Functions + ****************************************************************************/ + +/**************************************************************************** + * Name: iperf_showusage + * + * Description: + * Show usage of the demo program and exit + * + ****************************************************************************/ + +static void iperf_showusage(FAR const char *progname, int exitcode) +{ + printf("USAGE: %s [-sua] [-c <ip>] [-p <port>]\ + [-i <interval>] [-t <time>]\n", progname); + printf("iperf command:\n"); + printf(" -c, --client=<ip> run in client mode,\ + connecting to <host>\n"); + printf(" -s, --server run in server mode\n"); + printf(" -u, --udp use UDP rather than TCP\n"); + printf(" -p, --port=<port> server port to listen on/connect to\n"); + printf(" -i, --interval=<interval>\ + seconds between periodic bandwidth reports\n"); + printf(" -t, --time=<time>\ + time in seconds to transmit for (default 10 secs)\n"); + printf(" -a, --abort abort running iperf\n"); + printf("\n"); + exit(exitcode); +} + +/**************************************************************************** + * Public Functions + ****************************************************************************/ + +int main(int argc, FAR char *argv[]) +{ + struct wifi_iperf_t iperf_args; + struct iperf_cfg_t cfg; + struct in_addr addr; + int nerrors; + + bzero(&addr, sizeof(struct in_addr)); + bzero(&cfg, sizeof(cfg)); + + iperf_args.ip = arg_str0("c", "client", "<ip>", Review comment: Ok. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org