34#include <rte_compat.h>
48#define RTE_ARGPARSE_ARG_NO_VALUE RTE_SHIFT_VAL64(1, 0)
50#define RTE_ARGPARSE_ARG_REQUIRED_VALUE RTE_SHIFT_VAL64(2, 0)
52#define RTE_ARGPARSE_ARG_OPTIONAL_VALUE RTE_SHIFT_VAL64(3, 0)
54#define RTE_ARGPARSE_ARG_VALUE_INT RTE_SHIFT_VAL64(1, 2)
56#define RTE_ARGPARSE_ARG_VALUE_U8 RTE_SHIFT_VAL64(2, 2)
58#define RTE_ARGPARSE_ARG_VALUE_U16 RTE_SHIFT_VAL64(3, 2)
60#define RTE_ARGPARSE_ARG_VALUE_U32 RTE_SHIFT_VAL64(4, 2)
62#define RTE_ARGPARSE_ARG_VALUE_U64 RTE_SHIFT_VAL64(5, 2)
64#define RTE_ARGPARSE_ARG_VALUE_MAX RTE_SHIFT_VAL64(6, 2)
70#define RTE_ARGPARSE_ARG_SUPPORT_MULTI RTE_BIT64(10)
72#define RTE_ARGPARSE_ARG_RESERVED_FIELD RTE_GENMASK64(63, 48)
76#define RTE_ARGPARSE_HAS_VAL_BITMASK RTE_GENMASK64(1, 0)
78#define RTE_ARGPARSE_VAL_TYPE_BITMASK RTE_GENMASK64(9, 2)
166#define ARGPARSE_ARG_END() { NULL }
__rte_experimental int rte_argparse_parse_type(const char *str, uint64_t val_type, void *val)
__rte_experimental int rte_argparse_parse(struct rte_argparse *obj, int argc, char **argv)
int(* rte_arg_parser_t)(uint32_t index, const char *value, void *opaque)
rte_arg_parser_t callback
struct rte_argparse_arg args[]