feat(cli): add -w/deadline option
This commit is contained in:
parent
cba820ae7a
commit
a4ed2780f2
4 changed files with 24 additions and 0 deletions
|
|
@ -17,6 +17,7 @@ typedef struct s_ping_config
|
||||||
uint8_t ttl;
|
uint8_t ttl;
|
||||||
size_t packet_size;
|
size_t packet_size;
|
||||||
double timeout;
|
double timeout;
|
||||||
|
double deadline;
|
||||||
|
|
||||||
/* Flags */
|
/* Flags */
|
||||||
uint8_t flags;
|
uint8_t flags;
|
||||||
|
|
|
||||||
|
|
@ -36,6 +36,7 @@ int cli_handle_help(const char *arg, t_ping_config *config);
|
||||||
int cli_handle_interval(const char *arg, t_ping_config *config);
|
int cli_handle_interval(const char *arg, t_ping_config *config);
|
||||||
int cli_handle_quiet(const char *arg, t_ping_config *config);
|
int cli_handle_quiet(const char *arg, t_ping_config *config);
|
||||||
int cli_handle_size(const char *arg, t_ping_config *config);
|
int cli_handle_size(const char *arg, t_ping_config *config);
|
||||||
|
int cli_handle_deadline(const char *arg, t_ping_config *config);
|
||||||
int cli_handle_timeout(const char *arg, t_ping_config *config);
|
int cli_handle_timeout(const char *arg, t_ping_config *config);
|
||||||
int cli_handle_ttl(const char *arg, t_ping_config *config);
|
int cli_handle_ttl(const char *arg, t_ping_config *config);
|
||||||
int cli_handle_version(const char *arg, t_ping_config *config);
|
int cli_handle_version(const char *arg, t_ping_config *config);
|
||||||
|
|
|
||||||
|
|
@ -76,6 +76,14 @@
|
||||||
OPT_ARG_SECONDS, \
|
OPT_ARG_SECONDS, \
|
||||||
"Timeout for replies in seconds" \
|
"Timeout for replies in seconds" \
|
||||||
) \
|
) \
|
||||||
|
X( \
|
||||||
|
'w', \
|
||||||
|
"deadline", \
|
||||||
|
required_argument, \
|
||||||
|
cli_handle_deadline, \
|
||||||
|
OPT_ARG_SECONDS, \
|
||||||
|
"Exit after N seconds regardless of packets sent/received" \
|
||||||
|
) \
|
||||||
X( \
|
X( \
|
||||||
'f', \
|
'f', \
|
||||||
"flood", \
|
"flood", \
|
||||||
|
|
|
||||||
14
src/cli/handlers/handle_deadline.c
Normal file
14
src/cli/handlers/handle_deadline.c
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
#include "cli.h"
|
||||||
|
#include "internal/cli/arg_handler.h"
|
||||||
|
#include "internal/cli/parse_utils.h"
|
||||||
|
|
||||||
|
int
|
||||||
|
cli_handle_deadline(const char *arg, t_ping_config *config)
|
||||||
|
{
|
||||||
|
float deadline;
|
||||||
|
|
||||||
|
if (0 != cli_parse_float(arg, &deadline))
|
||||||
|
return CLI_ERROR;
|
||||||
|
config->deadline = deadline;
|
||||||
|
return CLI_SUCCESS;
|
||||||
|
}
|
||||||
Loading…
Add table
Reference in a new issue