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;
|
||||
size_t packet_size;
|
||||
double timeout;
|
||||
double deadline;
|
||||
|
||||
/* 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_quiet(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_ttl(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, \
|
||||
"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( \
|
||||
'f', \
|
||||
"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