logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Author

       Generated automatically by Doxygen for DPDK from the source code.

DPDK                                             Version 24.11.2                               rte_argparse.h(3)

Detailed Description

       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.

Function Documentation

__rte_experimentalintrte_argparse_parse(structrte_argparse*obj,intargc,char**argv)WarningEXPERIMENTAL: this API may change without prior notice.

       Parse parameters.

       Parametersobj Parser object.
           argc Parameters count.
           argv Array of parameters points.

       Returns
           0 on success. Otherwise negative value is returned.

   __rte_experimentalintrte_argparse_parse_type(constchar*str,uint64_tval_type,void*val)WarningEXPERIMENTAL: this API may change without prior notice.

       Parse the value from the input string based on the value type.

       Parametersstr Input string.
           val_type The value type,

       SeealsoRTE_ARGPARSE_ARG_VALUE_INT or other type.

       Parametersval Saver for the value.

       Returns
           0 on success. Otherwise negative value is returned.

Macro Definition Documentation

#defineRTE_ARGPARSE_ARG_NO_VALUERTE_SHIFT_VAL64(1,0)
       The argument has no value.

       Definition at line 48 of file rte_argparse.h.

   #defineRTE_ARGPARSE_ARG_REQUIRED_VALUERTE_SHIFT_VAL64(2,0)
       The argument must have a value.

       Definition at line 50 of file rte_argparse.h.

   #defineRTE_ARGPARSE_ARG_OPTIONAL_VALUERTE_SHIFT_VAL64(3,0)
       The argument has optional value.

       Definition at line 52 of file rte_argparse.h.

   #defineRTE_ARGPARSE_ARG_VALUE_INTRTE_SHIFT_VAL64(1,2)
       The argument's value is int type.

       Definition at line 54 of file rte_argparse.h.

   #defineRTE_ARGPARSE_ARG_VALUE_U8RTE_SHIFT_VAL64(2,2)
       The argument's value is uint8 type.

       Definition at line 56 of file rte_argparse.h.

   #defineRTE_ARGPARSE_ARG_VALUE_U16RTE_SHIFT_VAL64(3,2)
       The argument's value is uint16 type.

       Definition at line 58 of file rte_argparse.h.

   #defineRTE_ARGPARSE_ARG_VALUE_U32RTE_SHIFT_VAL64(4,2)
       The argument's value is uint32 type.

       Definition at line 60 of file rte_argparse.h.

   #defineRTE_ARGPARSE_ARG_VALUE_U64RTE_SHIFT_VAL64(5,2)
       The argument's value is uint64 type.

       Definition at line 62 of file rte_argparse.h.

   #defineRTE_ARGPARSE_ARG_VALUE_MAXRTE_SHIFT_VAL64(6,2)
       Max value type.

       Definition at line 64 of file rte_argparse.h.

   #defineRTE_ARGPARSE_ARG_SUPPORT_MULTIRTE_BIT64(10)
       Flag for that argument support occur multiple times. This flag can be set only when the argument is
       optional. When this flag is set, the callback type must be used for parsing.

       Definition at line 70 of file rte_argparse.h.

   #defineRTE_ARGPARSE_ARG_RESERVED_FIELDRTE_GENMASK64(63,48)
       Reserved for this library implementation usage.

       Definition at line 72 of file rte_argparse.h.

   #defineRTE_ARGPARSE_HAS_VAL_BITMASKRTE_GENMASK64(1,0)
       Bitmask used to get the argument whether has value.

       Definition at line 76 of file rte_argparse.h.

   #defineRTE_ARGPARSE_VAL_TYPE_BITMASKRTE_GENMASK64(9,2)
       Bitmask used to get the argument's value type.

       Definition at line 78 of file rte_argparse.h.

Name

       rte_argparse.h

Synopsis

       #include <stdbool.h>
       #include <stdint.h>
       #include <rte_bitops.h>
       #include <rte_compat.h>

   DataStructures
       struct rte_argparse_arg
       struct rte_argparseMacros
       #define RTE_ARGPARSE_HAS_VAL_BITMASKRTE_GENMASK64(1, 0)
       #define RTE_ARGPARSE_VAL_TYPE_BITMASKRTE_GENMASK64(9, 2)

       Flagdefinition(inbitmaskform)foranargumentNote
           Bits[0~1] represent the argument whether has value, bits[2~9] represent the value type which used
           when autosave.

       Seealso
           struct rte_argparse_arg::flags

           #define RTE_ARGPARSE_ARG_NO_VALUERTE_SHIFT_VAL64(1, 0)
           #define RTE_ARGPARSE_ARG_REQUIRED_VALUERTE_SHIFT_VAL64(2, 0)
           #define RTE_ARGPARSE_ARG_OPTIONAL_VALUERTE_SHIFT_VAL64(3, 0)
           #define RTE_ARGPARSE_ARG_VALUE_INTRTE_SHIFT_VAL64(1, 2)
           #define RTE_ARGPARSE_ARG_VALUE_U8RTE_SHIFT_VAL64(2, 2)
           #define RTE_ARGPARSE_ARG_VALUE_U16RTE_SHIFT_VAL64(3, 2)
           #define RTE_ARGPARSE_ARG_VALUE_U32RTE_SHIFT_VAL64(4, 2)
           #define RTE_ARGPARSE_ARG_VALUE_U64RTE_SHIFT_VAL64(5, 2)
           #define RTE_ARGPARSE_ARG_VALUE_MAXRTE_SHIFT_VAL64(6, 2)
           #define RTE_ARGPARSE_ARG_SUPPORT_MULTIRTE_BIT64(10)
           #define RTE_ARGPARSE_ARG_RESERVED_FIELDRTE_GENMASK64(63, 48)

   Typedefstypedef int(* rte_arg_parser_t) (uint32_t index, const char *value, void *opaque)

   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)

Typedef Documentation

typedefint(*rte_arg_parser_t)(uint32_tindex,constchar*value,void*opaque)
       Callback prototype used by parsing specified arguments.

       Parametersindex 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.

       Returns
           0 on success. Otherwise negative value is returned.

       Definition at line 140 of file rte_argparse.h.

See Also