X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=lib%2Flibrte_kvargs%2Frte_kvargs.h;h=5821c726aeff177717f561109d7aa89a09882089;hb=c3b047be7328c70e0542d40db15f847181208a22;hp=98b8a7c1ef92b6928d7ec86dca7d67eb6ef1350a;hpb=d8e2337ac4e32132e5a26dc351604447b341366d;p=dpdk.git diff --git a/lib/librte_kvargs/rte_kvargs.h b/lib/librte_kvargs/rte_kvargs.h index 98b8a7c1ef..5821c726ae 100644 --- a/lib/librte_kvargs/rte_kvargs.h +++ b/lib/librte_kvargs/rte_kvargs.h @@ -40,7 +40,7 @@ * RTE Argument parsing * * This module can be used to parse arguments whose format is - * key1=value1;key2=value2;key3=value3;... + * key1=value1,key2=value2,key3=value3,... * * The same key can appear several times with the same or a different * value. Indeed, the arguments are stored as a list of key/values @@ -58,13 +58,13 @@ extern "C" { #define RTE_KVARGS_MAX 32 /** separator character used between each pair */ -#define RTE_KVARGS_PAIRS_DELIM ";" +#define RTE_KVARGS_PAIRS_DELIM "," /** separator character used between key and value */ #define RTE_KVARGS_KV_DELIM "=" /** Type of callback function used by rte_kvargs_process() */ -typedef int (*arg_handler_t)(const char *value, void *opaque); +typedef int (*arg_handler_t)(const char *key, const char *value, void *opaque); /** A key/value association */ struct rte_kvargs_pair { @@ -83,7 +83,7 @@ struct rte_kvargs { * 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;... + * string whose format is key1=value1,key2=value2,... * * The structure can be freed with rte_kvargs_free(). * @@ -97,7 +97,8 @@ struct rte_kvargs { * - A pointer to an allocated rte_kvargs structure on success * - NULL on error */ -struct rte_kvargs *rte_kvargs_parse(const char *args, const char *valid_keys[]); +struct rte_kvargs *rte_kvargs_parse(const char *args, + const char *const valid_keys[]); /** * Free a rte_kvargs structure @@ -115,12 +116,14 @@ void rte_kvargs_free(struct rte_kvargs *kvlist); * * 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. + * dictionary for that key and a given extra argument. If *kvlist* is NULL + * function does nothing. * * @param kvlist * The rte_kvargs structure * @param key_match - * The key on which the handler should be called + * The key on which the handler should be called, or NULL to process handler + * on all associations * @param handler * The function to call for each matching key * @param opaque_arg @@ -139,7 +142,7 @@ int rte_kvargs_process(const struct rte_kvargs *kvlist, * @param kvlist * The rte_kvargs structure * @param key_match - * The key that should match + * The key that should match, or NULL to count all associations * @return * The number of entries