Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
rte_argparse.h(3)		     DPDK		     rte_argparse.h(3)

NAME
       rte_argparse.h

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

   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_value_required	{ RTE_ARGPARSE_VALUE_NONE,
	   RTE_ARGPARSE_VALUE_REQUIRED,	RTE_ARGPARSE_VALUE_OPTIONAL }
       enum rte_argparse_value_type { RTE_ARGPARSE_VALUE_TYPE_NONE = 0,
	   RTE_ARGPARSE_VALUE_TYPE_INT,	RTE_ARGPARSE_VALUE_TYPE_U8,
	   RTE_ARGPARSE_VALUE_TYPE_U16,	RTE_ARGPARSE_VALUE_TYPE_U32,
	   RTE_ARGPARSE_VALUE_TYPE_U64,	RTE_ARGPARSE_VALUE_TYPE_STR,
	   RTE_ARGPARSE_VALUE_TYPE_BOOL, RTE_ARGPARSE_VALUE_TYPE_CORELIST }
       enum rte_argparse_arg_flags { RTE_ARGPARSE_FLAG_SUPPORT_MULTI =
	   RTE_BIT32(0)	}

   Functions
       __rte_experimental int rte_argparse_parse (const	struct rte_argparse
	   *obj, int argc, char	**argv)
       __rte_experimental void rte_argparse_print_help (FILE *stream, const
	   struct rte_argparse *obj)
       __rte_experimental int rte_argparse_parse_type (const char *str,	enum
	   rte_argparse_value_type val_type, void *val)

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.

Typedef	Documentation
   typedef int(* rte_arg_parser_t) (uint32_t index, const char *value, void
       *opaque)
       Callback	prototype used by parsing specified arguments.

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

       Returns
	   0 on	success. Otherwise negative value is returned.

       Definition at line 145 of file rte_argparse.h.

Enumeration Type Documentation
   enum	rte_argparse_value_required
       enum defining whether an	argument takes a value or not.

       Enumerator

       RTE_ARGPARSE_VALUE_NONE
	      The argument takes no value.

       RTE_ARGPARSE_VALUE_REQUIRED
	      The argument must	have a value.

       RTE_ARGPARSE_VALUE_OPTIONAL
	      The argument has optional	value.

       Definition at line 43 of	file rte_argparse.h.

   enum	rte_argparse_value_type
       enum defining the type of the argument, integer,	boolean	or just	string

       Enumerator

       RTE_ARGPARSE_VALUE_TYPE_NONE
	      Argument	takes no value,	or value type not specified. Should be
	      used when	argument is to be handled via callback.

       RTE_ARGPARSE_VALUE_TYPE_INT
	      The argument's value is int type.

       RTE_ARGPARSE_VALUE_TYPE_U8
	      The argument's value is uint8 type.

       RTE_ARGPARSE_VALUE_TYPE_U16
	      The argument's value is uint16 type.

       RTE_ARGPARSE_VALUE_TYPE_U32
	      The argument's value is uint32 type.

       RTE_ARGPARSE_VALUE_TYPE_U64
	      The argument's value is uint64 type.

       RTE_ARGPARSE_VALUE_TYPE_STR
	      The argument's value is string type.

       RTE_ARGPARSE_VALUE_TYPE_BOOL
	      The argument's value is boolean flag type.

       RTE_ARGPARSE_VALUE_TYPE_CORELIST
	      The argument's value is a	corelist.

       Definition at line 53 of	file rte_argparse.h.

   enum	rte_argparse_arg_flags
       Additional flags	which may be specified for each	argument

       Enumerator

       RTE_ARGPARSE_FLAG_SUPPORT_MULTI
	      argument may be specified	multiple times on the commandline

       Definition at line 77 of	file rte_argparse.h.

Function Documentation
   __rte_experimental int rte_argparse_parse (const struct rte_argparse	* obj,
       int argc, char ** argv)
       Warning
	   EXPERIMENTAL: this API may change without prior notice.

       Parse parameters	passed until  all  are	processed,  or	until  a  '--'
       parameter is encountered.

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

       Returns
	   number  of  arguments  parsed (>= 0)	on success. Otherwise negative
	   error code is returned.

   __rte_experimental  void  rte_argparse_print_help  (FILE  *	stream,	 const
       struct rte_argparse * obj)
       Warning
	   EXPERIMENTAL: this API may change without prior notice.

       Output the help text information	for the	given argparse object.

       Parameters
	   stream  Output  file	handle,	e.g. stdout, stderr, on	which to print
	   the help text.
	   obj Parser object.

   __rte_experimental int rte_argparse_parse_type  (const  char	 *  str,  enum
       rte_argparse_value_type val_type, void *	val)
       Warning
	   EXPERIMENTAL: this API may change without prior notice.

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

       Parameters
	   str Input string.
	   val_type The	value type,

       See also
	   rte_argparse_value_type.

       Parameters
	   val Saver for the value.

       Returns
	   0 on	success. Otherwise negative value is returned.

Author
       Generated automatically by Doxygen for DPDK from	the source code.

Version	25.11.0			Thu Jun	11 2026		     rte_argparse.h(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=RTE_ARGPARSE_VALUE_REQUIRED&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help