DPDK
24.07.0
|
Go to the source code of this file.
Data Structures | |
struct | rte_argparse_arg |
struct | rte_argparse |
Typedefs | |
typedef int(* | rte_arg_parser_t) (uint32_t index, const char *value, void *opaque) |
Enumerations | |
enum | rte_argparse_flag { RTE_ARGPARSE_ARG_NO_VALUE = RTE_SHIFT_VAL64(1, 0), RTE_ARGPARSE_ARG_REQUIRED_VALUE = RTE_SHIFT_VAL64(2, 0), RTE_ARGPARSE_ARG_OPTIONAL_VALUE = RTE_SHIFT_VAL64(3, 0), RTE_ARGPARSE_ARG_VALUE_INT = RTE_SHIFT_VAL64(1, 2), RTE_ARGPARSE_ARG_VALUE_U8 = RTE_SHIFT_VAL64(2, 2), RTE_ARGPARSE_ARG_VALUE_U16 = RTE_SHIFT_VAL64(3, 2), RTE_ARGPARSE_ARG_VALUE_U32 = RTE_SHIFT_VAL64(4, 2), RTE_ARGPARSE_ARG_VALUE_U64 = RTE_SHIFT_VAL64(5, 2), RTE_ARGPARSE_ARG_VALUE_MAX = RTE_SHIFT_VAL64(6, 2), RTE_ARGPARSE_ARG_SUPPORT_MULTI = RTE_BIT64(10), RTE_ARGPARSE_ARG_RESERVED_FIELD = RTE_GENMASK64(63, 48) } |
Functions | |
__rte_experimental int | rte_argparse_parse (struct rte_argparse *obj, int argc, char **argv) |
__rte_experimental int | rte_argparse_parse_type (const char *str, uint64_t val_type, void *val) |
Argument parsing API.
The argument parsing API makes it easy to write user-friendly command-line program. The program defines what arguments it requires, and the API will parse those arguments from [argc, argv].
The API provides the following functions: 1) Support parsing optional argument (which could take with no-value, required-value and optional-value. 2) Support parsing positional argument (which must take with required-value). 3) Support automatic generate usage information. 4) Support issue errors when provided with invalid arguments.
There are two ways to parse arguments: 1) AutoSave: for which known value types, the way can be used. 2) Callback: will invoke user callback to parse.
Definition in file rte_argparse.h.
typedef int(* rte_arg_parser_t) (uint32_t index, const char *value, void *opaque) |
Callback prototype used by parsing specified arguments.
index | The argument's index, coming from argument's val_set field. |
value | The value corresponding to the argument, it may be NULL (e.g. the argument has no value, or the argument has optional value but doesn't provided value). |
opaque | An opaque pointer coming from the caller. |
Definition at line 147 of file rte_argparse.h.
enum rte_argparse_flag |
Flag definition (in bitmask form) for an argument.
Definition at line 43 of file rte_argparse.h.
__rte_experimental int rte_argparse_parse | ( | struct rte_argparse * | obj, |
int | argc, | ||
char ** | argv | ||
) |
Parse parameters.
obj | Parser object. |
argc | Parameters count. |
argv | Array of parameters points. |
__rte_experimental int rte_argparse_parse_type | ( | const char * | str, |
uint64_t | val_type, | ||
void * | val | ||
) |
Parse the value from the input string based on the value type.
str | Input string. |
val_type | The value type, |
val | Saver for the value. |