structrte_kvargs*rte_kvargs_parse(constchar*args,constchar*constvalid_keys[])
Allocate a rte_kvargs and store key/value associations from a string
The function allocates and fills a rte_kvargs structure from a given string whose format is
key1=value1,key2=value2,...
The structure can be freed with rte_kvargs_free().
Parametersargs The input string containing the key/value associations
valid_keys A list of valid keys (table of const char *, the last must be NULL). This argument is
ignored if NULL
Returns
• A pointer to an allocated rte_kvargs structure on success
• NULL on error
structrte_kvargs*rte_kvargs_parse_delim(constchar*args,constchar*constvalid_keys[],constchar*valid_ends)
Allocate a rte_kvargs and store key/value associations from a string. This version will consider any byte
from valid_ends as a possible terminating character, and will not parse beyond any of their occurrence.
The function allocates and fills an rte_kvargs structure from a given string whose format is
key1=value1,key2=value2,...
The structure can be freed with rte_kvargs_free().
Parametersargs The input string containing the key/value associations
valid_keys A list of valid keys (table of const char *, the last must be NULL). This argument is
ignored if NULL
valid_ends Acceptable terminating characters. If NULL, the behavior is the same as rte_kvargs_parse.
Returns
• A pointer to an allocated rte_kvargs structure on success
• NULL on error
voidrte_kvargs_free(structrte_kvargs*kvlist)
Free a rte_kvargs structure
Free a rte_kvargs structure previously allocated with rte_kvargs_parse().
Parameterskvlist The rte_kvargs structure. No error if NULL.
constchar*rte_kvargs_get(conststructrte_kvargs*kvlist,constchar*key)
Get the value associated with a given key.
If multiple keys match, the value of the first one is returned.
The memory returned is allocated as part of the rte_kvargs structure, it must never be modified.
Parameterskvlist A list of rte_kvargs pair of 'key=value'.
key The matching key.
Returns
NULL if no key matches the input, a value associated with a matching key otherwise.
constchar*rte_kvargs_get_with_value(conststructrte_kvargs*kvlist,constchar*key,constchar*value)
Get the value associated with a given key and value.
Find the first entry in the kvlist whose key and value match the ones passed as argument.
The memory returned is allocated as part of the rte_kvargs structure, it must never be modified.
Parameterskvlist A list of rte_kvargs pair of 'key=value'.
key The matching key. If NULL, any key will match.
value The matching value. If NULL, any value will match.
Returns
NULL if no key matches the input, a value associated with a matching key otherwise.
intrte_kvargs_process(conststructrte_kvargs*kvlist,constchar*key_match,arg_handler_thandler,void*opaque_arg)
Call a handler function for each key=value matching the key
For each key=value association that matches the given key, calls the handler function with the for a
given arg_name passing the value on the dictionary for that key and a given extra argument.
Note
Compared to
Seealsorte_kvargs_process_opt, this API will return -1 when handle only-key case (that is the matched key's
value is NULL).
Parameterskvlist The rte_kvargs structure.
key_match The key on which the handler should be called, or NULL to process handler on all
associations
handler The function to call for each matching key
opaque_arg A pointer passed unchanged to the handler
Returns
• 0 on success
• Negative on error
intrte_kvargs_process_opt(conststructrte_kvargs*kvlist,constchar*key_match,arg_handler_thandler,void*opaque_arg)
Call a handler function for each key=value or only-key matching the key
For each key=value or only-key association that matches the given key, calls the handler function with
the for a given arg_name passing the value on the dictionary for that key and a given extra argument.
Parameterskvlist The rte_kvargs structure.
key_match The key on which the handler should be called, or NULL to process handler on all
associations
handler The function to call for each matching key
opaque_arg A pointer passed unchanged to the handler
Returns
• 0 on success
• Negative on error
unsignedrte_kvargs_count(conststructrte_kvargs*kvlist,constchar*key_match)
Count the number of associations matching the given key
Parameterskvlist The rte_kvargs structure
key_match The key that should match, or NULL to count all associations
Returns
The number of entries